bazaar-compute-node 0.1.30__tar.gz → 0.1.31__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 (151) hide show
  1. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/PKG-INFO +1 -1
  2. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/pyproject.toml +1 -1
  3. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/pyproject.toml.orig +1 -1
  4. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/claude/client.py +3 -1
  5. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/claude/process.py +24 -3
  6. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/claude/protocol.py +9 -1
  7. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/sqlite/codec.py +3 -2
  8. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/sqlite/migrations/__init__.py +2 -0
  9. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/sqlite/migrations/registry.py +2 -0
  10. bazaar_compute_node-0.1.31/src/bazaar_compute_node/contrib/sqlite/migrations/v23_persist_sender_identity.py +11 -0
  11. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/sqlite/repository/messages.py +14 -8
  12. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/LICENSE +0 -0
  13. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/README.md +0 -0
  14. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/__init__.py +0 -0
  15. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/app/__init__.py +0 -0
  16. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/app/agent.py +0 -0
  17. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/app/agent_management.py +0 -0
  18. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/app/application.py +0 -0
  19. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/app/attachments.py +0 -0
  20. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/app/command.py +0 -0
  21. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/app/config.py +0 -0
  22. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/app/registry.py +0 -0
  23. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/app/resource_dispatch.py +0 -0
  24. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/app/system_service.py +0 -0
  25. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/app/transport.py +0 -0
  26. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/app/windows_pipe.py +0 -0
  27. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/app/wrapper.py +0 -0
  28. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/bcc.py +0 -0
  29. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/cli.py +0 -0
  30. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/__init__.py +0 -0
  31. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/claude/__init__.py +0 -0
  32. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/claude/approval.py +0 -0
  33. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/claude/events.py +0 -0
  34. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/claude/plugin.py +0 -0
  35. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/claude/runtime.py +0 -0
  36. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/codex/__init__.py +0 -0
  37. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/codex/approval.py +0 -0
  38. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/codex/client.py +0 -0
  39. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/codex/events.py +0 -0
  40. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/codex/plugin.py +0 -0
  41. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/codex/process.py +0 -0
  42. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/codex/protocol.py +0 -0
  43. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/codex/runtime.py +0 -0
  44. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/lark/__init__.py +0 -0
  45. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/lark/api.py +0 -0
  46. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/lark/approval.py +0 -0
  47. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/lark/attachments.py +0 -0
  48. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/lark/channel.py +0 -0
  49. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/lark/frame.py +0 -0
  50. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/lark/identity.py +0 -0
  51. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/lark/outbound.py +0 -0
  52. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/lark/plugin.py +0 -0
  53. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/lark/transport.py +0 -0
  54. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/logging/__init__.py +0 -0
  55. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/logging/audit.py +0 -0
  56. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/logging/plugin.py +0 -0
  57. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/sqlite/__init__.py +0 -0
  58. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/sqlite/database.py +0 -0
  59. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/sqlite/executor.py +0 -0
  60. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/sqlite/migrations/model.py +0 -0
  61. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/sqlite/migrations/v01_initial_node_schema.py +0 -0
  62. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/sqlite/migrations/v02_session_mapping_indexes.py +0 -0
  63. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/sqlite/migrations/v03_message_log_indexes.py +0 -0
  64. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/sqlite/migrations/v04_runtime_attempt_facts.py +0 -0
  65. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/sqlite/migrations/v05_inbound_message_references.py +0 -0
  66. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/sqlite/migrations/v06_inbound_message_reference_integrity.py +0 -0
  67. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/sqlite/migrations/v07_inbound_provider_identity.py +0 -0
  68. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/sqlite/migrations/v08_transient_stream_events.py +0 -0
  69. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/sqlite/migrations/v09_remove_runtime_events.py +0 -0
  70. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/sqlite/migrations/v10_add_outbound_attachments.py +0 -0
  71. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/sqlite/migrations/v11_remove_runtime_session_mapping.py +0 -0
  72. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/sqlite/migrations/v12_add_reminders.py +0 -0
  73. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/sqlite/migrations/v13_add_agent_ownership.py +0 -0
  74. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/sqlite/migrations/v14_add_inbox_discovery_indexes.py +0 -0
  75. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/sqlite/migrations/v15_add_handoffs.py +0 -0
  76. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/sqlite/migrations/v16_remove_outbound_drafts.py +0 -0
  77. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/sqlite/migrations/v17_remove_agent_identity_triggers.py +0 -0
  78. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/sqlite/migrations/v18_unify_messages.py +0 -0
  79. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/sqlite/migrations/v19_reminder_system_messages.py +0 -0
  80. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/sqlite/migrations/v20_remove_freshness_persistence.py +0 -0
  81. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/sqlite/migrations/v21_remove_handoffs.py +0 -0
  82. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/sqlite/migrations/v22_readable_targets.py +0 -0
  83. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/sqlite/plugin.py +0 -0
  84. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/sqlite/reminder_codec.py +0 -0
  85. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/sqlite/repository/__init__.py +0 -0
  86. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/sqlite/repository/base.py +0 -0
  87. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/sqlite/repository/facade.py +0 -0
  88. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/sqlite/repository/reminders.py +0 -0
  89. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/sqlite/repository/sessions.py +0 -0
  90. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/sqlite/storage.py +0 -0
  91. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/telegram/__init__.py +0 -0
  92. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/telegram/api.py +0 -0
  93. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/telegram/approval.py +0 -0
  94. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/telegram/attachments.py +0 -0
  95. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/telegram/channel.py +0 -0
  96. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/telegram/identity.py +0 -0
  97. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/telegram/markdown.py +0 -0
  98. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/telegram/outbound.py +0 -0
  99. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/telegram/plugin.py +0 -0
  100. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/wecom/__init__.py +0 -0
  101. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/wecom/channel.py +0 -0
  102. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/wecom/markdown.py +0 -0
  103. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/wecom/outbound.py +0 -0
  104. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/contrib/wecom/plugin.py +0 -0
  105. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/core/__init__.py +0 -0
  106. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/core/approval.py +0 -0
  107. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/core/audit.py +0 -0
  108. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/core/channel.py +0 -0
  109. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/core/client.py +0 -0
  110. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/core/command.py +0 -0
  111. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/core/concurrency.py +0 -0
  112. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/core/correlation.py +0 -0
  113. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/core/inbox.py +0 -0
  114. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/core/instruction.py +0 -0
  115. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/core/lifecycle.py +0 -0
  116. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/core/models/__init__.py +0 -0
  117. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/core/models/entities.py +0 -0
  118. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/core/models/reminder.py +0 -0
  119. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/core/models/reminder_owner.py +0 -0
  120. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/core/models/states.py +0 -0
  121. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/core/observability.py +0 -0
  122. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/core/orchestration/__init__.py +0 -0
  123. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/core/orchestration/command.py +0 -0
  124. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/core/orchestration/delivery.py +0 -0
  125. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/core/orchestration/error_feedback.py +0 -0
  126. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/core/orchestration/reminder.py +0 -0
  127. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/core/orchestration/reminder_command.py +0 -0
  128. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/core/orchestration/services.py +0 -0
  129. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/core/orchestration/session.py +0 -0
  130. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/core/orchestration/turn.py +0 -0
  131. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/core/outcomes.py +0 -0
  132. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/core/paths.py +0 -0
  133. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/core/reminder.py +0 -0
  134. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/core/reminder_schedule.py +0 -0
  135. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/core/runtime.py +0 -0
  136. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/core/storage.py +0 -0
  137. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/core/timerwheel.py +0 -0
  138. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/core/utils/__init__.py +0 -0
  139. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/core/utils/line_reader.py +0 -0
  140. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/i18n/__init__.py +0 -0
  141. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/i18n/catalog.py +0 -0
  142. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/rendering.py +0 -0
  143. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/resources/developer_instructions.md +0 -0
  144. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/resources/locales/en.toml +0 -0
  145. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/resources/locales/zh-CN.toml +0 -0
  146. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/resources/system_service/launchd.plist +0 -0
  147. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/resources/system_service/launchd.sh +0 -0
  148. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/resources/system_service/systemd.service +0 -0
  149. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/resources/system_service/windows.ps1 +0 -0
  150. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/resources/system_service/windows.vbs +0 -0
  151. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.31}/src/bazaar_compute_node/resources/system_service/windows.xml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bazaar-compute-node
