github Python analyzed 5898f68

PersonalJarvis/PersonalJarvis

github

Self-hosted voice assistant: speak to your computer — it answers aloud, types your dictation, and operates your apps.

maintainer
PersonalJarvis
license
MIT
first seen
2026-07-28
last seen
2026-08-02
releases · 30d
20
short id

Drift inferred · capture-to-capture

  1. HIGH code analysis flagged hidden prompt content ×2, committed secret, dynamic code execution ×2 in PersonalJarvis/PersonalJarvis
  2. HIGH code analysis flagged hidden prompt content ×2, dynamic code execution ×2 in PersonalJarvis/PersonalJarvis
capabilities 4 tools
transport stdio · streamable-http · http counts 4 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • memory_add_fact
  • memory_recent
  • memory_search
  • skills_list
skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 5898f68 · analyzer v28 · 2d ago

skills & prompt files 37

danger signals12

code evidence vv1.1.5 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 3471

filesystem 127

  • fs PersonalJarvis-PersonalJarvis-5898f68/board-backend/board_backend/config.py :9 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/board-backend/board_backend/db.py :10 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/conductor/cli.py :22 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/conductor/core/seed.py :13 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/conductor/core/store.py :13 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/conftest.py :11 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/install/installer.py :44 import shutil
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/__main__.py :276 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/admin/elevator.py :40 import shutil
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/admin/executor.py :24 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/admin/unix_socket.py :258 os.unlink(path)
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/assets/__init__.py :28 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/audio/device_probe.py :17 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/audio/devices.py :34 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/audio/ducking/factory.py :6 import shutil
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/audio/echo_reference.py :52 must fail open (no echo judgment without a reference).
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/audio/player.py :346 # WDM-KS crashes on OutputStream open (-9999 'Blocking API not supported
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/autostart/command.py :19 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/autostart/linux.py :17 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/autostart/macos.py :23 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/autostart/windows.py :40 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/awareness/probes/filesystem.py :29 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/awareness/probes/git.py :18 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/awareness/watchers/idle.py :42 import shutil
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/awareness/watchers/window.py :53 import shutil
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/board/aggregator.py :43 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/board/evaluator.py :34 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/board/profile.py :41 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/board/scheduler.py :23 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/board/store.py :13 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/board/sync.py :25 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/brain/agent_instructions.py :33 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/brain/drop_context.py :24 from pathlib import Path, PurePosixPath
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/brain/factory.py :18 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/brain/frontier_resolver.py :29 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/brain/launcher.py :82 await recall.open()
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/brain/local_action_gate.py :236 r"\b(?:oeffn\w*|aufmach\w*|aufzumach\w*|start\w*|open(?:s|ed|ing)?|launch\w*)\b",
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/brain/model_catalog.py :35 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/brain/persona_loader.py :25 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/brain/router.py :797 with open(path, "rb") as fh:
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/brain/tools/self_mod_tools.py :24 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/channels/bootstrap.py :18 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/claude_auth.py :33 import shutil
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/claude_credentials.py :35 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/cli/review_eval.py :27 import shutil
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/cli/review_gc.py :26 import shutil
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/cli_ctl/commands/permissions.py :8 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/cli_ctl/discovery.py :28 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/cli_ctl/paths.py :10 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/clis/catalog/__init__.py :13 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/clis/external_terminal.py :23 import shutil
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/clis/prober.py :20 import shutil
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/clis/usage_log.py :15 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/codex_auth.py :34 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/contacts/store.py :44 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/control/cost.py :27 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/core/config.py :25 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/core/config_writer.py :27 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/core/control_key.py :38 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/core/interactive_terminal.py :20 import shutil
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/core/path_augment.py :28 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/core/paths.py :18 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/core/process_utils.py :30 import shutil
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/core/review/audit.py :20 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/core/review/io.py :22 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/core/review/prompts.py :13 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/core/review/spawns.py :20 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/core/screenshots.py :30 import shutil
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/core/self_mod/audit.py :14 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/core/self_mod/writer.py :40 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/cu/actuate/posix.py :446 import shutil # noqa: PLC0415
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/cu/capture.py :32 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/cu/engine.py :42 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/diagnostics/doctor.py :31 import shutil
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/friends/registry.py :20 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/google_cli/auth_service.py :20 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/google_cli/isolated_home.py :23 import shutil
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/google_cli/resolver.py :16 import shutil
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/hardware/detection.py :11 import shutil
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/marketplace/catalog_data.py :7 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/marketplace/discord_connect.py :51 # channel enabled with an open (pair-on-first-DM) allowlist.
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/marketplace/telegram_connect.py :51 # channel enabled with an open (pair-on-first-message) allowlist.
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/marketplace/usage_cards/loader.py :14 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/mcp/bootstrap.py :10 import shutil
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/mcp/client.py :19 import shutil
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/mcp/server.py :218 await state["recall"].open()
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/mcp/state.py :36 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/bootstrap_runner.py :43 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/core_memory.py :11 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/migration_runner.py :8 ``RecallStore.open()``. The statements there use ``CREATE TABLE IF
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/people.py :26 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/recall.py :14 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/soul.py :16 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/user_profile.py :27 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/wiki/__init__.py :19 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/wiki/atomic_writer.py :50 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/wiki/backup.py :35 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/wiki/cleanup.py :36 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/wiki/cli.py :31 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/wiki/consolidator.py :36 from pathlib import Path, PurePosixPath
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/wiki/contact_mirror.py :30 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/wiki/curator.py :34 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/wiki/curator_llm.py :32 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/wiki/db_path.py :4 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/wiki/fts_index.py :49 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/wiki/health.py :15 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/wiki/index_builder.py :27 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/wiki/ingest_service.py :12 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/wiki/integration.py :42 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/wiki/journal.py :33 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/wiki/lock.py :3 Uses ``open(path, "x")`` semantics (``O_CREAT | O_EXCL``) for atomic
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/wiki/log_writer.py :38 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/wiki/page.py :22 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/wiki/profile.py :23 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/wiki/prompt.py :26 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/wiki/protocols.py :13 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/wiki/recurate.py :28 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/wiki/scheduler.py :43 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/wiki/search.py :39 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/wiki/self_doc.py :18 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/wiki/session_rollup.py :56 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/wiki/vault_index.py :28 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/wiki/vault_root.py :19 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/wiki/watcher.py :35 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/wiki/wikilink.py :26 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/workspace.py :24 from pathlib import Path
  • fs PersonalJarvis-PersonalJarvis-5898f68/jarvis/missions/cleanup.py :16 falling back to ``shutil.rmtree`` when the path is not registered as a worktree.

