portacode 1.4.44.dev1__tar.gz → 1.4.44.dev2__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.
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/PKG-INFO +1 -1
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/_version.py +2 -2
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/connection/handlers/runtime_user.py +3 -30
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/connection/handlers/test_runtime_user.py +1 -3
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode.egg-info/PKG-INFO +1 -1
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/.claude/agents/communication-manager.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/.claude/settings.local.json +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/.gitignore +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/.gitmodules +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/LICENSE +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/MANIFEST.in +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/Makefile +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/README.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/backup.sh +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/build_android.sh +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/connect.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/connect.sh +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/docker-compose.yaml +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/docs/cloudflared-domain-connect-containers-audit.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/docs/creative-team-brief-portacode.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/docs/devops-messaging-ab-tests.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/docs/homepage-dashboard-positioning-fixes.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/docs/images/device-transfer-button.png +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/docs/images/device-transfer-modal.png +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/docs/images/pair-device-button.png +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/docs/images/pairing-request.png +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/docs/images/student-workspace.png +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/docs/template-guide.html +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/README.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/simple_device/Dockerfile +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/simple_device/README.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/simple_device/data/device-01/.local/share/portacode/keys/id_portacode +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/simple_device/data/device-01/.local/share/portacode/keys/id_portacode.pub +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/simple_device/docker-compose.yaml +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/Dockerfile +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/README.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-01/.local/share/portacode/keys/id_portacode +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-01/.local/share/portacode/keys/id_portacode.pub +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-01/.local/share/portacode/run/gateway.pid +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-01/workspace/.gitignore +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-01/workspace/README.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-01/workspace/db.sqlite3 +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-01/workspace/galactic_bakeshop/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-01/workspace/galactic_bakeshop/__pycache__/__init__.cpython-311.pyc +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-01/workspace/galactic_bakeshop/__pycache__/settings.cpython-311.pyc +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-01/workspace/galactic_bakeshop/__pycache__/urls.cpython-311.pyc +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-01/workspace/galactic_bakeshop/__pycache__/wsgi.cpython-311.pyc +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-01/workspace/galactic_bakeshop/asgi.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-01/workspace/galactic_bakeshop/settings.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-01/workspace/galactic_bakeshop/urls.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-01/workspace/galactic_bakeshop/wsgi.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-01/workspace/manage.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-01/workspace/requirements.txt +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-01/workspace/templates/treats/home.html +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-01/workspace/treats/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-01/workspace/treats/__pycache__/__init__.cpython-311.pyc +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-01/workspace/treats/__pycache__/admin.cpython-311.pyc +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-01/workspace/treats/__pycache__/apps.cpython-311.pyc +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-01/workspace/treats/__pycache__/menu.cpython-311.pyc +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-01/workspace/treats/__pycache__/models.cpython-311.pyc +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-01/workspace/treats/__pycache__/urls.cpython-311.pyc +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-01/workspace/treats/__pycache__/views.cpython-311.pyc +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-01/workspace/treats/admin.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-01/workspace/treats/apps.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-01/workspace/treats/menu.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-01/workspace/treats/migrations/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-01/workspace/treats/migrations/__pycache__/__init__.cpython-311.pyc +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-01/workspace/treats/models.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-01/workspace/treats/tests.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-01/workspace/treats/urls.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-01/workspace/treats/views.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-02/.local/share/portacode/keys/id_portacode +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-02/.local/share/portacode/keys/id_portacode.pub +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-02/workspace/README.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-02/workspace/galactic_bakeshop/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-02/workspace/galactic_bakeshop/asgi.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-02/workspace/galactic_bakeshop/settings.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-02/workspace/galactic_bakeshop/urls.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-02/workspace/galactic_bakeshop/wsgi.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-02/workspace/manage.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-02/workspace/requirements.txt +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-02/workspace/templates/treats/home.html +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-02/workspace/treats/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-02/workspace/treats/admin.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-02/workspace/treats/apps.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-02/workspace/treats/menu.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-02/workspace/treats/migrations/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-02/workspace/treats/models.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-02/workspace/treats/tests.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-02/workspace/treats/urls.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-02/workspace/treats/views.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-03/.local/share/portacode/keys/id_portacode +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-03/.local/share/portacode/keys/id_portacode.pub +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-03/workspace/README.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-03/workspace/galactic_bakeshop/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-03/workspace/galactic_bakeshop/asgi.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-03/workspace/galactic_bakeshop/settings.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-03/workspace/galactic_bakeshop/urls.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-03/workspace/galactic_bakeshop/wsgi.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-03/workspace/manage.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-03/workspace/requirements.txt +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-03/workspace/templates/treats/home.html +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-03/workspace/treats/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-03/workspace/treats/admin.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-03/workspace/treats/apps.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-03/workspace/treats/menu.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-03/workspace/treats/migrations/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-03/workspace/treats/models.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-03/workspace/treats/tests.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-03/workspace/treats/urls.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-03/workspace/treats/views.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-04/.local/share/portacode/keys/id_portacode +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-04/.local/share/portacode/keys/id_portacode.pub +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-04/workspace/README.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-04/workspace/galactic_bakeshop/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-04/workspace/galactic_bakeshop/asgi.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-04/workspace/galactic_bakeshop/settings.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-04/workspace/galactic_bakeshop/urls.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-04/workspace/galactic_bakeshop/wsgi.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-04/workspace/manage.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-04/workspace/requirements.txt +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-04/workspace/templates/treats/home.html +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-04/workspace/treats/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-04/workspace/treats/admin.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-04/workspace/treats/apps.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-04/workspace/treats/menu.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-04/workspace/treats/migrations/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-04/workspace/treats/models.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-04/workspace/treats/tests.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-04/workspace/treats/urls.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-04/workspace/treats/views.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-05/.local/share/portacode/keys/id_portacode +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-05/.local/share/portacode/keys/id_portacode.pub +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-05/workspace/README.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-05/workspace/galactic_bakeshop/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-05/workspace/galactic_bakeshop/asgi.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-05/workspace/galactic_bakeshop/settings.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-05/workspace/galactic_bakeshop/urls.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-05/workspace/galactic_bakeshop/wsgi.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-05/workspace/manage.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-05/workspace/requirements.txt +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-05/workspace/templates/treats/home.html +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-05/workspace/treats/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-05/workspace/treats/admin.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-05/workspace/treats/apps.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-05/workspace/treats/menu.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-05/workspace/treats/migrations/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-05/workspace/treats/models.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-05/workspace/treats/tests.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-05/workspace/treats/urls.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-05/workspace/treats/views.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-06/.local/share/portacode/keys/id_portacode +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-06/.local/share/portacode/keys/id_portacode.pub +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-06/workspace/README.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-06/workspace/galactic_bakeshop/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-06/workspace/galactic_bakeshop/asgi.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-06/workspace/galactic_bakeshop/settings.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-06/workspace/galactic_bakeshop/urls.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-06/workspace/galactic_bakeshop/wsgi.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-06/workspace/manage.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-06/workspace/requirements.txt +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-06/workspace/templates/treats/home.html +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-06/workspace/treats/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-06/workspace/treats/admin.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-06/workspace/treats/apps.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-06/workspace/treats/menu.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-06/workspace/treats/migrations/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-06/workspace/treats/models.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-06/workspace/treats/tests.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-06/workspace/treats/urls.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-06/workspace/treats/views.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-07/.local/share/portacode/keys/id_portacode +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-07/.local/share/portacode/keys/id_portacode.pub +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-07/workspace/README.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-07/workspace/galactic_bakeshop/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-07/workspace/galactic_bakeshop/asgi.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-07/workspace/galactic_bakeshop/settings.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-07/workspace/galactic_bakeshop/urls.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-07/workspace/galactic_bakeshop/wsgi.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-07/workspace/manage.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-07/workspace/requirements.txt +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-07/workspace/templates/treats/home.html +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-07/workspace/treats/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-07/workspace/treats/admin.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-07/workspace/treats/apps.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-07/workspace/treats/menu.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-07/workspace/treats/migrations/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-07/workspace/treats/models.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-07/workspace/treats/tests.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-07/workspace/treats/urls.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-07/workspace/treats/views.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-08/.local/share/portacode/keys/id_portacode +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-08/.local/share/portacode/keys/id_portacode.pub +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-08/workspace/README.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-08/workspace/galactic_bakeshop/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-08/workspace/galactic_bakeshop/asgi.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-08/workspace/galactic_bakeshop/settings.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-08/workspace/galactic_bakeshop/urls.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-08/workspace/galactic_bakeshop/wsgi.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-08/workspace/manage.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-08/workspace/requirements.txt +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-08/workspace/templates/treats/home.html +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-08/workspace/treats/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-08/workspace/treats/admin.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-08/workspace/treats/apps.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-08/workspace/treats/menu.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-08/workspace/treats/migrations/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-08/workspace/treats/models.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-08/workspace/treats/tests.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-08/workspace/treats/urls.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-08/workspace/treats/views.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-09/.local/share/portacode/keys/id_portacode +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-09/.local/share/portacode/keys/id_portacode.pub +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-09/workspace/README.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-09/workspace/galactic_bakeshop/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-09/workspace/galactic_bakeshop/asgi.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-09/workspace/galactic_bakeshop/settings.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-09/workspace/galactic_bakeshop/urls.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-09/workspace/galactic_bakeshop/wsgi.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-09/workspace/manage.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-09/workspace/requirements.txt +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-09/workspace/templates/treats/home.html +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-09/workspace/treats/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-09/workspace/treats/admin.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-09/workspace/treats/apps.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-09/workspace/treats/menu.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-09/workspace/treats/migrations/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-09/workspace/treats/models.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-09/workspace/treats/tests.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-09/workspace/treats/urls.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-09/workspace/treats/views.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-10/.local/share/portacode/keys/id_portacode +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-10/.local/share/portacode/keys/id_portacode.pub +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-10/workspace/README.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-10/workspace/galactic_bakeshop/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-10/workspace/galactic_bakeshop/asgi.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-10/workspace/galactic_bakeshop/settings.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-10/workspace/galactic_bakeshop/urls.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-10/workspace/galactic_bakeshop/wsgi.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-10/workspace/manage.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-10/workspace/requirements.txt +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-10/workspace/templates/treats/home.html +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-10/workspace/treats/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-10/workspace/treats/admin.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-10/workspace/treats/apps.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-10/workspace/treats/menu.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-10/workspace/treats/migrations/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-10/workspace/treats/models.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-10/workspace/treats/tests.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-10/workspace/treats/urls.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/data/student-10/workspace/treats/views.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/docker-compose.yaml +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/initial_content/README.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/initial_content/galactic_bakeshop/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/initial_content/galactic_bakeshop/asgi.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/initial_content/galactic_bakeshop/settings.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/initial_content/galactic_bakeshop/urls.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/initial_content/galactic_bakeshop/wsgi.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/initial_content/manage.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/initial_content/requirements.txt +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/initial_content/templates/treats/home.html +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/initial_content/treats/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/initial_content/treats/admin.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/initial_content/treats/apps.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/initial_content/treats/menu.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/initial_content/treats/migrations/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/initial_content/treats/models.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/initial_content/treats/tests.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/initial_content/treats/urls.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/initial_content/treats/views.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/examples/workshop_fleet/instructions/WELCOME.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/README.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/__main__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/cli.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/connection/README.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/connection/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/connection/client.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/connection/handlers/README.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/connection/handlers/WEBSOCKET_PROTOCOL.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/connection/handlers/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/connection/handlers/automation_v2_handlers.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/connection/handlers/base.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/connection/handlers/chunked_content.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/connection/handlers/cloudflare_forwarding.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/connection/handlers/cloudflare_tunnel.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/connection/handlers/diff_handlers.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/connection/handlers/file_handlers.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/connection/handlers/project_aware_file_handlers.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/connection/handlers/project_state/README.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/connection/handlers/project_state/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/connection/handlers/project_state/file_system_watcher.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/connection/handlers/project_state/git_manager.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/connection/handlers/project_state/handlers.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/connection/handlers/project_state/manager.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/connection/handlers/project_state/models.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/connection/handlers/project_state/utils.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/connection/handlers/project_state_handlers.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/connection/handlers/proxmox_infra.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/connection/handlers/registry.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/connection/handlers/session.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/connection/handlers/system_handlers.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/connection/handlers/tab_factory.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/connection/handlers/terminal_handlers.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/connection/handlers/test_cloudflare_forwarding.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/connection/handlers/test_proxmox_infra.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/connection/handlers/update_handler.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/connection/multiplex.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/connection/terminal.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/connection/test_webmin_proxy_config.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/connection/webmin_proxy_config.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/data.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/exit_codes.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/keypair.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/link_capture/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/link_capture/__pycache__/__init__.cpython-311.pyc +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/link_capture/bin/__pycache__/link_capture_wrapper.cpython-311.pyc +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/link_capture/bin/elinks +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/link_capture/bin/gio-open +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/link_capture/bin/gnome-open +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/link_capture/bin/gvfs-open +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/link_capture/bin/kde-open +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/link_capture/bin/kfmclient +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/link_capture/bin/link_capture_exec.sh +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/link_capture/bin/link_capture_wrapper.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/link_capture/bin/links +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/link_capture/bin/links2 +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/link_capture/bin/lynx +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/link_capture/bin/mate-open +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/link_capture/bin/netsurf +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/link_capture/bin/sensible-browser +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/link_capture/bin/w3m +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/link_capture/bin/x-www-browser +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/link_capture/bin/xdg-open +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/logging_categories.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/pairing.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/restart.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/service.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/static/js/test-ntp-clock.html +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/static/js/utils/ntp-clock.js +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/tunneling/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/tunneling/cloudflared_login.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/tunneling/ensure_cloudflared.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/tunneling/ensure_pyyaml.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/tunneling/forwarding_state.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/tunneling/get_domain.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/tunneling/privileged.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/tunneling/service_install.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/tunneling/state.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/updater.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/utils/NTP_ARCHITECTURE.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/utils/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/utils/diff_apply.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/utils/diff_renderer.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/utils/ntp_clock.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode.egg-info/SOURCES.txt +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode.egg-info/dependency_links.txt +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode.egg-info/entry_points.txt +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode.egg-info/requires.txt +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode.egg-info/top_level.txt +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/pyproject.toml +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/restore.sh +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/run_tests.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/setup.cfg +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/setup.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/test.sh +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/test_modules/README.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/test_modules/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/test_modules/test_device_online.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/test_modules/test_file_operations.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/test_modules/test_git_status_ui.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/test_modules/test_login_flow.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/test_modules/test_navigate_testing_folder.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/test_modules/test_play_store_screenshots.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/test_modules/test_terminal_buffer_performance.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/test_modules/test_terminal_interaction.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/test_modules/test_terminal_loading_race_condition.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/test_modules/test_terminal_start.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/test_request_id.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/testing_framework/.env.example +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/testing_framework/README.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/testing_framework/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/testing_framework/cli.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/testing_framework/core/__init__.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/testing_framework/core/base_test.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/testing_framework/core/cli_manager.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/testing_framework/core/hierarchical_runner.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/testing_framework/core/playwright_manager.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/testing_framework/core/runner.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/testing_framework/core/shared_cli_manager.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/testing_framework/core/test_discovery.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/testing_framework/requirements.txt +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/todo/UI_UX/opening_a_file_on_desktop_results_in_nothing.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/todo/UI_UX/server_occasionally_stops_communicating_with_all_devices.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/todo/agent_context_management.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/todo/django_server_time_sync.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/todo/issues/device_performance_degradation.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/todo/issues/git_data_not_captured_in_proxmox.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/todo/issues/indefinite_resource_loading.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/todo/issues/portacode_service_silently_down.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/todo/issues/premature_terminal_exit.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/todo/issues/project_cpu_hotspots.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/todo/issues/terminals_exit_upon_starting.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/todo/issues/websocket_client_silently_dead.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/todo/issues/wrong_item_classification_on_client_side.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/todo/smartphone_terminal_input_frustrations.md +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/tools/generate_play_store_assets.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/tools/pairing_tester.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/tools/run_screenshot_suite.sh +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/tools/test_python_ntp_clock.py +0 -0
- {portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/validate.sh +0 -0
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '1.4.44.
|
|
32
|
-
__version_tuple__ = version_tuple = (1, 4, 44, '
|
|
31
|
+
__version__ = version = '1.4.44.dev2'
|
|
32
|
+
__version_tuple__ = version_tuple = (1, 4, 44, 'dev2')
|
|
33
33
|
|
|
34
34
|
__commit_id__ = commit_id = None
|
{portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/connection/handlers/runtime_user.py
RENAMED
|
@@ -5,7 +5,6 @@ import pwd
|
|
|
5
5
|
import shlex
|
|
6
6
|
import stat
|
|
7
7
|
from pathlib import Path
|
|
8
|
-
from posixpath import basename
|
|
9
8
|
from typing import Iterable, List, Optional
|
|
10
9
|
|
|
11
10
|
DEFAULT_RUNTIME_USER_ENV = "PORTACODE_DEFAULT_RUNTIME_USER"
|
|
@@ -41,23 +40,16 @@ def wrap_shell_command(command: str, user: str, shell: str = "/bin/sh") -> str:
|
|
|
41
40
|
if not should_switch_user(user):
|
|
42
41
|
return command
|
|
43
42
|
shell_path = _resolve_shell_for_user(user, shell)
|
|
44
|
-
user_home = get_runtime_user_home({"username": user})
|
|
45
|
-
shell_command = _wrap_command_for_shell_rc(command, user_home, shell_path)
|
|
46
|
-
quoted_shell = shlex.quote(shell_path)
|
|
47
|
-
quoted_home = shlex.quote(user_home)
|
|
48
43
|
quoted_user = shlex.quote(user)
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
f"env HOME={quoted_home} USER={quoted_user} LOGNAME={quoted_user} SHELL={quoted_shell} "
|
|
52
|
-
f"{quoted_shell} -lc {shlex.quote(shell_command)}"
|
|
53
|
-
)
|
|
44
|
+
quoted_shell = shlex.quote(shell_path)
|
|
45
|
+
return f"sudo -H -i -u {quoted_user} -- {quoted_shell} -lc {shlex.quote(command)}"
|
|
54
46
|
|
|
55
47
|
|
|
56
48
|
def wrap_argv_for_user(argv: Iterable[str], user: str) -> List[str]:
|
|
57
49
|
argv_list = list(argv)
|
|
58
50
|
if not should_switch_user(user):
|
|
59
51
|
return argv_list
|
|
60
|
-
return ["sudo", "-H", "-u", user, "--", *argv_list]
|
|
52
|
+
return ["sudo", "-H", "-i", "-u", user, "--", *argv_list]
|
|
61
53
|
|
|
62
54
|
|
|
63
55
|
def ensure_parent_dirs(path: str | Path, owner_user: Optional[str] = None) -> None:
|
|
@@ -150,22 +142,3 @@ def _resolve_shell_for_user(user: str, shell: str) -> str:
|
|
|
150
142
|
if candidate:
|
|
151
143
|
return candidate
|
|
152
144
|
return shell or "/bin/sh"
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
def _wrap_command_for_shell_rc(command: str, user_home: str, shell_path: str) -> str:
|
|
156
|
-
shell_name = basename(shell_path or "")
|
|
157
|
-
if shell_name == "bash":
|
|
158
|
-
return (
|
|
159
|
-
f'if [ -f {shlex.quote(user_home)}/.bash_profile ]; then . {shlex.quote(user_home)}/.bash_profile; '
|
|
160
|
-
f'elif [ -f {shlex.quote(user_home)}/.bash_login ]; then . {shlex.quote(user_home)}/.bash_login; '
|
|
161
|
-
f'elif [ -f {shlex.quote(user_home)}/.profile ]; then . {shlex.quote(user_home)}/.profile; fi; '
|
|
162
|
-
f'if [ -f {shlex.quote(user_home)}/.bashrc ]; then . {shlex.quote(user_home)}/.bashrc; fi; '
|
|
163
|
-
f'{command}'
|
|
164
|
-
)
|
|
165
|
-
if shell_name == "zsh":
|
|
166
|
-
return (
|
|
167
|
-
f'if [ -f {shlex.quote(user_home)}/.zprofile ]; then . {shlex.quote(user_home)}/.zprofile; fi; '
|
|
168
|
-
f'if [ -f {shlex.quote(user_home)}/.zshrc ]; then . {shlex.quote(user_home)}/.zshrc; fi; '
|
|
169
|
-
f'{command}'
|
|
170
|
-
)
|
|
171
|
-
return command
|
{portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/portacode/connection/handlers/test_runtime_user.py
RENAMED
|
@@ -46,7 +46,5 @@ class RuntimeUserTests(TestCase):
|
|
|
46
46
|
|
|
47
47
|
wrapped = wrap_shell_command("openclaw status", "meena")
|
|
48
48
|
|
|
49
|
-
self.assertIn("sudo -H -u meena --
|
|
50
|
-
self.assertIn(". /home/meena/.bash_profile", wrapped)
|
|
51
|
-
self.assertIn(". /home/meena/.bashrc", wrapped)
|
|
49
|
+
self.assertIn("sudo -H -i -u meena -- /bin/bash -lc", wrapped)
|
|
52
50
|
self.assertIn("openclaw status", wrapped)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/docs/cloudflared-domain-connect-containers-audit.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{portacode-1.4.44.dev1 → portacode-1.4.44.dev2}/docs/homepage-dashboard-positioning-fixes.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|