Self-hosted voice assistant: speak to your computer — it answers aloud, types your dictation, and operates your apps.
Drift inferred · capture-to-capture
- HIGH code analysis flagged hidden prompt content ×2, committed secret, dynamic code execution ×2 in PersonalJarvis/PersonalJarvis
- HIGH code analysis flagged hidden prompt content ×2, dynamic code execution ×2 in PersonalJarvis/PersonalJarvis
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
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
- hidden: readme: hidden-directive (low) PersonalJarvis-PersonalJarvis-5898f68/docs/plans/omni-latency-vision-v1/README.md :100
i18n-allow: product system prompt DE - hidden: readme: hidden-directive (low) PersonalJarvis-PersonalJarvis-5898f68/docs/plans/omni-latency-vision-v1/README.md :100
i18n-allow: product system prompt DE
- skill PersonalJarvis-PersonalJarvis-5898f68/.agents/skills/drive-jarvis-cli/SKILL.md
- skill PersonalJarvis-PersonalJarvis-5898f68/.agents/skills/generate-cli-command/SKILL.md
- skill PersonalJarvis-PersonalJarvis-5898f68/.agents/skills/phase6-adr-update/SKILL.md
- skill PersonalJarvis-PersonalJarvis-5898f68/.agents/skills/phase6-smoke-test/SKILL.md
- skill PersonalJarvis-PersonalJarvis-5898f68/.agents/skills/publish-new-version/SKILL.md
- skill PersonalJarvis-PersonalJarvis-5898f68/.claude/skills/drive-jarvis-cli/SKILL.md
- skill PersonalJarvis-PersonalJarvis-5898f68/.claude/skills/generate-cli-command/SKILL.md
- skill PersonalJarvis-PersonalJarvis-5898f68/.claude/skills/phase6-adr-update/SKILL.md
- skill PersonalJarvis-PersonalJarvis-5898f68/.claude/skills/phase6-smoke-test/SKILL.md
- skill PersonalJarvis-PersonalJarvis-5898f68/.claude/skills/publish-new-version/SKILL.md
- agent-rules PersonalJarvis-PersonalJarvis-5898f68/AGENTS.md
- agent-rules PersonalJarvis-PersonalJarvis-5898f68/CLAUDE.md
- prompt-file PersonalJarvis-PersonalJarvis-5898f68/docs/prompts/fix-voice-auto-submit-prompt.md
- prompt-file PersonalJarvis-PersonalJarvis-5898f68/docs/prompts/jarvis-agents-mission-reliability-deepdive.md
- skill PersonalJarvis-PersonalJarvis-5898f68/jarvis/skills/builtin/cli-gcloud/SKILL.md
- skill PersonalJarvis-PersonalJarvis-5898f68/jarvis/skills/builtin/control-api/SKILL.md
- skill PersonalJarvis-PersonalJarvis-5898f68/jarvis/skills/builtin/deep-work-mode/SKILL.md
- skill PersonalJarvis-PersonalJarvis-5898f68/jarvis/skills/builtin/jarvis-doc-author/SKILL.md
- skill PersonalJarvis-PersonalJarvis-5898f68/jarvis/skills/builtin/memory-save/SKILL.md
- skill PersonalJarvis-PersonalJarvis-5898f68/jarvis/skills/builtin/morning-routine/SKILL.md
- skill PersonalJarvis-PersonalJarvis-5898f68/jarvis/skills/builtin/plugin-asana/SKILL.md
- skill PersonalJarvis-PersonalJarvis-5898f68/jarvis/skills/builtin/plugin-cloudflare/SKILL.md
- skill PersonalJarvis-PersonalJarvis-5898f68/jarvis/skills/builtin/plugin-discord/SKILL.md
- skill PersonalJarvis-PersonalJarvis-5898f68/jarvis/skills/builtin/plugin-github/SKILL.md
- skill PersonalJarvis-PersonalJarvis-5898f68/jarvis/skills/builtin/plugin-gmail/SKILL.md
- skill PersonalJarvis-PersonalJarvis-5898f68/jarvis/skills/builtin/plugin-google_calendar/SKILL.md
- skill PersonalJarvis-PersonalJarvis-5898f68/jarvis/skills/builtin/plugin-google_drive/SKILL.md
- skill PersonalJarvis-PersonalJarvis-5898f68/jarvis/skills/builtin/plugin-linear/SKILL.md
- skill PersonalJarvis-PersonalJarvis-5898f68/jarvis/skills/builtin/plugin-notion/SKILL.md
- skill PersonalJarvis-PersonalJarvis-5898f68/jarvis/skills/builtin/plugin-slack/SKILL.md
- skill PersonalJarvis-PersonalJarvis-5898f68/jarvis/skills/builtin/plugin-stripe/SKILL.md
- skill PersonalJarvis-PersonalJarvis-5898f68/jarvis/skills/builtin/plugin-supabase/SKILL.md
- skill PersonalJarvis-PersonalJarvis-5898f68/jarvis/skills/builtin/plugin-vercel/SKILL.md
- skill PersonalJarvis-PersonalJarvis-5898f68/jarvis/skills/builtin/skill-creator/SKILL.md
- agent-rules PersonalJarvis-PersonalJarvis-5898f68/skillbook/CLAUDE.md
danger signals12
- dynamic code execution __import__ sink PersonalJarvis-PersonalJarvis-5898f68/jarvis/missions/critic/runner.py :2066
__import__("os").unlink(schema_path) - dynamic code execution __import__() PersonalJarvis-PersonalJarvis-5898f68/jarvis/missions/workers/api_agent_worker.py :190
mod = __import__(mod_name, fromlist=[cls_name]) - suspicious endpoint t.me PersonalJarvis-PersonalJarvis-5898f68/jarvis/channels/telegram.py :143
"enter the token from @BotFather (https://t.me/BotFather)." - suspicious endpoint t.me PersonalJarvis-PersonalJarvis-5898f68/jarvis/setup/wizard.py :348
help_url="https://t.me/BotFather", - suspicious endpoint api.telegram.org PersonalJarvis-PersonalJarvis-5898f68/jarvis/workflows/runner.py :457
url = f"https://api.telegram.org/bot{token}/sendMessage" - suspicious endpoint api.telegram.org PersonalJarvis-PersonalJarvis-5898f68/tests/unit/core/test_redact.py :96
f"POST https://api.telegram.org/bot{telegram_token}/getUpdates" - suspicious endpoint api.telegram.org PersonalJarvis-PersonalJarvis-5898f68/tests/unit/marketplace/test_connect_pat_schemes.py :69
_spec("telegram_path", "https://api.telegram.org/bot{token}/getMe").auth, - suspicious endpoint t.me PersonalJarvis-PersonalJarvis-5898f68/tests/unit/marketplace/test_telegram_connect.py :82
mode="pat_paste", token_creation_url="https://t.me/BotFather", - suspicious endpoint api.telegram.org PersonalJarvis-PersonalJarvis-5898f68/tests/unit/marketplace/test_telegram_connect.py :83
token_prefix="", validation_endpoint="https://api.telegram.org/bot{token}/getMe", - over-broad OAuth scope https://www.googleapis.com/auth/drive PersonalJarvis-PersonalJarvis-5898f68/tests/unit/marketplace/test_catalog_seed.py :187
assert spec.auth.scopes == ["https://www.googleapis.com/auth/drive"] - over-broad OAuth scope https://mail.google.com/ PersonalJarvis-PersonalJarvis-5898f68/tests/unit/marketplace/test_catalog_seed.py :203
assert "https://mail.google.com/" in spec.auth.scopes - committed secret Anthropic key PersonalJarvis-PersonalJarvis-5898f68/tests/missions/test_env.py :413
sk-ant…(37 chars, redacted)
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")]