mirror of
https://github.com/ruvnet/ruflo.git
synced 2026-09-14 14:01:28 +08:00
fix/agentbbs-peerhello-dedup
8 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
350bcf0606 |
feat(browser): #2041 ADR-122 Phase 7 — Workflow Compiler + production-aware UCT
Phase 7 (substrate-layer compiler):
- domain/workflow.ts — CompiledWorkflow schema with WorkflowStep (primary
SelectorSpec + ordered fallback chain), WorkflowRequirements (sessionCapsule,
origins[], taskClass), WorkflowGuards (irreversibleAction,
requiresUserConfirmation), WorkflowReplay (maxRetries, timeoutMs).
ProductionUctSignals/Weights for the production-aware UCT formula.
- application/workflow-compiler.ts — WorkflowCompiler.compile() walks a signed
trajectory envelope's steps, extracts the primary locator from each step
input, derives an ordered selector fallback chain from observed snapshot
metadata (role+name → text → ref), classifies highest-risk action via
Phase 6 RiskClassifier, gates requirements + guards. toYaml() emits
deterministic, parseable YAML for VCS check-in.
- application/production-uct.ts — productionUct(input, weights) implements
the full substrate scoring formula:
score = Q + C·√(ln(N)/n) + λ_R·replayability
− λ_risk·risk − μ_cost·cost − α_auth·auth_fragility
Unvisited branches still return +Infinity for parity with Phase 4 UCB1.
blendQ() linearly mixes scorer value + replay-success-rate.
- 12 new tests: compile login flow + fallback chain, financial-action
guard escalation, origin extraction, deterministic YAML output, UCT
invariants (infinity for unvisited, prefers safe over risky, penalises
cost, rewards replayability, custom weights honoured), blendQ linearity.
Renames in src/index.ts re-export: WorkflowStep → CompiledWorkflowStep
(avoids collision with workflow-templates.ts's pre-existing WorkflowStep).
230/230 tests passing (+12 for Phase 7). Build + typecheck clean.
Beyond SOTA: no other web agent compiles MCTS traces into signed, replayable
YAML workflows with selector fallback graphs. The compiler is the "output of
the substrate" — what makes browser experience truly reusable.
Co-Authored-By: RuFlo <ruv@ruv.net>
|
||
|
|
45f951143e |
feat(browser): #2041 ADR-122 Phase 6 + substrate reframing — Session Capsule + adapters + risk classes
ADR-122 reframed as **RuFlo Browser Substrate**: ruflo becomes the memory, policy, replay, distributed-planning layer underneath browser agents. Stagehand, Browser Use, Playwright, Browserbase, Surfer-H become execution targets — not competitors. Added Architecture section: layered system, 6 runtime services, risk-class taxonomy, Session Capsule schema, production-aware UCT, SOTA rubric. Phase 6 implementation (substrate primitives): - domain/session-capsule.ts — full SessionCapsulePayload with origins[], reusePolicy (allowedOrigins, allowedTaskClasses, maxReplays, requireFreshMfa, allowCrossDevice/Installation), consentProof (signed statement), browserProfile, witnessChainHead, expiry, replays counter. RiskClass enum (read-only / authenticated-read / draft-write / external-submission / financial / account-mutation / destructive) + AUTONOMOUS_CLASSES set. - application/session-capsule-service.ts — create() with PII-scan gate, verify() with schema+signature+trust-list+expiry+maxReplays checks, mount() that increments replays + rolls witness chain head, revoke(), per-class RiskClassifier with verb+target regex taxonomy. - domain/browser-adapter.ts — BrowserExecutionAdapter interface (single surface above the tool wars: open/snapshot/click/fill/type/screenshot/wait/ getUrl/getTitle/getText/close/observe). - infrastructure/agent-browser-execution-adapter.ts — first concrete adapter wraps existing AgentBrowserAdapter; future Phase 6.5+ adds Stagehand, Browserbase, local Chrome. - 20 new tests: clean+PII create, tamper rejection, expired capsule, trust list, mount replays + chain head, maxReplays cap, origin/taskClass policy enforcement, revoke, RiskClassifier for all 7 classes (Class 1-3 autonomous, Class 4-7 human approval), inline-state PII detection regression fix (string-spread bug that prevented SSN regex matching). 218/218 tests passing (+20 for Phase 6). Build + typecheck clean. Beyond SOTA: no public browser-agent system ships a signed-state capsule with origin scope, consent proof, replay counter, witness chain, AND risk-class gating. Stagehand v3 portability + Browserbase persistence + Surfer-H vision are all *execution-layer* — ruflo is the substrate that sits above them. Co-Authored-By: RuFlo <ruv@ruv.net> |
||
|
|
a0d3d01c33 |
feat(browser): #2041 ADR-122 Phase 5 — cost-aware routing + GOAP preflight
- domain/action-routing.ts — ActionTier, RoutingDecision, TrajectoryCostReport - application/action-router.ts — verb-based 3-tier classifier (Tier 1 booster $0, Tier 2 haiku $0.0002, Tier 3 sonnet/opus $0.005+); causal-risk-aware escalation; per-trajectory cost rollup with tier-1 share - application/goap-preflight.ts — pre-session dry-run: missing-cookie / high-causal-risk / unsafe-URL findings + estimated total cost - 11 new tests: classification (DOM verbs Tier 1, find Tier 2, eval Tier 3), risk escalation, cost rollup with tier-1 share ≥30% on representative workload, GOAP preconditions (cookie present/missing), high-causal-risk warning, URL safety, routing-plan + total-cost emission 198/198 tests passing (+11). Build + typecheck clean. All 6 phases done. Beyond SOTA: combines existing ruflo primitives (Agent Booster, hooks_route, ruflo-goals GOAP, AIDefence) into a per-action cost optimizer that no single-process LLM browser agent ships. Co-Authored-By: RuFlo <ruv@ruv.net> |
||
|
|
dfb7747b32 |
feat(browser): #2041 ADR-122 Phase 3 + Phase 4 — attested cookie vault + federated MCTS
Phase 3 — AIDefence-attested cookie vault: - domain/cookie-vault.ts — CookieValue, ScanAttestation, VaultEntryEnvelope - application/cookie-vault-service.ts — store() with AIDefence-gate, sealed envelope sign, verifyAttestation(), refusal audit log, optional persistence - 14 new tests: clean store + verify, PII refusal (cookie + audit + no persist), tamper detection (value swap, hash+value swap, schema-invalid), clean=false attestation refusal (defense in depth), trust-list filter, audit record Phase 4 — Federated MCTS branch exploration: - domain/mcts-branch.ts — McTsBranch, MctsRunResult, PeerAdapter, ValueScorer - application/mcts-explorer.ts — UCB1 selection, backprop, expansion via policy, least-spend peer load balance, per-peer budget caps, signature blacklist, pending-branch finalization (rejected-budget vs terminated) - 8 new tests: UCB1 invariants, basic exploration, tree expansion, signature rejection + peer blacklist, budget enforcement, multi-peer distribution, winner-by-average-score Beyond SOTA — both phases: - No web agent ships per-cookie attestation; cross-installation cookie sharing is a known open problem. The witness signature is the trust boundary. - No web agent distributes MCTS exploration across multiple installations. PeerAdapter abstracts local vs federation execution; the explorer itself is the wedge (signature verification + cost gating + winner selection). 187/187 tests passing (+22). Build + typecheck clean. Co-Authored-By: RuFlo <ruv@ruv.net> |
||
|
|
8d10e1aa8c |
feat(browser): #2041 ADR-122 Phase 1 MCP + Phase 2 causal recovery
Phase 1 MCP tool surface (5 new tools):
- browser/sign-trajectory — seal a BrowserTrajectory into Ed25519 envelope
- browser/verify-trajectory — verify with optional trust-list filtering
- browser/plan-replay — dry-run replay with mutations (no browser exec)
- browser/build-replay-delta — detect action/outcome drift between runs
- browser/generate-witness-key — bootstrap a fresh Ed25519 keypair
Phase 2 (beyond-SOTA wedge: causal-graph self-healing selectors):
- domain/causal-recovery.ts — SelectorBreakEvent + CausalRiskAnnotation types
- infrastructure/causal-recovery-store.ts — in-memory + JSON-on-disk store
+ classifyBreak() taxonomy: not-found/not-visible/not-enabled/detached/
ref-stale/timeout/navigation-during-action/unknown
+ parseUrl() for origin/path isolation in the graph
- application/causal-recovery-service.ts — reportBreak / annotateSnapshot
/ decorateTree / explain (prior breaks + alternative locator suggestions)
- 18 new tests: classification, URL parsing, risk scoring (0→N breaks),
snapshot annotation, cross-origin isolation, explain with role+name
fuzzy-match, listBreaks
165/165 tests passing (was 147; +18 for Phase 2). Build + typecheck clean.
Beyond SOTA: no other web agent (Surfer-H, Browser Use, Stagehand, Operator,
Skyvern) surfaces WHY a selector broke — they retry silently. AgentDB-backed
swap is a single-file change (IBreakStore interface).
Co-Authored-By: RuFlo <ruv@ruv.net>
|
||
|
|
5fedd1d022 |
feat(browser): #2041 ADR-122 Phase 0 + Phase 1 — agent-browser 0.27 + signed trajectories
Phase 0 (convergence): - Bump agent-browser dep ^0.6.0 → ^0.27.0 (21-minor drift closed) - Package version → 3.0.0-alpha.4 - Adapter already had full 0.27 surface (find/mouse/set/network/tabs/etc.) Phase 1 (beyond-SOTA wedge: signed trajectory containers): - domain/signed-trajectory.ts — envelope schema + replay types - infrastructure/witness-signer.ts — Ed25519 sign/verify via node:crypto - application/signed-trajectory-service.ts — seal/verify/replay-plan/replay-delta - BrowserService.endTrajectory now optionally seals via signTrajectories:true - 19 new tests: round-trip, tamper detection, trust list, replay planning, delta detection, determinism. 147/147 tests passing. Acceptance (Phase 1): - record → sign → distribute → verify round-trips - forging a step/goal/screenshot-hash breaks verify (signature invalid) - trust-list filtering accepts/rejects by signer public key - replay planning applies replaceStepInput + skipSteps mutations - buildReplayDelta detects action drift + outcome drift Beyond SOTA: no other web agent (Surfer-H, Browser Use, Stagehand, Operator, Skyvern) ships cryptographic provenance for AI browsing sessions. Co-Authored-By: RuFlo <ruv@ruv.net> |
||
|
|
e50df67226 |
fix: critical security & performance fixes across 6 packages (#1558)
* fix: critical security & performance fixes across 6 packages Addresses 11 vulnerabilities from security audit + 5 additional issues found during devil's advocate review, plus test suite fixes across memory, security, and swarm packages. ## Security Fixes (Critical) - CRIT-01: SQL injection in embeddings search — replaced string interpolation with parameterized queries (db.prepare/bind) - CRIT-02: Command injection in 4 files — replaced execSync template literals with execFileSync + input validation regex: - ruvector/import.ts (docker container name) - init.ts (embedding model name, 2 locations) - agent-browser-adapter.ts (CLI args) - CRIT-03: Browser eval hardening — 12 dangerous patterns blocked, configurable 20KB length limit via CLAUDE_FLOW_MAX_EVAL_SCRIPT_LENGTH ## Security Fixes (High) - HIGH-01: ESLint rules restricting child_process imports (both import and require) with overrides for safe-executor/daemon/mcp-server - HIGH-02: Hive-mind truthiness fix (=== true vs !== false) - HIGH-03: Prototype pollution prevention — safeJsonParse with JSON reviver stripping __proto__/constructor/prototype in 3 memory backends - HIGH-04: Plugin sandbox warning on unsandboxed plugin load - HIGH-05: HNSW hash collision fix — dual-hash (djb2+sdbm) producing 53-bit values with bidirectional map and linear probing ## Security Fixes (DA Review) - DA-CRIT-1: Local json-security.ts to avoid cross-package imports - DA-CRIT-2: PostgreSQL schema name validation (validateSchemaName) added to all 6 ruvector commands via pg-utils.ts - DA-CRIT-3: PID injection prevention in mcp-server — /proc read + execFileSync replacing execSync with PID interpolation - DA-HIGH-3: Timestamp validation (validateTimestamp) in ruvector import - DA-HIGH-4: 4 additional browser eval bypass patterns (globalThis, .constructor, Reflect, eval()) - DA-HIGH-5: ESLint no-restricted-modules for require() coverage ## Performance Fixes - PERF-01: BoundedSet<T> for gossip seenMessages — Map-based LRU eviction capped at 100K entries, prevents unbounded memory growth - PERF-02: Bulk operations use Promise.allSettled with batch size 50, logging partial failures instead of aborting - PERF-03: CLI lazy loading — reduced sync imports from 37 to 10 core commands, async getCommandsByCategory() for help display ## Test Suite Fixes - Fixed 11 broken import paths in security tests (../../security/ → ../src/ and ../../helpers/ → ../helpers/) - Added vitest.config.ts for security package (was inheriting root config with missing setup.ts reference) - Added allowedDirectories to SecurityConfig test fixture - Fixed sanitizePath test expectation (leading slash removal) - Fixed hardcoded /workspaces/claude-flow path in memory tests - Fixed semanticRouter controller test (auto-enables with agentdb) - Fixed database-provider count test (namespace-scoped assertion) - Fixed swarm latency tests (toBeGreaterThanOrEqual for sub-ms mocks) - Added TypeScript as dev dependency for build verification ## Verification - 22 automated security verification tests in security-verification.test.ts covering all 10 user-facing scenarios - All 5 packages type-check clean (0 errors) - memory: 9/9 suites, 353/353 tests pass - swarm: 4/4 suites, 172/172 tests pass - security: 13/13 suites, 444/444 tests pass - CLI help displays all 35 commands correctly with lazy loading ## New Files - v3/@claude-flow/cli/src/commands/ruvector/pg-utils.ts - v3/@claude-flow/cli/.eslintrc.json - v3/@claude-flow/cli/__tests__/security-verification.test.ts - v3/@claude-flow/memory/src/json-security.ts - v3/@claude-flow/security/vitest.config.ts Co-Authored-By: claude-flow <ruv@ruv.net> * fix: address Sherlock review findings for PR #1558 Finding 2 (MUST FIX): Add formatEmbedding array-element validation - Validate each embedding value is typeof number && Number.isFinite() - Prevents SQL injection via crafted JSON arrays with string payloads - Throws descriptive error with index for debugging Finding 1: Reclassify CRIT-03 eval blocklist as defense-in-depth - Add comment clarifying pattern blocklist is best-effort, not a sandbox - Primary defense is the browser sandbox itself - Update test description to reflect defense-in-depth classification Finding 3: Add behavioral tests alongside source-guards - Add formatEmbedding behavioral test with hostile inputs (NaN, Infinity, strings) - Add CRIT-02 behavioral test verifying execFileSync array argument pattern - Categorize existing tests as source-guard vs behavioral in comments Finding 4: Flag HIGH-02 as behavior change - Add comment explaining === true vs !== false semantic difference - Documents that undefined/null no longer treated as "skip permissions" Finding 6: Export BoundedSet, fix test semantics - Export BoundedSet from gossip.ts for reuse - Fix test to use FIFO semantics matching production (not LRU) - Add FIFO-specific test: re-adding doesn't refresh position Finding 7: Fix BoundedSet comment math - Remove speculative throughput time estimate - Use factual memory calculation: 100K × ~40B IDs ≈ 4MB Finding 5: No change (false positive — Math.abs in manhattanDistance is correct) Co-Authored-By: claude-flow <ruv@ruv.net> --------- Co-authored-by: claude-flow <ruv@ruv.net> |
||
|
|
3471ee7c3f |
docs: Improve README organization with badges and section groups (#976)
* Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:15:40Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:15:41Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:15:42Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:18:17Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:18:18Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:19:12Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:19:14Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:20:02Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:20:04Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:20:05Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:21:00Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:21:01Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:21:25Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:27:22Z - Changes: 3 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:27:23Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:27:44Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:27:45Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:29:03Z - Changes: 6 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:29:04Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:29:16Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:29:17Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:29:18Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:32:32Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:32:33Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:33:39Z - Changes: 3 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:33:40Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:33:46Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:33:52Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:33:59Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:34:12Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:34:27Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:34:48Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:34:50Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:36:04Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:36:06Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:36:07Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:36:08Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:36:50Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:40:27Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:40:28Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:41:31Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:49:34Z - Changes: 6 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:49:35Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:49:37Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:50:22Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:50:23Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:50:29Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:50:36Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:50:44Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:50:51Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:51:13Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:51:14Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:51:53Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:51:54Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:51:56Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:51:57Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:52:19Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:52:26Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:52:34Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:52:41Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:52:49Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:52:57Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:53:04Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:53:12Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:53:20Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:53:28Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:53:36Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:53:44Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:53:52Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:53:59Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:54:07Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:54:36Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:56:00Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:56:02Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:56:03Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:56:23Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:56:24Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:56:25Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T20:56:46Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T21:01:19Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T21:04:35Z - Changes: 6 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T21:05:37Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T21:05:41Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T21:05:49Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T21:05:58Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T21:06:06Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T21:06:14Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T21:06:22Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T21:06:30Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T21:15:11Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T21:15:12Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T21:15:37Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T21:15:43Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T21:16:16Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T21:18:22Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T21:22:19Z - Changes: 11 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T21:27:21Z - Changes: 2 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T21:27:39Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T21:27:45Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T21:27:51Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T21:28:03Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T21:28:17Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T21:28:57Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T21:29:02Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T21:29:29Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T21:39:40Z - Changes: 6 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T21:53:53Z - Changes: 5 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T21:58:58Z - Changes: 10 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T21:59:16Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T22:23:05Z - Changes: 5 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T22:23:19Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T22:34:46Z - Changes: 5 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T22:34:59Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T22:38:34Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T22:44:37Z - Changes: 6 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T22:47:50Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T22:47:55Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T22:48:00Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T22:48:05Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T22:48:10Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T22:48:15Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T22:48:21Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T22:48:26Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T22:48:31Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T22:48:36Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T22:48:41Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T22:48:46Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T22:48:52Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T22:48:57Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T22:49:02Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T22:49:07Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T22:49:12Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T22:49:17Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T22:49:23Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T22:49:28Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T22:49:32Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T22:49:37Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T22:49:41Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T22:49:46Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T22:49:51Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T22:49:55Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T22:50:00Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T22:50:05Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T23:27:53Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T23:27:59Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T23:28:05Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T23:28:11Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T23:28:17Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T23:28:23Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T23:28:28Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T23:28:33Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T23:28:39Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T23:28:44Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T23:28:50Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T23:28:55Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Checkpoint: File edits Automatic checkpoint created by Claude Code - Branch: feature/agent-browser-integration - Timestamp: 2026-01-20T23:29:07Z - Changes: 1 file(s) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com> |