github Python analyzed e9f72be

apiad/aegis

github

The meta-harness that brings real agentic collaboration as a first-class citizen

maintainer
apiad
license
MIT
first seen
2026-06-09
last seen
2026-08-31
releases · 30d
7
short id

Drift inferred · capture-to-capture

  1. HIGH code analysis flagged dynamic code execution ×4 in apiad/aegis
  2. HIGH code analysis flagged dynamic code execution ×4 in apiad/aegis
  3. HIGH code analysis flagged dynamic code execution ×4 in apiad/aegis
  4. HIGH code analysis flagged dynamic code execution ×4 in apiad/aegis
  5. HIGH code analysis flagged dynamic code execution ×4 in apiad/aegis
  6. HIGH code analysis flagged dynamic code execution ×4 in apiad/aegis
  7. HIGH code analysis flagged dynamic code execution ×4 in apiad/aegis
  8. HIGH code analysis flagged dynamic code execution ×4 in apiad/aegis
  9. HIGH code analysis flagged dynamic code execution ×4 in apiad/aegis
  10. HIGH code analysis flagged dynamic code execution ×4 in apiad/aegis
  11. HIGH code analysis flagged dynamic code execution ×4 in apiad/aegis
  12. HIGH code analysis flagged dynamic code execution ×4 in apiad/aegis
  13. HIGH code analysis flagged dynamic code execution ×4 in apiad/aegis
  14. HIGH code analysis flagged dynamic code execution ×4 in apiad/aegis
  15. HIGH code analysis flagged dynamic code execution ×4 in apiad/aegis
  16. HIGH code analysis flagged dynamic code execution ×4 in apiad/aegis
  17. HIGH code analysis flagged dynamic code execution ×4 in apiad/aegis
  18. HIGH code analysis flagged dynamic code execution ×4 in apiad/aegis
  19. HIGH code analysis flagged dynamic code execution ×4 in apiad/aegis
  20. HIGH code analysis flagged dynamic code execution ×4 in apiad/aegis
capabilities 72 tools
transport stdio counts 72 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • _wrapper
  • aegis_budget_status
  • aegis_cancel
  • aegis_canvas_append_to_section
  • aegis_canvas_list
  • aegis_canvas_open
  • aegis_canvas_read
  • aegis_canvas_subscribe
  • aegis_canvas_unsubscribe
  • aegis_canvas_write_section
  • aegis_claim
  • aegis_claims
  • aegis_close
  • aegis_config_add_agent
  • aegis_config_add_plugin_dir
  • aegis_config_add_queue
  • aegis_config_list_agents
  • aegis_config_list_queues
  • aegis_config_list_schedules
  • aegis_config_remove_agent
  • aegis_config_remove_plugin_dir
  • aegis_config_remove_queue
  • aegis_config_set_schedule_enabled
  • aegis_config_show
  • aegis_config_toggle_schedule_enabled
  • aegis_delegate
  • aegis_enqueue
  • aegis_fork
  • aegis_group_broadcast
  • aegis_group_dissolve
  • aegis_group_move_member
  • aegis_group_rename
  • aegis_group_spawn
  • aegis_group_spawn_mixed
  • aegis_group_status
  • aegis_group_wait_all
  • aegis_group_wait_any
  • aegis_list_agents
  • aegis_list_sessions
  • aegis_loop_stop
  • aegis_meta
  • aegis_monitor
  • aegis_monitor_cancel
  • aegis_monitors
  • aegis_peer_plan
  • aegis_read_peer
  • aegis_release
  • aegis_remind
  • aegis_reminder_cancel
  • aegis_reminders
  • aegis_rename
  • aegis_run_dynamic_workflow
  • aegis_run_workflow
  • aegis_schedule_list
  • aegis_schedule_logs
  • aegis_schedule_push
  • aegis_schedule_remove
  • aegis_schedule_show
  • aegis_spawn
  • aegis_task_status
  • aegis_term_close
  • aegis_term_keys
  • aegis_term_list
  • aegis_term_read
  • aegis_term_run
  • aegis_term_spawn
  • aegis_term_subscribe
  • aegis_term_unsubscribe
  • aegis_title
  • aegis_view_file
  • aegis_workflow_cancel
  • aegis_workflow_status
skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit e9f72be · analyzer v33 · 3d ago

skills & prompt files 1

danger signals8

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

code files: 736

filesystem 247

  • fs apiad-aegis-e9f72be/.playground/lovelaice-probe/inproc_repro.py :8 from pathlib import Path
  • fs apiad-aegis-e9f72be/.playground/lovelaice-probe/mcp_live_probe.py :7 from pathlib import Path
  • fs apiad-aegis-e9f72be/.playground/lovelaice-probe/probe.py :9 from pathlib import Path
  • fs apiad-aegis-e9f72be/.playground/lovelaice-probe/stream_resume_probe.py :2 from pathlib import Path
  • fs apiad-aegis-e9f72be/.playground/lovelaice-probe/usage_probe.py :2 from pathlib import Path
  • fs apiad-aegis-e9f72be/plugins/memory-system/_install.py :6 from pathlib import Path
  • fs apiad-aegis-e9f72be/plugins/memory-system/_uninstall.py :5 import shutil
  • fs apiad-aegis-e9f72be/plugins/memory-system/memory_system.py :11 from pathlib import Path
  • fs apiad-aegis-e9f72be/plugins/skill-system/skill_system.py :19 from pathlib import Path
  • fs apiad-aegis-e9f72be/plugins/socks-proxy/_install.py :4 import shutil
  • fs apiad-aegis-e9f72be/plugins/socks-proxy/socks_proxy.py :17 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/scripts/refresh-models.py :35 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/canvas/manager.py :18 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/cli.py :7 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/cli_budget.py :7 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/cli_comms.py :9 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/cli_config.py :10 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/cli_plugin.py :4 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/cli_schedule.py :22 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/commands/expand.py :16 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/commands/prompt_loader.py :12 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/comms/persistence.py :16 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/config/__init__.py :5 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/config/edit.py :13 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/config/persona.py :10 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/config/yaml_loader.py :19 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/core/manager.py :6 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/core/session.py :7 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/src/aegis/corpus/source.py :12 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/digest/collect.py :18 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/drivers/acp.py :29 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/drivers/claude.py :7 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/drivers/lovelaice.py :13 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/groups/bridge.py :6 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/groups/broadcast.py :20 def open(self, rec: BroadcastRecord) -> None:
  • fs apiad-aegis-e9f72be/src/aegis/groups/persistence.py :14 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/groups/runtime.py :72 self.tracker.open(rec)
  • fs apiad-aegis-e9f72be/src/aegis/hooks/contexts.py :5 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/hooks/runner.py :7 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/hosts/connection.py :14 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/hosts/registry.py :13 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/locks/bridge.py :4 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/locks/persistence.py :4 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/locks/resolver.py :3 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/mcp/server.py :607 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/models/__init__.py :25 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/models/refresh.py :19 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/plugins/install.py :5 import shutil
  • fs apiad-aegis-e9f72be/src/aegis/plugins/install_context.py :5 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/plugins/lockfile.py :6 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/plugins/manifest.py :6 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/plugins/registry.py :6 import shutil
  • fs apiad-aegis-e9f72be/src/aegis/plugins/uninstall.py :5 import shutil
  • fs apiad-aegis-e9f72be/src/aegis/queue/inbox.py :9 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/queue/jsonl.py :11 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/queue/manager.py :16 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/repos/models.py :5 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/repos/probe.py :14 import shutil
  • fs apiad-aegis-e9f72be/src/aegis/repos/tracker.py :18 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/scheduler/push.py :14 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/scheduler/reload.py :18 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/scheduler/replay.py :16 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/scheduler/scheduler.py :25 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/state/aegis_log.py :36 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/state/history.py :23 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/state/repair.py :17 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/state/session_log.py :34 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/state/workspace.py :13 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/terminal/manager.py :9 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/terminal/pty.py :5 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/themes/__init__.py :4 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/tools/runner.py :8 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/tui/app.py :6 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/tui/config_panel.py :11 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/tui/file_browser_tab.py :10 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/tui/file_index.py :17 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/tui/file_tab.py :20 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/tui/native_open.py :13 import shutil
  • fs apiad-aegis-e9f72be/src/aegis/tui/pane.py :9 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/tui/picker.py :3 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/tui/remote_manager.py :14 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/tui/shell_escape.py :6 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/tui/sysmeter.py :19 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/tui/terminal_tab.py :29 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/usage/aggregate.py :16 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/usage/env.py :7 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/usage/quota_claude.py :18 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/usage/quota_opencode.py :18 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/version.py :15 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/web/frontend.py :7 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/web/history.py :17 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/web/server.py :10 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/web/subscriptions.py :16 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/workflow/engine.py :12 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/workflow/runner.py :7 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/workflows/_lib/plan_parser.py :9 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/workflows/brainstorm_to_spec.py :9 from pathlib import Path
  • fs apiad-aegis-e9f72be/src/aegis/workflows/review_branch.py :9 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/conftest_workflows.py :16 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/fixtures/two_serves.py :7 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/live/test_remote_tui_live.py :40 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_acp_pre_spawn.py :9 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_app_history_integration.py :6 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_budget_config.py :2 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_canvas_manager.py :27 info = await mgr.open("report-q3", str(file))
  • fs (weak) apiad-aegis-e9f72be/tests/test_canvas_notify.py :99 await mgr.open("r", str(tmp_path / "r.md"))
  • fs (weak) apiad-aegis-e9f72be/tests/test_claude_pre_spawn.py :9 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_cli_budget.py :10 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_cli_config.py :6 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_cli_doctor.py :26 with session_log_path(sd, handle).open("a", encoding="utf-8") as f:
  • fs (weak) apiad-aegis-e9f72be/tests/test_cli_schedule.py :11 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_cli_schedule_remote.py :9 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_comms_cli.py :4 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_comms_ledger.py :4 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_comms_middleware.py :5 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_comms_web_wire.py :5 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_config_edit.py :4 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_config_panel.py :4 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_corpus_source.py :9 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_cross_primitive.py :6 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_digest_collect.py :4 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_drivers_multiprovider_live.py :19 import shutil
  • fs (weak) apiad-aegis-e9f72be/tests/test_dsl_gate.py :3 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_dsl_live.py :7 import shutil
  • fs (weak) apiad-aegis-e9f72be/tests/test_events.py :2 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_file_browser_tab.py :4 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_file_index.py :4 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_file_picker.py :4 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_file_tab.py :3 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_groups_broadcast.py :20 bt.open(rec)
  • fs (weak) apiad-aegis-e9f72be/tests/test_groups_live.py :8 import shutil
  • fs (weak) apiad-aegis-e9f72be/tests/test_groups_persistence.py :4 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_groups_replay.py :3 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_groups_yaml_loader.py :3 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_history_index.py :11 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_history_reader.py :1 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_hook_contexts.py :4 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_hook_loader.py :5 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_hook_pre_spawn.py :12 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_hook_runner.py :6 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_hooks_e2e.py :6 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_identity_acp_live.py :16 import shutil
  • fs (weak) apiad-aegis-e9f72be/tests/test_identity_ledger_http.py :17 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_identity_live.py :3 import shutil
  • fs (weak) apiad-aegis-e9f72be/tests/test_install_context.py :4 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_integration_live.py :2 import shutil
  • fs (weak) apiad-aegis-e9f72be/tests/test_locks_persistence.py :51 with p.open("a") as f:
  • fs (weak) apiad-aegis-e9f72be/tests/test_lovelaice_driver.py :1 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_lovelaice_live.py :1 import shutil
  • fs (weak) apiad-aegis-e9f72be/tests/test_lovelaice_mcp_live.py :8 import shutil
  • fs (weak) apiad-aegis-e9f72be/tests/test_lovelaice_resume_live.py :6 import shutil
  • fs (weak) apiad-aegis-e9f72be/tests/test_mcp_budget_tool.py :2 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_mcp_config_tools.py :8 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_mcp_live.py :3 import shutil
  • fs (weak) apiad-aegis-e9f72be/tests/test_mcp_view_file.py :3 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_memory_dream.py :7 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_memory_hooks.py :6 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_memory_install.py :6 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_memory_io.py :6 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_memory_read_tools.py :7 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_memory_system_live.py :7 import shutil
  • fs (weak) apiad-aegis-e9f72be/tests/test_memory_write_tools.py :6 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_models_registry.py :11 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_native_open.py :4 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_oneshot_generate.py :158 import shutil
  • fs (weak) apiad-aegis-e9f72be/tests/test_pane_deferred.py :15 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_plugin_cli.py :5 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_plugin_import.py :4 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_plugin_install_local.py :4 import shutil
  • fs (weak) apiad-aegis-e9f72be/tests/test_plugin_manifest.py :4 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_plugin_registry_fetch.py :4 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_plugin_uninstall.py :6 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_plugin_update_search.py :5 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_prompt_commands.py :2 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_queue_budget_enforcement.py :4 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_queue_config.py :3 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_queue_cost_log.py :4 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_queue_dashboard_live.py :13 import shutil
  • fs (weak) apiad-aegis-e9f72be/tests/test_queue_live.py :16 import shutil
  • fs (weak) apiad-aegis-e9f72be/tests/test_queue_provider_model.py :1 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_remote_config.py :3 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_repos_probe.py :9 import shutil
  • fs (weak) apiad-aegis-e9f72be/tests/test_repos_render.py :4 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_repos_tracker.py :5 import shutil
  • fs (weak) apiad-aegis-e9f72be/tests/test_scheduler_dispatch.py :7 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_scheduler_live.py :8 import shutil
  • fs (weak) apiad-aegis-e9f72be/tests/test_scheduler_overlap.py :6 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_scheduler_reload.py :6 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_scheduler_replay.py :6 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_session_hook_wiring.py :10 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_session_log_hot_path.py :12 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_session_manager_register.py :59 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_shell_escape.py :5 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_sidebar_repos.py :10 import shutil
  • fs (weak) apiad-aegis-e9f72be/tests/test_sidebar_system.py :11 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_skill_system.py :7 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_skill_system_live.py :4 import shutil
  • fs (weak) apiad-aegis-e9f72be/tests/test_slash_commands.py :44 import pathlib
  • fs (weak) apiad-aegis-e9f72be/tests/test_socks_proxy_plugin.py :6 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_ssh_hosts_live.py :11 import shutil
  • fs (weak) apiad-aegis-e9f72be/tests/test_state_repair.py :10 with session_log_path(tmp_path, handle).open("a", encoding="utf-8") as f:
  • fs (weak) apiad-aegis-e9f72be/tests/test_state_retention.py :13 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_sysmeter.py :10 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_terminal_manager_lifecycle.py :2 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_terminal_manager_run.py :4 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_terminal_mcp.py :2 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_terminal_notify.py :3 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_terminal_persistence.py :3 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_terminal_render_observer.py :2 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_terminal_tab.py :11 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_theme_loader.py :1 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_tool_click_open.py :4 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_tool_runner.py :6 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_tui.py :340 """inotify instances this process holds open (Linux)."""
  • fs (weak) apiad-aegis-e9f72be/tests/test_turn_generation_live.py :9 import shutil
  • fs (weak) apiad-aegis-e9f72be/tests/test_usage_aggregate.py :3 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_usage_cli.py :2 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_usage_command.py :2 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_voice_config.py :1 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_web_cli.py :4 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_web_config.py :4 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_web_config_edit.py :4 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_web_config_show.py :4 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_web_download.py :3 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_web_files.py :4 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_web_group_status.py :4 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_web_history.py :3 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_web_protocol.py :4 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_web_pwa.py :4 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_web_queue_digest.py :4 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_web_server.py :3 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_web_session_list.py :4 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_web_static_routes.py :3 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_web_subscriptions.py :3 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_workflow_budget.py :4 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_workflow_cli.py :74 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_workflow_engine.py :3 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_workflow_live.py :6 import shutil
  • fs (weak) apiad-aegis-e9f72be/tests/test_workspace_writes_on_tab_change.py :7 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_wssession_handoff_rename.py :4 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_wssession_tail.py :10 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_yaml_loader.py :5 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/test_yaml_overlay.py :5 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/tui/test_remote_manager.py :80 mgr.canvas_manager.open("x")
  • fs (weak) apiad-aegis-e9f72be/tests/tui/test_remote_manager_parity.py :85 from pathlib import Path
  • fs (weak) apiad-aegis-e9f72be/tests/tui/test_remote_pane_hydration.py :13 import pathlib
  • fs (weak) apiad-aegis-e9f72be/tests/tui/test_remote_quit.py :36 import pathlib

