bazaar-compute-node 0.2.1rc5__tar.gz → 0.2.1rc6__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 (380) hide show
  1. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/PKG-INFO +1 -1
  2. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/pyproject.toml +1 -1
  3. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/pyproject.toml.orig +1 -1
  4. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/locales/en.toml +2 -0
  5. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/locales/zh-CN.toml +2 -0
  6. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/static/app.css +22 -4
  7. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/static/components.js +5 -2
  8. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/agent_form.html +2 -2
  9. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/agent_list.html +1 -1
  10. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/agent_profile.html +1 -1
  11. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/agent_profile_activity.html +2 -1
  12. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/agent_profile_skills.html +2 -1
  13. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/agent_profile_status.html +1 -1
  14. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/agent_profile_workspace.html +1 -1
  15. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/agent_row.html +1 -1
  16. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/agents.html +1 -1
  17. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/chat.html +1 -1
  18. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/components.html +2 -2
  19. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/computer_detail.html +1 -1
  20. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/computer_list.html +1 -1
  21. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/contacts.html +1 -1
  22. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/conversation_reminders.html +1 -1
  23. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/history.html +1 -1
  24. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/history_rows.html +2 -2
  25. bazaar_compute_node-0.2.1rc6/src/bazaar_compute_server/resources/templates/icons/loader.svg +22 -0
  26. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/shell.html +3 -1
  27. bazaar_compute_node-0.2.1rc5/src/bazaar_compute_server/resources/templates/icons/loader-circle.svg +0 -1
  28. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/LICENSE +0 -0
  29. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/README.md +0 -0
  30. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/__init__.py +0 -0
  31. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/app/__init__.py +0 -0
  32. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/app/agent.py +0 -0
  33. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/app/agent_management.py +0 -0
  34. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/app/application.py +0 -0
  35. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/app/attachments.py +0 -0
  36. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/app/command.py +0 -0
  37. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/app/config.py +0 -0
  38. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/app/health_report.py +0 -0
  39. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/app/registry.py +0 -0
  40. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/app/resource_dispatch.py +0 -0
  41. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/app/server_management.py +0 -0
  42. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/app/system_service.py +0 -0
  43. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/app/transport.py +0 -0
  44. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/app/upgrade.py +0 -0
  45. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/app/usage.py +0 -0
  46. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/app/version_check.py +0 -0
  47. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/app/windows_pipe.py +0 -0
  48. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/app/wrapper.py +0 -0
  49. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/bcc.py +0 -0
  50. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/cli.py +0 -0
  51. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/cmd/__init__.py +0 -0
  52. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/cmd/bcc/__init__.py +0 -0
  53. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/cmd/bcc/_client.py +0 -0
  54. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/cmd/bcc/_format.py +0 -0
  55. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/cmd/bcc/inbox.py +0 -0
  56. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/cmd/bcc/message.py +0 -0
  57. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/cmd/bcc/node.py +0 -0
  58. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/cmd/bcc/reminder.py +0 -0
  59. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/cmd/bcc/thread.py +0 -0
  60. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/cmd/bcn/__init__.py +0 -0
  61. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/cmd/bcn/_options.py +0 -0
  62. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/cmd/bcn/_runner.py +0 -0
  63. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/cmd/bcn/agent.py +0 -0
  64. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/cmd/bcn/node.py +0 -0
  65. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/cmd/bcn/server.py +0 -0
  66. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/cmd/bcn/service.py +0 -0
  67. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/__init__.py +0 -0
  68. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/claude/__init__.py +0 -0
  69. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/claude/approval.py +0 -0
  70. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/claude/client.py +0 -0
  71. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/claude/events.py +0 -0
  72. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/claude/inspect.py +0 -0
  73. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/claude/plugin.py +0 -0
  74. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/claude/process.py +0 -0
  75. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/claude/protocol.py +0 -0
  76. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/claude/runtime.py +0 -0
  77. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/codex/__init__.py +0 -0
  78. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/codex/approval.py +0 -0
  79. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/codex/client.py +0 -0
  80. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/codex/events.py +0 -0
  81. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/codex/inspect.py +0 -0
  82. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/codex/plugin.py +0 -0
  83. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/codex/process.py +0 -0
  84. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/codex/protocol.py +0 -0
  85. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/codex/runtime.py +0 -0
  86. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/lark/__init__.py +0 -0
  87. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/lark/api.py +0 -0
  88. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/lark/approval.py +0 -0
  89. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/lark/attachments.py +0 -0
  90. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/lark/channel.py +0 -0
  91. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/lark/frame.py +0 -0
  92. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/lark/identity.py +0 -0
  93. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/lark/outbound.py +0 -0
  94. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/lark/plugin.py +0 -0
  95. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/lark/transport.py +0 -0
  96. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/logging/__init__.py +0 -0
  97. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/logging/audit.py +0 -0
  98. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/logging/plugin.py +0 -0
  99. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/server/__init__.py +0 -0
  100. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/server/audit.py +0 -0
  101. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/server/control.py +0 -0
  102. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/server/plugin.py +0 -0
  103. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/__init__.py +0 -0
  104. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/codec.py +0 -0
  105. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/database.py +0 -0
  106. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/executor.py +0 -0
  107. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/migrations/__init__.py +0 -0
  108. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/migrations/model.py +0 -0
  109. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/migrations/registry.py +0 -0
  110. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/migrations/v01_initial_node_schema.py +0 -0
  111. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/migrations/v02_session_mapping_indexes.py +0 -0
  112. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/migrations/v03_message_log_indexes.py +0 -0
  113. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/migrations/v04_runtime_attempt_facts.py +0 -0
  114. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/migrations/v05_inbound_message_references.py +0 -0
  115. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/migrations/v06_inbound_message_reference_integrity.py +0 -0
  116. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/migrations/v07_inbound_provider_identity.py +0 -0
  117. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/migrations/v08_transient_stream_events.py +0 -0
  118. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/migrations/v09_remove_runtime_events.py +0 -0
  119. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/migrations/v10_add_outbound_attachments.py +0 -0
  120. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/migrations/v11_remove_runtime_session_mapping.py +0 -0
  121. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/migrations/v12_add_reminders.py +0 -0
  122. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/migrations/v13_add_agent_ownership.py +0 -0
  123. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/migrations/v14_add_inbox_discovery_indexes.py +0 -0
  124. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/migrations/v15_add_handoffs.py +0 -0
  125. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/migrations/v16_remove_outbound_drafts.py +0 -0
  126. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/migrations/v17_remove_agent_identity_triggers.py +0 -0
  127. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/migrations/v18_unify_messages.py +0 -0
  128. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/migrations/v19_reminder_system_messages.py +0 -0
  129. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/migrations/v20_remove_freshness_persistence.py +0 -0
  130. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/migrations/v21_remove_handoffs.py +0 -0
  131. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/migrations/v22_readable_targets.py +0 -0
  132. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/migrations/v23_persist_sender_identity.py +0 -0
  133. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/migrations/v24_persist_sender_display_name.py +0 -0
  134. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/migrations/v25_rename_sessions_to_threads.py +0 -0
  135. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/migrations/v26_remove_handoff_messages.py +0 -0
  136. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/migrations/v27_name_dms_by_the_peer_id.py +0 -0
  137. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/migrations/v28_channel_session_identity.py +0 -0
  138. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/migrations/v29_backfill_channel_identity.py +0 -0
  139. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/migrations/v30_remove_command_id.py +0 -0
  140. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/migrations/v31_channel_session_review.py +0 -0
  141. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/plugin.py +0 -0
  142. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/reminder_codec.py +0 -0
  143. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/repository/__init__.py +0 -0
  144. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/repository/base.py +0 -0
  145. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/repository/facade.py +0 -0
  146. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/repository/messages.py +0 -0
  147. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/repository/reminders.py +0 -0
  148. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/repository/sessions.py +0 -0
  149. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/repository/settings.py +0 -0
  150. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/sqlite/storage.py +0 -0
  151. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/telegram/__init__.py +0 -0
  152. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/telegram/api.py +0 -0
  153. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/telegram/approval.py +0 -0
  154. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/telegram/attachments.py +0 -0
  155. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/telegram/channel.py +0 -0
  156. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/telegram/identity.py +0 -0
  157. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/telegram/markdown.py +0 -0
  158. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/telegram/outbound.py +0 -0
  159. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/telegram/plugin.py +0 -0
  160. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/wecom/__init__.py +0 -0
  161. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/wecom/channel.py +0 -0
  162. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/wecom/identity.py +0 -0
  163. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/wecom/outbound.py +0 -0
  164. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/contrib/wecom/plugin.py +0 -0
  165. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/__init__.py +0 -0
  166. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/actor.py +0 -0
  167. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/agent.py +0 -0
  168. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/approval.py +0 -0
  169. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/audit.py +0 -0
  170. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/channel.py +0 -0
  171. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/client.py +0 -0
  172. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/command.py +0 -0
  173. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/concurrency.py +0 -0
  174. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/control.py +0 -0
  175. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/correlation.py +0 -0
  176. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/inbox.py +0 -0
  177. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/instruction.py +0 -0
  178. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/lifecycle.py +0 -0
  179. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/models/__init__.py +0 -0
  180. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/models/entities.py +0 -0
  181. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/models/events.py +0 -0
  182. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/models/reminder.py +0 -0
  183. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/models/reminder_owner.py +0 -0
  184. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/models/states.py +0 -0
  185. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/observability.py +0 -0
  186. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/orchestration/__init__.py +0 -0
  187. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/orchestration/commands/__init__.py +0 -0
  188. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/orchestration/commands/base.py +0 -0
  189. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/orchestration/commands/messages.py +0 -0
  190. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/orchestration/commands/reminders.py +0 -0
  191. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/orchestration/commands/review.py +0 -0
  192. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/orchestration/delivery.py +0 -0
  193. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/orchestration/error_feedback.py +0 -0
  194. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/orchestration/orchestrator.py +0 -0
  195. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/orchestration/reminder.py +0 -0
  196. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/orchestration/services.py +0 -0
  197. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/orchestration/turn.py +0 -0
  198. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/orchestration/upgrade_notice.py +0 -0
  199. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/outcomes.py +0 -0
  200. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/paths.py +0 -0
  201. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/reminder.py +0 -0
  202. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/reminder_schedule.py +0 -0
  203. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/restart.py +0 -0
  204. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/review.py +0 -0
  205. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/runtime.py +0 -0
  206. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/serialize.py +0 -0
  207. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/storage.py +0 -0
  208. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/timerwheel.py +0 -0
  209. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/utils/__init__.py +0 -0
  210. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/utils/children.py +0 -0
  211. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/utils/clock.py +0 -0
  212. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/utils/command.py +0 -0
  213. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/utils/line_reader.py +0 -0
  214. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/utils/markdown.py +0 -0
  215. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/utils/sanitization.py +0 -0
  216. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/core/utils/text.py +0 -0
  217. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/i18n/__init__.py +0 -0
  218. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/i18n/catalog.py +0 -0
  219. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/rendering.py +0 -0
  220. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/resources/approval_no_person.tpl +0 -0
  221. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/resources/bcc/check.tpl +0 -0
  222. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/resources/bcc/error.tpl +0 -0
  223. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/resources/bcc/inbox_check.tpl +0 -0
  224. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/resources/bcc/read.tpl +0 -0
  225. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/resources/bcc/reminder_list.tpl +0 -0
  226. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/resources/bcc/reminder_mutation.tpl +0 -0
  227. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/resources/bcc/reminder_schedule.tpl +0 -0
  228. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/resources/bcc/unfollow.tpl +0 -0
  229. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/resources/bcc/upgrade.tpl +0 -0
  230. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/resources/bcc/version.tpl +0 -0
  231. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/resources/command/attachment_suffix.tpl +0 -0
  232. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/resources/command/check_message.tpl +0 -0
  233. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/resources/command/freshness_hold.tpl +0 -0
  234. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/resources/command/read_message.tpl +0 -0
  235. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/resources/command/send_result.tpl +0 -0
  236. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/resources/command/sender.tpl +0 -0
  237. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/resources/developer_instructions.md +0 -0
  238. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/resources/inbox_notice.tpl +0 -0
  239. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/resources/locales/en.toml +0 -0
  240. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/resources/locales/zh-CN.toml +0 -0
  241. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/resources/system_service/launchd.plist +0 -0
  242. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/resources/system_service/launchd.sh +0 -0
  243. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/resources/system_service/systemd.service +0 -0
  244. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/resources/system_service/windows.ps1 +0 -0
  245. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/resources/system_service/windows.vbs +0 -0
  246. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_node/resources/system_service/windows.xml +0 -0
  247. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/__init__.py +0 -0
  248. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/access.py +0 -0
  249. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/accounts.py +0 -0
  250. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/activity.py +0 -0
  251. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/app.py +0 -0
  252. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/cli.py +0 -0
  253. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/clock.py +0 -0
  254. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/config.py +0 -0
  255. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/configure.py +0 -0
  256. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/consumers.py +0 -0
  257. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/contacts.py +0 -0
  258. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/contrib/__init__.py +0 -0
  259. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/contrib/sqlite/__init__.py +0 -0
  260. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/contrib/sqlite/migrations/__init__.py +0 -0
  261. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/contrib/sqlite/migrations/model.py +0 -0
  262. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/contrib/sqlite/migrations/registry.py +0 -0
  263. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/contrib/sqlite/migrations/v01_initial_server_schema.py +0 -0
  264. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/contrib/sqlite/migrations/v02_refs.py +0 -0
  265. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/contrib/sqlite/plugin.py +0 -0
  266. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/contrib/sqlite/storage.py +0 -0
  267. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/control.py +0 -0
  268. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/fleet.py +0 -0
  269. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/gate.py +0 -0
  270. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/history.py +0 -0
  271. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/i18n.py +0 -0
  272. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/images.py +0 -0
  273. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/markdown.py +0 -0
  274. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/pages/__init__.py +0 -0
  275. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/pages/agents.py +0 -0
  276. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/pages/computers.py +0 -0
  277. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/pages/login.py +0 -0
  278. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/pages/poll.py +0 -0
  279. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/pages/profile.py +0 -0
  280. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/pages/settings.py +0 -0
  281. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/polling.py +0 -0
  282. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/protocol.py +0 -0
  283. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/refs.py +0 -0
  284. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/registry.py +0 -0
  285. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/rendering.py +0 -0
  286. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/static/THIRD_PARTY.md +0 -0
  287. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/static/agent-form.js +0 -0
  288. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/static/alpine-3.17.4.min.js +0 -0
  289. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/static/alpine-LICENSE.txt +0 -0
  290. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/static/alpine-collapse-3.17.4.min.js +0 -0
  291. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/static/alpine-collapse-LICENSE.txt +0 -0
  292. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/static/alpine-focus-3.17.4.min.js +0 -0
  293. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/static/alpine-focus-LICENSE.txt +0 -0
  294. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/static/app.webmanifest +0 -0
  295. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/static/apple-touch-icon.png +0 -0
  296. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/static/favicon.svg +0 -0
  297. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/static/htmx-LICENSE.txt +0 -0
  298. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/static/htmx.min.js +0 -0
  299. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/static/hx-alpine-compat-4.0.0.js +0 -0
  300. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/static/icon-192.png +0 -0
  301. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/static/icon-512.png +0 -0
  302. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/static/poll.js +0 -0
  303. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/activity_card.html +0 -0
  304. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/agent_contacts_head.html +0 -0
  305. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/agent_kinds.html +0 -0
  306. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/agent_models.html +0 -0
  307. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/agent_new.html +0 -0
  308. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/agent_profile_config.html +0 -0
  309. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/agent_profile_events.html +0 -0
  310. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/agent_profile_files.html +0 -0
  311. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/agent_profile_head.html +0 -0
  312. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/agent_remove.html +0 -0
  313. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/agent_rows.html +0 -0
  314. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/board.svg +0 -0
  315. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/code.html +0 -0
  316. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/computer_row.html +0 -0
  317. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/computer_rows.html +0 -0
  318. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/computers.html +0 -0
  319. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/contact_rows.html +0 -0
  320. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/enrol_form.html +0 -0
  321. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/enrolled.html +0 -0
  322. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/error.html +0 -0
  323. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/history_end.html +0 -0
  324. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/history_tail.html +0 -0
  325. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/icons/alarm-clock.svg +0 -0
  326. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/icons/calendar.svg +0 -0
  327. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/icons/check.svg +0 -0
  328. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/icons/chevron-down.svg +0 -0
  329. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/icons/chevron-left.svg +0 -0
  330. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/icons/chevron-right.svg +0 -0
  331. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/icons/chevron-up.svg +0 -0
  332. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/icons/copy.svg +0 -0
  333. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/icons/file.svg +0 -0
  334. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/icons/folder.svg +0 -0
  335. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/icons/grid-2x2.svg +0 -0
  336. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/icons/key-round.svg +0 -0
  337. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/icons/languages.svg +0 -0
  338. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/icons/lark.svg +0 -0
  339. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/icons/log-out.svg +0 -0
  340. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/icons/message-circle.svg +0 -0
  341. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/icons/message-square-text.svg +0 -0
  342. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/icons/monitor.svg +0 -0
  343. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/icons/openai.svg +0 -0
  344. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/icons/paperclip.svg +0 -0
  345. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/icons/plus.svg +0 -0
  346. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/icons/repeat.svg +0 -0
  347. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/icons/rotate-cw.svg +0 -0
  348. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/icons/settings.svg +0 -0
  349. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/icons/si-apple.svg +0 -0
  350. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/icons/si-claude.svg +0 -0
  351. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/icons/si-linux.svg +0 -0
  352. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/icons/si-telegram.svg +0 -0
  353. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/icons/sun-moon.svg +0 -0
  354. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/icons/trash-2.svg +0 -0
  355. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/icons/triangle-alert.svg +0 -0
  356. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/icons/unplug.svg +0 -0
  357. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/icons/user-plus.svg +0 -0
  358. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/icons/users.svg +0 -0
  359. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/icons/wecom.svg +0 -0
  360. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/icons/x.svg +0 -0
  361. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/image.html +0 -0
  362. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/login.html +0 -0
  363. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/login_form.html +0 -0
  364. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/password_form.html +0 -0
  365. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/presence.html +0 -0
  366. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/profile.html +0 -0
  367. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/rail.html +0 -0
  368. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/remove_ask.html +0 -0
  369. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/remove_form.html +0 -0
  370. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/review_card.html +0 -0
  371. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/scripts.html +0 -0
  372. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/settings.html +0 -0
  373. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/settings_appearance.html +0 -0
  374. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/settings_security.html +0 -0
  375. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/sign.svg +0 -0
  376. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/resources/templates/unreachable.html +0 -0
  377. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/review.py +0 -0
  378. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/secrets.py +0 -0
  379. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/sessions.py +0 -0
  380. {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc6}/src/bazaar_compute_server/storage.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bazaar-compute-node
