portacode 1.4.15.dev3__tar.gz → 1.4.15.dev5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (383) hide show
  1. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/PKG-INFO +1 -1
  2. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/_version.py +2 -2
  3. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/connection/handlers/WEBSOCKET_PROTOCOL.md +14 -102
  4. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/connection/handlers/__init__.py +0 -6
  5. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/connection/handlers/proxmox_infra.py +48 -436
  6. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode.egg-info/PKG-INFO +1 -1
  7. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/.claude/agents/communication-manager.md +0 -0
  8. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/.claude/settings.local.json +0 -0
  9. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/.gitignore +0 -0
  10. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/.gitmodules +0 -0
  11. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/LICENSE +0 -0
  12. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/MANIFEST.in +0 -0
  13. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/Makefile +0 -0
  14. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/README.md +0 -0
  15. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/backup.sh +0 -0
  16. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/connect.py +0 -0
  17. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/connect.sh +0 -0
  18. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/docker-compose.yaml +0 -0
  19. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/docs/images/device-transfer-button.png +0 -0
  20. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/docs/images/device-transfer-modal.png +0 -0
  21. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/docs/images/pair-device-button.png +0 -0
  22. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/docs/images/pairing-request.png +0 -0
  23. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/docs/images/student-workspace.png +0 -0
  24. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/README.md +0 -0
  25. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/simple_device/Dockerfile +0 -0
  26. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/simple_device/README.md +0 -0
  27. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/simple_device/data/device-01/.local/share/portacode/keys/id_portacode +0 -0
  28. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/simple_device/data/device-01/.local/share/portacode/keys/id_portacode.pub +0 -0
  29. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/simple_device/docker-compose.yaml +0 -0
  30. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/Dockerfile +0 -0
  31. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/README.md +0 -0
  32. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-01/.local/share/portacode/keys/id_portacode +0 -0
  33. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-01/.local/share/portacode/keys/id_portacode.pub +0 -0
  34. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-01/.local/share/portacode/run/gateway.pid +0 -0
  35. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-01/workspace/.gitignore +0 -0
  36. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-01/workspace/README.md +0 -0
  37. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-01/workspace/db.sqlite3 +0 -0
  38. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-01/workspace/galactic_bakeshop/__init__.py +0 -0
  39. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-01/workspace/galactic_bakeshop/__pycache__/__init__.cpython-311.pyc +0 -0
  40. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-01/workspace/galactic_bakeshop/__pycache__/settings.cpython-311.pyc +0 -0
  41. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-01/workspace/galactic_bakeshop/__pycache__/urls.cpython-311.pyc +0 -0
  42. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-01/workspace/galactic_bakeshop/__pycache__/wsgi.cpython-311.pyc +0 -0
  43. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-01/workspace/galactic_bakeshop/asgi.py +0 -0
  44. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-01/workspace/galactic_bakeshop/settings.py +0 -0
  45. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-01/workspace/galactic_bakeshop/urls.py +0 -0
  46. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-01/workspace/galactic_bakeshop/wsgi.py +0 -0
  47. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-01/workspace/manage.py +0 -0
  48. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-01/workspace/requirements.txt +0 -0
  49. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-01/workspace/templates/treats/home.html +0 -0
  50. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-01/workspace/treats/__init__.py +0 -0
  51. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-01/workspace/treats/__pycache__/__init__.cpython-311.pyc +0 -0
  52. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-01/workspace/treats/__pycache__/admin.cpython-311.pyc +0 -0
  53. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-01/workspace/treats/__pycache__/apps.cpython-311.pyc +0 -0
  54. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-01/workspace/treats/__pycache__/menu.cpython-311.pyc +0 -0
  55. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-01/workspace/treats/__pycache__/models.cpython-311.pyc +0 -0
  56. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-01/workspace/treats/__pycache__/urls.cpython-311.pyc +0 -0
  57. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-01/workspace/treats/__pycache__/views.cpython-311.pyc +0 -0
  58. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-01/workspace/treats/admin.py +0 -0
  59. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-01/workspace/treats/apps.py +0 -0
  60. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-01/workspace/treats/menu.py +0 -0
  61. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-01/workspace/treats/migrations/__init__.py +0 -0
  62. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-01/workspace/treats/migrations/__pycache__/__init__.cpython-311.pyc +0 -0
  63. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-01/workspace/treats/models.py +0 -0
  64. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-01/workspace/treats/tests.py +0 -0
  65. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-01/workspace/treats/urls.py +0 -0
  66. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-01/workspace/treats/views.py +0 -0
  67. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-02/.local/share/portacode/keys/id_portacode +0 -0
  68. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-02/.local/share/portacode/keys/id_portacode.pub +0 -0
  69. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-02/workspace/README.md +0 -0
  70. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-02/workspace/galactic_bakeshop/__init__.py +0 -0
  71. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-02/workspace/galactic_bakeshop/asgi.py +0 -0
  72. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-02/workspace/galactic_bakeshop/settings.py +0 -0
  73. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-02/workspace/galactic_bakeshop/urls.py +0 -0
  74. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-02/workspace/galactic_bakeshop/wsgi.py +0 -0
  75. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-02/workspace/manage.py +0 -0
  76. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-02/workspace/requirements.txt +0 -0
  77. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-02/workspace/templates/treats/home.html +0 -0
  78. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-02/workspace/treats/__init__.py +0 -0
  79. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-02/workspace/treats/admin.py +0 -0
  80. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-02/workspace/treats/apps.py +0 -0
  81. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-02/workspace/treats/menu.py +0 -0
  82. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-02/workspace/treats/migrations/__init__.py +0 -0
  83. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-02/workspace/treats/models.py +0 -0
  84. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-02/workspace/treats/tests.py +0 -0
  85. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-02/workspace/treats/urls.py +0 -0
  86. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-02/workspace/treats/views.py +0 -0
  87. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-03/.local/share/portacode/keys/id_portacode +0 -0
  88. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-03/.local/share/portacode/keys/id_portacode.pub +0 -0
  89. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-03/workspace/README.md +0 -0
  90. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-03/workspace/galactic_bakeshop/__init__.py +0 -0
  91. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-03/workspace/galactic_bakeshop/asgi.py +0 -0
  92. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-03/workspace/galactic_bakeshop/settings.py +0 -0
  93. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-03/workspace/galactic_bakeshop/urls.py +0 -0
  94. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-03/workspace/galactic_bakeshop/wsgi.py +0 -0
  95. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-03/workspace/manage.py +0 -0
  96. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-03/workspace/requirements.txt +0 -0
  97. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-03/workspace/templates/treats/home.html +0 -0
  98. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-03/workspace/treats/__init__.py +0 -0
  99. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-03/workspace/treats/admin.py +0 -0
  100. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-03/workspace/treats/apps.py +0 -0
  101. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-03/workspace/treats/menu.py +0 -0
  102. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-03/workspace/treats/migrations/__init__.py +0 -0
  103. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-03/workspace/treats/models.py +0 -0
  104. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-03/workspace/treats/tests.py +0 -0
  105. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-03/workspace/treats/urls.py +0 -0
  106. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-03/workspace/treats/views.py +0 -0
  107. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-04/.local/share/portacode/keys/id_portacode +0 -0
  108. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-04/.local/share/portacode/keys/id_portacode.pub +0 -0
  109. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-04/workspace/README.md +0 -0
  110. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-04/workspace/galactic_bakeshop/__init__.py +0 -0
  111. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-04/workspace/galactic_bakeshop/asgi.py +0 -0
  112. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-04/workspace/galactic_bakeshop/settings.py +0 -0
  113. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-04/workspace/galactic_bakeshop/urls.py +0 -0
  114. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-04/workspace/galactic_bakeshop/wsgi.py +0 -0
  115. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-04/workspace/manage.py +0 -0
  116. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-04/workspace/requirements.txt +0 -0
  117. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-04/workspace/templates/treats/home.html +0 -0
  118. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-04/workspace/treats/__init__.py +0 -0
  119. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-04/workspace/treats/admin.py +0 -0
  120. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-04/workspace/treats/apps.py +0 -0
  121. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-04/workspace/treats/menu.py +0 -0
  122. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-04/workspace/treats/migrations/__init__.py +0 -0
  123. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-04/workspace/treats/models.py +0 -0
  124. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-04/workspace/treats/tests.py +0 -0
  125. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-04/workspace/treats/urls.py +0 -0
  126. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-04/workspace/treats/views.py +0 -0
  127. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-05/.local/share/portacode/keys/id_portacode +0 -0
  128. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-05/.local/share/portacode/keys/id_portacode.pub +0 -0
  129. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-05/workspace/README.md +0 -0
  130. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-05/workspace/galactic_bakeshop/__init__.py +0 -0
  131. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-05/workspace/galactic_bakeshop/asgi.py +0 -0
  132. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-05/workspace/galactic_bakeshop/settings.py +0 -0
  133. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-05/workspace/galactic_bakeshop/urls.py +0 -0
  134. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-05/workspace/galactic_bakeshop/wsgi.py +0 -0
  135. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-05/workspace/manage.py +0 -0
  136. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-05/workspace/requirements.txt +0 -0
  137. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-05/workspace/templates/treats/home.html +0 -0
  138. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-05/workspace/treats/__init__.py +0 -0
  139. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-05/workspace/treats/admin.py +0 -0
  140. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-05/workspace/treats/apps.py +0 -0
  141. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-05/workspace/treats/menu.py +0 -0
  142. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-05/workspace/treats/migrations/__init__.py +0 -0
  143. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-05/workspace/treats/models.py +0 -0
  144. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-05/workspace/treats/tests.py +0 -0
  145. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-05/workspace/treats/urls.py +0 -0
  146. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-05/workspace/treats/views.py +0 -0
  147. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-06/.local/share/portacode/keys/id_portacode +0 -0
  148. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-06/.local/share/portacode/keys/id_portacode.pub +0 -0
  149. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-06/workspace/README.md +0 -0
  150. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-06/workspace/galactic_bakeshop/__init__.py +0 -0
  151. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-06/workspace/galactic_bakeshop/asgi.py +0 -0
  152. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-06/workspace/galactic_bakeshop/settings.py +0 -0
  153. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-06/workspace/galactic_bakeshop/urls.py +0 -0
  154. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-06/workspace/galactic_bakeshop/wsgi.py +0 -0
  155. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-06/workspace/manage.py +0 -0
  156. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-06/workspace/requirements.txt +0 -0
  157. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-06/workspace/templates/treats/home.html +0 -0
  158. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-06/workspace/treats/__init__.py +0 -0
  159. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-06/workspace/treats/admin.py +0 -0
  160. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-06/workspace/treats/apps.py +0 -0
  161. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-06/workspace/treats/menu.py +0 -0
  162. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-06/workspace/treats/migrations/__init__.py +0 -0
  163. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-06/workspace/treats/models.py +0 -0
  164. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-06/workspace/treats/tests.py +0 -0
  165. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-06/workspace/treats/urls.py +0 -0
  166. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-06/workspace/treats/views.py +0 -0
  167. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-07/.local/share/portacode/keys/id_portacode +0 -0
  168. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-07/.local/share/portacode/keys/id_portacode.pub +0 -0
  169. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-07/workspace/README.md +0 -0
  170. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-07/workspace/galactic_bakeshop/__init__.py +0 -0
  171. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-07/workspace/galactic_bakeshop/asgi.py +0 -0
  172. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-07/workspace/galactic_bakeshop/settings.py +0 -0
  173. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-07/workspace/galactic_bakeshop/urls.py +0 -0
  174. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-07/workspace/galactic_bakeshop/wsgi.py +0 -0
  175. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-07/workspace/manage.py +0 -0
  176. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-07/workspace/requirements.txt +0 -0
  177. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-07/workspace/templates/treats/home.html +0 -0
  178. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-07/workspace/treats/__init__.py +0 -0
  179. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-07/workspace/treats/admin.py +0 -0
  180. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-07/workspace/treats/apps.py +0 -0
  181. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-07/workspace/treats/menu.py +0 -0
  182. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-07/workspace/treats/migrations/__init__.py +0 -0
  183. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-07/workspace/treats/models.py +0 -0
  184. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-07/workspace/treats/tests.py +0 -0
  185. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-07/workspace/treats/urls.py +0 -0
  186. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-07/workspace/treats/views.py +0 -0
  187. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-08/.local/share/portacode/keys/id_portacode +0 -0
  188. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-08/.local/share/portacode/keys/id_portacode.pub +0 -0
  189. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-08/workspace/README.md +0 -0
  190. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-08/workspace/galactic_bakeshop/__init__.py +0 -0
  191. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-08/workspace/galactic_bakeshop/asgi.py +0 -0
  192. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-08/workspace/galactic_bakeshop/settings.py +0 -0
  193. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-08/workspace/galactic_bakeshop/urls.py +0 -0
  194. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-08/workspace/galactic_bakeshop/wsgi.py +0 -0
  195. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-08/workspace/manage.py +0 -0
  196. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-08/workspace/requirements.txt +0 -0
  197. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-08/workspace/templates/treats/home.html +0 -0
  198. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-08/workspace/treats/__init__.py +0 -0
  199. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-08/workspace/treats/admin.py +0 -0
  200. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-08/workspace/treats/apps.py +0 -0
  201. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-08/workspace/treats/menu.py +0 -0
  202. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-08/workspace/treats/migrations/__init__.py +0 -0
  203. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-08/workspace/treats/models.py +0 -0
  204. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-08/workspace/treats/tests.py +0 -0
  205. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-08/workspace/treats/urls.py +0 -0
  206. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-08/workspace/treats/views.py +0 -0
  207. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-09/.local/share/portacode/keys/id_portacode +0 -0
  208. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-09/.local/share/portacode/keys/id_portacode.pub +0 -0
  209. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-09/workspace/README.md +0 -0
  210. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-09/workspace/galactic_bakeshop/__init__.py +0 -0
  211. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-09/workspace/galactic_bakeshop/asgi.py +0 -0
  212. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-09/workspace/galactic_bakeshop/settings.py +0 -0
  213. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-09/workspace/galactic_bakeshop/urls.py +0 -0
  214. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-09/workspace/galactic_bakeshop/wsgi.py +0 -0
  215. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-09/workspace/manage.py +0 -0
  216. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-09/workspace/requirements.txt +0 -0
  217. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-09/workspace/templates/treats/home.html +0 -0
  218. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-09/workspace/treats/__init__.py +0 -0
  219. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-09/workspace/treats/admin.py +0 -0
  220. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-09/workspace/treats/apps.py +0 -0
  221. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-09/workspace/treats/menu.py +0 -0
  222. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-09/workspace/treats/migrations/__init__.py +0 -0
  223. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-09/workspace/treats/models.py +0 -0
  224. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-09/workspace/treats/tests.py +0 -0
  225. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-09/workspace/treats/urls.py +0 -0
  226. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-09/workspace/treats/views.py +0 -0
  227. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-10/.local/share/portacode/keys/id_portacode +0 -0
  228. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-10/.local/share/portacode/keys/id_portacode.pub +0 -0
  229. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-10/workspace/README.md +0 -0
  230. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-10/workspace/galactic_bakeshop/__init__.py +0 -0
  231. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-10/workspace/galactic_bakeshop/asgi.py +0 -0
  232. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-10/workspace/galactic_bakeshop/settings.py +0 -0
  233. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-10/workspace/galactic_bakeshop/urls.py +0 -0
  234. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-10/workspace/galactic_bakeshop/wsgi.py +0 -0
  235. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-10/workspace/manage.py +0 -0
  236. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-10/workspace/requirements.txt +0 -0
  237. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-10/workspace/templates/treats/home.html +0 -0
  238. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-10/workspace/treats/__init__.py +0 -0
  239. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-10/workspace/treats/admin.py +0 -0
  240. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-10/workspace/treats/apps.py +0 -0
  241. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-10/workspace/treats/menu.py +0 -0
  242. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-10/workspace/treats/migrations/__init__.py +0 -0
  243. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-10/workspace/treats/models.py +0 -0
  244. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-10/workspace/treats/tests.py +0 -0
  245. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-10/workspace/treats/urls.py +0 -0
  246. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/data/student-10/workspace/treats/views.py +0 -0
  247. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/docker-compose.yaml +0 -0
  248. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/initial_content/README.md +0 -0
  249. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/initial_content/galactic_bakeshop/__init__.py +0 -0
  250. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/initial_content/galactic_bakeshop/asgi.py +0 -0
  251. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/initial_content/galactic_bakeshop/settings.py +0 -0
  252. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/initial_content/galactic_bakeshop/urls.py +0 -0
  253. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/initial_content/galactic_bakeshop/wsgi.py +0 -0
  254. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/initial_content/manage.py +0 -0
  255. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/initial_content/requirements.txt +0 -0
  256. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/initial_content/templates/treats/home.html +0 -0
  257. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/initial_content/treats/__init__.py +0 -0
  258. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/initial_content/treats/admin.py +0 -0
  259. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/initial_content/treats/apps.py +0 -0
  260. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/initial_content/treats/menu.py +0 -0
  261. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/initial_content/treats/migrations/__init__.py +0 -0
  262. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/initial_content/treats/models.py +0 -0
  263. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/initial_content/treats/tests.py +0 -0
  264. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/initial_content/treats/urls.py +0 -0
  265. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/initial_content/treats/views.py +0 -0
  266. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/examples/workshop_fleet/instructions/WELCOME.md +0 -0
  267. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/README.md +0 -0
  268. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/__init__.py +0 -0
  269. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/__main__.py +0 -0
  270. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/cli.py +0 -0
  271. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/connection/README.md +0 -0
  272. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/connection/__init__.py +0 -0
  273. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/connection/client.py +0 -0
  274. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/connection/handlers/README.md +0 -0
  275. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/connection/handlers/base.py +0 -0
  276. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/connection/handlers/chunked_content.py +0 -0
  277. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/connection/handlers/diff_handlers.py +0 -0
  278. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/connection/handlers/file_handlers.py +0 -0
  279. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/connection/handlers/project_aware_file_handlers.py +0 -0
  280. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/connection/handlers/project_state/README.md +0 -0
  281. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/connection/handlers/project_state/__init__.py +0 -0
  282. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/connection/handlers/project_state/file_system_watcher.py +0 -0
  283. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/connection/handlers/project_state/git_manager.py +0 -0
  284. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/connection/handlers/project_state/handlers.py +0 -0
  285. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/connection/handlers/project_state/manager.py +0 -0
  286. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/connection/handlers/project_state/models.py +0 -0
  287. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/connection/handlers/project_state/utils.py +0 -0
  288. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/connection/handlers/project_state_handlers.py +0 -0
  289. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/connection/handlers/registry.py +0 -0
  290. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/connection/handlers/session.py +0 -0
  291. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/connection/handlers/system_handlers.py +0 -0
  292. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/connection/handlers/tab_factory.py +0 -0
  293. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/connection/handlers/terminal_handlers.py +0 -0
  294. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/connection/handlers/test_proxmox_infra.py +0 -0
  295. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/connection/handlers/update_handler.py +0 -0
  296. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/connection/multiplex.py +0 -0
  297. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/connection/terminal.py +0 -0
  298. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/data.py +0 -0
  299. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/keypair.py +0 -0
  300. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/link_capture/__init__.py +0 -0
  301. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/link_capture/__pycache__/__init__.cpython-311.pyc +0 -0
  302. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/link_capture/bin/__pycache__/link_capture_wrapper.cpython-311.pyc +0 -0
  303. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/link_capture/bin/elinks +0 -0
  304. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/link_capture/bin/gio-open +0 -0
  305. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/link_capture/bin/gnome-open +0 -0
  306. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/link_capture/bin/gvfs-open +0 -0
  307. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/link_capture/bin/kde-open +0 -0
  308. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/link_capture/bin/kfmclient +0 -0
  309. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/link_capture/bin/link_capture_exec.sh +0 -0
  310. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/link_capture/bin/link_capture_wrapper.py +0 -0
  311. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/link_capture/bin/links +0 -0
  312. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/link_capture/bin/links2 +0 -0
  313. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/link_capture/bin/lynx +0 -0
  314. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/link_capture/bin/mate-open +0 -0
  315. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/link_capture/bin/netsurf +0 -0
  316. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/link_capture/bin/sensible-browser +0 -0
  317. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/link_capture/bin/w3m +0 -0
  318. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/link_capture/bin/x-www-browser +0 -0
  319. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/link_capture/bin/xdg-open +0 -0
  320. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/logging_categories.py +0 -0
  321. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/pairing.py +0 -0
  322. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/service.py +0 -0
  323. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/static/js/test-ntp-clock.html +0 -0
  324. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/static/js/utils/ntp-clock.js +0 -0
  325. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/utils/NTP_ARCHITECTURE.md +0 -0
  326. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/utils/__init__.py +0 -0
  327. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/utils/diff_apply.py +0 -0
  328. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/utils/diff_renderer.py +0 -0
  329. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode/utils/ntp_clock.py +0 -0
  330. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode.egg-info/SOURCES.txt +0 -0
  331. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode.egg-info/dependency_links.txt +0 -0
  332. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode.egg-info/entry_points.txt +0 -0
  333. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode.egg-info/requires.txt +0 -0
  334. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/portacode.egg-info/top_level.txt +0 -0
  335. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/pyproject.toml +0 -0
  336. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/restore.sh +0 -0
  337. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/run_tests.py +0 -0
  338. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/setup.cfg +0 -0
  339. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/setup.py +0 -0
  340. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/test.sh +0 -0
  341. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/test_modules/README.md +0 -0
  342. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/test_modules/__init__.py +0 -0
  343. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/test_modules/test_device_online.py +0 -0
  344. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/test_modules/test_file_operations.py +0 -0
  345. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/test_modules/test_git_status_ui.py +0 -0
  346. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/test_modules/test_login_flow.py +0 -0
  347. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/test_modules/test_navigate_testing_folder.py +0 -0
  348. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/test_modules/test_play_store_screenshots.py +0 -0
  349. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/test_modules/test_terminal_buffer_performance.py +0 -0
  350. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/test_modules/test_terminal_interaction.py +0 -0
  351. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/test_modules/test_terminal_loading_race_condition.py +0 -0
  352. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/test_modules/test_terminal_start.py +0 -0
  353. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/test_request_id.py +0 -0
  354. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/testing_framework/.env.example +0 -0
  355. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/testing_framework/README.md +0 -0
  356. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/testing_framework/__init__.py +0 -0
  357. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/testing_framework/cli.py +0 -0
  358. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/testing_framework/core/__init__.py +0 -0
  359. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/testing_framework/core/base_test.py +0 -0
  360. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/testing_framework/core/cli_manager.py +0 -0
  361. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/testing_framework/core/hierarchical_runner.py +0 -0
  362. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/testing_framework/core/playwright_manager.py +0 -0
  363. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/testing_framework/core/runner.py +0 -0
  364. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/testing_framework/core/shared_cli_manager.py +0 -0
  365. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/testing_framework/core/test_discovery.py +0 -0
  366. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/testing_framework/requirements.txt +0 -0
  367. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/todo/UI_UX/opening_a_file_on_desktop_results_in_nothing.md +0 -0
  368. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/todo/agent_context_management.md +0 -0
  369. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/todo/django_server_time_sync.md +0 -0
  370. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/todo/issues/device_performance_degradation.md +0 -0
  371. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/todo/issues/git_data_not_captured_in_proxmox.md +0 -0
  372. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/todo/issues/indefinite_resource_loading.md +0 -0
  373. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/todo/issues/portacode_service_silently_down.md +0 -0
  374. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/todo/issues/premature_terminal_exit.md +0 -0
  375. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/todo/issues/project_cpu_hotspots.md +0 -0
  376. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/todo/issues/terminals_exit_upon_starting.md +0 -0
  377. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/todo/issues/wrong_item_classification_on_client_side.md +0 -0
  378. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/todo/smartphone_terminal_input_frustrations.md +0 -0
  379. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/tools/generate_play_store_assets.py +0 -0
  380. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/tools/pairing_tester.py +0 -0
  381. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/tools/run_screenshot_suite.sh +0 -0
  382. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/tools/test_python_ntp_clock.py +0 -0
  383. {portacode-1.4.15.dev3 → portacode-1.4.15.dev5}/validate.sh +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: portacode
