bazaar-compute-node 0.1.30__tar.gz → 0.1.32__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.32}/PKG-INFO +1 -1
  2. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/pyproject.toml +1 -1
  3. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/pyproject.toml.orig +1 -1
  4. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/claude/client.py +3 -1
  5. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/claude/process.py +27 -4
  6. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/claude/protocol.py +9 -1
  7. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/claude/runtime.py +5 -0
  8. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/sqlite/codec.py +3 -2
  9. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/sqlite/migrations/__init__.py +2 -0
  10. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/sqlite/migrations/registry.py +2 -0
  11. bazaar_compute_node-0.1.32/src/bazaar_compute_node/contrib/sqlite/migrations/v23_persist_sender_identity.py +11 -0
  12. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/sqlite/repository/messages.py +16 -14
  13. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/LICENSE +0 -0
  14. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/README.md +0 -0
  15. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/__init__.py +0 -0
  16. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/app/__init__.py +0 -0
  17. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/app/agent.py +0 -0
  18. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/app/agent_management.py +0 -0
  19. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/app/application.py +0 -0
  20. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/app/attachments.py +0 -0
  21. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/app/command.py +0 -0
  22. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/app/config.py +0 -0
  23. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/app/registry.py +0 -0
  24. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/app/resource_dispatch.py +0 -0
  25. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/app/system_service.py +0 -0
  26. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/app/transport.py +0 -0
  27. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/app/windows_pipe.py +0 -0
  28. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/app/wrapper.py +0 -0
  29. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/bcc.py +0 -0
  30. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/cli.py +0 -0
  31. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/__init__.py +0 -0
  32. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/claude/__init__.py +0 -0
  33. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/claude/approval.py +0 -0
  34. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/claude/events.py +0 -0
  35. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/claude/plugin.py +0 -0
  36. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/codex/__init__.py +0 -0
  37. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/codex/approval.py +0 -0
  38. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/codex/client.py +0 -0
  39. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/codex/events.py +0 -0
  40. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/codex/plugin.py +0 -0
  41. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/codex/process.py +0 -0
  42. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/codex/protocol.py +0 -0
  43. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/codex/runtime.py +0 -0
  44. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/lark/__init__.py +0 -0
  45. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/lark/api.py +0 -0
  46. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/lark/approval.py +0 -0
  47. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/lark/attachments.py +0 -0
  48. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/lark/channel.py +0 -0
  49. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/lark/frame.py +0 -0
  50. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/lark/identity.py +0 -0
  51. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/lark/outbound.py +0 -0
  52. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/lark/plugin.py +0 -0
  53. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/lark/transport.py +0 -0
  54. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/logging/__init__.py +0 -0
  55. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/logging/audit.py +0 -0
  56. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/logging/plugin.py +0 -0
  57. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/sqlite/__init__.py +0 -0
  58. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/sqlite/database.py +0 -0
  59. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/sqlite/executor.py +0 -0
  60. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/sqlite/migrations/model.py +0 -0
  61. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/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.32}/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.32}/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.32}/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.32}/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.32}/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.32}/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.32}/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.32}/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.32}/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.32}/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.32}/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.32}/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.32}/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.32}/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.32}/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.32}/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.32}/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.32}/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.32}/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.32}/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.32}/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.32}/src/bazaar_compute_node/contrib/sqlite/plugin.py +0 -0
  84. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/sqlite/reminder_codec.py +0 -0
  85. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/sqlite/repository/__init__.py +0 -0
  86. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/sqlite/repository/base.py +0 -0
  87. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/sqlite/repository/facade.py +0 -0
  88. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/sqlite/repository/reminders.py +0 -0
  89. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/sqlite/repository/sessions.py +0 -0
  90. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/sqlite/storage.py +0 -0
  91. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/telegram/__init__.py +0 -0
  92. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/telegram/api.py +0 -0
  93. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/telegram/approval.py +0 -0
  94. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/telegram/attachments.py +0 -0
  95. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/telegram/channel.py +0 -0
  96. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/telegram/identity.py +0 -0
  97. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/telegram/markdown.py +0 -0
  98. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/telegram/outbound.py +0 -0
  99. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/telegram/plugin.py +0 -0
  100. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/wecom/__init__.py +0 -0
  101. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/wecom/channel.py +0 -0
  102. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/wecom/markdown.py +0 -0
  103. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/wecom/outbound.py +0 -0
  104. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/contrib/wecom/plugin.py +0 -0
  105. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/core/__init__.py +0 -0
  106. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/core/approval.py +0 -0
  107. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/core/audit.py +0 -0
  108. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/core/channel.py +0 -0
  109. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/core/client.py +0 -0
  110. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/core/command.py +0 -0
  111. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/core/concurrency.py +0 -0
  112. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/core/correlation.py +0 -0
  113. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/core/inbox.py +0 -0
  114. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/core/instruction.py +0 -0
  115. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/core/lifecycle.py +0 -0
  116. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/core/models/__init__.py +0 -0
  117. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/core/models/entities.py +0 -0
  118. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/core/models/reminder.py +0 -0
  119. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/core/models/reminder_owner.py +0 -0
  120. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/core/models/states.py +0 -0
  121. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/core/observability.py +0 -0
  122. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/core/orchestration/__init__.py +0 -0
  123. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/core/orchestration/command.py +0 -0
  124. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/core/orchestration/delivery.py +0 -0
  125. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/core/orchestration/error_feedback.py +0 -0
  126. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/core/orchestration/reminder.py +0 -0
  127. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/core/orchestration/reminder_command.py +0 -0
  128. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/core/orchestration/services.py +0 -0
  129. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/core/orchestration/session.py +0 -0
  130. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/core/orchestration/turn.py +0 -0
  131. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/core/outcomes.py +0 -0
  132. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/core/paths.py +0 -0
  133. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/core/reminder.py +0 -0
  134. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/core/reminder_schedule.py +0 -0
  135. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/core/runtime.py +0 -0
  136. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/core/storage.py +0 -0
  137. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/core/timerwheel.py +0 -0
  138. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/core/utils/__init__.py +0 -0
  139. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/core/utils/line_reader.py +0 -0
  140. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/i18n/__init__.py +0 -0
  141. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/i18n/catalog.py +0 -0
  142. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/rendering.py +0 -0
  143. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/resources/developer_instructions.md +0 -0
  144. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/resources/locales/en.toml +0 -0
  145. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/resources/locales/zh-CN.toml +0 -0
  146. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/resources/system_service/launchd.plist +0 -0
  147. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/resources/system_service/launchd.sh +0 -0
  148. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/resources/system_service/systemd.service +0 -0
  149. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/resources/system_service/windows.ps1 +0 -0
  150. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/src/bazaar_compute_node/resources/system_service/windows.vbs +0 -0
  151. {bazaar_compute_node-0.1.30 → bazaar_compute_node-0.1.32}/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.32
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.32"
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.32"
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)
@@ -48,6 +48,7 @@ def build_arguments(
48
48
  *,
49
49
  system_prompt: str,
50
50
  settings: str,
51
+ permission_mode: str = "default",
51
52
  session_id: str | None = None,
52
53
  resume: str | None = None,
53
54
  model: str | None = None,
@@ -69,7 +70,7 @@ def build_arguments(
69
70
  "--permission-prompt-tool",
70
71
  "stdio",
71
72
  "--permission-mode",
72
- "default",
73
+ permission_mode,
73
74
  "--disallowedTools",
74
75
  "AskUserQuestion",
75
76
  f"--session-id={session_id}"
@@ -111,6 +112,7 @@ class ProcessSupervisor:
111
112
  self._returncode: int | None = None
112
113
  self._fatal_error: ClaudeTransportError | None = None
113
114
  self._stderr_tail: deque[str] = deque(maxlen=stderr_tail_limit)
115
+ self._result_error_tail: deque[str] = deque(maxlen=stderr_tail_limit)
114
116
  self._incoming: asyncio.Queue[JsonObject | object] = asyncio.Queue()
115
117
  self._stdout_task: asyncio.Task[None] | None = None
116
118
  self._stderr_task: asyncio.Task[None] | None = None
@@ -139,6 +141,10 @@ class ProcessSupervisor:
139
141
  def stderr_tail(self) -> tuple[str, ...]:
140
142
  return tuple(self._stderr_tail)
141
143
 
144
+ @property
145
+ def result_error_tail(self) -> tuple[str, ...]:
146
+ return tuple(self._result_error_tail)
147
+
142
148
  async def start(self, *, timeout: float) -> None:
143
149
  async with self._lifecycle_lock:
144
150
  if self.is_running:
@@ -186,7 +192,9 @@ class ProcessSupervisor:
186
192
  await process.stdin.drain()
187
193
  except (BrokenPipeError, ConnectionError, OSError) as error:
188
194
  raise ClaudeProcessExited(
189
- process.returncode, self.stderr_tail
195
+ process.returncode,
196
+ self.stderr_tail,
197
+ self.result_error_tail,
190
198
  ) from error
191
199
 
192
200
  async def receive(self) -> JsonObject:
@@ -194,7 +202,11 @@ class ProcessSupervisor:
194
202
  if item is _CLOSED:
195
203
  if self._fatal_error is not None:
196
204
  raise self._fatal_error
197
- raise ClaudeProcessExited(self._returncode, self.stderr_tail)
205
+ raise ClaudeProcessExited(
206
+ self._returncode,
207
+ self.stderr_tail,
208
+ self.result_error_tail,
209
+ )
198
210
  return cast(JsonObject, item)
199
211
 
200
212
  async def wait(self, *, timeout: float | None = None) -> int | None:
@@ -242,6 +254,13 @@ class ProcessSupervisor:
242
254
  payload = decode_stdout_line(line.removesuffix(b"\n"))
243
255
  if payload is None:
244
256
  continue
257
+ if payload["type"] == "result":
258
+ self._result_error_tail.clear()
259
+ errors = payload.get("errors")
260
+ if isinstance(errors, list):
261
+ for error in errors:
262
+ if isinstance(error, str) and error.strip():
263
+ self._result_error_tail.append(error.strip())
245
264
  await self._incoming.put(payload)
246
265
  except asyncio.CancelledError:
247
266
  raise
@@ -280,7 +299,11 @@ class ProcessSupervisor:
280
299
  task.cancel()
281
300
  await asyncio.gather(*readers, return_exceptions=True)
282
301
  if self._returncode and self._fatal_error is None:
283
- self._fatal_error = ClaudeProcessExited(self._returncode, self.stderr_tail)
302
+ self._fatal_error = ClaudeProcessExited(
303
+ self._returncode,
304
+ self.stderr_tail,
305
+ self.result_error_tail,
306
+ )
284
307
  self._state = (
285
308
  ProcessState.FAILED
286
309
  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):
@@ -426,6 +426,11 @@ class Runtime(IRuntime, IAsyncLifecycle):
426
426
  arguments = build_arguments(
427
427
  system_prompt=prompt,
428
428
  settings=settings,
429
+ permission_mode=(
430
+ "bypassPermissions"
431
+ if self._context.sandbox_mode is RuntimeSandboxMode.DANGER_FULL_ACCESS
432
+ else "default"
433
+ ),
429
434
  session_id=None if resume else provider_thread_id,
430
435
  resume=provider_thread_id if resume else None,
431
436
  model=self._model,
@@ -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,
@@ -675,11 +679,8 @@ class MessageOperations(RepositoryBase):
675
679
  canonical.provider_message_id,
676
680
  canonical.provider_time_ms,
677
681
  canonical.received_at_ms,
678
- (
679
- canonical.sender.display_name
680
- if canonical.sender is not None
681
- else None
682
- ),
682
+ canonical.sender.name if canonical.sender is not None else None,
683
+ canonical.sender.id if canonical.sender is not None else None,
683
684
  canonical.message_type,
684
685
  canonical.target,
685
686
  canonical.target_kind.value,
@@ -880,11 +881,11 @@ class MessageOperations(RepositoryBase):
880
881
  "INSERT INTO messages ("
881
882
  "message_id, seq, direction, agent_id, session_id, "
882
883
  "channel_session_id, channel, provider_thread_id, "
883
- "provider_message_id, sender, message_type, target, target_kind, "
884
+ "provider_message_id, sender, sender_id, message_type, target, target_kind, "
884
885
  "reply_to_message_id, body, command_id, delivery_state, "
885
886
  "provider_receipt_ref, created_at_ms, provider_attempted_at_ms, completed_at_ms, "
886
887
  "error_kind, error_message, metadata_json, attachments_json"
887
- ") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
888
+ ") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
888
889
  (
889
890
  canonical.message_id,
890
891
  canonical.seq,
@@ -895,7 +896,8 @@ class MessageOperations(RepositoryBase):
895
896
  canonical.channel,
896
897
  canonical.provider_thread_id,
897
898
  canonical.provider_message_id,
898
- sender.display_name,
899
+ sender.name,
900
+ sender.id,
899
901
  canonical.message_type,
900
902
  canonical.target,
901
903
  canonical.target_kind.value,