3
- Version: 0.2.1rc5
3
+ Version: 0.2.1rc6
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.2.1rc5"
3
+ version = "0.2.1rc6"
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.2.1rc5"
3
+ version = "0.2.1rc6"
4
4
  description = "Runtime-agnostic computer node daemon for agents and channels."
5
5
  readme = "README.md"
6
6
  license = "AGPL-3.0-only"
@@ -316,3 +316,5 @@
316
316
  "event.reminder.fired" = "Reminder triggered"
317
317
  "event.agent.start.succeeded" = "Agent started"
318
318
  "event.agent.start.failed" = "Agent failed to start"
319
+
320
+ "app.loading" = "Loading…"
@@ -316,3 +316,5 @@
316
316
  "event.reminder.fired" = "提醒已触发"
317
317
  "event.agent.start.succeeded" = "智能体已启动"
318
318
  "event.agent.start.failed" = "智能体启动失败"
319
+
320
+ "app.loading" = "正在加载…"
@@ -61,6 +61,12 @@ a { color: inherit; text-decoration: none; }
61
61
  .body { padding: 14px 18px; overflow: auto; }
62
62
  .list-items { padding: 6px 8px; overflow-y: auto; flex: 1; }
63
63
  .empty { color: var(--muted); padding: 24px 18px; }