3
- Version: 0.1.30
3
+ Version: 0.1.31
4
4
  Summary: Runtime-agnostic computer node daemon for agents and channels.
5
5
  License-Expression: AGPL-3.0-only
6
6
  License-File: LICENSE
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "bazaar-compute-node"
3
- version = "0.1.30"
3
+ version = "0.1.31"
4
4
  description = "Runtime-agnostic computer node daemon for agents and channels."
5
5
  readme = "README.md"
6
6
  license = "AGPL-3.0-only"
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "bazaar-compute-node"
3
- version = "0.1.30"
3
+ version = "0.1.31"
4
4
  description = "Runtime-agnostic computer node daemon for agents and channels."
5
5
  readme = "README.md"
6
6
  license = "AGPL-3.0-only"
@@ -288,7 +288,9 @@ class Client:
288
288
  task.cancel()
289
289
  await asyncio.gather(task, return_exceptions=True)
290
290
  error = ClaudeProcessExited(
291
- self._supervisor.returncode, self._supervisor.stderr_tail
291
+ self._supervisor.returncode,
292
+ self._supervisor.stderr_tail,
293
+ self._supervisor.result_error_tail,
292
294
  )
293
295
  self._fail_pending(error)
294
296
  self._publish_failure(error)
@@ -111,6 +111,7 @@ class ProcessSupervisor:
111
111
  self._returncode: int | None = None
