agentirc-cli 7.1.1__tar.gz → 7.1.2__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 (383) hide show
  1. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/.github/workflows/publish.yml +6 -6
  2. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/.github/workflows/security-checks.yml +8 -8
  3. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/.github/workflows/tests.yml +4 -4
  4. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/CHANGELOG.md +13 -0
  5. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/PKG-INFO +1 -1
  6. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/console/client.py +5 -0
  7. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/constants.py +0 -3
  8. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/agentirc/bots.md +18 -0
  9. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/agentirc/events.md +17 -0
  10. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/pyproject.toml +1 -1
  11. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/uv.lock +1 -1
  12. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/.claude/agents/doc-test-alignment.md +0 -0
  13. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/.claude/skills/pr-review/SKILL.md +0 -0
  14. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/.claude/skills/run-tests/SKILL.md +0 -0
  15. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/.claude/skills/run-tests/scripts/test.sh +0 -0
  16. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/.flake8 +0 -0
  17. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/.github/workflows/docs-check.yml +0 -0
  18. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/.gitignore +0 -0
  19. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/.markdownlint-cli2.yaml +0 -0
  20. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/.pr_agent.toml +0 -0
  21. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/.pre-commit-config.yaml +0 -0
  22. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/.pylintrc +0 -0
  23. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/CLAUDE.md +0 -0
  24. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/Gemfile +0 -0
  25. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/Gemfile.lock +0 -0
  26. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/LICENSE +0 -0
  27. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/README.md +0 -0
  28. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/SECURITY.md +0 -0
  29. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/_config.agentirc.yml +0 -0
  30. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/_config.base.yml +0 -0
  31. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/_config.culture.yml +0 -0
  32. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/_data/sites.yml +0 -0
  33. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/_includes/head_custom.html +0 -0
  34. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/_plugins/site_filter.rb +0 -0
  35. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/_sass/color_schemes/anthropic.scss +0 -0
  36. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/_sass/color_schemes/dark-terminal.scss +0 -0
  37. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/_sass/custom/custom.scss +0 -0
  38. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/assets/images/IMG_3183.png +0 -0
  39. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/assets/images/apple-touch-icon.png +0 -0
  40. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/assets/images/favicon-16x16.png +0 -0
  41. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/assets/images/favicon-32x32.png +0 -0
  42. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/assets/images/favicon.ico +0 -0
  43. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/assets/images/og-agentirc.png +0 -0
  44. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/assets/images/og-culture.png +0 -0
  45. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/__init__.py +0 -0
  46. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/__main__.py +0 -0
  47. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/agentirc/CLAUDE.md +0 -0
  48. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/agentirc/__init__.py +0 -0
  49. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/agentirc/__main__.py +0 -0
  50. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/agentirc/channel.py +0 -0
  51. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/agentirc/client.py +0 -0
  52. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/agentirc/config.py +0 -0
  53. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/agentirc/docs/agentirc-architecture.md +0 -0
  54. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/agentirc/docs/agentirc-features.md +0 -0
  55. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/agentirc/docs/agentirc-skill.md +0 -0
  56. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/agentirc/docs/agentirc.md +0 -0
  57. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/agentirc/events.py +0 -0
  58. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/agentirc/history_store.py +0 -0
  59. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/agentirc/ircd.py +0 -0
  60. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/agentirc/remote_client.py +0 -0
  61. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/agentirc/room_store.py +0 -0
  62. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/agentirc/rooms_util.py +0 -0
  63. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/agentirc/server_link.py +0 -0
  64. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/agentirc/skill.py +0 -0
  65. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/agentirc/skills/__init__.py +0 -0
  66. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/agentirc/skills/history.py +0 -0
  67. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/agentirc/skills/icon.py +0 -0
  68. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/agentirc/skills/rooms.py +0 -0
  69. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/agentirc/skills/threads.py +0 -0
  70. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/agentirc/thread_store.py +0 -0
  71. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/aio.py +0 -0
  72. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/bots/__init__.py +0 -0
  73. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/bots/bot.py +0 -0
  74. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/bots/bot_manager.py +0 -0
  75. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/bots/config.py +0 -0
  76. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/bots/filter_dsl.py +0 -0
  77. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/bots/http_listener.py +0 -0
  78. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/bots/system/__init__.py +0 -0
  79. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/bots/system/welcome/__init__.py +0 -0
  80. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/bots/system/welcome/bot.yaml +0 -0
  81. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/bots/system/welcome/handler.py +0 -0
  82. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/bots/template_engine.py +0 -0
  83. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/bots/virtual_client.py +0 -0
  84. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/cli/__init__.py +0 -0
  85. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/cli/agent.py +0 -0
  86. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/cli/bot.py +0 -0
  87. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/cli/channel.py +0 -0
  88. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/cli/mesh.py +0 -0
  89. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/cli/server.py +0 -0
  90. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/cli/shared/__init__.py +0 -0
  91. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/cli/shared/constants.py +0 -0
  92. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/cli/shared/display.py +0 -0
  93. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/cli/shared/formatting.py +0 -0
  94. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/cli/shared/ipc.py +0 -0
  95. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/cli/shared/mesh.py +0 -0
  96. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/cli/shared/process.py +0 -0
  97. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/cli/skills.py +0 -0
  98. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/__init__.py +0 -0
  99. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/acp/__init__.py +0 -0
  100. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/acp/agent_runner.py +0 -0
  101. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/acp/config.py +0 -0
  102. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/acp/culture.yaml +0 -0
  103. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/acp/daemon.py +0 -0
  104. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/acp/ipc.py +0 -0
  105. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/acp/irc_transport.py +0 -0
  106. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/acp/message_buffer.py +0 -0
  107. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/acp/skill/SKILL.md +0 -0
  108. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/acp/skill/__init__.py +0 -0
  109. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/acp/skill/irc_client.py +0 -0
  110. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/acp/socket_server.py +0 -0
  111. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/acp/supervisor.py +0 -0
  112. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/acp/webhook.py +0 -0
  113. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/claude/__init__.py +0 -0
  114. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/claude/__main__.py +0 -0
  115. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/claude/agent_runner.py +0 -0
  116. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/claude/config.py +0 -0
  117. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/claude/culture.yaml +0 -0
  118. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/claude/daemon.py +0 -0
  119. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/claude/ipc.py +0 -0
  120. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/claude/irc_transport.py +0 -0
  121. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/claude/message_buffer.py +0 -0
  122. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/claude/skill/SKILL.md +0 -0
  123. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/claude/skill/__init__.py +0 -0
  124. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/claude/skill/irc_client.py +0 -0
  125. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/claude/socket_server.py +0 -0
  126. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/claude/supervisor.py +0 -0
  127. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/claude/webhook.py +0 -0
  128. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/codex/__init__.py +0 -0
  129. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/codex/agent_runner.py +0 -0
  130. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/codex/config.py +0 -0
  131. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/codex/culture.yaml +0 -0
  132. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/codex/daemon.py +0 -0
  133. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/codex/ipc.py +0 -0
  134. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/codex/irc_transport.py +0 -0
  135. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/codex/message_buffer.py +0 -0
  136. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/codex/skill/SKILL.md +0 -0
  137. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/codex/skill/__init__.py +0 -0
  138. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/codex/skill/irc_client.py +0 -0
  139. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/codex/socket_server.py +0 -0
  140. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/codex/supervisor.py +0 -0
  141. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/codex/webhook.py +0 -0
  142. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/copilot/__init__.py +0 -0
  143. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/copilot/agent_runner.py +0 -0
  144. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/copilot/config.py +0 -0
  145. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/copilot/culture.yaml +0 -0
  146. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/copilot/daemon.py +0 -0
  147. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/copilot/ipc.py +0 -0
  148. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/copilot/irc_transport.py +0 -0
  149. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/copilot/message_buffer.py +0 -0
  150. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/copilot/skill/SKILL.md +0 -0
  151. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/copilot/skill/__init__.py +0 -0
  152. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/copilot/skill/irc_client.py +0 -0
  153. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/copilot/socket_server.py +0 -0
  154. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/copilot/supervisor.py +0 -0
  155. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/clients/copilot/webhook.py +0 -0
  156. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/config.py +0 -0
  157. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/console/__init__.py +0 -0
  158. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/console/app.py +0 -0
  159. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/console/commands.py +0 -0
  160. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/console/status.py +0 -0
  161. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/console/widgets/__init__.py +0 -0
  162. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/console/widgets/chat.py +0 -0
  163. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/console/widgets/info_panel.py +0 -0
  164. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/console/widgets/sidebar.py +0 -0
  165. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/credentials.py +0 -0
  166. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/formatting.py +0 -0
  167. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/learn_prompt.py +0 -0
  168. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/mesh_config.py +0 -0
  169. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/observer.py +0 -0
  170. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/overview/__init__.py +0 -0
  171. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/overview/collector.py +0 -0
  172. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/overview/model.py +0 -0
  173. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/overview/renderer_text.py +0 -0
  174. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/overview/renderer_web.py +0 -0
  175. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/overview/web/style.css +0 -0
  176. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/persistence.py +0 -0
  177. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/pidfile.py +0 -0
  178. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/protocol/__init__.py +0 -0
  179. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/protocol/commands.py +0 -0
  180. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/protocol/extensions/events.md +0 -0
  181. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/protocol/extensions/federation.md +0 -0
  182. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/protocol/extensions/history.md +0 -0
  183. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/protocol/extensions/icons.md +0 -0
  184. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/protocol/extensions/rooms.md +0 -0
  185. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/protocol/extensions/tags.md +0 -0
  186. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/protocol/extensions/threads.md +0 -0
  187. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/protocol/message.py +0 -0
  188. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/protocol/protocol-index.md +0 -0
  189. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/protocol/replies.py +0 -0
  190. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/culture/skills/culture/SKILL.md +0 -0
  191. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/README.md +0 -0
  192. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/agentirc/architecture-overview.md +0 -0
  193. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/agentirc/index.md +0 -0
  194. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/agentirc/why-agentirc.md +0 -0
  195. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/culture/agent-lifecycle.md +0 -0
  196. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/culture/choose-a-harness.md +0 -0
  197. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/culture/index.md +0 -0
  198. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/culture/mental-model.md +0 -0
  199. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/culture/operate.md +0 -0
  200. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/culture/patterns.md +0 -0
  201. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/culture/quickstart.md +0 -0
  202. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/culture/reflective-development.md +0 -0
  203. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/culture/vision-patterns-index.md +0 -0
  204. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/culture/vision.md +0 -0
  205. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/culture/why-culture.md +0 -0
  206. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/reference/architecture/agent-harness-spec.md +0 -0
  207. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/reference/architecture/index.md +0 -0
  208. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/reference/architecture/layers.md +0 -0
  209. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/reference/architecture/threads.md +0 -0
  210. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/reference/cli/commands.md +0 -0
  211. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/reference/cli/index.md +0 -0
  212. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/reference/harnesses/acp.md +0 -0
  213. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/reference/harnesses/claude.md +0 -0
  214. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/reference/harnesses/codex.md +0 -0
  215. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/reference/harnesses/copilot.md +0 -0
  216. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/reference/harnesses/index.md +0 -0
  217. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/reference/index.md +0 -0
  218. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/reference/server/architecture.md +0 -0
  219. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/reference/server/config.md +0 -0
  220. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/reference/server/deployment.md +0 -0
  221. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/reference/server/index.md +0 -0
  222. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/reference/server/security.md +0 -0
  223. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/resources/github-copilot-sdk-instructions.md +0 -0
  224. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/shared/concepts/federation.md +0 -0
  225. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/shared/concepts/harnesses.md +0 -0
  226. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/shared/concepts/humans-and-agents.md +0 -0
  227. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/shared/concepts/index.md +0 -0
  228. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/shared/concepts/persistence.md +0 -0
  229. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/shared/concepts/rooms.md +0 -0
  230. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/shared/demos/magic-demo.md +0 -0
  231. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/shared/guides/first-session.md +0 -0
  232. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/shared/guides/index.md +0 -0
  233. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/shared/guides/join-as-human.md +0 -0
  234. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/shared/guides/local-setup.md +0 -0
  235. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/shared/guides/multi-machine.md +0 -0
  236. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/shared/use-cases/01-pair-programming.md +0 -0
  237. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/shared/use-cases/02-code-review-ensemble.md +0 -0
  238. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/shared/use-cases/03-cross-server-delegation.md +0 -0
  239. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/shared/use-cases/04-knowledge-propagation.md +0 -0
  240. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/shared/use-cases/05-the-observer.md +0 -0
  241. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/shared/use-cases/06-cross-server-ops.md +0 -0
  242. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/shared/use-cases/07-supervisor-intervention.md +0 -0
  243. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/shared/use-cases/08-apps-as-agents.md +0 -0
  244. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/shared/use-cases/09-research-swarm.md +0 -0
  245. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/shared/use-cases/10-agent-lifecycle.md +0 -0
  246. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/shared/use-cases-index.md +0 -0
  247. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/superpowers/plans/2026-03-19-layer1-core-irc.md +0 -0
  248. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/superpowers/plans/2026-03-21-layer5-agent-harness.md +0 -0
  249. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/superpowers/plans/2026-03-30-overview.md +0 -0
  250. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/superpowers/plans/2026-03-30-rooms-management.md +0 -0
  251. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/superpowers/plans/2026-04-02-conversation-threads.md +0 -0
  252. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/superpowers/plans/2026-04-02-ops-tooling.md +0 -0
  253. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/superpowers/plans/2026-04-04-culture-rename.md +0 -0
  254. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/superpowers/plans/2026-04-05-docs-speak-culture.md +0 -0
  255. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/superpowers/plans/2026-04-06-console-chat.md +0 -0
  256. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/superpowers/plans/2026-04-09-decentralized-agent-config.md +0 -0
  257. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/superpowers/plans/2026-04-12-console-enhancements.md +0 -0
  258. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/superpowers/plans/2026-04-15-mesh-events.md +0 -0
  259. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/superpowers/specs/2026-03-19-agentirc-design.md +0 -0
  260. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/superpowers/specs/2026-03-21-layer5-agent-harness-design.md +0 -0
  261. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/superpowers/specs/2026-03-30-overview-design.md +0 -0
  262. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/superpowers/specs/2026-03-30-rooms-management-design.md +0 -0
  263. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/superpowers/specs/2026-04-02-conversation-threads-design.md +0 -0
  264. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/superpowers/specs/2026-04-02-ops-tooling-design.md +0 -0
  265. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/superpowers/specs/2026-04-03-bots-webhooks-design.md +0 -0
  266. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/superpowers/specs/2026-04-04-culture-rename-design.md +0 -0
  267. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/superpowers/specs/2026-04-05-docs-speak-culture-design.md +0 -0
  268. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/superpowers/specs/2026-04-05-lifecycle-reframe-design.md +0 -0
  269. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/superpowers/specs/2026-04-06-cli-reorganization-design.md +0 -0
  270. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/superpowers/specs/2026-04-06-console-chat-design.md +0 -0
  271. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/superpowers/specs/2026-04-07-entity-archiving-design.md +0 -0
  272. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/superpowers/specs/2026-04-07-reflective-development-reframe-design.md +0 -0
  273. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/superpowers/specs/2026-04-08-reflective-development-deepening-design.md +0 -0
  274. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/superpowers/specs/2026-04-09-decentralized-agent-config-design.md +0 -0
  275. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/superpowers/specs/2026-04-12-console-enhancements-design.md +0 -0
  276. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/docs/superpowers/specs/2026-04-15-mesh-events-design.md +0 -0
  277. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/favicon.ico +0 -0
  278. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/packages/agent-harness/README.md +0 -0
  279. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/packages/agent-harness/config.py +0 -0
  280. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/packages/agent-harness/culture.yaml +0 -0
  281. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/packages/agent-harness/daemon.py +0 -0
  282. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/packages/agent-harness/ipc.py +0 -0
  283. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/packages/agent-harness/irc_transport.py +0 -0
  284. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/packages/agent-harness/message_buffer.py +0 -0
  285. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/packages/agent-harness/skill/SKILL.md +0 -0
  286. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/packages/agent-harness/skill/irc_client.py +0 -0
  287. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/packages/agent-harness/socket_server.py +0 -0
  288. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/packages/agent-harness/webhook.py +0 -0
  289. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/plugins/claude-code/.claude-plugin/plugin.json +0 -0
  290. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/plugins/claude-code/skills/culture/SKILL.md +0 -0
  291. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/plugins/claude-code/skills/irc/SKILL.md +0 -0
  292. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/plugins/codex/skills/culture-irc/SKILL.md +0 -0
  293. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/robots.txt +0 -0
  294. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/sonar-project.properties +0 -0
  295. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/__init__.py +0 -0
  296. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/conftest.py +0 -0
  297. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_acp_daemon.py +0 -0
  298. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_agent_runner.py +0 -0
  299. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_archive.py +0 -0
  300. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_bot.py +0 -0
  301. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_bot_config.py +0 -0
  302. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_bot_config_fires_event_toplevel.py +0 -0
  303. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_bot_manager.py +0 -0
  304. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_bots_integration.py +0 -0
  305. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_channel.py +0 -0
  306. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_channel_cli.py +0 -0
  307. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_codex_daemon.py +0 -0
  308. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_connection.py +0 -0
  309. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_console_client.py +0 -0
  310. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_console_commands.py +0 -0
  311. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_console_connection.py +0 -0
  312. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_console_fixes_224_227.py +0 -0
  313. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_console_icons.py +0 -0
  314. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_console_integration.py +0 -0
  315. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_console_status.py +0 -0
  316. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_copilot_daemon.py +0 -0
  317. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_credentials.py +0 -0
  318. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_culture_config.py +0 -0
  319. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_daemon.py +0 -0
  320. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_daemon_config.py +0 -0
  321. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_daemon_ipc.py +0 -0
  322. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_discovery.py +0 -0
  323. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_display.py +0 -0
  324. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_events_basic.py +0 -0
  325. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_events_bot_chain.py +0 -0
  326. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_events_bot_trigger.py +0 -0
  327. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_events_cap_fallback.py +0 -0
  328. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_events_catalog.py +0 -0
  329. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_events_federation.py +0 -0
  330. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_events_history.py +0 -0
  331. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_events_lifecycle.py +0 -0
  332. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_events_reserved_nick.py +0 -0
  333. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_federation.py +0 -0
  334. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_filter_dsl.py +0 -0
  335. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_history.py +0 -0
  336. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_http_listener.py +0 -0
  337. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_integration_layer5.py +0 -0
  338. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_ipc.py +0 -0
  339. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_irc_transport.py +0 -0
  340. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_irc_transport_tags.py +0 -0
  341. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_learn_prompt.py +0 -0
  342. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_link_reconnect.py +0 -0
  343. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_manifest_config.py +0 -0
  344. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_mention_alias.py +0 -0
  345. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_mention_target_cleanup.py +0 -0
  346. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_mention_warning.py +0 -0
  347. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_mentions.py +0 -0
  348. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_mesh_config.py +0 -0
  349. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_mesh_readiness.py +0 -0
  350. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_message.py +0 -0
  351. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_message_buffer.py +0 -0
  352. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_message_tags.py +0 -0
  353. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_messaging.py +0 -0
  354. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_migrate_cli.py +0 -0
  355. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_modes.py +0 -0
  356. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_overview_cli.py +0 -0
  357. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_overview_collector.py +0 -0
  358. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_overview_model.py +0 -0
  359. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_overview_renderer.py +0 -0
  360. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_overview_web.py +0 -0
  361. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_persistence.py +0 -0
  362. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_persistence_timeout.py +0 -0
  363. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_pidfile.py +0 -0
  364. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_poll_loop.py +0 -0
  365. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_register_cli.py +0 -0
  366. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_room_persistence.py +0 -0
  367. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_rooms.py +0 -0
  368. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_rooms_federation.py +0 -0
  369. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_rooms_integration.py +0 -0
  370. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_server_icon_skill.py +0 -0
  371. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_setup_update_cli.py +0 -0
  372. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_skill_client.py +0 -0
  373. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_skill_docs.py +0 -0
  374. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_skills.py +0 -0
  375. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_socket_server.py +0 -0
  376. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_supervisor.py +0 -0
  377. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_template_engine.py +0 -0
  378. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_thread_buffer.py +0 -0
  379. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_threads.py +0 -0
  380. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_virtual_client.py +0 -0
  381. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_wait_for_port.py +0 -0
  382. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_webhook.py +0 -0
  383. {agentirc_cli-7.1.1 → agentirc_cli-7.1.2}/tests/test_welcome_bot.py +0 -0