3
- Version: 1.4.15.dev3
3
+ Version: 1.4.15.dev5
4
4
  Summary: Portacode CLI client and SDK
5
5
  Home-page: https://github.com/portacode/portacode
6
6
  Author: Meena Erian
@@ -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.15.dev3'
32
- __version_tuple__ = version_tuple = (1, 4, 15, 'dev3')
31
+ __version__ = version = '1.4.15.dev5'
32
+ __version_tuple__ = version_tuple = (1, 4, 15, 'dev5')
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -27,6 +27,10 @@ The Portacode server acts as a **routing middleman** between client sessions and
27
27
 
28
28
  - **`source_client_session`** (Server → Device): Server **adds this** when forwarding client commands to devices (so device knows which client sent the command and can target responses back). Clients never include this field.
29
29
 
30
+ ### Proxying infrastructure updates
31
+
32
+ Portacode infrastructure devices (like the proxmox host) can send events on behalf of the LXC Devices they manage. Such messages include the optional `on_behalf_of_device` field and the server silently replaces `device_id` with that child device before routing. The gateway enforces that the sender is the child’s `proxmox_parent` (via `Device.proxmox_parent`) so only the infrastructure owner can impersonate a child device. Messages that fail this check are dropped.
33
+
30
34
  This document describes the complete protocol for communicating with devices through the server, guiding app developers on how to get their client sessions to communicate with devices.