64
+ .empty-state { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; min-height: 140px; text-align: center; font-size: 13px; }
65
+ .empty-state .i svg { width: 36px; height: 36px; stroke-width: 1.25; opacity: .55; }
66
+ .list-items:has(> .empty-state) { display: flex; flex-direction: column; }
67
+ .list-items > .empty-state { flex: 1; }
68
+ .drawer .rows .empty-state { min-height: 100px; }
69
+ .drawer .empty-state .i svg { width: 28px; height: 28px; }
64
70
 
65
71
  /* list items */
66
72
  .li { --px: 8px; --py: 8px; display: flex; align-items: center; gap: 10px; padding: var(--py) var(--px); border-radius: var(--r-sm); position: relative; }
@@ -209,10 +215,23 @@ a { color: inherit; text-decoration: none; }
209
215
  .card .ev span.t { color: var(--muted); margin-right: 8px; }
210
216
  .card .ev .live { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--ok); margin-right: 6px; vertical-align: 1px; }
211
217
  .card .more { margin-top: 8px; font-size: .9em; color: var(--muted); }
212
- /* until the card's first load arrives, a turning ring where the words will be */
218
+ /* feedback while navigation or inline content is loading */
213
219
  .loading { display: flex; justify-content: center; align-items: center; min-height: 140px; color: var(--muted); }