@@ -18,9 +18,9 @@ jobs:
18
18
  permissions:
19
19
  contents: read
20
20
  steps:
21
- - uses: actions/checkout@v4
21
+ - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
22
22
 
23
- - uses: astral-sh/setup-uv@v4
23
+ - uses: astral-sh/setup-uv@38f3f104447c67c051c4a08e39b64a148898af3a # v4
24
24
 
25
25
  - run: uv python install 3.12
26
26
 
@@ -37,9 +37,9 @@ jobs:
37
37
  contents: read
38
38
  id-token: write
39
39
  steps:
40
- - uses: actions/checkout@v4
40
+ - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
41
41
 
42
- - uses: astral-sh/setup-uv@v4
42
+ - uses: astral-sh/setup-uv@38f3f104447c67c051c4a08e39b64a148898af3a # v4
43
43
 
44
44
  - run: uv python install 3.12
45
45
 
@@ -89,9 +89,9 @@ jobs:
89
89
  contents: read
90
90
  id-token: write
91
91
  steps:
92
- - uses: actions/checkout@v4
92
+ - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
93
93
 
94
- - uses: astral-sh/setup-uv@v4
94
+ - uses: astral-sh/setup-uv@38f3f104447c67c051c4a08e39b64a148898af3a # v4
95
95
 