shell / exec 18

  • shell apiad-aegis-e9f72be/src/aegis/cli.py :253 import subprocess
  • shell apiad-aegis-e9f72be/src/aegis/digest/collect.py :17 import subprocess
  • shell apiad-aegis-e9f72be/src/aegis/models/__init__.py :248 import subprocess
  • shell apiad-aegis-e9f72be/src/aegis/plugins/registry.py :7 import subprocess
  • shell apiad-aegis-e9f72be/src/aegis/repos/probe.py :15 import subprocess
  • shell apiad-aegis-e9f72be/src/aegis/tui/file_tab.py :19 import subprocess
  • shell apiad-aegis-e9f72be/src/aegis/tui/native_open.py :14 import subprocess
  • shell apiad-aegis-e9f72be/src/aegis/version.py :14 import subprocess
  • shell apiad-aegis-e9f72be/src/aegis/workflow/engine.py :8 import subprocess
  • shell apiad-aegis-e9f72be/src/aegis/workflows/_lib/git_helpers.py :4 import subprocess
  • shell (weak) apiad-aegis-e9f72be/tests/test_digest_collect.py :3 import subprocess
  • shell (weak) apiad-aegis-e9f72be/tests/test_memory_system_live.py :8 import subprocess
  • shell (weak) apiad-aegis-e9f72be/tests/test_repos_probe.py :10 import subprocess
  • shell (weak) apiad-aegis-e9f72be/tests/test_repos_tracker.py :6 import subprocess
  • shell (weak) apiad-aegis-e9f72be/tests/test_sidebar_repos.py :11 import subprocess
  • shell (weak) apiad-aegis-e9f72be/tests/test_ssh_hosts_live.py :12 import subprocess
  • shell (weak) apiad-aegis-e9f72be/tests/test_workflow_engine.py :72 import subprocess
  • shell (weak) apiad-aegis-e9f72be/tests/test_workflow_live.py :7 import subprocess

