agentwire-dev 1.26.0__tar.gz → 1.28.0__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 (370) hide show
  1. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/CHANGELOG.md +6 -1
  2. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/PKG-INFO +2 -9
  3. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/README.md +1 -2
  4. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/__init__.py +1 -1
  5. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/__main__.py +162 -618
  6. agentwire_dev-1.28.0/agentwire/channels/__init__.py +21 -0
  7. agentwire_dev-1.28.0/agentwire/channels/base.py +84 -0
  8. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/cli_safety.py +4 -1
  9. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/config.py +22 -0
  10. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/hooks/damage-control/audit_logger.py +46 -1
  11. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/hooks/damage-control/bash-tool-damage-control.py +185 -17
  12. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/hooks/damage-control/edit-tool-damage-control.py +178 -16
  13. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/hooks/damage-control/write-tool-damage-control.py +178 -16
  14. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/mcp_server.py +0 -83
  15. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/overnight.py +3 -3
  16. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/project_config.py +19 -7
  17. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/roles/agentwire.md +3 -2
  18. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/roles/notifications.md +25 -3
  19. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/roles/orchestrator.md +1 -1
  20. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/safety/_core.py +171 -15
  21. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/scheduler.py +1 -1
  22. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/server.py +232 -86
  23. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/css/desktop.css +423 -61
  24. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/js/desktop.js +7 -49
  25. agentwire_dev-1.28.0/agentwire/static/js/new-project-modal.js +177 -0
  26. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/js/quicktask-modal.js +13 -3
  27. agentwire_dev-1.28.0/agentwire/static/js/safety-shared.js +164 -0
  28. agentwire_dev-1.28.0/agentwire/static/js/safety-window.js +172 -0
  29. agentwire_dev-1.28.0/agentwire/static/js/session-id.js +70 -0
  30. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/js/session-window.js +28 -16
  31. agentwire_dev-1.28.0/agentwire/static/js/sidebar/projects-section.js +143 -0
  32. agentwire_dev-1.28.0/agentwire/static/js/sidebar/safety-section.js +131 -0
  33. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/js/sidebar/scheduler-section.js +18 -6
  34. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/js/sidebar/sessions-section.js +14 -19
  35. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/tasks.py +1 -3
  36. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/tooldefs/gws.yaml +4 -8
  37. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/workflows/__init__.py +0 -1
  38. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/workflows/cli.py +0 -3
  39. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/workflows/definitions.py +1 -18
  40. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/workflows/node.py +7 -36
  41. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/workflows/pi_runner.py +1 -1
  42. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/workflows/runners/__init__.py +0 -11
  43. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/docs/wiki/INDEX.md +3 -5
  44. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/docs/wiki/architecture.md +13 -13
  45. agentwire_dev-1.28.0/docs/wiki/communication/channels.md +108 -0
  46. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/docs/wiki/communication/handoff.md +1 -1
  47. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/docs/wiki/concepts.md +6 -8
  48. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/docs/wiki/glossary.md +3 -11
  49. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/docs/wiki/internals/portal.md +0 -2
  50. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/docs/wiki/quickstart.md +10 -13
  51. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/docs/wiki/scheduling/scheduled-workloads.md +0 -1
  52. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/docs/wiki/scheduling/workflows.md +13 -72
  53. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/docs/wiki/sessions/pi.md +0 -1
  54. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/pyproject.toml +0 -10
  55. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/integration/test_server_websockets.py +1 -80
  56. agentwire_dev-1.28.0/tests/unit/test_channels.py +281 -0
  57. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/unit/test_overnight_resume_flags.py +0 -14
  58. agentwire_dev-1.28.0/tests/unit/test_safety_disabled_rules.py +36 -0
  59. agentwire_dev-1.28.0/tests/unit/test_safety_escape_hatch.py +39 -0
  60. agentwire_dev-1.28.0/tests/unit/test_safety_kill_switch.py +34 -0
  61. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/unit/test_scheduler.py +0 -13
  62. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/unit/test_tasks.py +2 -2
  63. agentwire_dev-1.26.0/agentwire/bridges/__init__.py +0 -0
  64. agentwire_dev-1.26.0/agentwire/bridges/telegram.py +0 -681
  65. agentwire_dev-1.26.0/agentwire/channels/__init__.py +0 -42
  66. agentwire_dev-1.26.0/agentwire/channels/_template.py +0 -155
  67. agentwire_dev-1.26.0/agentwire/channels/base.py +0 -586
  68. agentwire_dev-1.26.0/agentwire/channels/discord.py +0 -907
  69. agentwire_dev-1.26.0/agentwire/channels/slack.py +0 -822
  70. agentwire_dev-1.26.0/agentwire/channels/sms.py +0 -143
  71. agentwire_dev-1.26.0/agentwire/channels/telegram.py +0 -166
  72. agentwire_dev-1.26.0/agentwire/channels/webhook.py +0 -139
  73. agentwire_dev-1.26.0/agentwire/repl/__init__.py +0 -12
  74. agentwire_dev-1.26.0/agentwire/repl/app.py +0 -185
  75. agentwire_dev-1.26.0/agentwire/repl/commands.py +0 -320
  76. agentwire_dev-1.26.0/agentwire/repl/context.py +0 -96
  77. agentwire_dev-1.26.0/agentwire/repl/mentions.py +0 -165
  78. agentwire_dev-1.26.0/agentwire/repl/persistence.py +0 -253
  79. agentwire_dev-1.26.0/agentwire/repl/state.py +0 -96
  80. agentwire_dev-1.26.0/agentwire/repl/textual_app.py +0 -1273
  81. agentwire_dev-1.26.0/agentwire/repl/views/__init__.py +0 -7
  82. agentwire_dev-1.26.0/agentwire/repl/views/fanout.py +0 -568
  83. agentwire_dev-1.26.0/agentwire/roles/channel-admin.md +0 -178
  84. agentwire_dev-1.26.0/agentwire/roles/discord-dm.md +0 -67
  85. agentwire_dev-1.26.0/agentwire/roles/slack-dm.md +0 -67
  86. agentwire_dev-1.26.0/agentwire/sdk/__init__.py +0 -42
  87. agentwire_dev-1.26.0/agentwire/sdk/capabilities.py +0 -129
  88. agentwire_dev-1.26.0/agentwire/sdk/client.py +0 -187
  89. agentwire_dev-1.26.0/agentwire/sdk/damage_control.py +0 -147
  90. agentwire_dev-1.26.0/agentwire/sdk/errors.py +0 -27
  91. agentwire_dev-1.26.0/agentwire/sdk/events.py +0 -214
  92. agentwire_dev-1.26.0/agentwire/sdk/render.py +0 -339
  93. agentwire_dev-1.26.0/agentwire/sdk/sinks/__init__.py +0 -11
  94. agentwire_dev-1.26.0/agentwire/sdk/sinks/base.py +0 -27
  95. agentwire_dev-1.26.0/agentwire/sdk/sinks/textual.py +0 -147
  96. agentwire_dev-1.26.0/agentwire/sdk/state.py +0 -169
  97. agentwire_dev-1.26.0/agentwire/static/js/sidebar/projects-section.js +0 -68
  98. agentwire_dev-1.26.0/agentwire/static/js/sidebar/sdk-sessions-section.js +0 -77
  99. agentwire_dev-1.26.0/agentwire/static/js/sidebar/socials-section.js +0 -26
  100. agentwire_dev-1.26.0/agentwire/static/js/windows/sdk-watch-window.js +0 -257
  101. agentwire_dev-1.26.0/agentwire/workflows/runners/anthropic.py +0 -248
  102. agentwire_dev-1.26.0/agentwire/workflows/runners/human_gate.py +0 -133
  103. agentwire_dev-1.26.0/docs/wiki/communication/channels.md +0 -324
  104. agentwire_dev-1.26.0/docs/wiki/sessions/repl-tui.md +0 -286
  105. agentwire_dev-1.26.0/tests/integration/test_anthropic_runner_live.py +0 -218
  106. agentwire_dev-1.26.0/tests/integration/test_channels_cli.py +0 -142
  107. agentwire_dev-1.26.0/tests/snapshot/__snapshots__/test_repl_snapshots/test_empty_boot_snapshot.raw +0 -202
  108. agentwire_dev-1.26.0/tests/snapshot/apps/repl_empty.py +0 -59
  109. agentwire_dev-1.26.0/tests/snapshot/test_repl_snapshots.py +0 -44
  110. agentwire_dev-1.26.0/tests/unit/test_anthropic_capabilities.py +0 -149
  111. agentwire_dev-1.26.0/tests/unit/test_anthropic_classify.py +0 -36
  112. agentwire_dev-1.26.0/tests/unit/test_anthropic_events.py +0 -209
  113. agentwire_dev-1.26.0/tests/unit/test_channels.py +0 -1696
  114. agentwire_dev-1.26.0/tests/unit/test_human_gate_runner.py +0 -151
  115. agentwire_dev-1.26.0/tests/unit/test_repl_commands.py +0 -555
  116. agentwire_dev-1.26.0/tests/unit/test_repl_context.py +0 -137
  117. agentwire_dev-1.26.0/tests/unit/test_repl_damage_control.py +0 -188
  118. agentwire_dev-1.26.0/tests/unit/test_repl_fanout.py +0 -463
  119. agentwire_dev-1.26.0/tests/unit/test_repl_mentions.py +0 -117
  120. agentwire_dev-1.26.0/tests/unit/test_repl_persistence.py +0 -256
  121. agentwire_dev-1.26.0/tests/unit/test_repl_sdk.py +0 -1106
  122. agentwire_dev-1.26.0/tests/unit/test_repl_sink_wrap.py +0 -94
  123. agentwire_dev-1.26.0/tests/unit/test_repl_tail.py +0 -98
  124. agentwire_dev-1.26.0/tests/unit/test_repl_textual_app.py +0 -1027
  125. agentwire_dev-1.26.0/tests/unit/test_runner_override.py +0 -65
  126. agentwire_dev-1.26.0/tests/unit/test_sdk_session_types.py +0 -95
  127. agentwire_dev-1.26.0/tests/unit/test_server_sdk_watch.py +0 -78
  128. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/.github/FUNDING.yml +0 -0
  129. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  130. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  131. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/.github/ISSUE_TEMPLATE/question.md +0 -0
  132. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  133. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/.gitignore +0 -0
  134. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/CLA.md +0 -0
  135. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/CODE_OF_CONDUCT.md +0 -0
  136. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/CONTRIBUTING.md +0 -0
  137. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/Dockerfile.local +0 -0
  138. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/Dockerfile.runpod +0 -0
  139. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/LICENSE +0 -0
  140. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/RELEASING.md +0 -0
  141. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/SECURITY.md +0 -0
  142. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/SPONSORS.md +0 -0
  143. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/agents/__init__.py +0 -0
  144. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/agents/base.py +0 -0
  145. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/agents/tmux.py +0 -0
  146. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/cached_status.py +0 -0
  147. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/channels/email.py +0 -0
  148. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/channels/quo.py +0 -0
  149. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/completion.py +0 -0
  150. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/fetch.py +0 -0
  151. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/handoff/__init__.py +0 -0
  152. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/handoff/git_state.py +0 -0
  153. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/handoff/instructions.py +0 -0
  154. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/handoff/parser.py +0 -0
  155. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/handoff/renderer.py +0 -0
  156. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/handoff/schema.py +0 -0
  157. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/history.py +0 -0
  158. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/hooks/__init__.py +0 -0
  159. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/hooks/agentwire-permission.sh +0 -0
  160. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/hooks/damage-control/__init__.py +0 -0
  161. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/hooks/damage-control/rules/agentwire.yaml +0 -0
  162. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/hooks/damage-control/rules/aws.yaml +0 -0
  163. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/hooks/damage-control/rules/cloud-hosting.yaml +0 -0
  164. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/hooks/damage-control/rules/containers.yaml +0 -0
  165. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/hooks/damage-control/rules/core.yaml +0 -0
  166. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/hooks/damage-control/rules/databases.yaml +0 -0
  167. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/hooks/damage-control/rules/firebase.yaml +0 -0
  168. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/hooks/damage-control/rules/gcp.yaml +0 -0
  169. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/hooks/damage-control/rules/git.yaml +0 -0
  170. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/hooks/damage-control/rules/gws.yaml +0 -0
  171. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/hooks/damage-control/rules/infrastructure.yaml +0 -0
  172. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/hooks/damage-control/rules/remote.yaml +0 -0
  173. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/hooks/idle-handler.sh +0 -0
  174. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/listen.py +0 -0
  175. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/locking.py +0 -0
  176. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/network.py +0 -0
  177. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/onboarding.py +0 -0
  178. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/pane_manager.py +0 -0
  179. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/projects.py +0 -0
  180. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/prompts/__init__.py +0 -0
  181. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/prompts/init.md +0 -0
  182. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/roles/__init__.py +0 -0
  183. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/roles/chatbot.md +0 -0
  184. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/roles/init.md +0 -0
  185. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/roles/task-runner.md +0 -0
  186. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/roles/voice.md +0 -0
  187. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/roles/worker.md +0 -0
  188. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/safety/__init__.py +0 -0
  189. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/search.py +0 -0
  190. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/agentwire-Echo--black.png +0 -0
  191. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/agentwire-Echo--transparent.png +0 -0
  192. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/agentwire-Echo.png +0 -0
  193. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/agentwire-email-banner.png +0 -0
  194. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/agentwire-splash-logo-layers--agentwire-text.png +0 -0
  195. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/agentwire-splash-logo-layers--echo-claw-fg.png +0 -0
  196. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/agentwire-splash-logo-layers--echo.png +0 -0
  197. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/agentwire-splash-logo-layers--full--transparent-top.png +0 -0
  198. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/agentwire-splash-logo-layers--full-black.png +0 -0
  199. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/agentwire-splash-logo-layers--telephone-fg.png +0 -0
  200. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/agentwire-splash-logo-layers--telephone.png +0 -0
  201. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/agentwire-splash-logo-layers--transparent-top.png +0 -0
  202. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/agentwire-splash-logo-layers--transparent.png +0 -0
  203. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/agentwire-splash-logo-layers--tree.png +0 -0
  204. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/agentwire-splash-logo-layers.png +0 -0
  205. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/favicon.png +0 -0
  206. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/icons/machines/android.jpeg +0 -0
  207. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/icons/machines/automaton.jpeg +0 -0
  208. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/icons/machines/bot.jpeg +0 -0
  209. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/icons/machines/cyborg.jpeg +0 -0
  210. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/icons/machines/droid.jpeg +0 -0
  211. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/icons/machines/drone.jpeg +0 -0
  212. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/icons/machines/guardian.jpeg +0 -0
  213. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/icons/machines/mech.jpeg +0 -0
  214. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/icons/machines/probe.jpeg +0 -0
  215. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/icons/machines/robot.jpeg +0 -0
  216. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/icons/machines/sentinel.jpeg +0 -0
  217. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/icons/machines/unit.jpeg +0 -0
  218. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/icons/projects/blob.jpeg +0 -0
  219. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/icons/projects/cloud.jpeg +0 -0
  220. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/icons/projects/crystal.jpeg +0 -0
  221. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/icons/projects/cyclops.jpeg +0 -0
  222. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/icons/projects/flame.jpeg +0 -0
  223. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/icons/projects/fuzzy.jpeg +0 -0
  224. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/icons/projects/horned.jpeg +0 -0
  225. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/icons/projects/moon.jpeg +0 -0
  226. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/icons/projects/slime.jpeg +0 -0
  227. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/icons/projects/star.jpeg +0 -0
  228. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/icons/projects/tentacle.jpeg +0 -0
  229. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/icons/projects/winged.jpeg +0 -0
  230. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/icons/sessions/bear.jpeg +0 -0
  231. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/icons/sessions/cat.jpeg +0 -0
  232. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/icons/sessions/crown.jpeg +0 -0
  233. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/icons/sessions/custom/agentwire-portal.png +0 -0
  234. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/icons/sessions/custom/agentwire-tts.png +0 -0
  235. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/icons/sessions/custom/agentwire.png +0 -0
  236. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/icons/sessions/deer.jpeg +0 -0
  237. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/icons/sessions/drone.jpeg +0 -0
  238. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/icons/sessions/eagle.jpeg +0 -0
  239. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/icons/sessions/fox.jpeg +0 -0
  240. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/icons/sessions/hawk.jpeg +0 -0
  241. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/icons/sessions/horse.jpeg +0 -0
  242. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/icons/sessions/lion.jpeg +0 -0
  243. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/icons/sessions/rabbit.jpeg +0 -0
  244. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/icons/sessions/robot.jpeg +0 -0
  245. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/icons/sessions/tiger.jpeg +0 -0
  246. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/icons/sessions/wolf.jpeg +0 -0
  247. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/js/.gitkeep +0 -0
  248. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/js/artifact-window.js +0 -0
  249. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/js/components/icon-picker.js +0 -0
  250. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/js/components/list-card.js +0 -0
  251. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/js/components/type-tag.js +0 -0
  252. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/js/desktop-manager.js +0 -0
  253. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/js/icon-manager.js +0 -0
  254. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/js/notifications-panel.js +0 -0
  255. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/js/sidebar/artifacts-section.js +0 -0
  256. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/js/sidebar/config-section.js +0 -0
  257. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/js/sidebar/machines-section.js +0 -0
  258. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/js/sidebar/services-section.js +0 -0
  259. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/js/sidebar/workflows-section.js +0 -0
  260. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/js/sidebar.js +0 -0
  261. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/js/terminal-font-prefs.js +0 -0
  262. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/js/tile-manager.js +0 -0
  263. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/js/utils/auto-refresh.js +0 -0
  264. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/js/winbox.bundle.min.js +0 -0
  265. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/js/windows/chat-window.js +0 -0
  266. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/static/js/windows/workflow-window.js +0 -0
  267. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/stt/__init__.py +0 -0
  268. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/stt/base.py +0 -0
  269. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/stt/server_backend.py +0 -0
  270. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/stt/stt_server.py +0 -0
  271. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/stt/whisperkit.py +0 -0
  272. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/templates/__init__.py +0 -0
  273. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/templates/base.html +0 -0
  274. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/templates/desktop.html +0 -0
  275. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/templates/email_notification.html +0 -0
  276. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/templates/handoff/show-the-story.html.j2 +0 -0
  277. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/templates/handoff/theme.css.j2 +0 -0
  278. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/templates/tmux.conf +0 -0
  279. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/templating.py +0 -0
  280. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/tooldefs/aws.yaml +0 -0
  281. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/tooldefs/docker.yaml +0 -0
  282. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/tooldefs/gcp.yaml +0 -0
  283. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/tooldefs/gh.yaml +0 -0
  284. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/tooldefs/git.yaml +0 -0
  285. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/tooldefs/kubectl.yaml +0 -0
  286. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/tooldefs/npm.yaml +0 -0
  287. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/tooldefs/terraform.yaml +0 -0
  288. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/tooldefs/uv.yaml +0 -0
  289. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/tts/__init__.py +0 -0
  290. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/tts/base.py +0 -0
  291. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/tts/engines/__init__.py +0 -0
  292. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/tts/engines/chatterbox.py +0 -0
  293. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/tts/engines/kokoro.py +0 -0
  294. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/tts/engines/qwen_base.py +0 -0
  295. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/tts/engines/qwen_custom.py +0 -0
  296. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/tts/engines/qwen_design.py +0 -0
  297. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/tts/engines/zonos.py +0 -0
  298. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/tts/registry.py +0 -0
  299. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/tts/runpod_handler.py +0 -0
  300. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/tts_server.py +0 -0
  301. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/tunnels.py +0 -0
  302. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/utils/__init__.py +0 -0
  303. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/utils/chunker.py +0 -0
  304. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/utils/file_io.py +0 -0
  305. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/utils/paths.py +0 -0
  306. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/utils/subprocess.py +0 -0
  307. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/validation.py +0 -0
  308. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/voiceclone.py +0 -0
  309. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/voices/darren.wav +0 -0
  310. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/voices/default.wav +0 -0
  311. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/voices/jessica.wav +0 -0
  312. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/voices/lisa.wav +0 -0
  313. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/voices/may.wav +0 -0
  314. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/workflows/context.py +0 -0
  315. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/workflows/outputs.py +0 -0
  316. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/workflows/runner.py +0 -0
  317. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/workflows/runners/pi.py +0 -0
  318. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/workflows/storage.py +0 -0
  319. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/agentwire/worktree.py +0 -0
  320. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/docs/logo.png +0 -0
  321. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/docs/wiki/communication/hammerspoon.md +0 -0
  322. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/docs/wiki/deployment/remote-access.md +0 -0
  323. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/docs/wiki/deployment/remote-machines.md +0 -0
  324. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/docs/wiki/integrations/gws-google-workspace-cli.md +0 -0
  325. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/docs/wiki/internals/damage-control.md +0 -0
  326. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/docs/wiki/internals/shell-escaping.md +0 -0
  327. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/docs/wiki/internals/troubleshooting.md +0 -0
  328. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/docs/wiki/sessions/claude-code-auto-mode.md +0 -0
  329. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/docs/wiki/tts/runpod-tts.md +0 -0
  330. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/docs/wiki/tts/tts-self-hosted.md +0 -0
  331. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/requirements-tts.txt +0 -0
  332. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/conftest.py +0 -0
  333. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/e2e/test_portal_ui.py +0 -0
  334. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/fixtures/sample_agentwire.yml +0 -0
  335. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/fixtures/sample_config.yaml +0 -0
  336. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/fixtures/sample_scheduler.yaml +0 -0
  337. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/integration/test_scheduler_board.py +0 -0
  338. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/unit/test_build_agent_command.py +0 -0
  339. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/unit/test_cli_commands.py +0 -0
  340. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/unit/test_cli_output.py +0 -0
  341. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/unit/test_cli_safety.py +0 -0
  342. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/unit/test_config.py +0 -0
  343. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/unit/test_damage_control_hooks.py +0 -0
  344. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/unit/test_damage_control_sync.py +0 -0
  345. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/unit/test_file_io.py +0 -0
  346. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/unit/test_handoff_git_state.py +0 -0
  347. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/unit/test_handoff_instructions.py +0 -0
  348. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/unit/test_handoff_parser.py +0 -0
  349. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/unit/test_handoff_renderer.py +0 -0
  350. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/unit/test_history.py +0 -0
  351. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/unit/test_locking.py +0 -0
  352. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/unit/test_mcp_server.py +0 -0
  353. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/unit/test_mcp_tools_args.py +0 -0
  354. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/unit/test_pi_runner.py +0 -0
  355. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/unit/test_portal_api.py +0 -0
  356. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/unit/test_project_config.py +0 -0
  357. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/unit/test_roles.py +0 -0
  358. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/unit/test_runner_on_event.py +0 -0
  359. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/unit/test_runners_registry.py +0 -0
  360. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/unit/test_scheduler_parsing.py +0 -0
  361. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/unit/test_scheduler_workflow_dispatch.py +0 -0
  362. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/unit/test_search.py +0 -0
  363. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/unit/test_server_async.py +0 -0
  364. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/unit/test_server_pure.py +0 -0
  365. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/unit/test_server_workflow_history.py +0 -0
  366. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/unit/test_templating.py +0 -0
  367. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/unit/test_workflow_cli.py +0 -0
  368. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/unit/test_workflow_storage.py +0 -0
  369. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/unit/test_workflows.py +0 -0
  370. {agentwire_dev-1.26.0 → agentwire_dev-1.28.0}/tests/unit/test_worktree.py +0 -0