96
96
  - run: uv python install 3.12
97
97
 
@@ -16,9 +16,9 @@ jobs:
16
16
  permissions:
17
17
  contents: read
18
18
  steps:
19
- - uses: actions/checkout@v4
19
+ - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
20
20
 
21
- - uses: astral-sh/setup-uv@v4
21
+ - uses: astral-sh/setup-uv@38f3f104447c67c051c4a08e39b64a148898af3a # v4
22
22
 
23
23
  - run: uv python install 3.12
24
24
 
@@ -37,7 +37,7 @@ jobs:
37
37
  continue-on-error: true
38
38
 
39
39
  - name: Upload Security Results
40
- uses: actions/upload-artifact@v4
40
+ uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
41
41
  with:
42
42
  name: security-results
43
43
  path: |
@@ -54,10 +54,10 @@ jobs:
54
54
  contents: read
55
55
  pull-requests: write
56
56
  steps:
57
- - uses: actions/checkout@v4
57
+ - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
58
58
 
59
59
  - name: Dependency Review
60
- uses: actions/dependency-review-action@v4
60
+ uses: actions/dependency-review-action@2031cfc080254a8a887f58cffee85186f0e49e48 # v4
61
61
  with:
62
62
  fail-on-severity: high
63
63
 
@@ -68,12 +68,12 @@ jobs:
68
68
  contents: read