214
- .loading .i svg { width: 20px; height: 20px; animation: turn 1s linear infinite; }
220
+ .loading .i svg { width: 20px; height: 20px; }
221
+ .navigation-loading { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 60; display: flex; color: var(--muted); pointer-events: none; }
222
+ .navigation-loading .i svg { width: 28px; height: 28px; }
223
+ .i .lucide-loader > path { animation: loading-fade 1s linear infinite; }
224
+ .i .lucide-loader > path:nth-child(1) { animation-delay: -1s; }
225
+ .i .lucide-loader > path:nth-child(2) { animation-delay: -0.875s; }
226
+ .i .lucide-loader > path:nth-child(3) { animation-delay: -0.75s; }
227
+ .i .lucide-loader > path:nth-child(4) { animation-delay: -0.625s; }
228
+ .i .lucide-loader > path:nth-child(5) { animation-delay: -0.5s; }
229
+ .i .lucide-loader > path:nth-child(6) { animation-delay: -0.375s; }
230
+ .i .lucide-loader > path:nth-child(7) { animation-delay: -0.25s; }
231
+ .i .lucide-loader > path:nth-child(8) { animation-delay: -0.125s; }
215
232
  @keyframes turn { to { transform: rotate(360deg); } }
233
+ @keyframes loading-fade { from { opacity: 1; } to { opacity: .2; } }
234
+ @media (prefers-reduced-motion: reduce) { .i .lucide-loader > path { animation: none; } }
216
235
 