112
112
  self._fatal_error: ClaudeTransportError | None = None
113
113
  self._stderr_tail: deque[str] = deque(maxlen=stderr_tail_limit)
114
+ self._result_error_tail: deque[str] = deque(maxlen=stderr_tail_limit)
114
115
  self._incoming: asyncio.Queue[JsonObject | object] = asyncio.Queue()
115
116
  self._stdout_task: asyncio.Task[None] | None = None
116
117
  self._stderr_task: asyncio.Task[None] | None = None
@@ -139,6 +140,10 @@ class ProcessSupervisor:
139
140
  def stderr_tail(self) -> tuple[str, ...]:
140
141
  return tuple(self._stderr_tail)
141
142
 
143
+ @property
144
+ def result_error_tail(self) -> tuple[str, ...]:
145
+ return tuple(self._result_error_tail)
146
+
142
147
  async def start(self, *, timeout: float) -> None:
143
148
  async with self._lifecycle_lock:
144
149
  if self.is_running:
@@ -186,7 +191,9 @@ class ProcessSupervisor:
186
191
  await process.stdin.drain()
187
192
  except (BrokenPipeError, ConnectionError, OSError) as error:
188
193
  raise ClaudeProcessExited(
189
- process.returncode, self.stderr_tail
194
+ process.returncode,
195
+ self.stderr_tail,
196
+ self.result_error_tail,
190
197
  ) from error
191
198
 
192
199
  async def receive(self) -> JsonObject:
@@ -194,7 +201,11 @@ class ProcessSupervisor:
194
201
  if item is _CLOSED:
195
202
  if self._fatal_error is not None:
196
203
  raise self._fatal_error
197
- raise ClaudeProcessExited(self._returncode, self.stderr_tail)
204
+ raise ClaudeProcessExited(
205
+ self._returncode,
206
+ self.stderr_tail,
207
+ self.result_error_tail,
208
+ )
198
209
  return cast(JsonObject, item)
