agentwire-dev 1.28.0__tar.gz → 1.28.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.
Files changed (305) hide show
  1. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/PKG-INFO +1 -1
  2. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/__init__.py +1 -1
  3. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/server.py +25 -8
  4. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/.github/FUNDING.yml +0 -0
  5. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  6. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  7. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/.github/ISSUE_TEMPLATE/question.md +0 -0
  8. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  9. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/.gitignore +0 -0
  10. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/CHANGELOG.md +0 -0
  11. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/CLA.md +0 -0
  12. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/CODE_OF_CONDUCT.md +0 -0
  13. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/CONTRIBUTING.md +0 -0
  14. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/Dockerfile.local +0 -0
  15. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/Dockerfile.runpod +0 -0
  16. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/LICENSE +0 -0
  17. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/README.md +0 -0
  18. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/RELEASING.md +0 -0
  19. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/SECURITY.md +0 -0
  20. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/SPONSORS.md +0 -0
  21. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/__main__.py +0 -0
  22. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/agents/__init__.py +0 -0
  23. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/agents/base.py +0 -0
  24. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/agents/tmux.py +0 -0
  25. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/cached_status.py +0 -0
  26. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/channels/__init__.py +0 -0
  27. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/channels/base.py +0 -0
  28. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/channels/email.py +0 -0
  29. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/channels/quo.py +0 -0
  30. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/cli_safety.py +0 -0
  31. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/completion.py +0 -0
  32. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/config.py +0 -0
  33. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/fetch.py +0 -0
  34. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/handoff/__init__.py +0 -0
  35. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/handoff/git_state.py +0 -0
  36. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/handoff/instructions.py +0 -0
  37. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/handoff/parser.py +0 -0
  38. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/handoff/renderer.py +0 -0
  39. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/handoff/schema.py +0 -0
  40. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/history.py +0 -0
  41. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/hooks/__init__.py +0 -0
  42. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/hooks/agentwire-permission.sh +0 -0
  43. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/hooks/damage-control/__init__.py +0 -0
  44. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/hooks/damage-control/audit_logger.py +0 -0
  45. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/hooks/damage-control/bash-tool-damage-control.py +0 -0
  46. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/hooks/damage-control/edit-tool-damage-control.py +0 -0
  47. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/hooks/damage-control/rules/agentwire.yaml +0 -0
  48. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/hooks/damage-control/rules/aws.yaml +0 -0
  49. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/hooks/damage-control/rules/cloud-hosting.yaml +0 -0
  50. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/hooks/damage-control/rules/containers.yaml +0 -0
  51. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/hooks/damage-control/rules/core.yaml +0 -0
  52. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/hooks/damage-control/rules/databases.yaml +0 -0
  53. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/hooks/damage-control/rules/firebase.yaml +0 -0
  54. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/hooks/damage-control/rules/gcp.yaml +0 -0
  55. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/hooks/damage-control/rules/git.yaml +0 -0
  56. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/hooks/damage-control/rules/gws.yaml +0 -0
  57. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/hooks/damage-control/rules/infrastructure.yaml +0 -0
  58. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/hooks/damage-control/rules/remote.yaml +0 -0
  59. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/hooks/damage-control/write-tool-damage-control.py +0 -0
  60. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/hooks/idle-handler.sh +0 -0
  61. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/listen.py +0 -0
  62. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/locking.py +0 -0
  63. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/mcp_server.py +0 -0
  64. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/network.py +0 -0
  65. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/onboarding.py +0 -0
  66. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/overnight.py +0 -0
  67. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/pane_manager.py +0 -0
  68. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/project_config.py +0 -0
  69. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/projects.py +0 -0
  70. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/prompts/__init__.py +0 -0
  71. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/prompts/init.md +0 -0
  72. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/roles/__init__.py +0 -0
  73. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/roles/agentwire.md +0 -0
  74. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/roles/chatbot.md +0 -0
  75. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/roles/init.md +0 -0
  76. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/roles/notifications.md +0 -0
  77. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/roles/orchestrator.md +0 -0
  78. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/roles/task-runner.md +0 -0
  79. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/roles/voice.md +0 -0
  80. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/roles/worker.md +0 -0
  81. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/safety/__init__.py +0 -0
  82. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/safety/_core.py +0 -0
  83. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/scheduler.py +0 -0
  84. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/search.py +0 -0
  85. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/agentwire-Echo--black.png +0 -0
  86. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/agentwire-Echo--transparent.png +0 -0
  87. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/agentwire-Echo.png +0 -0
  88. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/agentwire-email-banner.png +0 -0
  89. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/agentwire-splash-logo-layers--agentwire-text.png +0 -0
  90. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/agentwire-splash-logo-layers--echo-claw-fg.png +0 -0
  91. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/agentwire-splash-logo-layers--echo.png +0 -0
  92. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/agentwire-splash-logo-layers--full--transparent-top.png +0 -0
  93. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/agentwire-splash-logo-layers--full-black.png +0 -0
  94. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/agentwire-splash-logo-layers--telephone-fg.png +0 -0
  95. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/agentwire-splash-logo-layers--telephone.png +0 -0
  96. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/agentwire-splash-logo-layers--transparent-top.png +0 -0
  97. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/agentwire-splash-logo-layers--transparent.png +0 -0
  98. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/agentwire-splash-logo-layers--tree.png +0 -0
  99. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/agentwire-splash-logo-layers.png +0 -0
  100. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/css/desktop.css +0 -0
  101. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/favicon.png +0 -0
  102. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/icons/machines/android.jpeg +0 -0
  103. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/icons/machines/automaton.jpeg +0 -0
  104. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/icons/machines/bot.jpeg +0 -0
  105. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/icons/machines/cyborg.jpeg +0 -0
  106. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/icons/machines/droid.jpeg +0 -0
  107. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/icons/machines/drone.jpeg +0 -0
  108. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/icons/machines/guardian.jpeg +0 -0
  109. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/icons/machines/mech.jpeg +0 -0
  110. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/icons/machines/probe.jpeg +0 -0
  111. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/icons/machines/robot.jpeg +0 -0
  112. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/icons/machines/sentinel.jpeg +0 -0
  113. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/icons/machines/unit.jpeg +0 -0
  114. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/icons/projects/blob.jpeg +0 -0
  115. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/icons/projects/cloud.jpeg +0 -0
  116. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/icons/projects/crystal.jpeg +0 -0
  117. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/icons/projects/cyclops.jpeg +0 -0
  118. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/icons/projects/flame.jpeg +0 -0
  119. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/icons/projects/fuzzy.jpeg +0 -0
  120. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/icons/projects/horned.jpeg +0 -0
  121. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/icons/projects/moon.jpeg +0 -0
  122. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/icons/projects/slime.jpeg +0 -0
  123. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/icons/projects/star.jpeg +0 -0
  124. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/icons/projects/tentacle.jpeg +0 -0
  125. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/icons/projects/winged.jpeg +0 -0
  126. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/icons/sessions/bear.jpeg +0 -0
  127. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/icons/sessions/cat.jpeg +0 -0
  128. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/icons/sessions/crown.jpeg +0 -0
  129. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/icons/sessions/custom/agentwire-portal.png +0 -0
  130. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/icons/sessions/custom/agentwire-tts.png +0 -0
  131. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/icons/sessions/custom/agentwire.png +0 -0
  132. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/icons/sessions/deer.jpeg +0 -0
  133. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/icons/sessions/drone.jpeg +0 -0
  134. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/icons/sessions/eagle.jpeg +0 -0
  135. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/icons/sessions/fox.jpeg +0 -0
  136. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/icons/sessions/hawk.jpeg +0 -0
  137. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/icons/sessions/horse.jpeg +0 -0
  138. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/icons/sessions/lion.jpeg +0 -0
  139. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/icons/sessions/rabbit.jpeg +0 -0
  140. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/icons/sessions/robot.jpeg +0 -0
  141. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/icons/sessions/tiger.jpeg +0 -0
  142. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/icons/sessions/wolf.jpeg +0 -0
  143. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/js/.gitkeep +0 -0
  144. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/js/artifact-window.js +0 -0
  145. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/js/components/icon-picker.js +0 -0
  146. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/js/components/list-card.js +0 -0
  147. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/js/components/type-tag.js +0 -0
  148. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/js/desktop-manager.js +0 -0
  149. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/js/desktop.js +0 -0
  150. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/js/icon-manager.js +0 -0
  151. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/js/new-project-modal.js +0 -0
  152. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/js/notifications-panel.js +0 -0
  153. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/js/quicktask-modal.js +0 -0
  154. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/js/safety-shared.js +0 -0
  155. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/js/safety-window.js +0 -0
  156. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/js/session-id.js +0 -0
  157. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/js/session-window.js +0 -0
  158. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/js/sidebar/artifacts-section.js +0 -0
  159. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/js/sidebar/config-section.js +0 -0
  160. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/js/sidebar/machines-section.js +0 -0
  161. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/js/sidebar/projects-section.js +0 -0
  162. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/js/sidebar/safety-section.js +0 -0
  163. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/js/sidebar/scheduler-section.js +0 -0
  164. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/js/sidebar/services-section.js +0 -0
  165. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/js/sidebar/sessions-section.js +0 -0
  166. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/js/sidebar/workflows-section.js +0 -0
  167. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/js/sidebar.js +0 -0
  168. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/js/terminal-font-prefs.js +0 -0
  169. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/js/tile-manager.js +0 -0
  170. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/js/utils/auto-refresh.js +0 -0
  171. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/js/winbox.bundle.min.js +0 -0
  172. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/js/windows/chat-window.js +0 -0
  173. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/static/js/windows/workflow-window.js +0 -0
  174. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/stt/__init__.py +0 -0
  175. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/stt/base.py +0 -0
  176. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/stt/server_backend.py +0 -0
  177. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/stt/stt_server.py +0 -0
  178. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/stt/whisperkit.py +0 -0
  179. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/tasks.py +0 -0
  180. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/templates/__init__.py +0 -0
  181. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/templates/base.html +0 -0
  182. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/templates/desktop.html +0 -0
  183. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/templates/email_notification.html +0 -0
  184. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/templates/handoff/show-the-story.html.j2 +0 -0
  185. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/templates/handoff/theme.css.j2 +0 -0
  186. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/templates/tmux.conf +0 -0
  187. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/templating.py +0 -0
  188. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/tooldefs/aws.yaml +0 -0
  189. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/tooldefs/docker.yaml +0 -0
  190. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/tooldefs/gcp.yaml +0 -0
  191. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/tooldefs/gh.yaml +0 -0
  192. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/tooldefs/git.yaml +0 -0
  193. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/tooldefs/gws.yaml +0 -0
  194. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/tooldefs/kubectl.yaml +0 -0
  195. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/tooldefs/npm.yaml +0 -0
  196. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/tooldefs/terraform.yaml +0 -0
  197. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/tooldefs/uv.yaml +0 -0
  198. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/tts/__init__.py +0 -0
  199. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/tts/base.py +0 -0
  200. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/tts/engines/__init__.py +0 -0
  201. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/tts/engines/chatterbox.py +0 -0
  202. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/tts/engines/kokoro.py +0 -0
  203. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/tts/engines/qwen_base.py +0 -0
  204. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/tts/engines/qwen_custom.py +0 -0
  205. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/tts/engines/qwen_design.py +0 -0
  206. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/tts/engines/zonos.py +0 -0
  207. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/tts/registry.py +0 -0
  208. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/tts/runpod_handler.py +0 -0
  209. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/tts_server.py +0 -0
  210. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/tunnels.py +0 -0
  211. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/utils/__init__.py +0 -0
  212. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/utils/chunker.py +0 -0
  213. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/utils/file_io.py +0 -0
  214. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/utils/paths.py +0 -0
  215. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/utils/subprocess.py +0 -0
  216. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/validation.py +0 -0
  217. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/voiceclone.py +0 -0
  218. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/voices/darren.wav +0 -0
  219. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/voices/default.wav +0 -0
  220. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/voices/jessica.wav +0 -0
  221. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/voices/lisa.wav +0 -0
  222. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/voices/may.wav +0 -0
  223. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/workflows/__init__.py +0 -0
  224. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/workflows/cli.py +0 -0
  225. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/workflows/context.py +0 -0
  226. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/workflows/definitions.py +0 -0
  227. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/workflows/node.py +0 -0
  228. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/workflows/outputs.py +0 -0
  229. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/workflows/pi_runner.py +0 -0
  230. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/workflows/runner.py +0 -0
  231. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/workflows/runners/__init__.py +0 -0
  232. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/workflows/runners/pi.py +0 -0
  233. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/workflows/storage.py +0 -0
  234. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/agentwire/worktree.py +0 -0
  235. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/docs/logo.png +0 -0
  236. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/docs/wiki/INDEX.md +0 -0
  237. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/docs/wiki/architecture.md +0 -0
  238. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/docs/wiki/communication/channels.md +0 -0
  239. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/docs/wiki/communication/hammerspoon.md +0 -0
  240. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/docs/wiki/communication/handoff.md +0 -0
  241. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/docs/wiki/concepts.md +0 -0
  242. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/docs/wiki/deployment/remote-access.md +0 -0
  243. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/docs/wiki/deployment/remote-machines.md +0 -0
  244. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/docs/wiki/glossary.md +0 -0
  245. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/docs/wiki/integrations/gws-google-workspace-cli.md +0 -0
  246. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/docs/wiki/internals/damage-control.md +0 -0
  247. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/docs/wiki/internals/portal.md +0 -0
  248. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/docs/wiki/internals/shell-escaping.md +0 -0
  249. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/docs/wiki/internals/troubleshooting.md +0 -0
  250. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/docs/wiki/quickstart.md +0 -0
  251. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/docs/wiki/scheduling/scheduled-workloads.md +0 -0
  252. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/docs/wiki/scheduling/workflows.md +0 -0
  253. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/docs/wiki/sessions/claude-code-auto-mode.md +0 -0
  254. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/docs/wiki/sessions/pi.md +0 -0
  255. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/docs/wiki/tts/runpod-tts.md +0 -0
  256. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/docs/wiki/tts/tts-self-hosted.md +0 -0
  257. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/pyproject.toml +0 -0
  258. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/requirements-tts.txt +0 -0
  259. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/conftest.py +0 -0
  260. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/e2e/test_portal_ui.py +0 -0
  261. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/fixtures/sample_agentwire.yml +0 -0
  262. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/fixtures/sample_config.yaml +0 -0
  263. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/fixtures/sample_scheduler.yaml +0 -0
  264. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/integration/test_scheduler_board.py +0 -0
  265. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/integration/test_server_websockets.py +0 -0
  266. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/unit/test_build_agent_command.py +0 -0
  267. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/unit/test_channels.py +0 -0
  268. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/unit/test_cli_commands.py +0 -0
  269. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/unit/test_cli_output.py +0 -0
  270. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/unit/test_cli_safety.py +0 -0
  271. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/unit/test_config.py +0 -0
  272. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/unit/test_damage_control_hooks.py +0 -0
  273. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/unit/test_damage_control_sync.py +0 -0
  274. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/unit/test_file_io.py +0 -0
  275. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/unit/test_handoff_git_state.py +0 -0
  276. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/unit/test_handoff_instructions.py +0 -0
  277. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/unit/test_handoff_parser.py +0 -0
  278. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/unit/test_handoff_renderer.py +0 -0
  279. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/unit/test_history.py +0 -0
  280. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/unit/test_locking.py +0 -0
  281. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/unit/test_mcp_server.py +0 -0
  282. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/unit/test_mcp_tools_args.py +0 -0
  283. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/unit/test_overnight_resume_flags.py +0 -0
  284. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/unit/test_pi_runner.py +0 -0
  285. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/unit/test_portal_api.py +0 -0
  286. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/unit/test_project_config.py +0 -0
  287. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/unit/test_roles.py +0 -0
  288. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/unit/test_runner_on_event.py +0 -0
  289. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/unit/test_runners_registry.py +0 -0
  290. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/unit/test_safety_disabled_rules.py +0 -0
  291. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/unit/test_safety_escape_hatch.py +0 -0
  292. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/unit/test_safety_kill_switch.py +0 -0
  293. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/unit/test_scheduler.py +0 -0
  294. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/unit/test_scheduler_parsing.py +0 -0
  295. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/unit/test_scheduler_workflow_dispatch.py +0 -0
  296. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/unit/test_search.py +0 -0
  297. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/unit/test_server_async.py +0 -0
  298. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/unit/test_server_pure.py +0 -0
  299. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/unit/test_server_workflow_history.py +0 -0
  300. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/unit/test_tasks.py +0 -0
  301. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/unit/test_templating.py +0 -0
  302. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/unit/test_workflow_cli.py +0 -0
  303. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/unit/test_workflow_storage.py +0 -0
  304. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/unit/test_workflows.py +0 -0
  305. {agentwire_dev-1.28.0 → agentwire_dev-1.28.1}/tests/unit/test_worktree.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agentwire-dev