69
69
  security-events: write
70
70
  steps:
71
- - uses: actions/checkout@v4
71
+ - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
72
72
 
73
73
  - name: Initialize CodeQL
74
- uses: github/codeql-action/init@v3
74
+ uses: github/codeql-action/init@ce64ddcb0d8d890d2df4a9d1c04ff297367dea2a # v3
75
75
  with:
76
76
  languages: python
77
77
 
78
78
  - name: Perform CodeQL Analysis
79
- uses: github/codeql-action/analyze@v3
79
+ uses: github/codeql-action/analyze@ce64ddcb0d8d890d2df4a9d1c04ff297367dea2a # v3
@@ -10,9 +10,9 @@ jobs:
10
10
  permissions:
11
11
  contents: read
12
12
  steps:
13
- - uses: actions/checkout@v4
13
+ - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
14
14
 
15
- - uses: astral-sh/setup-uv@v4
15
+ - uses: astral-sh/setup-uv@38f3f104447c67c051c4a08e39b64a148898af3a # v4
16
16
 
17
17
  - run: uv python install 3.12
18
18
 
@@ -26,13 +26,13 @@ jobs:
26
26
  contents: read
27
27
  pull-requests: write
28
28
  steps:
29
- - uses: actions/checkout@v4
29
+ - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
30
30
  with:
31
31
  fetch-depth: 0
32
32
 
33
33
  - run: git fetch origin main
34
34
 
35
- - uses: actions/setup-python@v5
35
+ - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
36
36
  with:
37
37
  python-version: "3.12"
38
38
 
@@ -4,6 +4,19 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  Format follows [Keep a Changelog](https://keepachangelog.com/).
6
6
 
7
+ ## [7.1.2] - 2026-04-17
8
+
9
+ ### Changed
10
+
11
+ - Pin all GitHub Actions workflow uses: to full commit SHAs (SonarCloud minor, #258)
12
+ - Document Python API for events.register/validate_event_type/render_event in docs/agentirc/events.md (#249)
13
+ - Document Python API for bot filter DSL and template engine in docs/agentirc/bots.md (#249)
14
+ - Note in ConsoleIRCClient docstring that it intentionally does not negotiate CAP message-tags (#249)
15
+
16
+ ### Fixed
17
+
18
+ - Remove unused PEER_CAPABILITY_EVENTS constant from culture/constants.py (#249)
19
+
7
20
  ## [7.1.1] - 2026-04-17
8
21
 
9
22
  ### Changed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agentirc-cli
3
- Version: 7.1.1
3
+ Version: 7.1.2
4
4
  Summary: Legacy alias for culture — install culture instead
5
5
  Project-URL: Homepage, https://github.com/OriNachum/culture
6
6
  Author: Ori Nachum
@@ -47,6 +47,11 @@ class ConsoleIRCClient:
47
47
 
48
48
  Maintains a persistent connection, buffers incoming PRIVMSG messages,
49
49
  and provides query methods for channel listing, WHO, and history.
50
+
51
+ Does **not** negotiate ``CAP REQ :message-tags``. The TUI renders plain
52
+ body text for mesh events; IRCv3 tags carry structured payloads that the
53
+ console has no use for. Agent harness transports (see
54
+ ``packages/agent-harness/irc_transport.py``) do negotiate the cap.
50
55
  """
51
56
 
52
57
  def __init__(
@@ -13,8 +13,5 @@ SYSTEM_USER_REALNAME = "Culture system messages"
13
13
  EVENT_TAG_TYPE = "event"
14
14
  EVENT_TAG_DATA = "event-data"
15
15
 
16
- # Peer link capability (server-to-server)
17
- PEER_CAPABILITY_EVENTS = "events/1"
18
-
19
16
  # Event-type name regex (dotted lowercase, ≥2 segments)
20
17
  EVENT_TYPE_RE = re.compile(r"^[a-z][a-z0-9_-]*(\.[a-z][a-z0-9_-]*)+$")
@@ -82,6 +82,24 @@ Missing fields evaluate to `False` — filters are fail-closed.
82
82
  Invalid filters are rejected at config-load time with `FilterParseError`.
83
83
  Function calls are not permitted.
84
84
 
85
+ ### Python API
86
+
87
+ The DSL grammar above is exposed by `culture/bots/filter_dsl.py`:
88
+
89
+ | Function | Signature | Purpose |
90
+ |----------|-----------|---------|
91
+ | `compile_filter` | `compile_filter(source: str)` → AST node | Parse a filter expression. Raises `FilterParseError` on invalid input. |
92
+ | `evaluate` | `evaluate(node, event: dict)` → `Any` | Evaluate a compiled AST against an event payload. Used by `BotManager` to decide whether a bot's trigger matches. |
93
+
94
+ ## Template Engine (Python API)
95
+
96
+ `output.template` rendering lives in `culture/bots/template_engine.py`:
97
+
98
+ | Function | Signature | Purpose |
99
+ |----------|-----------|---------|
100
+ | `render_template` | `render_template(template: str, payload: dict \| str)` → `str \| None` | Expand `{dot.path}` tokens against a payload. Returns `None` if any token cannot be resolved (caller should use the bot's `fallback` config). For dict payloads, fields are available at top level (`{event.nick}`); any payload (dict or str) is also exposed via the `body` alias (`{body.event.nick}`). |
101
+ | `render_fallback` | `render_fallback(payload, mode="json")` → `str` | Stringify a payload when template resolution fails. `mode="json"` uses compact JSON; any other value falls back to `str(payload)`. |
102
+
85
103
  ## `fires_event` — Pub/Sub Chains
86
104
 
87
105
  A bot can emit a follow-on event after handling a trigger by adding a
@@ -117,6 +117,23 @@ Channel-scoped events respect each link's `should_relay()` trust check. Global
117
117
  See [Protocol Extensions → Events](../../culture/protocol/extensions/events.md)
118
118
  for the full `SEVENT` wire format.
119
119
 
120
+ ## Custom Event Types (Python API)
121
+
122
+ AgentIRC renders every event body through a registry of template functions in
123
+ `culture/agentirc/events.py`. Skills and in-tree bots can register additional
124
+ event types at module import time.
125
+
126
+ | Function | Signature | Purpose |
127
+ |----------|-----------|---------|
128
+ | `register` | `register(event_type: str, fn: RenderFn) -> None` | Attach a render function to a dotted event type (e.g. `"mybot.alert"`). `RenderFn` is `(data: dict, channel: str \| None) -> str`. |
129
+ | `validate_event_type` | `validate_event_type(name: str) -> bool` | Returns `True` if `name` matches the dotted-lowercase convention (`EVENT_TYPE_RE` in `culture.constants`). |
130
+ | `render_event` | `render_event(event_type, data, channel) -> str` | Look up and invoke the render template; falls back to `f"{event_type} {data}"` on missing template or exception. |
131
+
132
+ Templates are presentation-only — the structured payload is attached as IRCv3
133
+ tags by the server's emit path regardless of what the template returns, so
134
+ custom templates need only concern themselves with producing a readable body
135
+ line for non-CAP clients.
136
+
120
137
  ## Example Flows
121
138
 
122
139
  ### Flow A — Server emits `agent.connect`
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "agentirc-cli"
3
- version = "7.1.1"
3
+ version = "7.1.2"
4
4
  description = "Legacy alias for culture — install culture instead"
5
5
  readme = "README.md"
6
6
  license = "MIT"
@@ -561,7 +561,7 @@ wheels = [
561
561
 
562
562
  [[package]]
563
563
  name = "culture"
564
- version = "7.1.1"
564
+ version = "7.1.2"
565
565
  source = { editable = "." }
566
566
  dependencies = [
567
567
  { name = "aiohttp" },
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