agentwire-dev 1.50.0__tar.gz → 1.50.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/PKG-INFO +1 -1
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/__init__.py +1 -1
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/hooks/idle-handler.sh +11 -4
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/notify_cli.py +27 -5
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/services.py +36 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/docs/wiki/sessions/prompt-routing.md +12 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/.claude/commands/handoff.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/.claude/skills/wiki/SKILL.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/.github/FUNDING.yml +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/.github/ISSUE_TEMPLATE/question.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/.github/workflows/pytest.yml +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/.github/workflows/ruff.yml +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/.github/workflows/security.yml +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/.github/workflows/tts-smoke.yml +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/.gitignore +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/AGENTS.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/CODE_OF_CONDUCT.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/CONTRIBUTING.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/Dockerfile.local +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/LICENSE +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/README.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/RELEASING.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/SECURITY.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/SPONSORS.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/__main__.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/agents/__init__.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/agents/base.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/agents/tmux.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/cached_status.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/channels/__init__.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/channels/base.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/channels/email.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/channels/push.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/channels/quo.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/channels_cli.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/completion.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/config.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/core.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/council/__init__.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/council/cli.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/council/inbox.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/council/state.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/council/view.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/devices.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/diff_cli.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/doctor_cli.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/doctor_voice.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/ensure_cli.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/fetch.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/handoff/__init__.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/handoff/git_state.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/handoff/instructions.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/handoff/parser.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/handoff/renderer.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/handoff/schema.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/handoff_cli.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/history.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/history_cli.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/hooks/__init__.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/hooks/agentwire-permission.sh +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/hooks/damage-control/__init__.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/hooks/damage-control/audit_logger.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/hooks/damage-control/bash-tool-damage-control.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/hooks/damage-control/edit-tool-damage-control.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/hooks/damage-control/mcp-tool-damage-control.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/hooks/damage-control/read-tool-damage-control.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/hooks/damage-control/rules/agentwire.yaml +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/hooks/damage-control/rules/aws.yaml +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/hooks/damage-control/rules/cloud-hosting.yaml +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/hooks/damage-control/rules/containers.yaml +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/hooks/damage-control/rules/control-plane.yaml +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/hooks/damage-control/rules/core.yaml +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/hooks/damage-control/rules/databases.yaml +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/hooks/damage-control/rules/firebase.yaml +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/hooks/damage-control/rules/gcp.yaml +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/hooks/damage-control/rules/git.yaml +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/hooks/damage-control/rules/gws.yaml +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/hooks/damage-control/rules/infrastructure.yaml +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/hooks/damage-control/rules/outbound.yaml +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/hooks/damage-control/rules/publish.yaml +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/hooks/damage-control/rules/remote.yaml +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/hooks/damage-control/write-tool-damage-control.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/hooks/queue-processor.sh +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/hooks_cli.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/inbox.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/limits_cli.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/listen.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/locking.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/machine_cli.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/mcp_channels.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/mcp_cli.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/mcp_core.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/mcp_council.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/mcp_desktop.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/mcp_handoff.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/mcp_history.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/mcp_listen.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/mcp_lock.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/mcp_machine.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/mcp_msg.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/mcp_notify.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/mcp_pane.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/mcp_projects.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/mcp_scheduler.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/mcp_scratchpad.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/mcp_server.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/mcp_services.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/mcp_session.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/mcp_status.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/mcp_task.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/mcp_tunnels.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/mcp_voice.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/mcp_voiceclone.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/mcp_wiki.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/mcp_worktree.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/msg_cli.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/network.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/onboarding.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/pane_cli.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/pane_manager.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/portal_cli.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/project_config.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/projects.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/prompt_router.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/prompts_cli.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/push_cli.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/push_store.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/repo_cli.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/research.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/roles/__init__.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/roles/agentwire.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/roles/anchor.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/roles/chatbot.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/roles/correspondent.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/roles/council-brain.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/roles/council-conscience.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/roles/council-critic.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/roles/council-devils-advocate.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/roles/council-gut.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/roles/council-historian.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/roles/council-member.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/roles/council-orchestrator.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/roles/init.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/roles/notifications.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/roles/orchestrator.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/roles/soul.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/roles/task-runner.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/roles/voice.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/roles/worker.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/roles/worktree-session.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/roles_cli.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/routes/__init__.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/routes/artifacts.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/routes/config.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/routes/council.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/routes/desktop.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/routes/history.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/routes/machines.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/routes/notify.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/routes/permission.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/routes/projects.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/routes/push.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/routes/safety.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/routes/scheduler.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/routes/scratchpad.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/routes/sessions.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/routes/sessions_admin.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/routes/voice.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/safety/__init__.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/safety/_core.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/safety_cli.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/safety_commands.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/scheduler.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/scheduler_cli.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/scratchpad.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/security.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/send_cli.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/server.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/session_cli.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/session_context.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/session_ready.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/ssh.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/agentwire-splash-logo-layers--agentwire-text.png +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/agentwire-splash-logo-layers--echo-claw-fg.png +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/agentwire-splash-logo-layers--echo.png +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/agentwire-splash-logo-layers--telephone.png +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/agentwire-splash-logo-layers--tree.png +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/announcements.json +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/css/desktop.css +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/css/mobile.css +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/favicon.png +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/icons/sessions/bear.webp +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/icons/sessions/cat.webp +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/icons/sessions/crown.webp +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/icons/sessions/custom/agentwire-portal.webp +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/icons/sessions/custom/agentwire-tts.webp +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/icons/sessions/custom/agentwire.webp +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/icons/sessions/deer.webp +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/icons/sessions/drone.webp +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/icons/sessions/eagle.webp +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/icons/sessions/fox.webp +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/icons/sessions/hawk.webp +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/icons/sessions/horse.webp +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/icons/sessions/lion.webp +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/icons/sessions/rabbit.webp +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/icons/sessions/robot.webp +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/icons/sessions/tiger.webp +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/icons/sessions/wolf.webp +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/img/icon-192.png +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/img/icon-512.png +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/.gitkeep +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/announcement-modal.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/api.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/artifact-window.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/collage.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/command-palette.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/council-window.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/dead-key-suppressor.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/desktop-manager.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/desktop.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/help-modal.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/icon-manager.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/mobile.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/notification-prefs.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/notifications-panel.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/push-client.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/review-window.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/safety-shared.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/safety-window.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/scratchpad.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/service-classification.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/session-id.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/session-window.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/shortcuts.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/sidebar/artifacts-section.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/sidebar/config-section.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/sidebar/council-section.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/sidebar/machines-section.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/sidebar/projects-section.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/sidebar/safety-section.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/sidebar/scheduler-section.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/sidebar/services-section.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/sidebar/sessions-section.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/sidebar.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/terminal-font-prefs.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/tile-manager.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/toast.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/token-modal.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/utils/ansi.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/utils/swipe.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/voice/autosend-prefs.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/voice/browser-stt.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/voice/browser-tts.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/voice/jargon.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/voice/prompt.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/js/winbox.bundle.min.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/manifest.webmanifest +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/static/service-worker.js +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/stt/__init__.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/stt/base.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/stt/cloud.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/stt/engine.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/stt/local.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/stt/server_backend.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/stt/stt_server.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/system_cli.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/tasks.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/templates/__init__.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/templates/base.html +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/templates/desktop.html +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/templates/email_notification.html +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/templates/handoff/show-the-story.html.j2 +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/templates/handoff/theme.css.j2 +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/templates/mobile.html +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/templates/pair.html +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/templates/tmux.conf +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/templating.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/tooldefs/aws.yaml +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/tooldefs/docker.yaml +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/tooldefs/gcp.yaml +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/tooldefs/gh.yaml +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/tooldefs/git.yaml +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/tooldefs/gws.yaml +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/tooldefs/kubectl.yaml +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/tooldefs/npm.yaml +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/tooldefs/terraform.yaml +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/tooldefs/uv.yaml +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/tts/__init__.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/tts/audio.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/tts/base.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/tts/engines/__init__.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/tts/engines/chatterbox.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/tts/engines/kokoro.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/tts/engines/zonos.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/tts/kokoro_server.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/tts/local.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/tts/registry.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/tts_cli.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/tts_server.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/tunnels.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/tunnels_cli.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/usage_limit.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/utils/__init__.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/utils/chunker.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/utils/event_log.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/utils/file_io.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/utils/paths.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/utils/speech.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/utils/subprocess.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/validation.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/voice_status.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/voiceclone.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/voices/darren.wav +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/voices/default.wav +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/voices/jessica.wav +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/voices/lisa.wav +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/voices/may.wav +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/wiki.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/wiki_audit.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/wiki_cli.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/worktree.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/worktree_registry.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/docs/decisions/obsidian-second-brain.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/docs/logo.png +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/docs/wiki/INDEX.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/docs/wiki/architecture.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/docs/wiki/briefing-mode.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/docs/wiki/communication/channels.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/docs/wiki/communication/hammerspoon.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/docs/wiki/communication/handoff.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/docs/wiki/concepts.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/docs/wiki/council.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/docs/wiki/deployment/remote-access.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/docs/wiki/deployment/remote-machines.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/docs/wiki/glossary.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/docs/wiki/integrations/gws-google-workspace-cli.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/docs/wiki/internals/damage-control.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/docs/wiki/internals/parallel-refactor.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/docs/wiki/internals/portal.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/docs/wiki/internals/shell-escaping.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/docs/wiki/internals/troubleshooting.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/docs/wiki/internals/window-collage.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/docs/wiki/quickstart.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/docs/wiki/research/briefing-mode-feasibility.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/docs/wiki/research/orchestration-transport-alternatives.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/docs/wiki/scheduling/scheduled-workloads.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/docs/wiki/security/damage-control-hardening.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/docs/wiki/security/pip-audit.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/docs/wiki/security/remote-access-hardening.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/docs/wiki/security/secrets.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/docs/wiki/services.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/docs/wiki/sessions/claude-code-auto-mode.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/docs/wiki/sessions/messaging.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/docs/wiki/sessions/pi.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/docs/wiki/sessions/window-sizing.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/docs/wiki/sessions/worktree-sessions.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/docs/wiki/usage-limit-recovery.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/docs/wiki/voice/shim-contract.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/docs/wiki/voice/stt-cloud.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/docs/wiki/voice/stt-self-hosted.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/docs/wiki/voice/tts-self-hosted.md +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/pyproject.toml +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/conftest.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/e2e/test_portal_ui.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/fixtures/sample_agentwire.yml +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/fixtures/sample_config.yaml +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/fixtures/sample_scheduler.yaml +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/integration/test_council_portal.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/integration/test_scheduler_board.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/integration/test_server_websockets.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/integration/test_worktree_cmd.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_announcements.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_build_agent_command.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_channels.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_cli_commands.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_cli_output.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_cli_smoke.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_config.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_control_plane_protection.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_council_cli.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_council_inbox.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_council_state.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_council_view.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_damage_control_bypass.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_damage_control_hooks.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_damage_control_sync.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_devices.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_diff_cli.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_doctor_voice.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_event_log.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_file_io.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_handoff_git_state.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_handoff_instructions.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_handoff_parser.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_handoff_renderer.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_history.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_hooks_install.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_idle_handler.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_idle_nag.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_inbox.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_init_command.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_limits_tick_isolation.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_locking.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_mcp_server.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_mcp_tools_args.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_msg_cli.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_portal_api.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_project_config.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_prompt_router.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_push.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_rebuild_guard.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_repo_cli.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_roles.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_routes_snapshot.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_safety_commands.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_safety_disabled_rules.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_safety_escape_hatch.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_safety_heal.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_safety_kill_switch.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_scheduler.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_scheduler_parsing.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_scratchpad.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_security.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_server_async.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_server_pure.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_services.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_session_context.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_session_ready.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_skill_install.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_speech_tags.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_ssh.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_stt_backend.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_stt_cloud.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_stt_engine.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_task_cli.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_tasks.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_templating.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_terminal_resize.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_tmux_template.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_tts_engine_resolution.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_tts_local.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_tunnels_probe.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_usage_limit.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_validation.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_voice_status.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_wiki.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_wiki_audit.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_worktree.py +0 -0
- {agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/tests/unit/test_worktree_registry.py +0 -0
|
@@ -370,10 +370,17 @@ complete | incomplete | error
|
|
|
370
370
|
echo "[$(date -Iseconds)] TASK-ORPHAN: killing tmux session" >> "$dlog"
|
|
371
371
|
tmux kill-session -t "$tmux_session" 2>/dev/null &
|
|
372
372
|
) &
|
|
373
|
-
|
|
374
|
-
#
|
|
375
|
-
|
|
376
|
-
|
|
373
|
+
else
|
|
374
|
+
# Pane-0 session went idle: tell its parent. Resolution lives inside
|
|
375
|
+
# notify-parent (prompt_router.resolve_parent) so all three precedence
|
|
376
|
+
# sources are honored — worker pane → pane 0, creator recorded at
|
|
377
|
+
# `agentwire new` time (session metadata), then `.agentwire.yml parent:`.
|
|
378
|
+
# The old code passed only the .agentwire.yml value and skipped the call
|
|
379
|
+
# entirely when it was empty, so worktree / `agentwire new` children
|
|
380
|
+
# (whose parent lives in metadata, not config) never notified anyone.
|
|
381
|
+
# TMUX_PANE is inherited, so the CLI knows which session this is; a
|
|
382
|
+
# top-level session resolves to no parent and this is a harmless no-op.
|
|
383
|
+
$AGENTWIRE notify-parent --on-idle -q "is idle and done working" 2>/dev/null &
|
|
377
384
|
fi
|
|
378
385
|
fi
|
|
379
386
|
fi
|
|
@@ -51,11 +51,30 @@ def cmd_notify_parent(args) -> int:
|
|
|
51
51
|
current_session = pane_manager.get_current_session()
|
|
52
52
|
current_pane = pane_manager.get_current_pane_index()
|
|
53
53
|
|
|
54
|
-
#
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
54
|
+
# --on-idle: the idle hook is reporting that a pane-0 session went idle.
|
|
55
|
+
# Infrastructure services (portal, tts/stt, scheduler, the idle-nag bridge,
|
|
56
|
+
# custom services) cycle active→idle constantly and are NOT delegated work,
|
|
57
|
+
# so they must never fire a "child finished" ping at their parent. A
|
|
58
|
+
# worktree / `agentwire new` child is not a service and is unaffected.
|
|
59
|
+
if getattr(args, 'on_idle', False) and current_session:
|
|
60
|
+
from agentwire import services
|
|
61
|
+
|
|
62
|
+
if services.is_service_session(current_session):
|
|
63
|
+
return _output_result(True, json_mode, "", skipped="service-session")
|
|
64
|
+
|
|
65
|
+
# If no explicit target, resolve the parent through the SAME precedence the
|
|
66
|
+
# prompt router uses (worker pane → pane 0; else creator recorded at
|
|
67
|
+
# `agentwire new` time; else `.agentwire.yml parent:`). The old path looked
|
|
68
|
+
# only at `.agentwire.yml`, so a worktree/`agentwire new` child — whose
|
|
69
|
+
# parent lives in session metadata, not config — resolved to nothing and its
|
|
70
|
+
# idle notification silently dropped (the parent never heard the child go
|
|
71
|
+
# idle). resolve_parent reads the creator metadata, closing that gap.
|
|
72
|
+
if not target_session and current_session is not None and current_pane is not None:
|
|
73
|
+
from agentwire import prompt_router
|
|
74
|
+
|
|
75
|
+
resolved = prompt_router.resolve_parent(current_session, current_pane)
|
|
76
|
+
if resolved:
|
|
77
|
+
target_session = resolved[0]
|
|
59
78
|
|
|
60
79
|
# Build notification message (--raw sends verbatim — queued messages
|
|
61
80
|
# already carry their own [WORKER SUMMARY ...] / [PROMPT ...] headers)
|
|
@@ -255,6 +274,9 @@ def register_notify_parser(subparsers) -> None:
|
|
|
255
274
|
notify_cmd_parser.add_argument("-q", "--quiet", action="store_true", help="Suppress output")
|
|
256
275
|
notify_cmd_parser.add_argument("--raw", action="store_true",
|
|
257
276
|
help="Send the message verbatim (no [NOTIFY from ...] prefix)")
|
|
277
|
+
notify_cmd_parser.add_argument("--on-idle", dest="on_idle", action="store_true",
|
|
278
|
+
help="Idle-hook mode: suppress the notify if the current session "
|
|
279
|
+
"is an infrastructure service (they cycle idle constantly)")
|
|
258
280
|
notify_cmd_parser.add_argument("--json", action="store_true", help="Output as JSON")
|
|
259
281
|
notify_cmd_parser.set_defaults(func=cmd_notify_parent)
|
|
260
282
|
|
|
@@ -78,6 +78,42 @@ def notifications_session_name() -> str:
|
|
|
78
78
|
)
|
|
79
79
|
|
|
80
80
|
|
|
81
|
+
# Built-in infrastructure sessions — the Python mirror of the frontend's
|
|
82
|
+
# SERVICE_SESSIONS allowlist (static/js/service-classification.js). These are
|
|
83
|
+
# long-lived services, not delegated work, so they must never fire a
|
|
84
|
+
# "child finished" idle notification at a parent (the idle-nag bridge alone
|
|
85
|
+
# cycles active→idle ~1440×/day). Kept in lockstep with the JS set.
|
|
86
|
+
_BUILTIN_SERVICE_SESSIONS = frozenset({
|
|
87
|
+
"agentwire-portal",
|
|
88
|
+
"agentwire-tts",
|
|
89
|
+
"agentwire-stt",
|
|
90
|
+
"agentwire-kokoro",
|
|
91
|
+
"agentwire-scheduler",
|
|
92
|
+
})
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
def is_service_session(name: str) -> bool:
|
|
96
|
+
"""Is *name* an infrastructure service session (vs. a working session)?
|
|
97
|
+
|
|
98
|
+
True for the built-in infra sessions, the configurable idle-nag bridge, and
|
|
99
|
+
any user-defined custom service. Used to suppress idle parent-notifications
|
|
100
|
+
for services — a worktree / `agentwire new` child is NOT a service and still
|
|
101
|
+
notifies. Name-only and dependency-light so the idle hook can call it cheaply
|
|
102
|
+
on every idle event.
|
|
103
|
+
"""
|
|
104
|
+
bare = (name or "").split("@")[0]
|
|
105
|
+
if not bare:
|
|
106
|
+
return False
|
|
107
|
+
if bare in _BUILTIN_SERVICE_SESSIONS or bare == notifications_session_name():
|
|
108
|
+
return True
|
|
109
|
+
try:
|
|
110
|
+
from .config import load_config
|
|
111
|
+
|
|
112
|
+
return any(s.name == bare for s in load_config().services.custom)
|
|
113
|
+
except Exception:
|
|
114
|
+
return False
|
|
115
|
+
|
|
116
|
+
|
|
81
117
|
def _source_dir() -> str:
|
|
82
118
|
"""agentwire source dir (dev.source_dir), project for built-in services."""
|
|
83
119
|
try:
|
|
@@ -37,6 +37,18 @@ Depth-1 and local-machine only. Remote (`@machine`) parents are out of scope:
|
|
|
37
37
|
each machine's own watchdog sweeps its panes; cross-machine delivery falls
|
|
38
38
|
back to human-only.
|
|
39
39
|
|
|
40
|
+
**Idle notifications use the same resolution.** When a pane-0 session goes idle,
|
|
41
|
+
`idle-handler.sh` calls `agentwire notify-parent --on-idle`, which resolves the
|
|
42
|
+
parent through the precedence above — so a worktree / `agentwire new` child whose
|
|
43
|
+
parent lives in **creator metadata** (not `.agentwire.yml`) now correctly pings
|
|
44
|
+
its spawner on completion. Earlier the idle hook read only the `.agentwire.yml`
|
|
45
|
+
`parent:` field and silently dropped the notification when it was empty.
|
|
46
|
+
`--on-idle` additionally suppresses the ping when the source is an infrastructure
|
|
47
|
+
**service** (`services.is_service_session` — portal/tts/stt/kokoro/scheduler, the
|
|
48
|
+
idle-nag bridge, custom services); those cycle active→idle constantly and aren't
|
|
49
|
+
delegated work. Worker-pane (`notify-parent` from pane > 0) and explicit `--to`
|
|
50
|
+
callers skip the service check.
|
|
51
|
+
|
|
40
52
|
## Delivery safety
|
|
41
53
|
|
|
42
54
|
Every delivery goes through `safe_deliver()` (also used by
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/hooks/damage-control/audit_logger.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/hooks/damage-control/rules/agentwire.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/hooks/damage-control/rules/containers.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/hooks/damage-control/rules/core.yaml
RENAMED
|
File without changes
|
{agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/hooks/damage-control/rules/databases.yaml
RENAMED
|
File without changes
|
{agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/hooks/damage-control/rules/firebase.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/hooks/damage-control/rules/outbound.yaml
RENAMED
|
File without changes
|
{agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/hooks/damage-control/rules/publish.yaml
RENAMED
|
File without changes
|
{agentwire_dev-1.50.0 → agentwire_dev-1.50.1}/agentwire/hooks/damage-control/rules/remote.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|