3
- Version: 1.28.0
3
+ Version: 1.28.1
4
4
  Summary: Multi-session voice web interface for AI coding agents
5
5
  Project-URL: Homepage, https://agentwire.dev
6
6
  Project-URL: Repository, https://github.com/dotdevdotdev/agentwire-dev
@@ -1,3 +1,3 @@
1
1
  """AgentWire - Multi-session voice web interface for AI coding agents."""
2
2
 
3
- __version__ = "1.28.0"
3
+ __version__ = "1.28.1"
@@ -998,7 +998,12 @@ class AgentWireServer:
998
998
  # =========================================================================
999
999
 
1000
1000
  async def api_desktop_notification(self, request):
1001
- """POST /api/desktop/notification — post a toast notification to the portal."""
1001
+ """POST /api/desktop/notification — post a toast notification to the portal.
1002
+
1003
+ One toast per session: if a toast with the same `session` is already
1004
+ active, it is dismissed before the new one is posted. Keeps the nagger
1005
+ from stacking N toasts for the same idle session across nag cycles.
1006
+ """
1002
1007
  data = await request.json()
1003
1008
  text = data.get("text", "")
1004
1009
  if not text:
@@ -1009,6 +1014,15 @@ class AgentWireServer:
1009
1014
  session = data.get("session")