shell / exec 24

  • shell PersonalJarvis-PersonalJarvis-5898f68/install/installer.py :46 import subprocess
  • shell PersonalJarvis-PersonalJarvis-5898f68/jarvis/admin/executor.py :21 import subprocess
  • shell PersonalJarvis-PersonalJarvis-5898f68/jarvis/agent_cli_probe.py :26 import subprocess
  • shell PersonalJarvis-PersonalJarvis-5898f68/jarvis/audio/devices.py :29 import subprocess
  • shell PersonalJarvis-PersonalJarvis-5898f68/jarvis/audio/ducking/macos.py :22 import subprocess
  • shell PersonalJarvis-PersonalJarvis-5898f68/jarvis/autostart/command.py :17 import subprocess
  • shell PersonalJarvis-PersonalJarvis-5898f68/jarvis/autostart/macos.py :21 import subprocess
  • shell PersonalJarvis-PersonalJarvis-5898f68/jarvis/autostart/windows.py :36 import subprocess
  • shell PersonalJarvis-PersonalJarvis-5898f68/jarvis/awareness/watchers/idle.py :43 import subprocess
  • shell PersonalJarvis-PersonalJarvis-5898f68/jarvis/awareness/watchers/window.py :54 import subprocess
  • shell PersonalJarvis-PersonalJarvis-5898f68/jarvis/claude_auth.py :34 import subprocess
  • shell PersonalJarvis-PersonalJarvis-5898f68/jarvis/cli_ctl/commands/permissions.py :6 import subprocess
  • shell PersonalJarvis-PersonalJarvis-5898f68/jarvis/clis/external_terminal.py :24 import subprocess
  • shell PersonalJarvis-PersonalJarvis-5898f68/jarvis/codex_auth.py :31 import subprocess
  • shell PersonalJarvis-PersonalJarvis-5898f68/jarvis/core/control_key.py :35 import subprocess
  • shell PersonalJarvis-PersonalJarvis-5898f68/jarvis/core/interactive_terminal.py :21 import subprocess
  • shell PersonalJarvis-PersonalJarvis-5898f68/jarvis/core/keychain_bundle.py :53 import subprocess
  • shell PersonalJarvis-PersonalJarvis-5898f68/jarvis/core/paths.py :172 import subprocess
  • shell PersonalJarvis-PersonalJarvis-5898f68/jarvis/core/process_utils.py :31 import subprocess
  • shell PersonalJarvis-PersonalJarvis-5898f68/jarvis/cu/actuate/posix.py :447 import subprocess # noqa: PLC0415
  • shell PersonalJarvis-PersonalJarvis-5898f68/jarvis/cu/indicator/controller.py :30 import subprocess
  • shell PersonalJarvis-PersonalJarvis-5898f68/jarvis/google_cli/resolver.py :17 import subprocess
  • shell PersonalJarvis-PersonalJarvis-5898f68/jarvis/hardware/detection.py :12 import subprocess
  • shell PersonalJarvis-PersonalJarvis-5898f68/jarvis/missions/cleanup.py :25 import subprocess