network 39

  • net apiad-aegis-e9f72be/.playground/lovelaice-probe/inproc_repro.py :5 import socket
  • net apiad-aegis-e9f72be/.playground/lovelaice-probe/mcp_http_repro.py :3 import socket
  • net apiad-aegis-e9f72be/.playground/lovelaice-probe/mcp_live_probe.py :3 import socket
  • net (weak) apiad-aegis-e9f72be/scripts/refresh-models.py :37 import httpx
  • net apiad-aegis-e9f72be/src/aegis/cli.py :129 from urllib.parse import urlparse as _urlparse
  • net apiad-aegis-e9f72be/src/aegis/mcp/runtime.py :5 import socket
  • net apiad-aegis-e9f72be/src/aegis/models/refresh.py :21 import httpx
  • net apiad-aegis-e9f72be/src/aegis/remote/client.py :4 import httpx
  • net apiad-aegis-e9f72be/src/aegis/remote/config.py :5 from urllib.parse import urlparse
  • net apiad-aegis-e9f72be/src/aegis/remote/ssh_tunnel.py :10 import socket
  • net apiad-aegis-e9f72be/src/aegis/usage/quota_claude.py :16 import urllib.error
  • net apiad-aegis-e9f72be/src/aegis/usage/quota_opencode.py :16 import urllib.error
  • net apiad-aegis-e9f72be/src/aegis/web/frontend.py :6 import socket
  • net (weak) apiad-aegis-e9f72be/tests/fixtures/two_serves.py :11 import httpx
  • net (weak) apiad-aegis-e9f72be/tests/live/test_remote_tui_live.py :16 import socket
  • net (weak) apiad-aegis-e9f72be/tests/test_drivers_multiprovider_live.py :20 import socket
  • net (weak) apiad-aegis-e9f72be/tests/test_identity_acp_live.py :17 import socket
  • net (weak) apiad-aegis-e9f72be/tests/test_identity_http.py :5 import socket
  • net (weak) apiad-aegis-e9f72be/tests/test_identity_ledger_http.py :16 import socket
  • net (weak) apiad-aegis-e9f72be/tests/test_identity_live.py :20 import socket
  • net (weak) apiad-aegis-e9f72be/tests/test_lovelaice_mcp_live.py :9 import socket
  • net (weak) apiad-aegis-e9f72be/tests/test_mcp_runtime.py :1 import socket
  • net (weak) apiad-aegis-e9f72be/tests/test_mcp_schedule_tools.py :8 import httpx
  • net (weak) apiad-aegis-e9f72be/tests/test_quota.py :2 import urllib.error
  • net (weak) apiad-aegis-e9f72be/tests/test_quota_opencode.py :2 import urllib.error
  • net (weak) apiad-aegis-e9f72be/tests/test_remote_budget_client.py :1 import httpx
  • net (weak) apiad-aegis-e9f72be/tests/test_remote_budget_endpoints.py :5 import httpx
  • net (weak) apiad-aegis-e9f72be/tests/test_remote_callback_client.py :3 import httpx
  • net (weak) apiad-aegis-e9f72be/tests/test_remote_callback_e2e.py :88 import httpx
  • net (weak) apiad-aegis-e9f72be/tests/test_remote_callback_endpoint.py :1 import httpx
  • net (weak) apiad-aegis-e9f72be/tests/test_remote_client.py :5 import httpx
  • net (weak) apiad-aegis-e9f72be/tests/test_remote_mcp_target.py :6 import httpx
  • net (weak) apiad-aegis-e9f72be/tests/test_remote_plane.py :6 import httpx
  • net (weak) apiad-aegis-e9f72be/tests/test_remote_schedule_client.py :6 import httpx
  • net (weak) apiad-aegis-e9f72be/tests/test_schedule_inspect_endpoints.py :5 from httpx import ASGITransport, AsyncClient
  • net (weak) apiad-aegis-e9f72be/tests/test_schedule_push_endpoint.py :5 from httpx import ASGITransport, AsyncClient
  • net (weak) apiad-aegis-e9f72be/tests/test_schedule_remove_logs.py :5 from httpx import ASGITransport, AsyncClient
  • net (weak) apiad-aegis-e9f72be/tests/test_ssh_hosts_live.py :160 "import urllib.request;"
  • net (weak) apiad-aegis-e9f72be/tests/tui/test_ws_client_reconnect.py :4 import socket

