bazaar-compute-node 0.2.1rc5__tar.gz → 0.2.1rc7__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.
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/PKG-INFO +4 -1
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/pyproject.toml +4 -1
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/pyproject.toml.orig +4 -1
- bazaar_compute_node-0.2.1rc7/src/bazaar_compute_server/access.py +156 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/app.py +1 -1
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/cli.py +2 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/config.py +2 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/contrib/sqlite/migrations/registry.py +12 -1
- bazaar_compute_node-0.2.1rc7/src/bazaar_compute_server/contrib/sqlite/migrations/v03_roles_oidc.py +51 -0
- bazaar_compute_node-0.2.1rc7/src/bazaar_compute_server/contrib/sqlite/migrations/v04_login_order.py +16 -0
- bazaar_compute_node-0.2.1rc7/src/bazaar_compute_server/contrib/sqlite/migrations/v05_provider_description.py +11 -0
- bazaar_compute_node-0.2.1rc7/src/bazaar_compute_server/contrib/sqlite/migrations/v06_provider_default_role.py +11 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/contrib/sqlite/storage.py +454 -15
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/fleet.py +38 -4
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/gate.py +12 -5
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/pages/__init__.py +43 -0
- bazaar_compute_node-0.2.1rc7/src/bazaar_compute_server/pages/accounts.py +92 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/pages/agents.py +15 -13
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/pages/computers.py +16 -15
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/pages/login.py +16 -2
- bazaar_compute_node-0.2.1rc7/src/bazaar_compute_server/pages/oidc.py +258 -0
- bazaar_compute_node-0.2.1rc7/src/bazaar_compute_server/pages/oidc_login.py +233 -0
- bazaar_compute_node-0.2.1rc7/src/bazaar_compute_server/pages/poll.py +82 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/pages/profile.py +70 -9
- bazaar_compute_node-0.2.1rc7/src/bazaar_compute_server/pages/roles.py +181 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/pages/settings.py +26 -5
- bazaar_compute_node-0.2.1rc7/src/bazaar_compute_server/pages/shares.py +155 -0
- bazaar_compute_node-0.2.1rc7/src/bazaar_compute_server/permissions.py +89 -0
- bazaar_compute_node-0.2.1rc5/src/bazaar_compute_server/polling.py → bazaar_compute_node-0.2.1rc7/src/bazaar_compute_server/poll_rendering.py +4 -137
- bazaar_compute_node-0.2.1rc7/src/bazaar_compute_server/polling.py +307 -0
- bazaar_compute_node-0.2.1rc7/src/bazaar_compute_server/reauth.py +40 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/rendering.py +7 -1
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/locales/en.toml +122 -2
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/locales/zh-CN.toml +122 -2
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/static/app.css +152 -8
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/static/components.js +40 -2
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/agent_form.html +2 -2
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/agent_list.html +1 -1
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/agent_profile.html +3 -3
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/agent_profile_activity.html +2 -1
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/agent_profile_config.html +7 -4
- bazaar_compute_node-0.2.1rc7/src/bazaar_compute_server/resources/templates/agent_profile_sharing.html +37 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/agent_profile_skills.html +2 -1
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/agent_profile_status.html +1 -1
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/agent_profile_workspace.html +1 -1
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/agent_row.html +1 -1
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/agents.html +1 -1
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/chat.html +1 -1
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/components.html +2 -2
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/computer_detail.html +5 -4
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/computer_list.html +1 -1
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/computers.html +1 -1
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/contacts.html +1 -1
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/conversation_reminders.html +1 -1
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/history.html +1 -1
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/history_rows.html +2 -2
- bazaar_compute_node-0.2.1rc7/src/bazaar_compute_server/resources/templates/icons/arrow-left.svg +16 -0
- bazaar_compute_node-0.2.1rc7/src/bazaar_compute_server/resources/templates/icons/arrow-right.svg +16 -0
- bazaar_compute_node-0.2.1rc7/src/bazaar_compute_server/resources/templates/icons/loader.svg +22 -0
- bazaar_compute_node-0.2.1rc7/src/bazaar_compute_server/resources/templates/icons/pencil.svg +16 -0
- bazaar_compute_node-0.2.1rc7/src/bazaar_compute_server/resources/templates/login.html +45 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/login_form.html +2 -3
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/profile.html +2 -2
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/rail.html +2 -2
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/review_card.html +2 -2
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/settings.html +5 -1
- bazaar_compute_node-0.2.1rc7/src/bazaar_compute_server/resources/templates/settings_accounts.html +36 -0
- bazaar_compute_node-0.2.1rc7/src/bazaar_compute_server/resources/templates/settings_oidc.html +59 -0
- bazaar_compute_node-0.2.1rc7/src/bazaar_compute_server/resources/templates/settings_roles.html +40 -0
- bazaar_compute_node-0.2.1rc7/src/bazaar_compute_server/resources/templates/shares.html +19 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/shell.html +4 -1
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/sessions.py +14 -21
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/storage.py +112 -1
- bazaar_compute_node-0.2.1rc5/src/bazaar_compute_server/access.py +0 -110
- bazaar_compute_node-0.2.1rc5/src/bazaar_compute_server/pages/poll.py +0 -178
- bazaar_compute_node-0.2.1rc5/src/bazaar_compute_server/resources/templates/icons/loader-circle.svg +0 -1
- bazaar_compute_node-0.2.1rc5/src/bazaar_compute_server/resources/templates/login.html +0 -21
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/LICENSE +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/README.md +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/__init__.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/app/__init__.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/app/agent.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/app/agent_management.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/app/application.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/app/attachments.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/app/command.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/app/config.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/app/health_report.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/app/registry.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/app/resource_dispatch.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/app/server_management.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/app/system_service.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/app/transport.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/app/upgrade.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/app/usage.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/app/version_check.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/app/windows_pipe.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/app/wrapper.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/bcc.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/cli.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/cmd/__init__.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/cmd/bcc/__init__.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/cmd/bcc/_client.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/cmd/bcc/_format.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/cmd/bcc/inbox.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/cmd/bcc/message.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/cmd/bcc/node.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/cmd/bcc/reminder.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/cmd/bcc/thread.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/cmd/bcn/__init__.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/cmd/bcn/_options.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/cmd/bcn/_runner.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/cmd/bcn/agent.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/cmd/bcn/node.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/cmd/bcn/server.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/cmd/bcn/service.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/__init__.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/claude/__init__.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/claude/approval.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/claude/client.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/claude/events.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/claude/inspect.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/claude/plugin.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/claude/process.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/claude/protocol.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/claude/runtime.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/codex/__init__.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/codex/approval.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/codex/client.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/codex/events.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/codex/inspect.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/codex/plugin.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/codex/process.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/codex/protocol.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/codex/runtime.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/lark/__init__.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/lark/api.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/lark/approval.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/lark/attachments.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/lark/channel.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/lark/frame.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/lark/identity.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/lark/outbound.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/lark/plugin.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/lark/transport.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/logging/__init__.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/logging/audit.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/logging/plugin.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/server/__init__.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/server/audit.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/server/control.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/server/plugin.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/__init__.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/codec.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/database.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/executor.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/migrations/__init__.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/migrations/model.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/migrations/registry.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/migrations/v01_initial_node_schema.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/migrations/v02_session_mapping_indexes.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/migrations/v03_message_log_indexes.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/migrations/v04_runtime_attempt_facts.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/migrations/v05_inbound_message_references.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/migrations/v06_inbound_message_reference_integrity.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/migrations/v07_inbound_provider_identity.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/migrations/v08_transient_stream_events.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/migrations/v09_remove_runtime_events.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/migrations/v10_add_outbound_attachments.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/migrations/v11_remove_runtime_session_mapping.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/migrations/v12_add_reminders.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/migrations/v13_add_agent_ownership.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/migrations/v14_add_inbox_discovery_indexes.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/migrations/v15_add_handoffs.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/migrations/v16_remove_outbound_drafts.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/migrations/v17_remove_agent_identity_triggers.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/migrations/v18_unify_messages.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/migrations/v19_reminder_system_messages.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/migrations/v20_remove_freshness_persistence.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/migrations/v21_remove_handoffs.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/migrations/v22_readable_targets.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/migrations/v23_persist_sender_identity.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/migrations/v24_persist_sender_display_name.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/migrations/v25_rename_sessions_to_threads.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/migrations/v26_remove_handoff_messages.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/migrations/v27_name_dms_by_the_peer_id.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/migrations/v28_channel_session_identity.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/migrations/v29_backfill_channel_identity.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/migrations/v30_remove_command_id.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/migrations/v31_channel_session_review.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/plugin.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/reminder_codec.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/repository/__init__.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/repository/base.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/repository/facade.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/repository/messages.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/repository/reminders.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/repository/sessions.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/repository/settings.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/sqlite/storage.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/telegram/__init__.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/telegram/api.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/telegram/approval.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/telegram/attachments.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/telegram/channel.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/telegram/identity.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/telegram/markdown.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/telegram/outbound.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/telegram/plugin.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/wecom/__init__.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/wecom/channel.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/wecom/identity.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/wecom/outbound.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/contrib/wecom/plugin.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/__init__.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/actor.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/agent.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/approval.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/audit.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/channel.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/client.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/command.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/concurrency.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/control.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/correlation.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/inbox.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/instruction.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/lifecycle.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/models/__init__.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/models/entities.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/models/events.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/models/reminder.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/models/reminder_owner.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/models/states.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/observability.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/orchestration/__init__.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/orchestration/commands/__init__.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/orchestration/commands/base.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/orchestration/commands/messages.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/orchestration/commands/reminders.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/orchestration/commands/review.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/orchestration/delivery.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/orchestration/error_feedback.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/orchestration/orchestrator.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/orchestration/reminder.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/orchestration/services.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/orchestration/turn.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/orchestration/upgrade_notice.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/outcomes.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/paths.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/reminder.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/reminder_schedule.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/restart.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/review.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/runtime.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/serialize.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/storage.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/timerwheel.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/utils/__init__.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/utils/children.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/utils/clock.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/utils/command.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/utils/line_reader.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/utils/markdown.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/utils/sanitization.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/core/utils/text.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/i18n/__init__.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/i18n/catalog.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/rendering.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/resources/approval_no_person.tpl +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/resources/bcc/check.tpl +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/resources/bcc/error.tpl +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/resources/bcc/inbox_check.tpl +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/resources/bcc/read.tpl +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/resources/bcc/reminder_list.tpl +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/resources/bcc/reminder_mutation.tpl +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/resources/bcc/reminder_schedule.tpl +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/resources/bcc/unfollow.tpl +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/resources/bcc/upgrade.tpl +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/resources/bcc/version.tpl +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/resources/command/attachment_suffix.tpl +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/resources/command/check_message.tpl +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/resources/command/freshness_hold.tpl +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/resources/command/read_message.tpl +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/resources/command/send_result.tpl +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/resources/command/sender.tpl +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/resources/developer_instructions.md +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/resources/inbox_notice.tpl +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/resources/locales/en.toml +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/resources/locales/zh-CN.toml +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/resources/system_service/launchd.plist +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/resources/system_service/launchd.sh +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/resources/system_service/systemd.service +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/resources/system_service/windows.ps1 +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/resources/system_service/windows.vbs +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_node/resources/system_service/windows.xml +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/__init__.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/accounts.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/activity.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/clock.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/configure.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/consumers.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/contacts.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/contrib/__init__.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/contrib/sqlite/__init__.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/contrib/sqlite/migrations/__init__.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/contrib/sqlite/migrations/model.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/contrib/sqlite/migrations/v01_initial_server_schema.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/contrib/sqlite/migrations/v02_refs.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/contrib/sqlite/plugin.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/control.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/history.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/i18n.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/images.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/markdown.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/protocol.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/refs.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/registry.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/static/THIRD_PARTY.md +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/static/agent-form.js +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/static/alpine-3.17.4.min.js +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/static/alpine-LICENSE.txt +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/static/alpine-collapse-3.17.4.min.js +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/static/alpine-collapse-LICENSE.txt +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/static/alpine-focus-3.17.4.min.js +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/static/alpine-focus-LICENSE.txt +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/static/app.webmanifest +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/static/apple-touch-icon.png +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/static/favicon.svg +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/static/htmx-LICENSE.txt +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/static/htmx.min.js +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/static/hx-alpine-compat-4.0.0.js +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/static/icon-192.png +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/static/icon-512.png +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/static/poll.js +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/activity_card.html +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/agent_contacts_head.html +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/agent_kinds.html +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/agent_models.html +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/agent_new.html +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/agent_profile_events.html +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/agent_profile_files.html +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/agent_profile_head.html +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/agent_remove.html +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/agent_rows.html +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/board.svg +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/code.html +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/computer_row.html +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/computer_rows.html +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/contact_rows.html +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/enrol_form.html +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/enrolled.html +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/error.html +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/history_end.html +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/history_tail.html +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/icons/alarm-clock.svg +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/icons/calendar.svg +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/icons/check.svg +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/icons/chevron-down.svg +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/icons/chevron-left.svg +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/icons/chevron-right.svg +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/icons/chevron-up.svg +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/icons/copy.svg +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/icons/file.svg +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/icons/folder.svg +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/icons/grid-2x2.svg +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/icons/key-round.svg +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/icons/languages.svg +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/icons/lark.svg +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/icons/log-out.svg +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/icons/message-circle.svg +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/icons/message-square-text.svg +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/icons/monitor.svg +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/icons/openai.svg +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/icons/paperclip.svg +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/icons/plus.svg +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/icons/repeat.svg +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/icons/rotate-cw.svg +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/icons/settings.svg +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/icons/si-apple.svg +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/icons/si-claude.svg +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/icons/si-linux.svg +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/icons/si-telegram.svg +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/icons/sun-moon.svg +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/icons/trash-2.svg +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/icons/triangle-alert.svg +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/icons/unplug.svg +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/icons/user-plus.svg +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/icons/users.svg +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/icons/wecom.svg +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/icons/x.svg +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/image.html +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/password_form.html +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/presence.html +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/remove_ask.html +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/remove_form.html +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/scripts.html +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/settings_appearance.html +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/settings_security.html +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/sign.svg +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/resources/templates/unreachable.html +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/review.py +0 -0
- {bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/secrets.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: bazaar-compute-node
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.1rc7
|
|
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
|
|
@@ -21,6 +21,9 @@ Requires-Dist: python-multipart>=0.0.32
|
|
|
21
21
|
Requires-Dist: yarl>=1.18
|
|
22
22
|
Requires-Dist: markdown-it-py>=4.2.0
|
|
23
23
|
Requires-Dist: pygments>=2.20.0
|
|
24
|
+
Requires-Dist: authlib>=1.8.0
|
|
25
|
+
Requires-Dist: joserfc>=1.7.5
|
|
26
|
+
Requires-Dist: httpx2>=2.13.1
|
|
24
27
|
Requires-Python: >=3.14
|
|
25
28
|
Project-URL: Repository, https://github.com/yuchanns/bazaar-compute-node
|
|
26
29
|
Description-Content-Type: text/markdown
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "bazaar-compute-node"
|
|
3
|
-
version = "0.2.
|
|
3
|
+
version = "0.2.1rc7"
|
|
4
4
|
description = "Runtime-agnostic computer node daemon for agents and channels."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = "AGPL-3.0-only"
|
|
@@ -24,6 +24,9 @@ dependencies = [
|
|
|
24
24
|
"yarl>=1.18",
|
|
25
25
|
"markdown-it-py>=4.2.0",
|
|
26
26
|
"pygments>=2.20.0",
|
|
27
|
+
"authlib>=1.8.0",
|
|
28
|
+
"joserfc>=1.7.5",
|
|
29
|
+
"httpx2>=2.13.1",
|
|
27
30
|
]
|
|
28
31
|
|
|
29
32
|
[project.urls]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "bazaar-compute-node"
|
|
3
|
-
version = "0.2.
|
|
3
|
+
version = "0.2.1rc7"
|
|
4
4
|
description = "Runtime-agnostic computer node daemon for agents and channels."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = "AGPL-3.0-only"
|
|
@@ -24,6 +24,9 @@ dependencies = [
|
|
|
24
24
|
"yarl>=1.18",
|
|
25
25
|
"markdown-it-py>=4.2.0",
|
|
26
26
|
"pygments>=2.20.0",
|
|
27
|
+
"authlib>=1.8.0",
|
|
28
|
+
"joserfc>=1.7.5",
|
|
29
|
+
"httpx2>=2.13.1",
|
|
27
30
|
]
|
|
28
31
|
|
|
29
32
|
[project.urls]
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
"""What the signed-in account may do and may see: the one place the pages ask."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from collections.abc import Awaitable, Callable, Sequence
|
|
6
|
+
from functools import wraps
|
|
7
|
+
|
|
8
|
+
from starlette.exceptions import HTTPException
|
|
9
|
+
from starlette.requests import Request
|
|
10
|
+
from starlette.responses import HTMLResponse, Response
|
|
11
|
+
from starlette.types import ASGIApp, Receive, Scope, Send
|
|
12
|
+
|
|
13
|
+
from .permissions import Permission, PermissionHandler
|
|
14
|
+
from .storage import Account, IStorage, Role
|
|
15
|
+
|
|
16
|
+
type Handler[S] = Callable[[S, Request], Awaitable[Response]]
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class Access:
|
|
20
|
+
"""Two kinds of permission point. A functional point says whether a
|
|
21
|
+
feature may be used at all (`computers.create`, `agents.update`, ...); a
|
|
22
|
+
data point says which objects of a kind may be touched, read from the
|
|
23
|
+
relations the account stands in. Roles, shares and the rights a share
|
|
24
|
+
carries all arrive here; the pages keep asking the same few things."""
|
|
25
|
+
|
|
26
|
+
def __init__(
|
|
27
|
+
self, account: Account, storage: IStorage, roles: Sequence[Role] = ()
|
|
28
|
+
) -> None:
|
|
29
|
+
self._targets: dict[tuple[str, Permission], set[str]] = {}
|
|
30
|
+
self._account = account
|
|
31
|
+
self._storage = storage
|
|
32
|
+
self._permissions = frozenset(
|
|
33
|
+
point for role in roles for point in role.permissions
|
|
34
|
+
)
|
|
35
|
+
|
|
36
|
+
@classmethod
|
|
37
|
+
def of(cls, request: Request) -> Access:
|
|
38
|
+
"""The one the AccessGate gave this request."""
|
|
39
|
+
|
|
40
|
+
return request.state.access
|
|
41
|
+
|
|
42
|
+
@property
|
|
43
|
+
def account(self) -> Account:
|
|
44
|
+
return self._account
|
|
45
|
+
|
|
46
|
+
@property
|
|
47
|
+
def subject_id(self) -> str:
|
|
48
|
+
"""Whose relations a list query is scoped to."""
|
|
49
|
+
|
|
50
|
+
return self._account.id
|
|
51
|
+
|
|
52
|
+
@property
|
|
53
|
+
def is_admin(self) -> bool:
|
|
54
|
+
return self._account.auth_type == "local" and self._account.name == "admin"
|
|
55
|
+
|
|
56
|
+
def allows(self, point: Permission) -> bool:
|
|
57
|
+
return self.is_admin or point in self._permissions
|
|
58
|
+
|
|
59
|
+
async def can(self, kind: str, target_id: str, point: Permission) -> bool:
|
|
60
|
+
if not self.allows(point):
|
|
61
|
+
return False
|
|
62
|
+
return target_id in await self.targets(kind, point)
|
|
63
|
+
|
|
64
|
+
async def targets(self, kind: str, point: Permission) -> set[str]:
|
|
65
|
+
if not self.allows(point):
|
|
66
|
+
return set()
|
|
67
|
+
key = (kind, point)
|
|
68
|
+
if key not in self._targets:
|
|
69
|
+
self._targets[key] = await self._storage.allowed_targets(
|
|
70
|
+
self.subject_id, kind, point
|
|
71
|
+
)
|
|
72
|
+
return self._targets[key]
|
|
73
|
+
|
|
74
|
+
async def can_share(self, kind: str, target_id: str) -> bool:
|
|
75
|
+
return self.is_admin or await self._storage.has_relation(
|
|
76
|
+
self.subject_id, f"{kind}_owner", target_id
|
|
77
|
+
)
|
|
78
|
+
|
|
79
|
+
async def can_see(self, kind: str, target_id: str) -> bool:
|
|
80
|
+
point = (
|
|
81
|
+
Permission.COMPUTERS_VIEW if kind == "computer" else Permission.AGENTS_VIEW
|
|
82
|
+
)
|
|
83
|
+
return await self.can(kind, target_id, point)
|
|
84
|
+
|
|
85
|
+
async def visible(self, kind: str, target_ids: Sequence[str]) -> set[str]:
|
|
86
|
+
point = (
|
|
87
|
+
Permission.COMPUTERS_VIEW if kind == "computer" else Permission.AGENTS_VIEW
|
|
88
|
+
)
|
|
89
|
+
if not self.allows(point):
|
|
90
|
+
return set()
|
|
91
|
+
return set(target_ids) & await self.targets(kind, point)
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
def allowed[S](
|
|
95
|
+
point: Permission, kind: str | None = None
|
|
96
|
+
) -> Callable[[Handler[S]], Handler[S]]:
|
|
97
|
+
"""The handler is behind a functional point: without it, there is no
|
|
98
|
+
such page."""
|
|
99
|
+
|
|
100
|
+
permission = PermissionHandler(point, kind)
|
|
101
|
+
|
|
102
|
+
def guard(handler: Handler[S]) -> Handler[S]:
|
|
103
|
+
@wraps(handler)
|
|
104
|
+
async def guarded(self: S, request: Request) -> Response:
|
|
105
|
+
if not Access.of(request).allows(point):
|
|
106
|
+
raise HTTPException(status_code=403)
|
|
107
|
+
if not await permission(Access.of(request), request.path_params):
|
|
108
|
+
return HTMLResponse("", status_code=404)
|
|
109
|
+
return await handler(self, request)
|
|
110
|
+
|
|
111
|
+
return guarded
|
|
112
|
+
|
|
113
|
+
return guard
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
def sees[S](kind: str, param: str) -> Callable[[Handler[S]], Handler[S]]:
|
|
117
|
+
"""The handler is about one object of a kind, named by a path parameter:
|
|
118
|
+
one the account may not see is not there."""
|
|
119
|
+
|
|
120
|
+
def guard(handler: Handler[S]) -> Handler[S]:
|
|
121
|
+
@wraps(handler)
|
|
122
|
+
async def guarded(self: S, request: Request) -> Response:
|
|
123
|
+
access = Access.of(request)
|
|
124
|
+
target_id = request.path_params[param]
|
|
125
|
+
if kind == "computer" and "agent_id" in request.path_params:
|
|
126
|
+
agent_id = request.path_params["agent_id"]
|
|
127
|
+
visible = await access.can_see("agent", agent_id)
|
|
128
|
+
computer_id = await access._storage.agent_computer(agent_id)
|
|
129
|
+
if not visible or computer_id != target_id:
|
|
130
|
+
return HTMLResponse("", status_code=404)
|
|
131
|
+
elif not await access.can_see(kind, target_id):
|
|
132
|
+
return HTMLResponse("", status_code=404)
|
|
133
|
+
return await handler(self, request)
|
|
134
|
+
|
|
135
|
+
return guarded
|
|
136
|
+
|
|
137
|
+
return guard
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
class AccessGate:
|
|
141
|
+
"""Behind the Gate: gives every request that has an account its Access."""
|
|
142
|
+
|
|
143
|
+
def __init__(self, app: ASGIApp, *, storage: IStorage) -> None:
|
|
144
|
+
self._app = app
|
|
145
|
+
self._storage = storage
|
|
146
|
+
|
|
147
|
+
async def __call__(self, scope: Scope, receive: Receive, send: Send) -> None:
|
|
148
|
+
state = scope.get("state")
|
|
149
|
+
if state is not None and "account" in state:
|
|
150
|
+
account = state["account"]
|
|
151
|
+
roles = await self._storage.list_roles(account.id)
|
|
152
|
+
state["access"] = Access(account, self._storage, roles)
|
|
153
|
+
await self._app(scope, receive, send)
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
__all__ = ["Access", "AccessGate", "allowed", "sees"]
|
{bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/app.py
RENAMED
|
@@ -54,7 +54,7 @@ def create_app(configuration: ServerConfiguration, data_dir: Path) -> Starlette:
|
|
|
54
54
|
)
|
|
55
55
|
)
|
|
56
56
|
|
|
57
|
-
sessions = Sessions()
|
|
57
|
+
sessions = Sessions(max_age=configuration.session_minutes * 60)
|
|
58
58
|
images = Images(sessions)
|
|
59
59
|
refs = Refs(storage)
|
|
60
60
|
controls = Controls()
|
{bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/cli.py
RENAMED
|
@@ -41,6 +41,8 @@ def run(config: Path | None) -> None:
|
|
|
41
41
|
host=configuration.listen_host,
|
|
42
42
|
port=configuration.listen_port,
|
|
43
43
|
log_level="info",
|
|
44
|
+
# OIDC callback query strings contain one-time codes and state.
|
|
45
|
+
access_log=False,
|
|
44
46
|
# going down comes first: a node's poll held open or a page still
|
|
45
47
|
# waiting on a computer is not waited out past this
|
|
46
48
|
timeout_graceful_shutdown=SHUTDOWN_SECONDS,
|
{bazaar_compute_node-0.2.1rc5 → bazaar_compute_node-0.2.1rc7}/src/bazaar_compute_server/config.py
RENAMED
|
@@ -23,6 +23,7 @@ class ServerConfiguration(BaseModel):
|
|
|
23
23
|
# host and port, read the way a URL is: `127.0.0.1:8765`, `[::1]:8765`,
|
|
24
24
|
# or the same with a scheme in front
|
|
25
25
|
listen: str = "127.0.0.1:8765"
|
|
26
|
+
session_minutes: int = Field(default=10, ge=1, strict=True)
|
|
26
27
|
retention_days: int = Field(default=30, ge=1, strict=True)
|
|
27
28
|
storage: str = Field(default="sqlite", min_length=1)
|
|
28
29
|
# a storage's own settings live in a table named after it
|
|
@@ -103,6 +104,7 @@ def _serialize(configuration: ServerConfiguration) -> str:
|
|
|
103
104
|
lines = [
|
|
104
105
|
f'listen = "{configuration.listen}"',
|
|
105
106
|
f"retention_days = {configuration.retention_days}",
|
|
107
|
+
f"session_minutes = {configuration.session_minutes}",
|
|
106
108
|
f'storage = "{configuration.storage}"',
|
|
107
109
|
]
|
|
108
110
|
return "\n".join(lines) + "\n"
|
|
@@ -10,6 +10,10 @@ from ....clock import now_ms
|
|
|
10
10
|
from .model import Migration
|
|
11
11
|
from .v01_initial_server_schema import SCHEMA_MIGRATION
|
|
12
12
|
from .v02_refs import REFS_MIGRATION
|
|
13
|
+
from .v03_roles_oidc import ROLES_OIDC_MIGRATION
|
|
14
|
+
from .v04_login_order import LOGIN_ORDER_MIGRATION
|
|
15
|
+
from .v05_provider_description import PROVIDER_DESCRIPTION_MIGRATION
|
|
16
|
+
from .v06_provider_default_role import PROVIDER_DEFAULT_ROLE_MIGRATION
|
|
13
17
|
|
|
14
18
|
|
|
15
19
|
class MigrationError(RuntimeError):
|
|
@@ -27,7 +31,14 @@ def _migration_ledger(*migrations: Migration) -> tuple[Migration, ...]:
|
|
|
27
31
|
return migrations
|
|
28
32
|
|
|
29
33
|
|
|
30
|
-
MIGRATIONS = _migration_ledger(
|
|
34
|
+
MIGRATIONS = _migration_ledger(
|
|
35
|
+
SCHEMA_MIGRATION,
|
|
36
|
+
REFS_MIGRATION,
|
|
37
|
+
ROLES_OIDC_MIGRATION,
|
|
38
|
+
LOGIN_ORDER_MIGRATION,
|
|
39
|
+
PROVIDER_DESCRIPTION_MIGRATION,
|
|
40
|
+
PROVIDER_DEFAULT_ROLE_MIGRATION,
|
|
41
|
+
)
|
|
31
42
|
|
|
32
43
|
|
|
33
44
|
async def apply_migrations(connection: aiosqlite.Connection) -> int:
|
bazaar_compute_node-0.2.1rc7/src/bazaar_compute_server/contrib/sqlite/migrations/v03_roles_oidc.py
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"""Roles and external login identities for BCS."""
|
|
2
|
+
|
|
3
|
+
from .model import Migration
|
|
4
|
+
|
|
5
|
+
ROLES_OIDC_MIGRATION = Migration(
|
|
6
|
+
version=3,
|
|
7
|
+
name="roles_oidc",
|
|
8
|
+
statements=(
|
|
9
|
+
"ALTER TABLE accounts ADD COLUMN auth_type TEXT NOT NULL DEFAULT 'local'",
|
|
10
|
+
"ALTER TABLE accounts ADD COLUMN session_version INTEGER NOT NULL DEFAULT 0",
|
|
11
|
+
"""CREATE TABLE roles (
|
|
12
|
+
id TEXT PRIMARY KEY, name TEXT NOT NULL UNIQUE,
|
|
13
|
+
permissions TEXT NOT NULL, created_at_ms INTEGER NOT NULL,
|
|
14
|
+
updated_at_ms INTEGER NOT NULL
|
|
15
|
+
)""",
|
|
16
|
+
"""CREATE TABLE account_roles (
|
|
17
|
+
account_id TEXT NOT NULL REFERENCES accounts(id) ON DELETE CASCADE,
|
|
18
|
+
role_id TEXT NOT NULL REFERENCES roles(id) ON DELETE CASCADE,
|
|
19
|
+
PRIMARY KEY(account_id, role_id)
|
|
20
|
+
)""",
|
|
21
|
+
"CREATE INDEX account_roles_by_role ON account_roles(role_id)",
|
|
22
|
+
"""CREATE TABLE auth_settings (
|
|
23
|
+
id INTEGER PRIMARY KEY CHECK(id = 1),
|
|
24
|
+
default_role_id TEXT REFERENCES roles(id)
|
|
25
|
+
)""",
|
|
26
|
+
"INSERT INTO auth_settings(id) VALUES (1)",
|
|
27
|
+
"""CREATE TABLE oidc_providers (
|
|
28
|
+
id TEXT PRIMARY KEY, name TEXT NOT NULL, logo_url TEXT NOT NULL,
|
|
29
|
+
issuer TEXT NOT NULL, client_id TEXT NOT NULL, client_secret TEXT NOT NULL,
|
|
30
|
+
redirect_uri TEXT NOT NULL, created_at_ms INTEGER NOT NULL,
|
|
31
|
+
updated_at_ms INTEGER NOT NULL
|
|
32
|
+
)""",
|
|
33
|
+
"""CREATE TABLE oidc_identities (
|
|
34
|
+
issuer TEXT NOT NULL, subject TEXT NOT NULL,
|
|
35
|
+
account_id TEXT NOT NULL REFERENCES accounts(id) ON DELETE CASCADE,
|
|
36
|
+
provider_id TEXT NOT NULL REFERENCES oidc_providers(id),
|
|
37
|
+
display_name TEXT NOT NULL, email TEXT NOT NULL,
|
|
38
|
+
PRIMARY KEY(issuer, subject)
|
|
39
|
+
)""",
|
|
40
|
+
"CREATE INDEX oidc_identities_by_account ON oidc_identities(account_id)",
|
|
41
|
+
"""CREATE TABLE oidc_transactions (
|
|
42
|
+
state TEXT PRIMARY KEY,
|
|
43
|
+
provider_id TEXT NOT NULL REFERENCES oidc_providers(id) ON DELETE CASCADE,
|
|
44
|
+
browser_hash TEXT NOT NULL, nonce TEXT NOT NULL,
|
|
45
|
+
code_verifier TEXT NOT NULL, redirect_uri TEXT NOT NULL,
|
|
46
|
+
expires_at_ms INTEGER NOT NULL,
|
|
47
|
+
issuer TEXT NOT NULL DEFAULT '', subject TEXT NOT NULL DEFAULT ''
|
|
48
|
+
)""",
|
|
49
|
+
"CREATE INDEX oidc_transactions_by_expiry ON oidc_transactions(expires_at_ms)",
|
|
50
|
+
),
|
|
51
|
+
)
|
bazaar_compute_node-0.2.1rc7/src/bazaar_compute_server/contrib/sqlite/migrations/v04_login_order.py
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from .model import Migration
|
|
4
|
+
|
|
5
|
+
LOGIN_ORDER_MIGRATION = Migration(
|
|
6
|
+
version=4,
|
|
7
|
+
name="login_order",
|
|
8
|
+
statements=(
|
|
9
|
+
"ALTER TABLE auth_settings ADD COLUMN login_order TEXT NOT NULL DEFAULT '[\"password\"]'",
|
|
10
|
+
(
|
|
11
|
+
"UPDATE auth_settings SET login_order=(SELECT json_group_array(id) FROM "
|
|
12
|
+
"(SELECT 'password' AS id UNION ALL SELECT id FROM "
|
|
13
|
+
"(SELECT id FROM oidc_providers ORDER BY created_at_ms, id))) WHERE id=1"
|
|
14
|
+
),
|
|
15
|
+
),
|
|
16
|
+
)
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from .model import Migration
|
|
4
|
+
|
|
5
|
+
PROVIDER_DESCRIPTION_MIGRATION = Migration(
|
|
6
|
+
version=5,
|
|
7
|
+
name="provider_description",
|
|
8
|
+
statements=(
|
|
9
|
+
"ALTER TABLE oidc_providers ADD COLUMN description TEXT NOT NULL DEFAULT ''",
|
|
10
|
+
),
|
|
11
|
+
)
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from .model import Migration
|
|
4
|
+
|
|
5
|
+
PROVIDER_DEFAULT_ROLE_MIGRATION = Migration(
|
|
6
|
+
version=6,
|
|
7
|
+
name="provider_default_role",
|
|
8
|
+
statements=(
|
|
9
|
+
"ALTER TABLE oidc_providers ADD COLUMN default_role_id TEXT REFERENCES roles(id)",
|
|
10
|
+
),
|
|
11
|
+
)
|