network 16

  • net PersonalJarvis-PersonalJarvis-5898f68/board-backend/board_backend/background.py :18 import httpx
  • net PersonalJarvis-PersonalJarvis-5898f68/board-backend/board_backend/routes/pair.py :21 import httpx
  • net PersonalJarvis-PersonalJarvis-5898f68/board-backend/board_backend/routes/reactions.py :17 import httpx
  • net PersonalJarvis-PersonalJarvis-5898f68/conductor/jobs/agent.py :275 import httpx
  • net PersonalJarvis-PersonalJarvis-5898f68/conductor/jobs/http.py :29 import httpx
  • net PersonalJarvis-PersonalJarvis-5898f68/jarvis/admin/unix_socket.py :40 import socket
  • net PersonalJarvis-PersonalJarvis-5898f68/jarvis/board/sync.py :28 import httpx
  • net PersonalJarvis-PersonalJarvis-5898f68/jarvis/brain/ack_brain/providers/ollama.py :38 import httpx
  • net PersonalJarvis-PersonalJarvis-5898f68/jarvis/brain/frontier_resolver.py :32 import httpx
  • net PersonalJarvis-PersonalJarvis-5898f68/jarvis/brain/local_action_gate.py :14 from urllib.parse import quote_plus
  • net PersonalJarvis-PersonalJarvis-5898f68/jarvis/brain/model_catalog.py :37 import httpx
  • net PersonalJarvis-PersonalJarvis-5898f68/jarvis/cli_ctl/client.py :7 import httpx
  • net PersonalJarvis-PersonalJarvis-5898f68/jarvis/marketplace/auth/oauth_dcr.py :32 from urllib.parse import urlencode, urlsplit, urlunsplit
  • net PersonalJarvis-PersonalJarvis-5898f68/jarvis/marketplace/auth/oauth_device.py :20 import httpx
  • net PersonalJarvis-PersonalJarvis-5898f68/jarvis/marketplace/auth/oauth_pkce_loopback.py :22 from urllib.parse import urlencode
  • net PersonalJarvis-PersonalJarvis-5898f68/jarvis/marketplace/oauth_callback_server.py :14 import socket

secrets 8

  • secrets PersonalJarvis-PersonalJarvis-5898f68/conductor/jobs/agent.py :161 api_key = os.environ.get("ANTHROPIC_API_KEY")
  • secrets PersonalJarvis-PersonalJarvis-5898f68/jarvis/autostart/windows.py :104 import getpass
  • secrets PersonalJarvis-PersonalJarvis-5898f68/jarvis/board/sync.py :110 import keyring
  • secrets PersonalJarvis-PersonalJarvis-5898f68/jarvis/claude_auth.py :29 import getpass
  • secrets PersonalJarvis-PersonalJarvis-5898f68/jarvis/cli/review_eval.py :138 os.environ.get("ANTHROPIC_API_KEY")
  • secrets PersonalJarvis-PersonalJarvis-5898f68/jarvis/cli_ctl/config.py :60 os.environ.get("JARVISCTL_CONTROL_KEY")
  • secrets PersonalJarvis-PersonalJarvis-5898f68/jarvis/core/config.py :2798 import keyring
  • secrets PersonalJarvis-PersonalJarvis-5898f68/jarvis/core/keychain_bundle.py :231 from keyring.backend import KeyringBackend as _KeyringBackendBase