secrets 4

  • secrets apiad-aegis-e9f72be/.playground/lovelaice-probe/inproc_repro.py :26 os.environ["OPENROUTER_API_KEY"] = Path("/home/apiad/Workspace/.claude/openrouter.token").read_text().strip()
  • secrets apiad-aegis-e9f72be/src/aegis/config/yaml_loader.py :301 token = os.environ.get("AEGIS_WEB_TOKEN") or raw.get("token") or None
  • secrets (weak) apiad-aegis-e9f72be/tests/test_remote_callback_schedule_live.py :41 token = os.environ.get("AEGIS_LIVE_PEER_TOKEN") or None
  • secrets (weak) apiad-aegis-e9f72be/tests/test_remote_live.py :29 token = os.environ.get("AEGIS_REMOTE_LIVE_TOKEN")

tool registrations 75

  • aegis_claim apiad-aegis-e9f72be/.playground/lovelaice-probe/inproc_repro.py :38
  • aegis_claim apiad-aegis-e9f72be/.playground/lovelaice-probe/mcp_http_repro.py :26
  • aegis_claim apiad-aegis-e9f72be/.playground/lovelaice-probe/mcp_live_probe.py :30
  • aegis_meta apiad-aegis-e9f72be/src/aegis/mcp/server.py :618
  • aegis_config_show apiad-aegis-e9f72be/src/aegis/mcp/server.py :624
  • aegis_config_list_agents apiad-aegis-e9f72be/src/aegis/mcp/server.py :661
  • aegis_config_list_queues apiad-aegis-e9f72be/src/aegis/mcp/server.py :681
  • aegis_config_list_schedules apiad-aegis-e9f72be/src/aegis/mcp/server.py :701
  • aegis_config_add_agent apiad-aegis-e9f72be/src/aegis/mcp/server.py :724
  • aegis_config_remove_agent apiad-aegis-e9f72be/src/aegis/mcp/server.py :757
  • aegis_config_add_queue apiad-aegis-e9f72be/src/aegis/mcp/server.py :773
  • aegis_config_remove_queue apiad-aegis-e9f72be/src/aegis/mcp/server.py :802
  • aegis_config_add_plugin_dir apiad-aegis-e9f72be/src/aegis/mcp/server.py :818
  • aegis_config_remove_plugin_dir apiad-aegis-e9f72be/src/aegis/mcp/server.py :840
  • aegis_config_set_schedule_enabled apiad-aegis-e9f72be/src/aegis/mcp/server.py :857
  • aegis_config_toggle_schedule_enabled apiad-aegis-e9f72be/src/aegis/mcp/server.py :876
  • aegis_list_sessions apiad-aegis-e9f72be/src/aegis/mcp/server.py :901
  • aegis_peer_plan apiad-aegis-e9f72be/src/aegis/mcp/server.py :906
  • aegis_list_agents apiad-aegis-e9f72be/src/aegis/mcp/server.py :935
  • aegis_view_file apiad-aegis-e9f72be/src/aegis/mcp/server.py :940
  • aegis_read_peer apiad-aegis-e9f72be/src/aegis/mcp/server.py :956
  • aegis_rename apiad-aegis-e9f72be/src/aegis/mcp/server.py :986
  • aegis_title apiad-aegis-e9f72be/src/aegis/mcp/server.py :1017
  • aegis_spawn apiad-aegis-e9f72be/src/aegis/mcp/server.py :1036
  • aegis_fork apiad-aegis-e9f72be/src/aegis/mcp/server.py :1087
  • aegis_close apiad-aegis-e9f72be/src/aegis/mcp/server.py :1141
  • aegis_claim apiad-aegis-e9f72be/src/aegis/mcp/server.py :1175
  • aegis_release apiad-aegis-e9f72be/src/aegis/mcp/server.py :1230
  • aegis_claims apiad-aegis-e9f72be/src/aegis/mcp/server.py :1240
  • aegis_enqueue apiad-aegis-e9f72be/src/aegis/mcp/server.py :1253
  • aegis_monitor apiad-aegis-e9f72be/src/aegis/mcp/server.py :1339
  • aegis_monitors apiad-aegis-e9f72be/src/aegis/mcp/server.py :1421
  • aegis_monitor_cancel apiad-aegis-e9f72be/src/aegis/mcp/server.py :1431
  • aegis_remind apiad-aegis-e9f72be/src/aegis/mcp/server.py :1442
  • aegis_loop_stop apiad-aegis-e9f72be/src/aegis/mcp/server.py :1471
  • aegis_reminders apiad-aegis-e9f72be/src/aegis/mcp/server.py :1505
  • aegis_reminder_cancel apiad-aegis-e9f72be/src/aegis/mcp/server.py :1514
  • aegis_run_workflow apiad-aegis-e9f72be/src/aegis/mcp/server.py :1522
  • aegis_run_dynamic_workflow apiad-aegis-e9f72be/src/aegis/mcp/server.py :1611
  • aegis_workflow_status apiad-aegis-e9f72be/src/aegis/mcp/server.py :1712
  • aegis_workflow_cancel apiad-aegis-e9f72be/src/aegis/mcp/server.py :1724
  • aegis_canvas_open apiad-aegis-e9f72be/src/aegis/mcp/server.py :1733
  • aegis_canvas_read apiad-aegis-e9f72be/src/aegis/mcp/server.py :1757
  • aegis_canvas_write_section apiad-aegis-e9f72be/src/aegis/mcp/server.py :1775
  • aegis_canvas_append_to_section apiad-aegis-e9f72be/src/aegis/mcp/server.py :1797
  • aegis_canvas_subscribe apiad-aegis-e9f72be/src/aegis/mcp/server.py :1816
  • aegis_canvas_unsubscribe apiad-aegis-e9f72be/src/aegis/mcp/server.py :1841
  • aegis_canvas_list apiad-aegis-e9f72be/src/aegis/mcp/server.py :1855
  • aegis_term_spawn apiad-aegis-e9f72be/src/aegis/mcp/server.py :1868
  • aegis_term_list apiad-aegis-e9f72be/src/aegis/mcp/server.py :1890
  • aegis_term_run apiad-aegis-e9f72be/src/aegis/mcp/server.py :1898
  • aegis_term_keys apiad-aegis-e9f72be/src/aegis/mcp/server.py :1929
  • aegis_term_read apiad-aegis-e9f72be/src/aegis/mcp/server.py :1948
  • aegis_term_subscribe apiad-aegis-e9f72be/src/aegis/mcp/server.py :1966
  • aegis_term_unsubscribe apiad-aegis-e9f72be/src/aegis/mcp/server.py :1986
  • aegis_term_close apiad-aegis-e9f72be/src/aegis/mcp/server.py :2002
  • aegis_group_spawn apiad-aegis-e9f72be/src/aegis/mcp/server.py :2020
  • aegis_group_broadcast apiad-aegis-e9f72be/src/aegis/mcp/server.py :2031
  • aegis_group_wait_all apiad-aegis-e9f72be/src/aegis/mcp/server.py :2054
  • aegis_group_wait_any apiad-aegis-e9f72be/src/aegis/mcp/server.py :2064
  • aegis_group_spawn_mixed apiad-aegis-e9f72be/src/aegis/mcp/server.py :2075
  • aegis_group_status apiad-aegis-e9f72be/src/aegis/mcp/server.py :2089
  • aegis_group_dissolve apiad-aegis-e9f72be/src/aegis/mcp/server.py :2096
  • aegis_group_rename apiad-aegis-e9f72be/src/aegis/mcp/server.py :2101
  • aegis_group_move_member apiad-aegis-e9f72be/src/aegis/mcp/server.py :2107
  • aegis_schedule_push apiad-aegis-e9f72be/src/aegis/mcp/server.py :2115
  • aegis_schedule_list apiad-aegis-e9f72be/src/aegis/mcp/server.py :2142
  • aegis_schedule_show apiad-aegis-e9f72be/src/aegis/mcp/server.py :2159
  • aegis_schedule_remove apiad-aegis-e9f72be/src/aegis/mcp/server.py :2178
  • aegis_schedule_logs apiad-aegis-e9f72be/src/aegis/mcp/server.py :2199
  • aegis_budget_status apiad-aegis-e9f72be/src/aegis/mcp/server.py :2212
  • aegis_task_status apiad-aegis-e9f72be/src/aegis/mcp/server.py :2271
  • aegis_cancel apiad-aegis-e9f72be/src/aegis/mcp/server.py :2285
  • aegis_delegate apiad-aegis-e9f72be/src/aegis/mcp/server.py :2302
  • _wrapper apiad-aegis-e9f72be/src/aegis/mcp/server.py :2353

declared dependencies 21

  • fastmcp@>=3.2.0
  • agent-client-protocol@>=0.10
  • croniter@>=2.0
  • httpx@>=0.28
  • jsonschema@>=4.26
  • lovelaice@>=2.11,<3
  • markdown-it-py@>=3.0
  • psutil@>=6.0
  • ptyprocess@>=0.7.0
  • pydantic@>=2.12.5
  • rich@>=14.3.3
  • ruamel.yaml@>=0.18
  • starlette@>=0.46
  • textual@>=8.2.6
  • tomli-w@>=1.2.0
  • typer@>=0.24.1
  • uvicorn@>=0.32
  • watchdog@>=4.0
  • websockets@>=13.0
  • harpio@>=0.10.0
  • sounddevice@>=0.5.5