@@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ### Removed
11
+
12
+ - **Inbound channel surface** — entire Telegram bridge (`agentwire/bridges/telegram.py`), Discord channel (`agentwire/channels/discord.py`), Slack channel (`agentwire/channels/slack.py`), Twilio SMS (`agentwire/channels/sms.py`), Webhook (`agentwire/channels/webhook.py`), outbound-Telegram (`agentwire/channels/telegram.py`), channel scaffolding template (`agentwire/channels/_template.py`), all `agentwire {telegram,discord,slack,sms,webhook}` CLI command groups, the `agentwire reply` command, MCP tools `discord_status` / `slack_status` / `sms_send` / `webhook_send`, the portal sidebar "socials" section, the `ServiceChannel` / `MessageQueueManager` / `QueuedMessage` / `compose_session_config` / `inject_instructions` / session-helper plumbing in `channels/base.py`, the TTS/STT primitives on the channel base class, the auto-injected `discord-dm` / `slack-dm` / `channel-admin` roles, the `OutputConfig.notify` task field plus its `_handle_task_notification` dispatcher (voice / alert / webhook / email / command), the doctor's Telegram bridge check, and the `aiogram` optional dep. Wire surface is now outbound-only: **email** (Resend) and **quo** (OpenPhone SMS) remain. Inbound user input flows through the portal. Security review traced the cut: Telegram bridge was secure (refuse-to-start on empty allowlist + silent default-deny), Discord/Slack fail-open on empty allowlist + unauthenticated channel `@mention`; rather than fix the gaps, the whole inbound surface comes out to keep the wire posture outbound-only.
13
+ - **Anthropic SDK surface** — entire `agentwire/sdk/` package, `agentwire/repl/` (Textual REPL), `agentwire/workflows/runners/{anthropic,human_gate}.py`, `sdk-bypass` / `sdk-prompted` / `sdk-restricted` session types, `sdk-watch` portal window + sidebar section, `--runner` workflow CLI override, and the `claude-agent-sdk` dependency. Anthropic moved Agent SDK + `claude -p` usage out of the monthly subscription tier on 2026-05-13 (now API-billed); the in-tree consumers were too expensive to keep running. The `pi` workflow runner is now the only runner. For Anthropic-quality scheduled work, use a `claude-bypass` tmux session via `.agentwire.yml` + scheduler. Mission [#184](https://github.com/dotdevdotdev/agentwire-dev/issues/184). Findings captured in `~/.agentwire/wiki/` (anthropic-agent-sdk, anthropic-runner-findings, textual-repl-retrospective, workflow-runner-choice, claude-code-print-mode).
14
+
10
15
  ### Added
11
16
 
12
17
  - **Shareable conversation handoffs** — `agentwire handoff` produces two artifacts from one conversation: `ai-handoff.md` (XML-tagged markdown a teammate can paste into another LLM) and `show-the-story.html` (single-file presentation with tabs and scroll-slides) — issue [#157](https://github.com/dotdevdotdev/agentwire-dev/issues/157)
@@ -27,7 +32,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
27
32
  - **Live event streaming under `--verbose`** — `agentwire workflow run … -v` now streams per-event output for anthropic nodes: `[node] → tool_use Read …`, `← tool_result (ok/err)`, `▓ text`, `✓ turn 42+18 tok`, `■ agent_end 3.1s`
28
33
  - **Runner recorded in metadata** — `metadata.json` bumped to `schema_version: 2` with run-level and per-node `runner` fields; `workflow show` renders a `Runner:` line + per-node tag + `Totals:` aggregation; `workflow history` gains a `runner` column
29
34
  - **`--runner {pi,anthropic}` CLI override** — `agentwire workflow run` accepts `--runner` to flip every node's runner for one invocation; runner/field mismatches surface as normal validation errors
30
- - **Canary live** — `daily-book-report` (daily 13:30) flipped to anthropic on 2026-04-17 (Sonnet 4.6 for fetch, Opus 4.7 for compose_and_send). Findings tracked in `docs/missions/anthropic-sdk-runner.md`
35
+ - **Canary live** — `daily-book-report` (daily 13:30) flipped to anthropic on 2026-04-17 (Sonnet 4.6 for fetch, Opus 4.7 for compose_and_send)
31
36
  - **Damage-control honors session bypass modes** — `permission_mode: "bypassPermissions"` and `"auto"` now skip `ask:true` escalations for write-tier commands; hard blocks still fire. Fixes `--dangerously-skip-permissions` and autonomous-mode sessions being prompted per Bash call
32
37
 
33
38
  ### Documentation
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agentwire-dev
3
- Version: 1.26.0
3
+ Version: 1.28.0
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
@@ -686,7 +686,6 @@ Classifier: Topic :: Software Development :: User Interfaces
686
686
  Requires-Python: >=3.10
687
687
  Requires-Dist: aiohttp-jinja2>=1.6
688
688
  Requires-Dist: aiohttp>=3.9.0
689
- Requires-Dist: claude-agent-sdk>=0.1.0
690
689
  Requires-Dist: jinja2>=3.1.0
691
690
  Requires-Dist: markdown>=3.5
692
691
  Requires-Dist: mcp>=1.2.0
@@ -694,11 +693,8 @@ Requires-Dist: python-dotenv>=1.0.0
694
693
  Requires-Dist: pyyaml>=6.0
695
694
  Requires-Dist: requests>=2.28.0
696
695
  Requires-Dist: resend>=2.0.0
697
- Requires-Dist: rich>=13.0
698
- Requires-Dist: textual>=0.80
699
696
  Provides-Extra: dev
700
697
  Requires-Dist: pytest-asyncio>=0.23.0; extra == 'dev'
701
- Requires-Dist: pytest-textual-snapshot>=1.0.0; extra == 'dev'
702
698
  Requires-Dist: pytest>=7.0; extra == 'dev'
703
699
  Requires-Dist: ruff>=0.1.0; extra == 'dev'
704
700
  Provides-Extra: stt
@@ -706,8 +702,6 @@ Requires-Dist: fastapi>=0.104.0; extra == 'stt'
706
702
  Requires-Dist: faster-whisper>=1.0.0; extra == 'stt'
707
703
  Requires-Dist: python-multipart>=0.0.6; extra == 'stt'
708
704
  Requires-Dist: uvicorn>=0.24.0; extra == 'stt'
709
- Provides-Extra: telegram
710
- Requires-Dist: aiogram>=3.20; extra == 'telegram'
711
705
  Provides-Extra: tts
712
706
  Requires-Dist: chatterbox-tts>=0.1.6; extra == 'tts'
713
707
  Requires-Dist: fastapi>=0.104.0; extra == 'tts'
@@ -818,8 +812,7 @@ pip install agentwire-dev
818
812
  | **Worker Orchestration** | Spawn worker panes, coordinate tasks, voice commands |
819
813
  | **Safety Hooks** | 300+ dangerous commands blocked (rm -rf, force push, etc.) |
820
814
  | **TTS Responses** | Agents talk back via browser audio |
821
- | **SDK Sessions** | Structured Claude Agent SDK sessions with parent-child hierarchy |
822
- | **Telegram Bridge** | Control agents from Telegram with voice notes and inline keyboards |
815
+ | **Outbound Channels** | Email (Resend) + SMS (Quo / OpenPhone) for cross-device notifications |
823
816
  | **Session Roles** | Leader/worker patterns for multi-agent workflows |
824
817
 
825
818
  ---
@@ -96,8 +96,7 @@ pip install agentwire-dev
96
96
  | **Worker Orchestration** | Spawn worker panes, coordinate tasks, voice commands |
97
97
  | **Safety Hooks** | 300+ dangerous commands blocked (rm -rf, force push, etc.) |
98
98
  | **TTS Responses** | Agents talk back via browser audio |
99
- | **SDK Sessions** | Structured Claude Agent SDK sessions with parent-child hierarchy |
100
- | **Telegram Bridge** | Control agents from Telegram with voice notes and inline keyboards |
99
+ | **Outbound Channels** | Email (Resend) + SMS (Quo / OpenPhone) for cross-device notifications |
101
100
  | **Session Roles** | Leader/worker patterns for multi-agent workflows |
102
101
 
103
102
  ---
@@ -1,3 +1,3 @@
1
1
  """AgentWire - Multi-session voice web interface for AI coding agents."""
2
2
 
3
- __version__ = "1.26.0"
3
+ __version__ = "1.28.0"