database 25

  • db PersonalJarvis-PersonalJarvis-5898f68/board-backend/board_backend/auth.py :24 from sqlalchemy.orm import Session
  • db PersonalJarvis-PersonalJarvis-5898f68/board-backend/board_backend/background.py :19 from sqlalchemy.orm import Session
  • db PersonalJarvis-PersonalJarvis-5898f68/board-backend/board_backend/db.py :12 from sqlalchemy import create_engine, event
  • db PersonalJarvis-PersonalJarvis-5898f68/board-backend/board_backend/main.py :12 from sqlalchemy.orm import sessionmaker
  • db PersonalJarvis-PersonalJarvis-5898f68/board-backend/board_backend/models.py :12 from sqlalchemy import (
  • db PersonalJarvis-PersonalJarvis-5898f68/board-backend/board_backend/routes/activity.py :24 from sqlalchemy import and_, or_, select
  • db PersonalJarvis-PersonalJarvis-5898f68/board-backend/board_backend/routes/health.py :8 from sqlalchemy import text
  • db PersonalJarvis-PersonalJarvis-5898f68/board-backend/board_backend/routes/me.py :5 from sqlalchemy import func, select
  • db PersonalJarvis-PersonalJarvis-5898f68/board-backend/board_backend/routes/reactions.py :117 from sqlalchemy.exc import IntegrityError
  • db PersonalJarvis-PersonalJarvis-5898f68/jarvis/board/aggregator.py :36 import sqlite3
  • db PersonalJarvis-PersonalJarvis-5898f68/jarvis/board/evaluator.py :29 import sqlite3
  • db PersonalJarvis-PersonalJarvis-5898f68/jarvis/board/profile.py :36 import sqlite3
  • db PersonalJarvis-PersonalJarvis-5898f68/jarvis/board/scheduler.py :21 import sqlite3
  • db PersonalJarvis-PersonalJarvis-5898f68/jarvis/board/store.py :10 import sqlite3
  • db PersonalJarvis-PersonalJarvis-5898f68/jarvis/board/sync.py :23 import sqlite3
  • db PersonalJarvis-PersonalJarvis-5898f68/jarvis/clis/usage_log.py :10 import sqlite3
  • db PersonalJarvis-PersonalJarvis-5898f68/jarvis/control/cost.py :20 import sqlite3
  • db PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/migration_runner.py :43 import sqlite3
  • db PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/wiki/atomic_writer.py :45 import sqlite3
  • db PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/wiki/cli.py :100 import sqlite3
  • db PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/wiki/fts_index.py :47 import sqlite3
  • db PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/wiki/health.py :12 import sqlite3
  • db PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/wiki/journal.py :28 import sqlite3
  • db PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/wiki/search.py :37 import sqlite3
  • db PersonalJarvis-PersonalJarvis-5898f68/jarvis/memory/wiki/watcher.py :391 import sqlite3

tool registrations 4

  • memory_search PersonalJarvis-PersonalJarvis-5898f68/jarvis/mcp/server.py :93
  • memory_recent PersonalJarvis-PersonalJarvis-5898f68/jarvis/mcp/server.py :115
  • memory_add_fact PersonalJarvis-PersonalJarvis-5898f68/jarvis/mcp/server.py :126
  • skills_list PersonalJarvis-PersonalJarvis-5898f68/jarvis/mcp/server.py :139

declared dependencies 19

  • anthropic@>=0.96
  • openai@>=1.30
  • google-genai@>=1.0
  • json-repair@>=0.30
  • cryptography@==46.0.3; sys_platform ==
  • and@platform_machine ==
  • darwin@*
  • x86_64@*
  • 3.14@*
  • win32@*
  • ARM64@*
  • twilio@>=8.0
  • discord.py@>=2,<3
  • global-hotkeys@>=0.1.7; sys_platform ==
  • pycaw@>=20240210; sys_platform ==
  • webrtcvad-wheels@>=2.0; python_version <
  • or@platform_machine !=
  • faster-whisper@>=1.0; (sys_platform !=
  • av@==15.1.0; sys_platform ==

clipboard 2

  • clipboard shell call PersonalJarvis-PersonalJarvis-5898f68/jarvis/platform/clipboard.py :45 return _run_command(["/usr/bin/pbcopy"], text)
  • clipboard shell call PersonalJarvis-PersonalJarvis-5898f68/tests/unit/platform/test_clipboard.py :45 assert calls == [(["/usr/bin/pbcopy"], "line one\nline two")]