217
236
  /* forms and buttons */
218
237
  /* buttons side by side sit level, whether or not one carries an icon: on their middles, not their baselines */
@@ -456,7 +475,6 @@ a { color: inherit; text-decoration: none; }
456
475
  .blank .kinds > .loading { min-height: 38px; }
457
476
  .blank .kinds > .err { margin: 0; }
458
477
  .field .wait { display: inline-flex; color: var(--muted); }
459
- .field .wait .i svg { animation: turn 1s linear infinite; }
460
478
  .field [data-again] { margin-left: 0; }
461
479
  .field .wait[hidden], .field [data-again][hidden] { display: none; }
462
480
  /* a logo beside words sits on their middle, not their baseline */
@@ -489,7 +507,7 @@ a { color: inherit; text-decoration: none; }
489
507
  .profile .hd .face-at .dot { position: absolute; left: calc(var(--r-av) * .2929 - 4px); top: calc(28px - var(--r-av) * .2929 - 4px); box-shadow: 0 0 0 2px var(--panel); }
490
508
  .profile .hd .icons { margin-left: 6px; font-weight: 400; }
491
509
  .switch.text { margin: 8px 14px 0; }
492
- .switch.text .tab { width: auto; padding: 0 12px; font: inherit; }
510
+ .switch.text .tab { width: auto; gap: 6px; padding: 0 12px; font: inherit; }
493
511
  .profile .body { flex: 1; }
494
512
  .profile .body > .dialog, .profile .config { max-width: 480px; }
495
513
  .profile .config .dialog, .profile .body > .dialog.part { max-width: none; margin: 0 0 12px; box-shadow: none; }
@@ -73,14 +73,17 @@ document.addEventListener('alpine:init', () => {
73
73
  destroy() { this.cancel?.(); },
74
74
  }));
75
75
 