31
35
 
32
36
  ## Table of Contents
@@ -326,12 +330,9 @@ Configures a Proxmox node for Portacode infrastructure usage (API token validati
326
330
 
327
331
  **Payload Fields:**
328
332
 
329
- * `token_identifier` (string, optional when reconfiguring): API token identifier in the form `user@realm!tokenid`. Required on first configuration or when replacing the stored token.
330
- * `token_value` (string, optional when reconfiguring): Secret value associated with the token. Required when `token_identifier` is supplied.
331
- * `verify_ssl` (boolean, optional): When true, the handler verifies SSL certificates; defaults to `false`. When omitted, the last configured value is preserved.
332
- * `cloudflare_api_token` (string, optional): Cloudflare API token the host can reuse later to provision tunnels.
333
-
334
- The setup command also installs `cloudflared` on the node so Cloudflare tunnels can be created afterward.
333
+ * `token_identifier` (string, required): API token identifier in the form `user@realm!tokenid`.
334
+ * `token_value` (string, required): Secret value associated with the token.
335
+ * `verify_ssl` (boolean, optional): When true, the handler verifies SSL certificates; defaults to `false`.
335
336
 
336
337
  **Responses:**
337
338
 
@@ -364,7 +365,7 @@ Creates a Portacode-managed LXC container, starts it, and bootstraps the Portaco
364
365
  * `username` (string, optional): OS user to provision (defaults to `svcuser`).
365
366
  * `password` (string, optional): Password for the user (used only during provisioning).
366
367
  * `ssh_key` (string, optional): SSH public key to add to the user.
367
- * `device_id` (string, optional): ID of the Device record that already exists on the dashboard.
368
+ * `device_id` (string, required): ID of the dashboard Device record that represents the container. The handler persists this value in the host metadata file so related events can always be correlated back to that Device.
368
369
  * `device_public_key` (string, optional): PEM-encoded Portacode public key. When supplied together with `device_private_key` the handler injects the keypair, records the device metadata, and runs `portacode service install` automatically.
369
370
  * `device_private_key` (string, optional): PEM-encoded private key that pairs with `device_public_key`. Both key fields must be present for the automatic service-install mode.
370
371
 
@@ -412,51 +413,6 @@ Deletes a managed container from Proxmox (stopping it first if necessary) and re
412
413
  * Emits a [`proxmox_container_action`](#proxmox_container_action-event) event with `action="remove"` and the refreshed infra snapshot after deletion.
413
414
  * Emits an [`error`](#error) event on failure.
414
415
 
415
- ### `create_cloudflare_tunnel`
416
-
417
- Creates or updates a Cloudflare tunnel in front of a managed container. The container must be running and a Cloudflare API token must already be configured via `setup_proxmox_infra`.
418
-
419
- **Payload Fields:**
420
-
421
- * `ctid` (string, required): Identifier of the container.
422
- * `container_port` (integer, required): Port inside the container to expose through Cloudflare.
423
- * `cloudflare_url` (string, optional): Hostname (e.g., `app.example.com`) that the tunnel should serve. Leave blank to let Cloudflare create a quick tunnel (`*.cfargotunnel.com`) automatically.
424
- * `protocol` (string, optional): One of `http`, `https`, or `tcp` (defaults to `http`).
425
-
426
- **Responses:**
427
-
428
- * Emits a [`cloudflare_tunnel_created`](#cloudflare_tunnel_created-event) event with the tunnel metadata, the refreshed infra snapshot, and the optional `device_id` so dashboards can refresh the CT list.
429
- * Emits an [`error`](#error) event on failure.
430
-
431
- ### `update_cloudflare_tunnel`
432
-
433
- Refreshes the tunnel configuration for an existing tunnel (different port, URL, or protocol).
434
-
435
- **Payload Fields:**
436
-
437
- * `ctid` (string, required): Identifier of the container.
438
- * `container_port` (integer, optional): New container port.
439
- * `cloudflare_url` (string, optional): New hostname (leave blank to keep the current hostname or let Cloudflare assign a quick tunnel).
440
- * `protocol` (string, optional): New protocol (`http`, `https`, or `tcp`).
441
-
442
- **Responses:**
443
-
444
- * Emits a [`cloudflare_tunnel_updated`](#cloudflare_tunnel_updated-event) event with the refreshed tunnel metadata, the refreshed infra snapshot, and the optional `device_id`.
445
- * Emits an [`error`](#error) event on failure.
446
-
447
- ### `remove_cloudflare_tunnel`
448
-
449
- Stops and removes any tunnel metadata associated with a container.
450
-
451
- **Payload Fields:**
452
-
453
- * `ctid` (string, required): Identifier of the container.
454
-
455
- **Responses:**
456
-
457
- * Emits a [`cloudflare_tunnel_removed`](#cloudflare_tunnel_removed-event) event with the refreshed infra snapshot and optional `device_id`.
458
- * Emits an [`error`](#error) event on failure.
459
-
460
416
  ### `proxmox_container_created`
461
417
 
462
418
  Emitted after a successful `create_proxmox_container` action. Contains the new container ID, the Portacode public key produced inside the container, and the bootstrap logs.
@@ -469,7 +425,8 @@ Emitted after a successful `create_proxmox_container` action. Contains the new c
469
425
  * `public_key` (string): Portacode public auth key created inside the new container.
470
426
  * `container` (object): Metadata such as `vmid`, `hostname`, `template`, `storage`, `disk_gib`, `ram_mib`, and `cpus`.
471
427
  * `setup_steps` (array[object]): Detailed bootstrap step results (name, stdout/stderr, elapsed time, and status).
472
- * `device_id` (string, optional): Mirrors the `device_id` supplied with `create_proxmox_container`, if any.
428
+ * `device_id` (string): Mirrors the dashboard Device ID supplied with `create_proxmox_container`. The handler records this value in the container metadata file so subsequent events can reference the same Device.
429
+ * `on_behalf_of_device` (string): Same value as `device_id` when the container host is reporting progress for the child device; only proxmox parents may include this field.
473
430
  * `service_installed` (boolean): True when the handler already ran `portacode service install` (with a provided keypair); otherwise it remains False and the dashboard can call `start_portacode_service`.
474
431
 
475
432
  ### `proxmox_container_progress`
@@ -487,6 +444,7 @@ Sent intermittently while `create_proxmox_container` is executing so callers can
487
444
  * `message` (string): Short description of what is happening or why a failure occurred.
488
445
  * `details` (object, optional): Contains `attempt` (if retries were needed) and `error_summary` when a step fails.
489
446
  * `request_id` (string, optional): Mirrors the request ID from the incoming `create_proxmox_container` payload when available.
447
+ * `on_behalf_of_device` (string, optional): When present the proxmox device is reporting progress for the referenced dashboard device; the gateway verifies the proxmox node is the child’s `proxmox_parent` before routing the event.
490
448
 
491
449
  ### `start_portacode_service`
492
450
 
@@ -1174,8 +1132,6 @@ Provides system information in response to a `system_info` action. Handled by [`
1174
1132
  * `message` (string|null): Informational text about the network setup attempt.
1175
1133
  * `bridge` (string): The bridge interface configured (typically `vmbr1`).
1176
1134
  * `health` (string|null): `"healthy"` when the connectivity verification succeeded.
1177
- * `cloudflare` (object): Optional Cloudflare metadata collected for future tunnels:
1178
- * `configured` (boolean): True when a Cloudflare API token is stored.
1179
1135
  * `node_status` (object|null): Status response returned by the Proxmox API when validating the token.
1180
1136
  * `managed_containers` (object): Cached summary of the Portacode-managed containers:
1181
1137
  * `updated_at` (string): ISO timestamp when this snapshot was last refreshed.
@@ -1193,11 +1149,6 @@ Provides system information in response to a `system_info` action. Handled by [`
1193
1149
  * `cpu_share` (number): vCPU-equivalent share requested at creation.
1194
1150
  * `status` (string): Lowercase lifecycle status (e.g., `running`, `stopped`, `deleted`).
1195
1151
  * `created_at` (string|null): ISO timestamp recorded when the CT was provisioned.
1196
- * `tunnel` (object|null): Tunnel metadata that includes:
1197
- * `url` (string): Public hostname assigned for this tunnel.
1198
- * `container_port` (integer): Container port exposed via the tunnel.
1199
- * `protocol` (string): Protocol advertised when the tunnel was configured.
1200
- * `status` (string): `running`, `stopped`, or `unknown`.
1201
1152
  * `portacode_version` (string): Installed CLI version returned by `portacode.__version__`.
1202
1153
 
1203
1154
  ### `proxmox_infra_configured`
@@ -1232,6 +1183,8 @@ Emitted after a successful `create_proxmox_container` action to report the newly
1232
1183
  * `public_key` (string): Portacode public auth key discovered inside the container.
1233
1184
  * `container` (object): Metadata such as `vmid`, `hostname`, `template`, `storage`, `disk_gib`, `ram_mib`, and `cpus`.
1234
1185
  * `setup_steps` (array[object]): Detailed bootstrap step reports including stdout/stderr, elapsed time, and pass/fail status.
1186
+ * `device_id` (string): Mirrors the device ID supplied with `create_proxmox_container` and persisted inside the host metadata file for this CT.
1187
+ * `on_behalf_of_device` (string): Same value as `device_id` when the container host is reporting progress for the child device.
1235
1188
 
1236
1189
  ### `proxmox_container_progress`
1237
1190
 
@@ -1248,6 +1201,7 @@ Sent continuously while `create_proxmox_container` runs so dashboards can show a
1248
1201
  * `message` (string): Short human-readable description of the action or failure.
1249
1202
  * `details` (object, optional): Contains `attempt` (when retries are used) and `error_summary` on failure.
1250
1203
  * `request_id` (string, optional): Mirrors the `create_proxmox_container` request when provided.
1204
+ * `on_behalf_of_device` (string, optional): Mirrors the child device ID when a proxmox host reports progress for that child; only proxmox parents can supply this field.
1251
1205
 
1252
1206
  ### `proxmox_container_action`
1253
1207
 
@@ -1263,48 +1217,6 @@ Emitted after `start_proxmox_container`, `stop_proxmox_container`, or `remove_pr
1263
1217
  * `details` (object, optional): Exit status information (e.g., `exitstatus`, `stop_exitstatus`, `delete_exitstatus`).
1264
1218
  * `infra` (object): Same snapshot described under [`system_info`](#system_info-event) `proxmox.infra`, including the updated `managed_containers` summary.
1265
1219
 
1266
- ### `cloudflare_tunnel_created`
1267
-
1268
- Submitted after a successful `create_cloudflare_tunnel` action.
1269
-
1270
- **Event Fields:**
1271
-
1272
- * `event` (string): `cloudflare_tunnel_created`.
1273
- * `ctid` (string): Container ID associated with the tunnel.
1274
- * `success` (boolean): True when the tunnel is running.
1275
- * `device_id` (string, optional): Mirrors the `device_id` supplied with the command, letting dashboards refresh that device immediately.
1276
- * `message` (string): Summary text; when a hostname was assigned (including Quick Tunnel), the host is appended (e.g., `Created ... -> example.com`).
1277
- * `tunnel` (object): Tunnel metadata matching the manager view. When using Cloudflare Quick Tunnel (no hostname supplied), `tunnel.url` holds the autogenerated `*.cfargotunnel.com` hostname.
1278
- * `infra` (object): Snapshot produced by `get_infra_snapshot`, including the refreshed `managed_containers` list.
1279
-
1280
- ### `cloudflare_tunnel_updated`
1281
-
1282
- Sent when `update_cloudflare_tunnel` completes.
1283
-
1284
- **Event Fields:**
1285
-
1286
- * `event` (string): `cloudflare_tunnel_updated`.
1287
- * `ctid` (string): Container ID associated with the tunnel.
1288
- * `success` (boolean): True on success.
1289
- * `device_id` (string, optional): Mirrors the command's `device_id`.
1290
- * `message` (string): Summary text; includes the new hostname when one was assigned or changed.
1291
- * `tunnel` (object): Updated tunnel metadata.
1292
- * `infra` (object): Snapshot produced by `get_infra_snapshot` so dashboards can refresh the managed container list.
1293
-
1294
- ### `cloudflare_tunnel_removed`
1295
-
1296
- Sent after a tunnel has been removed from a container record.
1297
-
1298
- **Event Fields:**
1299
-
1300
- * `event` (string): `cloudflare_tunnel_removed`.
1301
- * `ctid` (string): Container ID that no longer has a tunnel.
1302
- * `success` (boolean): True on success.
1303
- * `device_id` (string, optional): Mirrors the command's `device_id`.
1304
- * `message` (string): Summary text.
1305
- * `tunnel` (null): Always `null` to explicitly clear the stored tunnel metadata.
1306
- * `infra` (object): The refreshed snapshot so dashboards see the updated container list.
1307
-
1308
1220
  ### <a name="clock_sync_response"></a>`clock_sync_response`
1309
1221
 
1310
1222
  Reply sent by the gateway immediately after receiving a `clock_sync_request`. Devices use this event plus the measured round-trip time to keep their local `ntp_clock` offset accurate.
@@ -43,15 +43,12 @@ from .project_state_handlers import (
43
43
  )
44
44
  from .proxmox_infra import (
45
45
  ConfigureProxmoxInfraHandler,
46
- CreateCloudflareTunnelHandler,
47
46
  CreateProxmoxContainerHandler,
48
47
  RevertProxmoxInfraHandler,
49
48
  StartPortacodeServiceHandler,
50
49
  StartProxmoxContainerHandler,
51
50
  StopProxmoxContainerHandler,
52
- RemoveCloudflareTunnelHandler,
53
51
  RemoveProxmoxContainerHandler,
54
- UpdateCloudflareTunnelHandler,
55
52
  )
56
53
 
57
54
  __all__ = [
@@ -65,7 +62,6 @@ __all__ = [
65
62
  "TerminalListHandler",
66
63
  "SystemInfoHandler",
67
64
  "ConfigureProxmoxInfraHandler",
68
- "CreateCloudflareTunnelHandler",
69
65
  "CreateProxmoxContainerHandler",
70
66
  # File operation handlers (optional - register as needed)
71
67
  "FileReadHandler",
@@ -95,9 +91,7 @@ __all__ = [
95
91
  "StartPortacodeServiceHandler",
96
92
  "StartProxmoxContainerHandler",
97
93
  "StopProxmoxContainerHandler",
98
- "RemoveCloudflareTunnelHandler",
99
94
  "RemoveProxmoxContainerHandler",
100
- "UpdateCloudflareTunnelHandler",
101
95
  "UpdatePortacodeHandler",
102
96
  "RevertProxmoxInfraHandler",
103
97
  ]