Files
wehub-resource-sync 426e9eeabd
Benchmark Bridge Tests / benchmark (bunx @biomejs/biome check packages/lifeops-bench/src, benchmark-lint) (push) Waiting to run
Benchmark Bridge Tests / benchmark (bunx vitest run --config packages/lifeops-bench/vitest.config.ts --root packages/lifeops-bench --passWithNoTests, benchmark-tests) (push) Waiting to run
Build Agent Image / build-and-push (push) Waiting to run
Chat shell gestures / Chat shell gesture + parity e2e (push) Waiting to run
Cloud Gateway Discord / Test (push) Waiting to run
Cloud Gateway Webhook / Test (push) Waiting to run
Cloud Tests / lint-and-types (push) Waiting to run
Cloud Tests / unit-tests (push) Waiting to run
Cloud Tests / integration-tests (push) Waiting to run
Cloud Tests / e2e-tests (push) Blocked by required conditions
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Deploy Apps Worker (Product 2) / Determine environment (push) Waiting to run
Deploy Apps Worker (Product 2) / Deploy apps worker to apps-control host (${{ needs.determine-env.outputs.environment }}) (push) Blocked by required conditions
Deploy Eliza Provisioning Worker / Determine environment (push) Waiting to run
Deploy Eliza Provisioning Worker / Deploy worker to Hetzner host (${{ needs.determine-env.outputs.environment }} @ ${{ needs.determine-env.outputs.deployment_sha }}) (push) Blocked by required conditions
Dev Smoke / Classify changed paths (push) Waiting to run
Dev Smoke / bun run dev onboarding chat (push) Blocked by required conditions
Dev Smoke / Vite HMR dependency-level smoke (push) Blocked by required conditions
Electrobun Submodule Guard / electrobun gitlink is fetchable (push) Waiting to run
Publish @elizaos/example-code / check_npm (push) Waiting to run
Publish @elizaos/example-code / publish_npm (push) Blocked by required conditions
Publish @elizaos/plugin-elizacloud / verify_version (push) Waiting to run
Publish @elizaos/plugin-elizacloud / publish_npm (push) Blocked by required conditions
Sandbox Live Smoke / Sandbox live smoke (push) Waiting to run
Snap Build & Test / Build Snap (amd64) (push) Waiting to run
Snap Build & Test / Build Snap (arm64) (push) Waiting to run
supply-chain / sbom (push) Waiting to run
supply-chain / vulnerability-scan (push) Waiting to run
Build, Push & Deploy to Phala Cloud / build-and-push (push) Waiting to run
Test Packaging / Validate Packaging Configs (push) Waiting to run
Test Packaging / PyPI on Python ${{ matrix.python }} (push) Waiting to run
Test Packaging / Pack & Test JS Tarballs (push) Waiting to run
Test Packaging / elizaos CLI global-install smoke (node + bun) (push) Waiting to run
UI Fixture E2E / ui-fixture-e2e (push) Waiting to run
UI Fixture E2E / fixture-e2e (push) Waiting to run
UI Story Gate / story-gate (push) Waiting to run
vault-ci / test (macos-latest) (push) Waiting to run
vault-ci / test (ubuntu-latest) (push) Waiting to run
vault-ci / test (windows-latest) (push) Waiting to run
vault-ci / app-core wiring tests (push) Waiting to run
verify-patches / verify patches/CHECKSUMS.sha256 (push) Waiting to run
Voice Benchmark Smoke / voice-emotion fixture smoke (push) Waiting to run
Voice Benchmark Smoke / voiceagentbench fixture smoke (push) Waiting to run
Voice Benchmark Smoke / voicebench-quality unit smoke (push) Waiting to run
Voice Benchmark Smoke / voicebench TypeScript unit (no audio) (push) Waiting to run
Voice Benchmark Smoke / voice bench smoke summary (push) Blocked by required conditions
Windows CI / windows ([bun run --cwd packages/app-core test bun run --cwd packages/elizaos test bun run --cwd packages/cloud/shared test], app-and-cli) (push) Waiting to run
Windows CI / windows ([bun run --cwd packages/scenario-runner test bun run --cwd packages/vault test bun run --cwd packages/security test bun run --cwd plugins/plugin-coding-tools test], framework-packages) (push) Waiting to run
Windows CI / windows ([bun run --cwd plugins/plugin-elizacloud test bun run --cwd plugins/plugin-discord test bun run --cwd plugins/plugin-anthropic test bun run --cwd plugins/plugin-openai test bun run --cwd plugins/plugin-app-control test bun run --cwd plugins/pl… (push) Waiting to run
Windows CI / windows ([node packages/scripts/run-turbo.mjs run build --filter=@elizaos/core --filter=@elizaos/shared --filter=@elizaos/agent --concurrency=4 node packages/scripts/run-bash-linux-only.mjs scripts/verify-riscv64-buildpaths.sh node packages/scripts/run… (push) Waiting to run
Windows CI / windows ([node packages/scripts/run-turbo.mjs run typecheck --filter=@elizaos/core --filter=@elizaos/shared --filter=@elizaos/cloud-shared --concurrency=4 bun run --cwd packages/core test bun run --cwd packages/shared test], core-runtime, 75) (push) Waiting to run
Test Packaging / Build & Test PyPI Package (push) Waiting to run
Voice Workbench / headless workbench (mocked backends) (push) Has been cancelled
Voice Workbench / real acoustic lane (nightly, provisioned only) (push) Has been cancelled
ci / test (push) Has been cancelled
ci / lint-and-format (push) Has been cancelled
ci / build (push) Has been cancelled
ci / dev-startup (push) Has been cancelled
gitleaks / gitleaks (push) Has been cancelled
Markdown Links / Relative Markdown Links (push) Has been cancelled
Quality (Extended) / Homepage Build (PR smoke) (push) Has been cancelled
Quality (Extended) / Comment-only diff guard (push) Has been cancelled
Quality (Extended) / Format + Type Safety Ratchet (push) Has been cancelled
Quality (Extended) / Develop Gate (secret scan + UI determinism) (push) Has been cancelled
Quality (Extended) / Develop Gate (lint) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:43:05 +08:00
..

@elizaos/plugin-blocker

Focus / distraction control for Eliza agents: website blocking via a SelfControl-style hosts engine and macOS / mobile app blocking. Exposes two providers (websiteBlocker, appBlocker), WebsiteBlockerService + AppBlockerService, a drizzle pgSchema('app_blocker'), and a focus overlay view for the dashboard shell.

Status

This plugin owns the focus/blocking platform, schema, providers, services, and view. The BLOCK umbrella action is still registered by @elizaos/plugin-personal-assistant because its owner gating, scheduler hooks, and chat-oriented dispatch flow remain PA-resident. It is intentionally not registered or exported here to avoid duplicate action registration.

Migration mapping from @elizaos/plugin-personal-assistant

New location (this plugin) Source in @elizaos/plugin-personal-assistant
src/providers/website-blocker.ts plugins/plugin-personal-assistant/src/providers/website-blocker.ts
src/providers/app-blocker.ts plugins/plugin-personal-assistant/src/providers/app-blocker.ts
src/services/website-blocker.ts (WebsiteBlockerService) plugins/plugin-personal-assistant/src/website-blocker/ (engine.ts, service.ts, access.ts, permissions.ts, public.ts, proactive-block-bridge.ts, roles.ts, chat-integration/)
src/services/app-blocker.ts (AppBlockerService) plugins/plugin-personal-assistant/src/app-blocker/ (engine.ts, access.ts, types.ts)
src/db/schema.ts (pgSchema('app_blocker')) new — there was no previous drizzle table; state lived in disk-backed engine files. The schema gives the services a persistent store and lets the runtime own migrations through @elizaos/plugin-sql.
src/components/focus/FocusView.tsx new dashboard view for the extracted plugin.

Surface

Providers

  • websiteBlocker — active website block sessions and override state.
  • appBlocker — active app block sessions and override state.

Both gate to contexts: ["focus", "automation"].

Services

  • WebsiteBlockerService (serviceType = "website-blocker")
  • AppBlockerService (serviceType = "app-blocker")

Schema

  • pgSchema('app_blocker') with tables:
    • block_rules — host or bundle id rules per (agentId, entityId).
    • active_sessions — running block sessions with end timestamps.
    • allow_list — exempted hosts / bundle ids per (agentId, entityId).

View

  • focus — path /focus, component FocusView, bundled to dist/views/bundle.js by vite.config.views.ts.

Action

  • None registered here. BLOCK is host-adapted by @elizaos/plugin-personal-assistant.

Commands

bun run --cwd plugins/plugin-blocker typecheck   # tsc --noEmit
bun run --cwd plugins/plugin-blocker lint        # biome check src/
bun run --cwd plugins/plugin-blocker test        # vitest run
bun run --cwd plugins/plugin-blocker build       # build:js + build:views + build:types
bun run --cwd plugins/plugin-blocker clean       # rm -rf dist

Conventions

  • Hard-depends on @elizaos/plugin-sql for migrations and runtime.db.
  • Services log with the [Blocker] prefix.
  • Two providers, one schema — the same shape as the other decomposed lifeops plugins.
  • See the root AGENTS.md for repo-wide architecture rules.