76
- Alpine.data('application', () => ({stale: false, unreachable: false}));
76
+ Alpine.data('application', () => ({stale: false, unreachable: false, pending: new Set()}));
77
77
  Alpine.bind('connection', () => ({
78
78
  '@poll-online.window'() { this.unreachable = false; },
79
79
  '@poll-offline.window'() { this.unreachable = true; },
80
80
  '@stale.window'() { this.stale = true; },
81
81
  '@htmx:before:request.window'(event) {
82
- if (this.stale) event.preventDefault();
82
+ if (this.stale) { event.preventDefault(); return; }
83
+ const ctx = event.detail.ctx;
84
+ if (ctx.target?.id === 'main') this.pending.add(ctx);
83
85
  },
86
+ '@htmx:finally:request.window'(event) { this.pending.delete(event.detail.ctx); },
84
87
  '@htmx:error.window'(event) {
85
88
  if (event.detail?.error instanceof TypeError) this.unreachable = true;
86
89
  },
@@ -39,7 +39,7 @@
39
39
  {# a field waiting on what the computer lists: turning while it is asked,
40
40
  the way to ask again when it did not answer #}
41
41
  {% macro waiting() -%}
42
- <span class="wait" x-show="card.modelState === 'loading'">{{ c.icon("loader-circle") }}</span><button class="btn icon" type="button" data-again x-show="card.modelState === 'error'" :title="card.modelError" @click="loadModels(card)" aria-label="{{ t.text("agents.retry") }}">{{ c.icon("rotate-cw") }}</button>
42
+ <span class="wait" x-show="card.modelState === 'loading'">{{ c.icon("loader") }}</span><button class="btn icon" type="button" data-again x-show="card.modelState === 'error'" :title="card.modelError" @click="loadModels(card)" aria-label="{{ t.text("agents.retry") }}">{{ c.icon("rotate-cw") }}</button>
43
43
  {%- endmacro %}
44
44
 
45
45
  {% macro initial(values, reply, kept=false, origins=none) -%}
@@ -128,7 +128,7 @@
128
128
  </div></template>
129
129
  <div class="dialog part blank" data-blank="{{ family }}" :class="{shown: selected.{{ family }} === cards.{{ family }}.length}">
130
130
  <div class="title">{{ t.text('agents.blank.' ~ family) }}</div>
131
- <div class="loading" x-show="kinds.{{ family }} === 'loading'">{{ c.icon('loader-circle') }}</div>
131
+ <div class="loading" x-show="kinds.{{ family }} === 'loading'">{{ c.icon('loader') }}</div>
132
132
  <div class="kinds" x-show="kinds.{{ family }} !== 'loading'"></div>
133
133
  <button class="btn sm" type="button" x-show="kinds.{{ family }} === 'error'" @click="loadKinds('{{ family }}', true)">{{ c.icon('rotate-cw') }} {{ t.text('agents.retry') }}</button>
134
134
  </div>
@@ -6,5 +6,5 @@
6
6
  they have loaded #}
7
7
  <div class="list-items" id="agent-list" hx-get="/agents/list{% if selected_key %}?selected={{ selected_key }}{% endif %}" hx-vals='js:{until: this.querySelector(".edge")?.dataset.after ?? ""}' hx-trigger="poll-refresh" x-poll data-poll='{{ poll("agents", page)|tojson }}' hx-swap="outerMorph">
8
8
  {% include "agent_rows.html" %}
9
- {% if not page.agents %}{{ c.empty(t.text("agents.empty")) }}{% endif %}
9
+ {% if not page.agents %}{{ c.empty(t.text("agents.empty"), "users") }}{% endif %}
10
10
  </div>
@@ -11,5 +11,5 @@
11
11
  </div>
12
12
  <div class="body" id="profile-body" x-show="!pending">{% include "agent_profile_" ~ profile ~ ".html" %}</div>
13
13
  <div id="agent-remove" hidden></div>
14
- <div class="body" x-show="pending" x-cloak><div class="loading">{{ c.icon("loader-circle") }}</div></div>
14
+ <div class="body" x-show="pending" x-cloak><div class="loading">{{ c.icon("loader") }}</div></div>
15
15
  </div>
@@ -1,3 +1,4 @@
1
+ {% import "components.html" as c with context %}
1
2
  {# the agent's events as a log in a box, newest on top; the top asks for
2
3
  newer ones when the event subscription changes - with the day of the newest line when no
3
4
  date marks it yet - and the end for older ones as it comes into view #}
@@ -7,6 +8,6 @@
7
8
  <div class="lines" id="events">
8
9
  <div class="fresh" hx-get="{{ base }}" hx-vals='js:{after: document.querySelector("#events .ln")?.dataset.id ?? "0", below: document.querySelector("#events .fresh + .ln")?.dataset.day ?? ""}' hx-trigger="poll-refresh" x-poll data-poll='{{ poll("events", selected, since=lines[0].id if lines else 0)|tojson }}' hx-target="this" hx-swap="afterend"></div>
9
10
  {% include "agent_profile_events.html" %}
10
- {% if not lines %}<div class="empty" id="events-empty">{{ t.text("agents.no_activity") }}</div>{% endif %}
11
+ {% if not lines %}{{ c.empty(t.text("agents.no_activity"), "message-square-text", id="events-empty") }}{% endif %}
11
12
  </div>
12
13
  </div>
@@ -1,8 +1,9 @@
1
+ {% import "components.html" as c with context %}
1
2
  {# what the agent's runtimes found for it to do, by where they found it #}
2
3
  {% if skills.answer != "listed" %}
3
4
  <p class="err">{{ t.text("agents." ~ skills.answer, {"code": skills.code}) }}</p>
4
5
  {% elif not skills.groups|map(attribute=1)|select|list %}
5
- <div class="empty">{{ t.text("agents.no_skills") }}</div>
6
+ {{ c.empty(t.text("agents.no_skills"), "grid-2x2") }}
6
7
  {% else %}
7
8
  {% for source, items in skills.groups if items %}
8
9
  <div class="section">{{ t.text("agents.skills." ~ source) }}</div>
@@ -8,7 +8,7 @@
8
8
  <div class="field"><label>{{ t.text("agents.health." ~ label) }}</label><span class="v">{{ caller() }}</span></div>
9
9
  {%- endmacro %}
10
10
  {% if health is none %}
11
- <div class="empty">{{ t.text("agents.no_status") }}</div>
11
+ {{ c.empty(t.text("agents.no_status"), "monitor") }}
12
12
  {% else %}
13
13
  <div class="health">
14
14
  <div class="dialog part">
@@ -10,7 +10,7 @@
10
10
  {% else %}
11
11
  <div class="section head">{{ t.text("agents.workspace_entries") }}<button class="btn icon" type="button" hx-get="/agents/{{ ref(selected.computer_id) }}/{{ ref(selected.id) }}/profile/workspace" hx-target="#profile-body" hx-swap="innerHTML" title="{{ t.text("agents.refresh") }}" aria-label="{{ t.text("agents.refresh") }}">{{ c.icon("rotate-cw") }}</button></div>
12
12
  {% if not workspace.entries %}
13
- <div class="empty">{{ t.text("agents.workspace_empty") }}</div>
13
+ {{ c.empty(t.text("agents.workspace_empty"), "folder") }}
14
14
  {% else %}
15
15
  <div class="dialog part files">{% include "agent_profile_files.html" %}</div>
16
16
  {% endif %}
@@ -4,5 +4,5 @@
4
4
  {% call c.list_item(agent.name, icons=c.agent_icons(agent), settings="/agents/" ~ key ~ "/profile", status=agent.status, identity=agent.name, href="/agents/" ~ key, on=(selected_key == key), off=(agent.status == "offline"), extra_class="agent", id="agent-" ~ key|replace("/", "-"), opens=".agent", live_status=true, attrs=attributes) %}
5
5
  {# the card shows while the pointer is on the avatar, by the pointer; it
6
6
  fetches itself the first time the mouse enters its row #}
7
- <div class="card" :style="{left: left + 'px', top: top + 'px'}" hx-morph-skip hx-get="/agents/{{ key }}/activity" hx-trigger='mouseenter once from:"closest .agent"' hx-target="this" hx-swap="innerMorph"><div class="loading">{{ c.icon("loader-circle") }}</div></div>
7
+ <div class="card" :style="{left: left + 'px', top: top + 'px'}" hx-morph-skip hx-get="/agents/{{ key }}/activity" hx-trigger='mouseenter once from:"closest .agent"' hx-target="this" hx-swap="innerMorph"><div class="loading">{{ c.icon("loader") }}</div></div>
8
8
  {% endcall %}
@@ -19,7 +19,7 @@
19
19
  </div>
20
20
  {# the conversations are the node's to list, so the page comes up first and
21
21
  the column asks for them once it is there #}
22
- <div class="list-items" id="contacts" hx-get="/agents/{{ ref(selected.computer_id) }}/{{ ref(selected.id) }}/contacts{{ ("?" ~ query) if query }}" hx-trigger="load" hx-swap="outerHTML"><div class="loading">{{ c.icon("loader-circle") }}</div></div>
22
+ <div class="list-items" id="contacts" hx-get="/agents/{{ ref(selected.computer_id) }}/{{ ref(selected.id) }}/contacts{{ ("?" ~ query) if query }}" hx-trigger="load" hx-swap="outerHTML"><div class="loading">{{ c.icon("loader") }}</div></div>
23
23
  </div>
24
24
  {% endif %}
25
25
  {% include "chat.html" %}
@@ -17,7 +17,7 @@
17
17
  <button class="av sm face" type="button" title="{{ t.text("profile.open") }}" hx-get="{{ profile_url }}" :hx-get="url" x-data="contactName" data-name="{{ contact.name }}" data-thread="{{ ref(contact.thread_id) }}" @contact-name.window="update($event)" x-bind="opener" hx-target="#profile" hx-swap="outerHTML">{{ contact.thread_id|identicon|safe }}</button>
18
18
  <span class="heading" x-data="contactName" data-name="{{ contact.name }}" data-thread="{{ ref(contact.thread_id) }}" x-text="name" @contact-name.window="update($event)">{{ contact.name }}</span><span class="sub">{{ c.channels((contact.channel,)) }}{{ t.text("contacts." ~ contact.kind) }}</span>
19
19
  </div>
20
- <div class="chat" id="history" hx-get="{{ c.messages_url(selected, contact) }}{% if latest %}&latest={{ latest|urlencode }}{% endif %}" hx-trigger="load" hx-swap="outerHTML"><div class="loading">{{ c.icon("loader-circle") }}</div></div>
20
+ <div class="chat" id="history" hx-get="{{ c.messages_url(selected, contact) }}{% if latest %}&latest={{ latest|urlencode }}{% endif %}" hx-trigger="load" hx-swap="outerHTML"><div class="loading">{{ c.icon("loader") }}</div></div>
21
21
  <div id="profile" hidden></div>
22
22
  {% endif %}
23
23
  </div>
@@ -121,6 +121,6 @@
121
121
  <div class="section">{{ text }}</div>
122
122
  {%- endmacro %}
123
123
 
124
- {% macro empty(text) -%}
125
- <div class="empty">{{ text }}</div>
124
+ {% macro empty(text, symbol=none, id=none) -%}
125
+ <div class="empty{{ " empty-state" if symbol }}"{% if id %} id="{{ id }}"{% endif %}>{% if symbol %}{{ icon(symbol) }}<span>{{ text }}</span>{% else %}{{ text }}{% endif %}</div>
126
126
  {%- endmacro %}
@@ -17,7 +17,7 @@
17
17
  {% set attrs %}x-data="agentStatus" data-agent='{{ dict(poll("agent-status", agent), labels=status_labels)|tojson }}'{% endset %}
18
18
  {{ c.list_item(agent.name, icons=c.agent_icons(agent, with_system=false), settings="/agents/" ~ ref(selected.computer.id) ~ "/" ~ ref(agent.id) ~ "/profile", status=agent.status, identity=agent.name, href="/agents/" ~ ref(selected.computer.id) ~ "/" ~ ref(agent.id), off=(agent.status == "offline"), live_status=true, attrs=attrs) }}
19
19
  {% endfor %}
20
- {% if not selected.agents %}{{ c.empty(t.text("computers.no_agents")) }}{% endif %}
20
+ {% if not selected.agents %}{{ c.empty(t.text("computers.no_agents"), "users") }}{% endif %}
21
21
  </div>
22
22
  <div class="roster-foot"><button class="add" type="button" hx-get="/computers/{{ ref(selected.computer.id) }}/agents/new" x-bind="opener" hx-target="#agent-new" hx-swap="outerHTML" title="{{ t.text("computers.new_agent") }}" aria-label="{{ t.text("computers.new_agent") }}" :disabled="!online"{% if not selected.online %} disabled{% endif %}>{{ c.icon("plus") }}</button></div>
23
23
  {# the question takes the button's place whole - a morph would leave a
@@ -1,5 +1,5 @@
1
1
  {% import "components.html" as c with context %}
2
2
  <div class="list-items" id="computer-list" hx-get="/computers/list{% if selected_key %}?selected={{ selected_key }}{% endif %}" hx-vals='js:{until: this.querySelector(".edge")?.dataset.after ?? ""}' hx-trigger="poll-refresh" x-poll data-poll='{{ poll("computers", fleet)|tojson }}' hx-swap="outerMorph">
3
3
  {% include "computer_rows.html" %}
4
- {% if not fleet.computers %}{{ c.empty(t.text("computers.empty")) }}{% endif %}
4
+ {% if not fleet.computers %}{{ c.empty(t.text("computers.empty"), "monitor") }}{% endif %}
5
5
  </div>
@@ -14,6 +14,6 @@
14
14
  {% elif listing.answer != "listed" %}
15
15
  <div class="empty">{{ t.text("contacts." ~ listing.answer, {"code": listing.code}) }} <button class="btn sm" hx-get="{{ url }}{% if selected_thread %}?selected={{ selected_thread }}{% endif %}{{ tab|replace("&", "&" if selected_thread else "?", 1) }}" hx-target="#contacts" hx-swap="outerHTML">{{ t.text("contacts.retry") }}</button></div>
16
16
  {% elif not listing.contacts %}
17
- {{ c.empty(t.text("contacts.no_requests" if listing.review == "pending" else "contacts.empty")) }}
17
+ {{ c.empty(t.text("contacts.no_requests" if listing.review == "pending" else "contacts.empty"), "user-plus" if listing.review == "pending" else "message-circle") }}
18
18
  {% endif %}
19
19
  </div>
@@ -7,6 +7,6 @@
7
7
  {% endfor %}
8
8
  {% if reminders.answer == "offline" %}<div class="empty">{{ t.text("contacts.offline") }}</div>
9
9
  {% elif reminders.answer != "listed" %}<div class="empty">{{ t.text("contacts." ~ reminders.answer, {"code": reminders.code}) }}</div>
10
- {% elif not reminders.items %}<div class="empty">{{ t.text("profile.no_reminders") }}</div>{% endif %}
10
+ {% elif not reminders.items %}{{ c.empty(t.text("profile.no_reminders"), "alarm-clock") }}{% endif %}
11
11
  </div>
12
12
  </div>
@@ -7,7 +7,7 @@
7
7
  <div class="empty">{{ t.text("contacts." ~ history.answer, {"code": history.code}) }} <button class="btn sm" hx-get="{{ url }}{% if latest %}&latest={{ latest|urlencode }}{% endif %}" hx-target="#history" hx-swap="outerHTML">{{ t.text("contacts.retry") }}</button></div>
8
8
  {% else %}
9
9
  {% include "history_rows.html" %}
10
- {% if not history.turns %}{{ c.empty(t.text("history.empty")) }}{% endif %}
10
+ {% if not history.turns %}{{ c.empty(t.text("history.empty"), "message-square-text") }}{% endif %}
11
11
  {% endif %}
12
12
  {% include "history_end.html" %}
13
13
  </div>
@@ -4,7 +4,7 @@
4
4
  scrolling it into view asks for the page before, which takes its place;
5
5
  the column notes how tall it was, so the page can be put above what is
6
6
  being read without moving it #}
7
- {% if history.before %}<div class="edge loading" hx-get="{{ url }}&before={{ history.before|urlencode }}" hx-trigger="revealed" hx-swap="outerHTML">{{ c.icon("loader-circle") }}</div>{% endif %}
7
+ {% if history.before %}<div class="edge loading" hx-get="{{ url }}&before={{ history.before|urlencode }}" hx-trigger="revealed" hx-swap="outerHTML">{{ c.icon("loader") }}</div>{% endif %}
8
8
  {# a day's turns start under a line with its date: the first loaded when
9
9
  there is nothing before it, and any whose day is not the one above; a page
10
10
  put above others ends with the line for the day below it, when that one
@@ -24,7 +24,7 @@
24
24
  {# the agent's own face opens onto what it is doing, the way its row in the
25
25
  list does; the card fetches itself the first time the pointer reaches
26
26
  the avatar, and shows by the pointer while it is there #}
27
- <div class="card" :style="{left: left + 'px', top: top + 'px'}" hx-morph-skip hx-get="/agents/{{ ref(history.agent.computer_id) }}/{{ ref(history.agent.id) }}/activity" hx-trigger='mouseenter once from:"previous .av"' hx-target="this" hx-swap="innerMorph"><div class="loading">{{ c.icon("loader-circle") }}</div></div>
27
+ <div class="card" :style="{left: left + 'px', top: top + 'px'}" hx-morph-skip hx-get="/agents/{{ ref(history.agent.computer_id) }}/{{ ref(history.agent.id) }}/activity" hx-trigger='mouseenter once from:"previous .av"' hx-target="this" hx-swap="innerMorph"><div class="loading">{{ c.icon("loader") }}</div></div>
28
28
  {% endif %}
29
29
  <div class="said">
30
30
  <div class="who"><b>{{ turn.speaker }}</b>{% if turn.kind in ("agent", "human") %} <span class="k">{{ t.text("history." ~ turn.kind) }}</span>{% endif %} <span class="at">{{ turn.at_ms|time }}</span></div>
@@ -0,0 +1,22 @@
1
+ <!-- @license lucide-static v1.46.0 - ISC -->
2
+ <svg
3
+ class="lucide lucide-loader"
4
+ xmlns="http://www.w3.org/2000/svg"
5
+ width="24"
6
+ height="24"
7
+ viewBox="0 0 24 24"
8
+ fill="none"
9
+ stroke="currentColor"
10
+ stroke-width="2"
11
+ stroke-linecap="round"
12
+ stroke-linejoin="round"
13
+ >
14
+ <path d="M12 2v4" />
15
+ <path d="m16.2 7.8 2.9-2.9" />
16
+ <path d="M18 12h4" />
17
+ <path d="m16.2 16.2 2.9 2.9" />
18
+ <path d="M12 18v4" />
19
+ <path d="m4.9 19.1 2.9-2.9" />
20
+ <path d="M2 12h4" />
21
+ <path d="m4.9 4.9 2.9 2.9" />
22
+ </svg>
@@ -20,9 +20,11 @@
20
20
  <body data-build="{{ build }}" x-data="application" x-bind="connection" hx-swap:inherited="innerMorph" hx-headers:inherited='js:{"X-Timezone": Intl.DateTimeFormat().resolvedOptions().timeZone, "X-Build": "{{ build }}"}'>
21
21
  <div class="app">
22
22
  {% include "rail.html" %}
23
- <div id="main" class="main" x-show="!unreachable">{% include content %}</div>
23
+ <div id="main" class="main" :aria-busy="pending.size > 0" x-show="!unreachable">{% include content %}</div>
24
24
  {% include "unreachable.html" %}
25
25
  </div>
26
+ {% import "components.html" as c with context %}
27
+ <div class="navigation-loading" x-cloak x-show="pending.size > 0 && !stale" role="status" aria-label="{{ t.text('app.loading') }}">{{ c.icon("loader") }}</div>
26
28
  <div class="veil" id="stale" x-cloak x-show="stale">
27
29
  <div class="dialog" role="dialog" aria-modal="true" aria-labelledby="stale-title" x-trap.inert.noscroll="stale">
28
30
  <h3 id="stale-title">{{ t.text("stale.title") }}</h3>
@@ -1 +0,0 @@
1
- <!-- @license lucide-static v1.46.0 - ISC --><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" ><path d="M21 12a9 9 0 1 1-6.219-8.56" /></svg>