1010
1015
  priority = data.get("priority", "normal")
1011
1016
 
1017
+ if session:
1018
+ stale_ids = [
1019
+ nid for nid, n in self.active_notifications.items()
1020
+ if n.get("session") == session
1021
+ ]
1022
+ for nid in stale_ids:
1023
+ self.active_notifications.pop(nid, None)
1024
+ await self.broadcast_dashboard("notification_dismiss", {"id": nid})
1025
+
1012
1026
  notification = {
1013
1027
  "id": notification_id,
1014
1028
  "text": text,
@@ -1313,10 +1327,13 @@ class AgentWireServer:
1313
1327
  await asyncio.sleep(2) # Back off on errors
1314
1328
 
1315
1329
  async def idle_nag_loop(self):
1316
- """Background task: periodically check for idle sessions with open browser windows.
1330
+ """Background task: periodically check for idle sessions.
1317
1331
 
1318
- Gathers idle session data and sends it to the agentwire-notifications session,
1319
- which crafts a natural TTS message and speaks it via say().
1332
+ Gathers idle session data for every non-service tmux session (whether
1333
+ or not its terminal is currently open in the dashboard) and sends it
1334
+ to the agentwire-notifications session, which crafts a natural TTS
1335
+ message and speaks it via say(). The dashboard itself must have at
1336
+ least one connected client — no listeners means no nags.
1320
1337
  """
1321
1338
  NAG_INTERVAL = 120 # seconds between scans
1322
1339
  NAG_IDLE_THRESHOLD = 120 # seconds idle before including in nag (2 min minimum)
@@ -1337,16 +1354,16 @@ class AgentWireServer:
1337
1354
  await asyncio.sleep(NAG_INTERVAL)
1338
1355
  continue
1339
1356
 
1340
- # Find sessions with open browser windows that are truly idle
1357
+ # Find every non-service session that has gone idle. Whether
1358
+ # its terminal is currently open in the dashboard doesn't
1359
+ # matter — the user wants to know it needs attention either
1360
+ # way; they may have closed or minimized the window.
1341
1361
  idle_sessions = []
1342
1362
  for name, info in self.session_activity.items():
1343
1363
  if name.startswith(SERVICE_PREFIX):
1344
1364
  continue
1345
1365
  if name == NAG_SESSION:
1346
1366
  continue
1347
- if self.session_client_counts.get(name, 0) == 0:
1348
- nag_counts.pop(name, None)
1349
- continue
1350
1367
  last_ts = info.get("last_output_timestamp", 0.0)
1351
1368
  idle_secs = time.time() - last_ts if last_ts else float('inf')
1352
1369
  if idle_secs > NAG_IDLE_THRESHOLD:
File without changes
File without changes
File without changes