199
210
 
200
211
  async def wait(self, *, timeout: float | None = None) -> int | None:
@@ -242,6 +253,12 @@ class ProcessSupervisor:
242
253
  payload = decode_stdout_line(line.removesuffix(b"\n"))
243
254
  if payload is None:
244
255
  continue
256
+ if payload["type"] == "result":
257
+ errors = payload.get("errors")
258
+ if isinstance(errors, list):
259
+ for error in errors:
260
+ if isinstance(error, str) and error.strip():
261
+ self._result_error_tail.append(error.strip())
245
262
  await self._incoming.put(payload)
246
263
  except asyncio.CancelledError:
247
264
  raise
@@ -280,7 +297,11 @@ class ProcessSupervisor:
280
297
  task.cancel()
281
298
  await asyncio.gather(*readers, return_exceptions=True)
282
299
  if self._returncode and self._fatal_error is None:
283
- self._fatal_error = ClaudeProcessExited(self._returncode, self.stderr_tail)
300
+ self._fatal_error = ClaudeProcessExited(
301
+ self._returncode,
302
+ self.stderr_tail,
303
+ self.result_error_tail,
304
+ )
284
305
  self._state = (
285
306
  ProcessState.FAILED
286
307
  if self._fatal_error is not None
@@ -19,13 +19,21 @@ class ClaudeProcessNotRunning(ClaudeTransportError):
19
19
 
20
20
 
21
21
  class ClaudeProcessExited(ClaudeTransportError):
22
- def __init__(self, returncode: int | None, stderr_tail: tuple[str, ...]) -> None:
22
+ def __init__(
23
+ self,
24
+ returncode: int | None,
25
+ stderr_tail: tuple[str, ...],
26
+ result_error_tail: tuple[str, ...] = (),
27
+ ) -> None:
23
28
  message = f"Claude CLI exited with code {returncode}"
24
29
  if stderr_tail:
25
30
  message = f"{message}: {stderr_tail[-1]}"
31
+ elif result_error_tail:
32
+ message = f"{message}: {result_error_tail[-1]}"
26
33
  super().__init__(message)
27
34
  self.returncode = returncode
28
35
  self.stderr_tail = stderr_tail
36
+ self.result_error_tail = result_error_tail
29
37
 
30
38
 
31
39
  class ClaudeControlError(ClaudeProtocolError):
@@ -100,13 +100,14 @@ def message_from_row(
100
100
  ) -> Message[InboundAttachment | OutboundAttachment]:
101
101
  direction = MessageDirection(_required_text(row["direction"], "direction"))
102
102
  sender = _optional_text(row["sender"], "sender")
103
+ sender_id = _optional_text(row["sender_id"], "sender_id")
103
104
  metadata = _decode_metadata(row["metadata_json"], "metadata_json")
104
105
  sender_identity = None
105
- if sender is not None:
106
+ if sender is not None or sender_id is not None:
106
107
  sender_identity = (
107
108
  SenderIdentity(id="system", name="system")
108
109
  if metadata.get("sender_kind") == SenderKind.SYSTEM.value
109
- else SenderIdentity(name=sender)
110
+ else SenderIdentity(id=sender_id, name=sender)
110
111
  )
111
112
  common = {
112
113
  "direction": direction,
@@ -30,6 +30,7 @@ from .v16_remove_outbound_drafts import OUTBOUND_DRAFT_REMOVAL_MIGRATION
30
30
  from .v17_remove_agent_identity_triggers import STORAGE_ACCESS_MIGRATION
31
31
  from .v18_unify_messages import MESSAGE_UNIFICATION_MIGRATION
32
32
  from .v19_reminder_system_messages import REMINDER_SYSTEM_MESSAGE_MIGRATION
33
+ from .v23_persist_sender_identity import SENDER_IDENTITY_MIGRATION
33
34
 
34
35
  __all__ = [
35
36
  "AGENT_OWNERSHIP_MIGRATION",
@@ -49,6 +50,7 @@ __all__ = [
49
50
  "RUNTIME_EVENTS_REMOVAL_MIGRATION",
50
51
  "RUNTIME_SESSION_MAPPING_REMOVAL_MIGRATION",
51
52
  "SCHEMA_MIGRATION",
53
+ "SENDER_IDENTITY_MIGRATION",
52
54
  "SESSION_MAPPING_INDEX_MIGRATION",
53
55
  "STORAGE_ACCESS_MIGRATION",
54
56
  "TRANSIENT_STREAM_EVENT_MIGRATION",
@@ -33,6 +33,7 @@ from .v20_remove_freshness_persistence import (
33
33
  )
34
34
  from .v21_remove_handoffs import HANDOFF_REMOVAL_MIGRATION
35
35
  from .v22_readable_targets import READABLE_TARGET_MIGRATION
36
+ from .v23_persist_sender_identity import SENDER_IDENTITY_MIGRATION
36
37
 
37
38
  if TYPE_CHECKING:
38
39
  from ..executor import SqliteSession
@@ -80,6 +81,7 @@ MIGRATIONS = _migration_ledger(
80
81
  FRESHNESS_PERSISTENCE_REMOVAL_MIGRATION,
81
82
  HANDOFF_REMOVAL_MIGRATION,
82
83
  READABLE_TARGET_MIGRATION,
84
+ SENDER_IDENTITY_MIGRATION,
83
85
  )
84
86
 
85
87
 
@@ -0,0 +1,11 @@
1
+ from __future__ import annotations
2
+
3
+ from .model import Migration
4
+
5
+ SENDER_IDENTITY_MIGRATION = Migration(
6
+ version=23,
7
+ name="persist_sender_identity",
8
+ statements=("ALTER TABLE messages ADD COLUMN sender_id TEXT",),
9
+ )
10
+
11
+ __all__ = ["SENDER_IDENTITY_MIGRATION"]
@@ -41,7 +41,7 @@ from .base import RepositoryBase
41
41
  _MESSAGE_COLUMNS = (
42
42
  "message_id, seq, direction, agent_id, session_id, channel_session_id, "
43
43
  "channel, provider_thread_id, provider_message_id, provider_time_ms, "
44
- "received_at_ms, sender, message_type, target, target_kind, "
44
+ "received_at_ms, sender, sender_id, message_type, target, target_kind, "
45
45
  "reply_to_message_id, body, mentions_agent, notifies_runtime, "
46
46
  "provider_payload_ref, command_id, delivery_state, provider_receipt_ref, created_at_ms, "
47
47
  "provider_attempted_at_ms, completed_at_ms, error_kind, error_message, "
@@ -55,6 +55,7 @@ WITH latest_message_ranked AS (
55
55
  message_id,
56
56
  target,
57
57
  sender,
58
+ sender_id,
58
59
  provider_time_ms,
59
60
  COALESCE(received_at_ms, created_at_ms) AS activity_at_ms,
60
61
  ROW_NUMBER() OVER (
@@ -77,6 +78,7 @@ latest_message AS (
77
78
  message_id,
78
79
  target,
79
80
  sender,
81
+ sender_id,
80
82
  provider_time_ms,
81
83
  activity_at_ms
82
84
  FROM latest_message_ranked
@@ -114,6 +116,7 @@ target_catalog AS (
114
116
  ) AS last_activity_at_ms,
115
117
  latest.message_id AS latest_message_id,
116
118
  latest.sender AS latest_sender,
119
+ latest.sender_id AS latest_sender_id,
117
120
  latest.provider_time_ms AS latest_provider_time_ms,
118
121
  latest.activity_at_ms AS latest_received_at_ms
119
122
  FROM bcn_sessions AS bcn
@@ -162,6 +165,7 @@ def _append_message_filters(
162
165
  def _inbox_target_summary_from_row(row: aiosqlite.Row) -> InboxTargetSummary:
163
166
  latest_message_id = cast(str | None, row["latest_message_id"])
164
167
  latest_sender_name = cast(str | None, row["latest_sender"])
168
+ latest_sender_id = cast(str | None, row["latest_sender_id"])
165
169
  return InboxTargetSummary(
166
170
  target=cast(str, row["target"]),
167
171
  session_id=cast(str, row["session_id"]),
@@ -171,8 +175,8 @@ def _inbox_target_summary_from_row(row: aiosqlite.Row) -> InboxTargetSummary:
171
175
  last_activity_at_ms=cast(int, row["last_activity_at_ms"]),
172
176
  latest_message_id=latest_message_id,
173
177
  latest_sender=(
174
- SenderIdentity(name=latest_sender_name)
175
- if latest_sender_name is not None
178
+ SenderIdentity(id=latest_sender_id, name=latest_sender_name)
179
+ if latest_sender_name is not None or latest_sender_id is not None
176
180
  else None
177
181
  ),
178
182
  latest_provider_time_ms=cast(int | None, row["latest_provider_time_ms"]),
@@ -266,7 +270,7 @@ class MessageOperations(RepositoryBase):
266
270
  rows = await self.fetchall(
267
271
  _INBOX_TARGET_CATALOG_CTE
268
272
  + "SELECT target, session_id, target_kind, pending_count, "
269
- "last_activity_at_ms, latest_message_id, latest_sender, "
273
+ "last_activity_at_ms, latest_message_id, latest_sender, latest_sender_id, "
270
274
  "latest_provider_time_ms, latest_received_at_ms "
271
275
  "FROM target_catalog "
272
276
  "ORDER BY last_activity_at_ms DESC, session_id "
@@ -659,10 +663,10 @@ class MessageOperations(RepositoryBase):
659
663
  "INSERT INTO messages ("
660
664
  "message_id, seq, direction, agent_id, session_id, channel_session_id, "
661
665
  "channel, provider_thread_id, provider_message_id, provider_time_ms, "
662
- "received_at_ms, sender, message_type, target, target_kind, "
666
+ "received_at_ms, sender, sender_id, message_type, target, target_kind, "
663
667
  "reply_to_message_id, body, mentions_agent, notifies_runtime, "
664
668
  "provider_payload_ref, metadata_json"
665
- ") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
669
+ ") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
666
670
  (
667
671
  canonical.message_id,
668
672
  canonical.seq,
@@ -680,6 +684,7 @@ class MessageOperations(RepositoryBase):
680
684
  if canonical.sender is not None
681
685
  else None
682
686
  ),
687
+ canonical.sender.id if canonical.sender is not None else None,
683
688
  canonical.message_type,
684
689
  canonical.target,
685
690
  canonical.target_kind.value,
@@ -880,11 +885,11 @@ class MessageOperations(RepositoryBase):
880
885
  "INSERT INTO messages ("
881
886
  "message_id, seq, direction, agent_id, session_id, "
882
887
  "channel_session_id, channel, provider_thread_id, "
883
- "provider_message_id, sender, message_type, target, target_kind, "
888
+ "provider_message_id, sender, sender_id, message_type, target, target_kind, "
884
889
  "reply_to_message_id, body, command_id, delivery_state, "
885
890
  "provider_receipt_ref, created_at_ms, provider_attempted_at_ms, completed_at_ms, "
886
891
  "error_kind, error_message, metadata_json, attachments_json"
887
- ") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
892
+ ") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
888
893
  (
889
894
  canonical.message_id,
890
895
  canonical.seq,
@@ -896,6 +901,7 @@ class MessageOperations(RepositoryBase):
896
901
  canonical.provider_thread_id,
897
902
  canonical.provider_message_id,
898
903
  sender.display_name,
904
+ sender.id,
899
905
  canonical.message_type,
900
906
  canonical.target,
901
907
  canonical.target_kind.value,