agentwire-dev 1.3.0__tar.gz → 1.3.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.3.0 → agentwire_dev-1.3.1}/PKG-INFO +1 -1
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/__init__.py +1 -1
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/__main__.py +48 -26
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/completion.py +1 -1
- agentwire_dev-1.3.0/agentwire/hooks/suppress-bg-notifications.sh → agentwire_dev-1.3.1/agentwire/hooks/idle-handler.sh +9 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/mcp_server.py +15 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/TROUBLESHOOTING.md +1 -1
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/notification-hooks.md +1 -1
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/.github/FUNDING.yml +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/.github/ISSUE_TEMPLATE/question.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/.github/workflows/ci.yml +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/.github/workflows/publish.yml +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/.gitignore +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/CHANGELOG.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/CLA.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/CODE_OF_CONDUCT.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/CONTRIBUTING.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/Dockerfile.local +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/Dockerfile.runpod +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/LICENSE +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/README.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/RELEASING.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/SECURITY.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/SPONSORS.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/agents/__init__.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/agents/base.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/agents/tmux.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/cached_status.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/cli_safety.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/config.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/errors.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/history.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/hooks/__init__.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/hooks/agentwire-permission.sh +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/hooks/damage-control/__init__.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/hooks/damage-control/audit_logger.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/hooks/damage-control/bash-tool-damage-control.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/hooks/damage-control/edit-tool-damage-control.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/hooks/damage-control/patterns.yaml +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/hooks/damage-control/write-tool-damage-control.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/init_agentwire.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/listen.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/locking.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/network.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/notifications.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/onboarding.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/pane_manager.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/project_config.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/projects.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/prompts/__init__.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/prompts/init.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/roles/__init__.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/roles/chatbot.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/roles/claude-delegation.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/roles/claude-worker-haiku.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/roles/claude-worker-sonnet.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/roles/claude-worker.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/roles/glm-delegation.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/roles/glm-worker-flash.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/roles/glm-worker.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/roles/init.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/roles/leader-claude.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/roles/leader-glm.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/roles/leader-openai.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/roles/leader.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/roles/openai-delegation.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/roles/openai-worker-mini.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/roles/openai-worker.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/roles/task-runner.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/roles/voice.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/roles/worker.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/server.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/agentwire-Echo--black.png +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/agentwire-Echo--transparent.png +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/agentwire-Echo.png +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/agentwire-email-banner.png +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/agentwire-splash-logo-layers--agentwire-text.png +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/agentwire-splash-logo-layers--echo-claw-fg.png +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/agentwire-splash-logo-layers--echo.png +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/agentwire-splash-logo-layers--full--transparent-top.png +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/agentwire-splash-logo-layers--full-black.png +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/agentwire-splash-logo-layers--telephone-fg.png +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/agentwire-splash-logo-layers--telephone.png +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/agentwire-splash-logo-layers--transparent-top.png +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/agentwire-splash-logo-layers--tree.png +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/agentwire-splash-logo-layers.png +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/css/desktop.css +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/favicon.png +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/machines/android.jpeg +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/machines/automaton.jpeg +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/machines/bot.jpeg +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/machines/cyborg.jpeg +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/machines/droid.jpeg +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/machines/drone.jpeg +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/machines/guardian.jpeg +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/machines/mech.jpeg +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/machines/probe.jpeg +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/machines/robot.jpeg +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/machines/sentinel.jpeg +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/machines/unit.jpeg +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/projects/blob.jpeg +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/projects/cloud.jpeg +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/projects/crystal.jpeg +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/projects/cyclops.jpeg +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/projects/flame.jpeg +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/projects/fuzzy.jpeg +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/projects/horned.jpeg +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/projects/moon.jpeg +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/projects/slime.jpeg +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/projects/star.jpeg +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/projects/tentacle.jpeg +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/projects/winged.jpeg +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/sessions/bear.jpeg +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/sessions/cat.jpeg +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/sessions/crown.jpeg +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/sessions/custom/agentwire-portal.png +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/sessions/custom/agentwire-tts.png +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/sessions/custom/agentwire.png +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/sessions/deer.jpeg +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/sessions/drone.jpeg +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/sessions/eagle.jpeg +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/sessions/fox.jpeg +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/sessions/hawk.jpeg +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/sessions/horse.jpeg +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/sessions/lion.jpeg +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/sessions/rabbit.jpeg +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/sessions/robot.jpeg +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/sessions/tiger.jpeg +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/sessions/wolf.jpeg +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/js/.gitkeep +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/js/components/icon-picker.js +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/js/components/list-card.js +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/js/components/type-tag.js +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/js/desktop-manager.js +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/js/desktop.js +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/js/icon-manager.js +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/js/list-window.js +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/js/session-window.js +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/js/tile-manager.js +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/js/utils/auto-refresh.js +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/js/winbox.bundle.min.js +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/js/windows/chat-window.js +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/js/windows/config-window.js +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/js/windows/machines-window.js +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/js/windows/projects-window.js +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/js/windows/sessions-window.js +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/stt/__init__.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/stt/base.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/stt/server_backend.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/stt/stt_server.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/stt/whisperkit.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/tasks.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/templates/__init__.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/templates/base.html +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/templates/desktop.html +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/templates/email_notification.html +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/templating.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/tts/__init__.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/tts/base.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/tts/engines/__init__.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/tts/engines/chatterbox.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/tts/engines/qwen_base.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/tts/engines/qwen_custom.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/tts/engines/qwen_design.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/tts/registry.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/tts/runpod_handler.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/tts_server.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/tunnels.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/utils/__init__.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/utils/chunker.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/utils/file_io.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/utils/paths.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/utils/subprocess.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/validation.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/voiceclone.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/voices/darren.wav +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/voices/default.wav +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/voices/jessica.wav +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/voices/lisa.wav +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/voices/may.wav +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/worktree.py +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/PORTAL.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/SHELL_ESCAPING.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/SPONSORS.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/README.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-agent-hot-swap.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-ambient-context-stream.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-ambient-listening-mode.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-audio-cues.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-checkpoint-commits.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-context-compression-protocol.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-context-window-gauge.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-contextual-bookmarks.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-conversation-archaeology.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-cost-tracking-dashboard.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-cross-session-events.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-delegation-replay.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-device-session-tethering.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-failure-memory.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-notification-escalation.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-periodic-voice-briefings.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-presence-aware-sessions.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-session-drift-detection.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-session-energy-model.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-session-handshake.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-session-momentum.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-session-replay.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-session-snapshots.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-session-templates.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-session-thermal-throttling.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-smart-session-routing.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-spatial-voice-mixing.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-speculative-execution.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-task-pipeline-chaining.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-task-pivot-protocol.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-task-time-budgets.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-voice-activity-zones.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-voice-breakpoints.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-voice-code-review.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-voice-command-undo.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-voice-handoff.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-voice-identity.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-voice-interrupts-v2.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-voice-interrupts.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-voice-macros.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-voice-transcript-logs.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-watchdog-mode.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-worker-fencing.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-worker-file-coordination.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-worker-health-dashboard.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-worker-heartbeat-watchdog.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-worker-progress-streaming.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-worker-proof-of-work.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-worker-warmup.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/brainstorms/idea-x-api-integration.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/critical-analysis.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/demo-script.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/issues/pending-code-changes.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/issues/remote-tts-session-detection.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/logo.png +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/progressive-loading-pattern.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/prompts/agentwire-website.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/releasing.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/remote-access.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/remote-machines.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/runpod-tts.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/scheduled-workloads.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/security/damage-control-migration.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/security/damage-control.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/tmux-hooks.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/tts-self-hosted.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/docs/youtube-channel.md +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/opencode-plugin/agentwire-notify.ts +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/pyproject.toml +0 -0
- {agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/requirements-tts.txt +0 -0
|
@@ -331,6 +331,32 @@ def tmux_session_exists(name: str) -> bool:
|
|
|
331
331
|
return result.returncode == 0
|
|
332
332
|
|
|
333
333
|
|
|
334
|
+
def _get_session_project_path(session: str) -> Path | None:
|
|
335
|
+
"""Get a session's project path from its tmux working directory.
|
|
336
|
+
|
|
337
|
+
Queries tmux for the session's actual working directory. Falls back to
|
|
338
|
+
deriving it from the session name if the session isn't running.
|
|
339
|
+
|
|
340
|
+
Returns:
|
|
341
|
+
Path to the project directory, or None if not determinable.
|
|
342
|
+
"""
|
|
343
|
+
# Try to get the actual working directory from tmux
|
|
344
|
+
if tmux_session_exists(session):
|
|
345
|
+
result = subprocess.run(
|
|
346
|
+
["tmux", "display-message", "-t", session, "-p", "#{pane_current_path}"],
|
|
347
|
+
capture_output=True,
|
|
348
|
+
text=True,
|
|
349
|
+
)
|
|
350
|
+
if result.returncode == 0 and result.stdout.strip():
|
|
351
|
+
return Path(result.stdout.strip())
|
|
352
|
+
|
|
353
|
+
# Fallback: derive from session name
|
|
354
|
+
config = load_config()
|
|
355
|
+
projects_dir = Path(config.get("projects", {}).get("dir", "~/projects")).expanduser()
|
|
356
|
+
project, _, _ = parse_session_name(session)
|
|
357
|
+
return projects_dir / project
|
|
358
|
+
|
|
359
|
+
|
|
334
360
|
def tmux_session_has_agent(name: str) -> bool:
|
|
335
361
|
"""Check if a tmux session has an agent running (not just a bare shell).
|
|
336
362
|
|
|
@@ -5416,7 +5442,7 @@ def cmd_doctor(args) -> int:
|
|
|
5416
5442
|
print(" Run: agentwire hooks install")
|
|
5417
5443
|
|
|
5418
5444
|
# Check Claude Code idle notification hook
|
|
5419
|
-
idle_hook = CLAUDE_HOOKS_DIR / "
|
|
5445
|
+
idle_hook = CLAUDE_HOOKS_DIR / "idle-handler.sh"
|
|
5420
5446
|
if idle_hook.exists():
|
|
5421
5447
|
print(f" [ok] Idle notification hook: {idle_hook}")
|
|
5422
5448
|
else:
|
|
@@ -6698,14 +6724,11 @@ def cmd_ensure(args) -> int:
|
|
|
6698
6724
|
if machine_id:
|
|
6699
6725
|
return _output_result(False, json_mode, "Remote sessions not yet supported for ensure", exit_code=ENSURE_EXIT_SESSION_ERROR)
|
|
6700
6726
|
|
|
6701
|
-
# Find project path from --project flag, or
|
|
6727
|
+
# Find project path from --project flag, or session's working directory
|
|
6702
6728
|
if hasattr(args, 'project') and args.project:
|
|
6703
6729
|
project_path = Path(args.project).expanduser().resolve()
|
|
6704
6730
|
else:
|
|
6705
|
-
|
|
6706
|
-
projects_dir = Path(config.get("projects", {}).get("dir", "~/projects")).expanduser()
|
|
6707
|
-
project, branch, _ = parse_session_name(session_name)
|
|
6708
|
-
project_path = projects_dir / project
|
|
6731
|
+
project_path = _get_session_project_path(session)
|
|
6709
6732
|
|
|
6710
6733
|
if not project_path.exists():
|
|
6711
6734
|
return _output_result(False, json_mode, f"Project path not found: {project_path}", exit_code=ENSURE_EXIT_SESSION_ERROR)
|
|
@@ -6900,6 +6923,18 @@ def _run_ensure_task(args, session, task, ctx, shell, project_path, timeout, jso
|
|
|
6900
6923
|
exit_on_complete=task.exit_on_complete,
|
|
6901
6924
|
)
|
|
6902
6925
|
|
|
6926
|
+
# Find previous summaries for this task to give the agent context
|
|
6927
|
+
summary_glob = f".agentwire/task-summary-{session}-{task.name}-*.md"
|
|
6928
|
+
prev_summaries = sorted(
|
|
6929
|
+
project_path.glob(summary_glob),
|
|
6930
|
+
key=lambda p: p.stat().st_mtime,
|
|
6931
|
+
reverse=True,
|
|
6932
|
+
)[:5]
|
|
6933
|
+
if prev_summaries:
|
|
6934
|
+
prompt += "\n\nPrevious task summaries (consider them when generating your output):"
|
|
6935
|
+
for p in prev_summaries:
|
|
6936
|
+
prompt += f"\n- {p}"
|
|
6937
|
+
|
|
6903
6938
|
if not json_mode:
|
|
6904
6939
|
print("Sending task prompt...")
|
|
6905
6940
|
|
|
@@ -7077,18 +7112,13 @@ def cmd_task_list(args) -> int:
|
|
|
7077
7112
|
session = getattr(args, 'session', None)
|
|
7078
7113
|
json_mode = getattr(args, 'json', False)
|
|
7079
7114
|
|
|
7080
|
-
# Find project path
|
|
7081
|
-
config = load_config()
|
|
7082
|
-
projects_dir = Path(config.get("projects", {}).get("dir", "~/projects")).expanduser()
|
|
7083
|
-
|
|
7115
|
+
# Find project path from session's working directory or cwd
|
|
7084
7116
|
if session:
|
|
7085
|
-
|
|
7086
|
-
project_path = projects_dir / project
|
|
7117
|
+
project_path = _get_session_project_path(session)
|
|
7087
7118
|
else:
|
|
7088
|
-
# Use current directory
|
|
7089
7119
|
project_path = Path.cwd()
|
|
7090
7120
|
|
|
7091
|
-
if not project_path.exists():
|
|
7121
|
+
if not project_path or not project_path.exists():
|
|
7092
7122
|
return _output_result(False, json_mode, f"Project path not found: {project_path}")
|
|
7093
7123
|
|
|
7094
7124
|
tasks = list_tasks(project_path)
|
|
@@ -7126,13 +7156,9 @@ def cmd_task_show(args) -> int:
|
|
|
7126
7156
|
session = None
|
|
7127
7157
|
task_name = task_arg
|
|
7128
7158
|
|
|
7129
|
-
# Find project path
|
|
7130
|
-
config = load_config()
|
|
7131
|
-
projects_dir = Path(config.get("projects", {}).get("dir", "~/projects")).expanduser()
|
|
7132
|
-
|
|
7159
|
+
# Find project path from session's working directory or cwd
|
|
7133
7160
|
if session:
|
|
7134
|
-
|
|
7135
|
-
project_path = projects_dir / project
|
|
7161
|
+
project_path = _get_session_project_path(session)
|
|
7136
7162
|
else:
|
|
7137
7163
|
project_path = Path.cwd()
|
|
7138
7164
|
|
|
@@ -7214,13 +7240,9 @@ def cmd_task_validate(args) -> int:
|
|
|
7214
7240
|
session = None
|
|
7215
7241
|
task_name = task_arg
|
|
7216
7242
|
|
|
7217
|
-
# Find project path
|
|
7218
|
-
config = load_config()
|
|
7219
|
-
projects_dir = Path(config.get("projects", {}).get("dir", "~/projects")).expanduser()
|
|
7220
|
-
|
|
7243
|
+
# Find project path from session's working directory or cwd
|
|
7221
7244
|
if session:
|
|
7222
|
-
|
|
7223
|
-
project_path = projects_dir / project
|
|
7245
|
+
project_path = _get_session_project_path(session)
|
|
7224
7246
|
else:
|
|
7225
7247
|
project_path = Path.cwd()
|
|
7226
7248
|
|
|
@@ -80,7 +80,7 @@ def generate_summary_filename(session: str, task_name: str) -> str:
|
|
|
80
80
|
Relative path like .agentwire/task-summary-mysession-2024-01-15T07-00-00.md
|
|
81
81
|
"""
|
|
82
82
|
timestamp = datetime.now().strftime("%Y-%m-%dT%H-%M-%S")
|
|
83
|
-
return f".agentwire/task-summary-{session}-{timestamp}.md"
|
|
83
|
+
return f".agentwire/task-summary-{session}-{task_name}-{timestamp}.md"
|
|
84
84
|
|
|
85
85
|
|
|
86
86
|
# =============================================================================
|
|
@@ -198,6 +198,10 @@ complete | incomplete | error
|
|
|
198
198
|
sleep 1
|
|
199
199
|
$AGENTWIRE send -s "$tmux_session" "/exit" >/dev/null 2>&1
|
|
200
200
|
|
|
201
|
+
# Clean up task context file so it doesn't haunt future sessions
|
|
202
|
+
rm "$task_context_file" 2>/dev/null
|
|
203
|
+
echo "[$(date -Iseconds)] TASK: cleaned up task context" >> "$dlog"
|
|
204
|
+
|
|
201
205
|
# Wait for Claude to exit, then kill the tmux session
|
|
202
206
|
sleep 3
|
|
203
207
|
echo "[$(date -Iseconds)] TASK: killing tmux session" >> "$dlog"
|
|
@@ -219,6 +223,11 @@ complete | incomplete | error
|
|
|
219
223
|
echo "[$(date -Iseconds)] TASK-ORPHAN: found summary at $recent_summary, exiting session" >> "$dlog"
|
|
220
224
|
sleep 1
|
|
221
225
|
$AGENTWIRE send -s "$tmux_session" "/exit" >/dev/null 2>&1
|
|
226
|
+
|
|
227
|
+
# Clean up orphan summary so it doesn't trigger again
|
|
228
|
+
rm "$recent_summary" 2>/dev/null
|
|
229
|
+
echo "[$(date -Iseconds)] TASK-ORPHAN: cleaned up orphan summary" >> "$dlog"
|
|
230
|
+
|
|
222
231
|
sleep 3
|
|
223
232
|
echo "[$(date -Iseconds)] TASK-ORPHAN: killing tmux session" >> "$dlog"
|
|
224
233
|
tmux kill-session -t "$tmux_session" 2>/dev/null &
|
|
@@ -588,6 +588,21 @@ def say(text: str, session: str | None = None, voice: str | None = None) -> str:
|
|
|
588
588
|
Returns:
|
|
589
589
|
Success message or error description.
|
|
590
590
|
"""
|
|
591
|
+
# Quick TTS health check — fail fast if server is unreachable
|
|
592
|
+
try:
|
|
593
|
+
from .config import load_config as load_typed_config
|
|
594
|
+
from .network import NetworkContext
|
|
595
|
+
import urllib.request
|
|
596
|
+
|
|
597
|
+
cfg = load_typed_config()
|
|
598
|
+
if cfg.tts.backend not in ("runpod", "none"):
|
|
599
|
+
ctx = NetworkContext.from_config()
|
|
600
|
+
tts_url = ctx.get_service_url("tts", use_tunnel=True)
|
|
601
|
+
urllib.request.urlopen(f"{tts_url}/health", timeout=3)
|
|
602
|
+
except Exception as e:
|
|
603
|
+
url = locals().get("tts_url", "unknown")
|
|
604
|
+
return f"TTS server unreachable at {url}: {e}"
|
|
605
|
+
|
|
591
606
|
args = ["say"]
|
|
592
607
|
if session:
|
|
593
608
|
args.extend(["-s", session])
|
|
@@ -63,7 +63,7 @@ Add to `~/.claude/settings.json`:
|
|
|
63
63
|
|
|
64
64
|
## Current Implementation: AgentWire Integration
|
|
65
65
|
|
|
66
|
-
`~/.claude/hooks/
|
|
66
|
+
`~/.claude/hooks/idle-handler.sh` uses a two-pass idle system for worker panes.
|
|
67
67
|
|
|
68
68
|
**Two-Pass Idle System:**
|
|
69
69
|
|
|
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
|
{agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/agentwire-Echo--transparent.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/agentwire-splash-logo-layers--echo.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/agentwire-splash-logo-layers--tree.png
RENAMED
|
File without changes
|
{agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/agentwire-splash-logo-layers.png
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
|
{agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/sessions/custom/agentwire-tts.png
RENAMED
|
File without changes
|
{agentwire_dev-1.3.0 → agentwire_dev-1.3.1}/agentwire/static/icons/sessions/custom/agentwire.png
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
|