KohakuTerrarium 2.0.0.dev2__tar.gz → 2.0.0.dev4__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 (893) hide show
  1. {kohakuterrarium-2.0.0.dev2/src/KohakuTerrarium.egg-info → kohakuterrarium-2.0.0.dev4}/PKG-INFO +1 -1
  2. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/pyproject.toml +18 -21
  3. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4/src/KohakuTerrarium.egg-info}/PKG-INFO +1 -1
  4. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/KohakuTerrarium.egg-info/SOURCES.txt +12 -11
  5. kohakuterrarium-2.0.0.dev4/src/kohakuterrarium/api/routes/app_update.py +272 -0
  6. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/catalog/server_info.py +3 -3
  7. kohakuterrarium-2.0.0.dev4/src/kohakuterrarium/cli/self_update.py +172 -0
  8. kohakuterrarium-2.0.0.dev4/src/kohakuterrarium/launcher/__init__.py +36 -0
  9. kohakuterrarium-2.0.0.dev4/src/kohakuterrarium/launcher/bootloader.py +194 -0
  10. kohakuterrarium-2.0.0.dev4/src/kohakuterrarium/launcher/downloader.py +220 -0
  11. kohakuterrarium-2.0.0.dev4/src/kohakuterrarium/launcher/feeds.py +303 -0
  12. kohakuterrarium-2.0.0.dev4/src/kohakuterrarium/launcher/migration.py +79 -0
  13. kohakuterrarium-2.0.0.dev4/src/kohakuterrarium/launcher/paths.py +167 -0
  14. kohakuterrarium-2.0.0.dev4/src/kohakuterrarium/launcher/settings.py +306 -0
  15. kohakuterrarium-2.0.0.dev4/src/kohakuterrarium/launcher/tree_ops.py +322 -0
  16. kohakuterrarium-2.0.0.dev4/src/kohakuterrarium/launcher/update_runner.py +394 -0
  17. kohakuterrarium-2.0.0.dev2/src/kohakuterrarium/web_dist/assets/_id_-CU3uGW47.js → kohakuterrarium-2.0.0.dev4/src/kohakuterrarium/web_dist/assets/_id_-uBFoVSR-.js +1 -1
  18. kohakuterrarium-2.0.0.dev2/src/kohakuterrarium/web_dist/assets/_key_-DvKoPuoc.js → kohakuterrarium-2.0.0.dev4/src/kohakuterrarium/web_dist/assets/_key_-DNOvxKYU.js +1 -1
  19. kohakuterrarium-2.0.0.dev4/src/kohakuterrarium/web_dist/assets/api-6WpGvpdH.js +1 -0
  20. kohakuterrarium-2.0.0.dev4/src/kohakuterrarium/web_dist/assets/axios-DkY6n9a-.js +1 -0
  21. kohakuterrarium-2.0.0.dev4/src/kohakuterrarium/web_dist/assets/index-CPPu7zHj.css +1 -0
  22. kohakuterrarium-2.0.0.dev2/src/kohakuterrarium/web_dist/assets/index-DjzJ77md.js → kohakuterrarium-2.0.0.dev4/src/kohakuterrarium/web_dist/assets/index-CrlVAR7v.js +74 -74
  23. kohakuterrarium-2.0.0.dev4/src/kohakuterrarium/web_dist/assets/instances-BQRxJfAx.js +1 -0
  24. kohakuterrarium-2.0.0.dev2/src/kohakuterrarium/web_dist/assets/pages-Cko_YsNQ.js → kohakuterrarium-2.0.0.dev4/src/kohakuterrarium/web_dist/assets/pages-tbxF8vvv.js +1 -1
  25. kohakuterrarium-2.0.0.dev2/src/kohakuterrarium/web_dist/assets/panel-debug-BSGIYOa5.js → kohakuterrarium-2.0.0.dev4/src/kohakuterrarium/web_dist/assets/panel-debug-CdERMccn.js +1 -1
  26. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/index.html +2 -2
  27. kohakuterrarium-2.0.0.dev2/src/kohakuterrarium/api/routes/app_update.py +0 -282
  28. kohakuterrarium-2.0.0.dev2/src/kohakuterrarium/cli/self_update.py +0 -233
  29. kohakuterrarium-2.0.0.dev2/src/kohakuterrarium/launcher/__init__.py +0 -32
  30. kohakuterrarium-2.0.0.dev2/src/kohakuterrarium/launcher/bootloader.py +0 -160
  31. kohakuterrarium-2.0.0.dev2/src/kohakuterrarium/launcher/migration.py +0 -68
  32. kohakuterrarium-2.0.0.dev2/src/kohakuterrarium/launcher/paths.py +0 -151
  33. kohakuterrarium-2.0.0.dev2/src/kohakuterrarium/launcher/settings.py +0 -240
  34. kohakuterrarium-2.0.0.dev2/src/kohakuterrarium/launcher/sources.py +0 -88
  35. kohakuterrarium-2.0.0.dev2/src/kohakuterrarium/launcher/update_runner.py +0 -304
  36. kohakuterrarium-2.0.0.dev2/src/kohakuterrarium/launcher/venv_ops.py +0 -179
  37. kohakuterrarium-2.0.0.dev2/src/kohakuterrarium/web_dist/assets/api-Bu8fp5qd.js +0 -1
  38. kohakuterrarium-2.0.0.dev2/src/kohakuterrarium/web_dist/assets/axios-DEoS1rCJ.js +0 -1
  39. kohakuterrarium-2.0.0.dev2/src/kohakuterrarium/web_dist/assets/index-0ZdG87aI.css +0 -1
  40. kohakuterrarium-2.0.0.dev2/src/kohakuterrarium/web_dist/assets/instances-BILX_VEN.js +0 -1
  41. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/LICENSE +0 -0
  42. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/README.md +0 -0
  43. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/setup.cfg +0 -0
  44. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/KohakuTerrarium.egg-info/dependency_links.txt +0 -0
  45. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/KohakuTerrarium.egg-info/entry_points.txt +0 -0
  46. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/KohakuTerrarium.egg-info/requires.txt +0 -0
  47. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/KohakuTerrarium.egg-info/top_level.txt +0 -0
  48. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/__briefcase__.py +0 -0
  49. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/__init__.py +0 -0
  50. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/__main__.py +0 -0
  51. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/__init__.py +0 -0
  52. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/_io_executor.py +0 -0
  53. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/app.py +0 -0
  54. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/deps.py +0 -0
  55. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/main.py +0 -0
  56. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/__init__.py +0 -0
  57. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/attach/__init__.py +0 -0
  58. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/attach/files.py +0 -0
  59. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/attach/policies.py +0 -0
  60. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/catalog/__init__.py +0 -0
  61. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/catalog/_deps.py +0 -0
  62. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/catalog/builtins.py +0 -0
  63. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/catalog/commands.py +0 -0
  64. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/catalog/creatures.py +0 -0
  65. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/catalog/creatures_scan.py +0 -0
  66. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/catalog/extensions.py +0 -0
  67. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/catalog/manifest.py +0 -0
  68. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/catalog/models.py +0 -0
  69. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/catalog/modules.py +0 -0
  70. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/catalog/packages.py +0 -0
  71. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/catalog/registry.py +0 -0
  72. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/catalog/schema.py +0 -0
  73. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/catalog/skills.py +0 -0
  74. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/catalog/templates.py +0 -0
  75. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/catalog/terrariums_scan.py +0 -0
  76. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/catalog/validate.py +0 -0
  77. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/catalog/workspace.py +0 -0
  78. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/health.py +0 -0
  79. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/identity/__init__.py +0 -0
  80. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/identity/api_keys.py +0 -0
  81. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/identity/codex.py +0 -0
  82. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/identity/config_files.py +0 -0
  83. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/identity/llm.py +0 -0
  84. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/identity/mcp.py +0 -0
  85. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/identity/node_routing.py +0 -0
  86. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/identity/settings.py +0 -0
  87. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/identity/ui_prefs.py +0 -0
  88. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/lab_clients.py +0 -0
  89. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/lab_status.py +0 -0
  90. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/metrics.py +0 -0
  91. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/nodes.py +0 -0
  92. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/persistence/__init__.py +0 -0
  93. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/persistence/_executor.py +0 -0
  94. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/persistence/artifacts.py +0 -0
  95. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/persistence/fork.py +0 -0
  96. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/persistence/history.py +0 -0
  97. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/persistence/memory_index.py +0 -0
  98. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/persistence/resume.py +0 -0
  99. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/persistence/saved.py +0 -0
  100. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/persistence/viewer.py +0 -0
  101. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/runtime_graph.py +0 -0
  102. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/sessions_v2/__init__.py +0 -0
  103. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/sessions_v2/_helpers.py +0 -0
  104. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/sessions_v2/active.py +0 -0
  105. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/sessions_v2/creatures_chat.py +0 -0
  106. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/sessions_v2/creatures_command.py +0 -0
  107. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/sessions_v2/creatures_ctl.py +0 -0
  108. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/sessions_v2/creatures_model.py +0 -0
  109. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/sessions_v2/creatures_modules.py +0 -0
  110. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/sessions_v2/creatures_plugins.py +0 -0
  111. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/sessions_v2/creatures_state.py +0 -0
  112. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/sessions_v2/memory.py +0 -0
  113. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/sessions_v2/topology.py +0 -0
  114. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/routes/sessions_v2/wiring.py +0 -0
  115. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/schemas.py +0 -0
  116. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/studio/__init__.py +0 -0
  117. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/studio/app.py +0 -0
  118. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/studio/deps.py +0 -0
  119. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/studio/routes/__init__.py +0 -0
  120. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/studio/routes/meta.py +0 -0
  121. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/studio/routes/packages.py +0 -0
  122. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/studio/utils/__init__.py +0 -0
  123. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/studio/utils/paths.py +0 -0
  124. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/ws/__init__.py +0 -0
  125. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/ws/daemon_logs.py +0 -0
  126. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/ws/files.py +0 -0
  127. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/ws/io.py +0 -0
  128. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/ws/logs.py +0 -0
  129. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/ws/memory_build.py +0 -0
  130. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/ws/observer.py +0 -0
  131. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/ws/pty.py +0 -0
  132. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/ws/runtime_graph.py +0 -0
  133. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/api/ws/trace.py +0 -0
  134. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/app_icons/app.ico +0 -0
  135. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/app_icons/app.png +0 -0
  136. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/app_icons/window.ico +0 -0
  137. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/app_icons/window.png +0 -0
  138. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/bootstrap/__init__.py +0 -0
  139. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/bootstrap/agent_init.py +0 -0
  140. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/bootstrap/io.py +0 -0
  141. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/bootstrap/llm.py +0 -0
  142. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/bootstrap/plugins.py +0 -0
  143. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/bootstrap/subagents.py +0 -0
  144. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/bootstrap/tools.py +0 -0
  145. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/bootstrap/triggers.py +0 -0
  146. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtin_skills/README.md +0 -0
  147. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtin_skills/__init__.py +0 -0
  148. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtin_skills/subagents/coordinator.md +0 -0
  149. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtin_skills/subagents/critic.md +0 -0
  150. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtin_skills/subagents/explore.md +0 -0
  151. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtin_skills/subagents/memory_read.md +0 -0
  152. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtin_skills/subagents/memory_write.md +0 -0
  153. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtin_skills/subagents/plan.md +0 -0
  154. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtin_skills/subagents/research.md +0 -0
  155. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtin_skills/subagents/response.md +0 -0
  156. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtin_skills/subagents/summarize.md +0 -0
  157. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtin_skills/subagents/worker.md +0 -0
  158. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtin_skills/tools/ask_user.md +0 -0
  159. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtin_skills/tools/bash.md +0 -0
  160. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtin_skills/tools/edit.md +0 -0
  161. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtin_skills/tools/glob.md +0 -0
  162. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtin_skills/tools/grep.md +0 -0
  163. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtin_skills/tools/image_gen.md +0 -0
  164. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtin_skills/tools/info.md +0 -0
  165. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtin_skills/tools/json_read.md +0 -0
  166. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtin_skills/tools/json_write.md +0 -0
  167. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtin_skills/tools/mcp_call.md +0 -0
  168. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtin_skills/tools/mcp_connect.md +0 -0
  169. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtin_skills/tools/mcp_disconnect.md +0 -0
  170. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtin_skills/tools/mcp_list.md +0 -0
  171. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtin_skills/tools/multi_edit.md +0 -0
  172. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtin_skills/tools/notebook_edit.md +0 -0
  173. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtin_skills/tools/notebook_read.md +0 -0
  174. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtin_skills/tools/python.md +0 -0
  175. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtin_skills/tools/read.md +0 -0
  176. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtin_skills/tools/scratchpad.md +0 -0
  177. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtin_skills/tools/search_memory.md +0 -0
  178. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtin_skills/tools/send_message.md +0 -0
  179. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtin_skills/tools/show_card.md +0 -0
  180. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtin_skills/tools/skill.md +0 -0
  181. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtin_skills/tools/stop_task.md +0 -0
  182. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtin_skills/tools/tree.md +0 -0
  183. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtin_skills/tools/web_fetch.md +0 -0
  184. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtin_skills/tools/web_search.md +0 -0
  185. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtin_skills/tools/write.md +0 -0
  186. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/__init__.py +0 -0
  187. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/cli_rich/__init__.py +0 -0
  188. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/cli_rich/app.py +0 -0
  189. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/cli_rich/app_multi.py +0 -0
  190. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/cli_rich/app_output.py +0 -0
  191. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/cli_rich/blocks/__init__.py +0 -0
  192. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/cli_rich/blocks/diff.py +0 -0
  193. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/cli_rich/blocks/footer.py +0 -0
  194. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/cli_rich/blocks/message.py +0 -0
  195. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/cli_rich/blocks/tool.py +0 -0
  196. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/cli_rich/blocks/tool_renderers.py +0 -0
  197. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/cli_rich/commit.py +0 -0
  198. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/cli_rich/completer.py +0 -0
  199. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/cli_rich/composer.py +0 -0
  200. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/cli_rich/creature_status.py +0 -0
  201. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/cli_rich/dialogs/__init__.py +0 -0
  202. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/cli_rich/dialogs/agent_overlay.py +0 -0
  203. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/cli_rich/dialogs/bus_overlay.py +0 -0
  204. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/cli_rich/dialogs/model_picker.py +0 -0
  205. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/cli_rich/dialogs/module_picker.py +0 -0
  206. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/cli_rich/dialogs/module_picker_model.py +0 -0
  207. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/cli_rich/dialogs/module_picker_render.py +0 -0
  208. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/cli_rich/dialogs/peek_panel.py +0 -0
  209. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/cli_rich/dialogs/settings.py +0 -0
  210. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/cli_rich/dialogs/settings_model.py +0 -0
  211. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/cli_rich/dialogs/settings_render.py +0 -0
  212. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/cli_rich/focus.py +0 -0
  213. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/cli_rich/hint_bar.py +0 -0
  214. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/cli_rich/input.py +0 -0
  215. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/cli_rich/live_region.py +0 -0
  216. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/cli_rich/live_state.py +0 -0
  217. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/cli_rich/multiplex.py +0 -0
  218. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/cli_rich/output.py +0 -0
  219. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/cli_rich/paste_store.py +0 -0
  220. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/cli_rich/roster.py +0 -0
  221. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/cli_rich/runtime.py +0 -0
  222. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/cli_rich/theme.py +0 -0
  223. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/inputs/__init__.py +0 -0
  224. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/inputs/cli.py +0 -0
  225. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/inputs/none.py +0 -0
  226. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/outputs/__init__.py +0 -0
  227. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/outputs/stdout.py +0 -0
  228. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/outputs/tts.py +0 -0
  229. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/plugin_catalog.py +0 -0
  230. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/plugins/__init__.py +0 -0
  231. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/plugins/budget/__init__.py +0 -0
  232. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/plugins/budget/plugin.py +0 -0
  233. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/plugins/compact/__init__.py +0 -0
  234. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/plugins/compact/auto.py +0 -0
  235. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/plugins/permgate/__init__.py +0 -0
  236. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/plugins/permgate/plugin.py +0 -0
  237. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/plugins/sandbox/__init__.py +0 -0
  238. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/plugins/sandbox/plugin.py +0 -0
  239. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/subagent_catalog.py +0 -0
  240. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/subagents/README.md +0 -0
  241. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/subagents/__init__.py +0 -0
  242. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/subagents/_base_prompt.md +0 -0
  243. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/subagents/_prompt_loader.py +0 -0
  244. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/subagents/coordinator.py +0 -0
  245. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/subagents/critic.py +0 -0
  246. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/subagents/explore.py +0 -0
  247. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/subagents/memory_read.py +0 -0
  248. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/subagents/memory_write.py +0 -0
  249. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/subagents/plan.py +0 -0
  250. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/subagents/research.py +0 -0
  251. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/subagents/response.py +0 -0
  252. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/subagents/summarize.py +0 -0
  253. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/subagents/worker.py +0 -0
  254. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tool_catalog.py +0 -0
  255. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tools/__init__.py +0 -0
  256. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tools/ask_user.py +0 -0
  257. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tools/bash.py +0 -0
  258. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tools/edit.py +0 -0
  259. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tools/glob.py +0 -0
  260. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tools/grep.py +0 -0
  261. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tools/image_gen.py +0 -0
  262. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tools/info.py +0 -0
  263. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tools/json_read.py +0 -0
  264. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tools/json_write.py +0 -0
  265. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tools/multi_edit.py +0 -0
  266. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tools/notebook_edit.py +0 -0
  267. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tools/notebook_read.py +0 -0
  268. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tools/notebook_utils.py +0 -0
  269. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tools/read.py +0 -0
  270. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tools/registry.py +0 -0
  271. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tools/scratchpad_tool.py +0 -0
  272. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tools/search_memory.py +0 -0
  273. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tools/send_message.py +0 -0
  274. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tools/show_card.py +0 -0
  275. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tools/skill.py +0 -0
  276. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tools/stop_task.py +0 -0
  277. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tools/subprocess/shell_utils.py +0 -0
  278. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tools/tree.py +0 -0
  279. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tools/web_fetch.py +0 -0
  280. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tools/web_search.py +0 -0
  281. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tools/write.py +0 -0
  282. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tui/__init__.py +0 -0
  283. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tui/app.py +0 -0
  284. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tui/input.py +0 -0
  285. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tui/output.py +0 -0
  286. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tui/session.py +0 -0
  287. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tui/widgets/__init__.py +0 -0
  288. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tui/widgets/blocks.py +0 -0
  289. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tui/widgets/bus_blocks.py +0 -0
  290. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tui/widgets/helpers.py +0 -0
  291. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tui/widgets/input.py +0 -0
  292. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tui/widgets/messages.py +0 -0
  293. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tui/widgets/modals.py +0 -0
  294. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tui/widgets/model_picker_modal.py +0 -0
  295. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tui/widgets/modules_modal.py +0 -0
  296. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tui/widgets/panels.py +0 -0
  297. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/tui/widgets/ui_event_modals.py +0 -0
  298. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/user_commands/__init__.py +0 -0
  299. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/user_commands/branch.py +0 -0
  300. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/user_commands/channels.py +0 -0
  301. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/user_commands/clear.py +0 -0
  302. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/user_commands/compact.py +0 -0
  303. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/user_commands/edit.py +0 -0
  304. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/user_commands/env.py +0 -0
  305. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/user_commands/exit.py +0 -0
  306. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/user_commands/fork.py +0 -0
  307. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/user_commands/help.py +0 -0
  308. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/user_commands/jobs.py +0 -0
  309. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/user_commands/model.py +0 -0
  310. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/user_commands/module.py +0 -0
  311. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/user_commands/plugin.py +0 -0
  312. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/user_commands/regen.py +0 -0
  313. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/user_commands/registry.py +0 -0
  314. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/user_commands/scratchpad.py +0 -0
  315. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/user_commands/settings.py +0 -0
  316. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/user_commands/skill.py +0 -0
  317. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/user_commands/spawn.py +0 -0
  318. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/user_commands/start.py +0 -0
  319. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/user_commands/status.py +0 -0
  320. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/user_commands/stop.py +0 -0
  321. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/user_commands/system_prompt.py +0 -0
  322. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/user_commands/tool_options.py +0 -0
  323. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/user_commands/triggers.py +0 -0
  324. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/builtins/user_commands/workspace.py +0 -0
  325. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/cli/__init__.py +0 -0
  326. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/cli/_aio_entrypoint.py +0 -0
  327. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/cli/_aliases.py +0 -0
  328. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/cli/_config_layers.py +0 -0
  329. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/cli/auth.py +0 -0
  330. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/cli/config.py +0 -0
  331. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/cli/config_prompts.py +0 -0
  332. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/cli/extension.py +0 -0
  333. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/cli/identity_backend.py +0 -0
  334. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/cli/identity_codex.py +0 -0
  335. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/cli/identity_keys.py +0 -0
  336. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/cli/identity_llm.py +0 -0
  337. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/cli/identity_mcp.py +0 -0
  338. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/cli/identity_settings.py +0 -0
  339. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/cli/lab_client.py +0 -0
  340. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/cli/memory.py +0 -0
  341. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/cli/model.py +0 -0
  342. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/cli/packages.py +0 -0
  343. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/cli/resume.py +0 -0
  344. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/cli/run.py +0 -0
  345. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/cli/serve.py +0 -0
  346. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/cli/service.py +0 -0
  347. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/cli/version.py +0 -0
  348. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/commands/__init__.py +0 -0
  349. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/commands/base.py +0 -0
  350. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/commands/read.py +0 -0
  351. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/compose/__init__.py +0 -0
  352. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/compose/agent.py +0 -0
  353. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/compose/core.py +0 -0
  354. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/compose/effects.py +0 -0
  355. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/__init__.py +0 -0
  356. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/agent.py +0 -0
  357. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/agent_budget_recovery.py +0 -0
  358. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/agent_compact.py +0 -0
  359. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/agent_handlers.py +0 -0
  360. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/agent_helpers.py +0 -0
  361. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/agent_lifecycle.py +0 -0
  362. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/agent_mcp.py +0 -0
  363. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/agent_messages.py +0 -0
  364. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/agent_model.py +0 -0
  365. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/agent_native_tools.py +0 -0
  366. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/agent_observability.py +0 -0
  367. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/agent_plugin_options.py +0 -0
  368. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/agent_pre_dispatch.py +0 -0
  369. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/agent_runtime_tools.py +0 -0
  370. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/agent_tools.py +0 -0
  371. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/agent_tools_metrics.py +0 -0
  372. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/agent_workspace.py +0 -0
  373. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/backgroundify.py +0 -0
  374. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/budget.py +0 -0
  375. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/channel.py +0 -0
  376. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/compact.py +0 -0
  377. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/compact_text.py +0 -0
  378. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/config.py +0 -0
  379. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/config_merge.py +0 -0
  380. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/config_serde.py +0 -0
  381. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/config_types.py +0 -0
  382. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/constants.py +0 -0
  383. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/controller.py +0 -0
  384. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/controller_metrics.py +0 -0
  385. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/controller_plugins.py +0 -0
  386. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/conversation.py +0 -0
  387. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/environment.py +0 -0
  388. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/events.py +0 -0
  389. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/executor.py +0 -0
  390. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/job.py +0 -0
  391. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/loader.py +0 -0
  392. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/metrics_hook.py +0 -0
  393. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/native_tool_validation.py +0 -0
  394. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/output_wiring.py +0 -0
  395. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/registry.py +0 -0
  396. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/scratchpad.py +0 -0
  397. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/session.py +0 -0
  398. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/single_flight.py +0 -0
  399. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/termination.py +0 -0
  400. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/tool_output.py +0 -0
  401. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/core/trigger_manager.py +0 -0
  402. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/laboratory/__init__.py +0 -0
  403. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/laboratory/_internal/__init__.py +0 -0
  404. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/laboratory/_internal/addressing.py +0 -0
  405. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/laboratory/_internal/app.py +0 -0
  406. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/laboratory/_internal/auth.py +0 -0
  407. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/laboratory/_internal/backpressure.py +0 -0
  408. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/laboratory/_internal/client.py +0 -0
  409. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/laboratory/_internal/control.py +0 -0
  410. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/laboratory/_internal/envelope.py +0 -0
  411. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/laboratory/_internal/host.py +0 -0
  412. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/laboratory/_internal/membership.py +0 -0
  413. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/laboratory/_internal/protocol.py +0 -0
  414. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/laboratory/_internal/streams.py +0 -0
  415. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/laboratory/_internal/transport_base.py +0 -0
  416. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/laboratory/_internal/transport_inproc.py +0 -0
  417. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/laboratory/_internal/transport_ws.py +0 -0
  418. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/laboratory/adapters/__init__.py +0 -0
  419. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/laboratory/adapters/_worker_session.py +0 -0
  420. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/laboratory/adapters/file_scopes.py +0 -0
  421. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/laboratory/adapters/studio_catalog.py +0 -0
  422. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/laboratory/adapters/studio_deploy.py +0 -0
  423. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/laboratory/adapters/studio_identity.py +0 -0
  424. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/laboratory/adapters/terrarium_attach.py +0 -0
  425. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/laboratory/adapters/terrarium_broadcast.py +0 -0
  426. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/laboratory/adapters/terrarium_events.py +0 -0
  427. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/laboratory/adapters/terrarium_files.py +0 -0
  428. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/laboratory/adapters/terrarium_output_wire.py +0 -0
  429. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/laboratory/adapters/terrarium_pty.py +0 -0
  430. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/laboratory/adapters/terrarium_runtime.py +0 -0
  431. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/laboratory/adapters/terrarium_session.py +0 -0
  432. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/laboratory/config.py +0 -0
  433. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/laboratory/file_transfer.py +0 -0
  434. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/laboratory/identity_cache.py +0 -0
  435. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/laboratory/protocols.py +0 -0
  436. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/laboratory/streams.py +0 -0
  437. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/laboratory/verbs.py +0 -0
  438. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/laboratory/ws_proxy.py +0 -0
  439. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/launcher/__main__.py +0 -0
  440. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/launcher/_lock.py +0 -0
  441. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/launcher/log.py +0 -0
  442. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/launcher/splash_server.py +0 -0
  443. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/launcher/splash_window.py +0 -0
  444. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/llm/__init__.py +0 -0
  445. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/llm/anthropic_cache.py +0 -0
  446. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/llm/anthropic_format.py +0 -0
  447. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/llm/anthropic_provider.py +0 -0
  448. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/llm/api_keys.py +0 -0
  449. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/llm/backends.py +0 -0
  450. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/llm/base.py +0 -0
  451. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/llm/codex_auth.py +0 -0
  452. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/llm/codex_format.py +0 -0
  453. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/llm/codex_image_gen.py +0 -0
  454. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/llm/codex_provider.py +0 -0
  455. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/llm/codex_rate_limits.py +0 -0
  456. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/llm/deferred_provider.py +0 -0
  457. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/llm/litellm_provider.py +0 -0
  458. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/llm/message.py +0 -0
  459. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/llm/openai.py +0 -0
  460. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/llm/openai_helpers.py +0 -0
  461. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/llm/openai_sanitize.py +0 -0
  462. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/llm/preset_aliases.py +0 -0
  463. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/llm/preset_store.py +0 -0
  464. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/llm/presets.py +0 -0
  465. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/llm/profile_types.py +0 -0
  466. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/llm/profiles.py +0 -0
  467. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/llm/recovery.py +0 -0
  468. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/llm/tool_schemas.py +0 -0
  469. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/llm/tools.py +0 -0
  470. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/llm/variations.py +0 -0
  471. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/mcp/__init__.py +0 -0
  472. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/mcp/client.py +0 -0
  473. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/mcp/tools.py +0 -0
  474. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/modules/__init__.py +0 -0
  475. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/modules/input/__init__.py +0 -0
  476. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/modules/input/base.py +0 -0
  477. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/modules/output/__init__.py +0 -0
  478. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/modules/output/base.py +0 -0
  479. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/modules/output/event.py +0 -0
  480. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/modules/output/router.py +0 -0
  481. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/modules/output/router_interactive.py +0 -0
  482. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/modules/output/router_multi.py +0 -0
  483. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/modules/output/router_parsing.py +0 -0
  484. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/modules/output/router_state.py +0 -0
  485. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/modules/plugin/__init__.py +0 -0
  486. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/modules/plugin/base.py +0 -0
  487. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/modules/plugin/manager.py +0 -0
  488. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/modules/plugin/option_validation.py +0 -0
  489. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/modules/sandbox/__init__.py +0 -0
  490. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/modules/sandbox/config.py +0 -0
  491. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/modules/sandbox/parse.py +0 -0
  492. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/modules/sandbox/presets.py +0 -0
  493. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/modules/sandbox/profile.py +0 -0
  494. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/modules/sandbox/violations.py +0 -0
  495. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/modules/subagent/__init__.py +0 -0
  496. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/modules/subagent/base.py +0 -0
  497. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/modules/subagent/config.py +0 -0
  498. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/modules/subagent/interactive.py +0 -0
  499. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/modules/subagent/interactive_mgr.py +0 -0
  500. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/modules/subagent/manager.py +0 -0
  501. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/modules/subagent/result.py +0 -0
  502. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/modules/subagent/runtime_builders.py +0 -0
  503. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/modules/tool/__init__.py +0 -0
  504. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/modules/tool/base.py +0 -0
  505. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/modules/trigger/__init__.py +0 -0
  506. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/modules/trigger/base.py +0 -0
  507. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/modules/trigger/callable.py +0 -0
  508. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/modules/trigger/channel.py +0 -0
  509. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/modules/trigger/context.py +0 -0
  510. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/modules/trigger/scheduler.py +0 -0
  511. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/modules/trigger/timer.py +0 -0
  512. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/modules/trigger/universal.py +0 -0
  513. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/modules/user_command/__init__.py +0 -0
  514. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/modules/user_command/base.py +0 -0
  515. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/packages/__init__.py +0 -0
  516. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/packages/install.py +0 -0
  517. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/packages/locations.py +0 -0
  518. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/packages/manifest.py +0 -0
  519. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/packages/resolve.py +0 -0
  520. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/packages/slots.py +0 -0
  521. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/packages/walk.py +0 -0
  522. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/packaging/__init__.py +0 -0
  523. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/packaging/systemd/__init__.py +0 -0
  524. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/packaging/systemd/kohakuterrarium-all.service.template +0 -0
  525. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/packaging/systemd/kohakuterrarium-client@.service.template +0 -0
  526. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/packaging/systemd/kohakuterrarium-host.service.template +0 -0
  527. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/parsing/__init__.py +0 -0
  528. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/parsing/events.py +0 -0
  529. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/parsing/format.py +0 -0
  530. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/parsing/patterns.py +0 -0
  531. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/parsing/state_machine.py +0 -0
  532. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/plugins_context.py +0 -0
  533. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/prompt/__init__.py +0 -0
  534. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/prompt/aggregator.py +0 -0
  535. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/prompt/framework_hints.py +0 -0
  536. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/prompt/loader.py +0 -0
  537. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/prompt/plugins.py +0 -0
  538. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/prompt/skill_loader.py +0 -0
  539. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/prompt/template.py +0 -0
  540. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/prompt/tool_contributions.py +0 -0
  541. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/serving/__init__.py +0 -0
  542. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/serving/events.py +0 -0
  543. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/serving/process_metrics.py +0 -0
  544. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/serving/web.py +0 -0
  545. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/session/__init__.py +0 -0
  546. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/session/agent_attach.py +0 -0
  547. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/session/artifacts.py +0 -0
  548. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/session/attach.py +0 -0
  549. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/session/attachment_service.py +0 -0
  550. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/session/embedding.py +0 -0
  551. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/session/errors.py +0 -0
  552. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/session/history.py +0 -0
  553. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/session/memory.py +0 -0
  554. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/session/migrations/__init__.py +0 -0
  555. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/session/migrations/v1_to_v2.py +0 -0
  556. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/session/output.py +0 -0
  557. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/session/resume.py +0 -0
  558. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/session/rollup.py +0 -0
  559. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/session/session.py +0 -0
  560. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/session/store.py +0 -0
  561. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/session/store_counters.py +0 -0
  562. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/session/store_fork.py +0 -0
  563. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/session/store_protocol.py +0 -0
  564. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/session/sync.py +0 -0
  565. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/session/token_views.py +0 -0
  566. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/session/version.py +0 -0
  567. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/skill_docs.py +0 -0
  568. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/skills/__init__.py +0 -0
  569. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/skills/command.py +0 -0
  570. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/skills/discovery.py +0 -0
  571. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/skills/hints.py +0 -0
  572. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/skills/index.py +0 -0
  573. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/skills/paths.py +0 -0
  574. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/skills/registry.py +0 -0
  575. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/skills/user_slash.py +0 -0
  576. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/__init__.py +0 -0
  577. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/_runtime.py +0 -0
  578. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/attach/__init__.py +0 -0
  579. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/attach/_event_stream.py +0 -0
  580. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/attach/io.py +0 -0
  581. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/attach/io_cluster.py +0 -0
  582. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/attach/log.py +0 -0
  583. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/attach/observer.py +0 -0
  584. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/attach/policies.py +0 -0
  585. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/attach/pty_posix.py +0 -0
  586. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/attach/pty_router.py +0 -0
  587. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/attach/pty_windows.py +0 -0
  588. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/attach/trace.py +0 -0
  589. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/attach/workspace_files.py +0 -0
  590. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/attach/workspace_watch.py +0 -0
  591. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/catalog/__init__.py +0 -0
  592. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/catalog/builtins.py +0 -0
  593. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/catalog/catalog_sources.py +0 -0
  594. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/catalog/creatures.py +0 -0
  595. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/catalog/introspect.py +0 -0
  596. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/catalog/modules.py +0 -0
  597. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/catalog/packages.py +0 -0
  598. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/catalog/packages_aggregate.py +0 -0
  599. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/catalog/packages_remote.py +0 -0
  600. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/catalog/packages_scan.py +0 -0
  601. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/catalog/spawnable.py +0 -0
  602. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/deploy.py +0 -0
  603. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/editors/__init__.py +0 -0
  604. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/editors/codegen_common.py +0 -0
  605. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/editors/codegen_init.py +0 -0
  606. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/editors/codegen_io.py +0 -0
  607. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/editors/codegen_pending.py +0 -0
  608. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/editors/codegen_plugin.py +0 -0
  609. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/editors/codegen_subagent.py +0 -0
  610. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/editors/codegen_tool.py +0 -0
  611. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/editors/codegen_trigger.py +0 -0
  612. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/editors/creatures_crud.py +0 -0
  613. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/editors/modules_crud.py +0 -0
  614. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/editors/plugin_hooks.py +0 -0
  615. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/editors/skills_state.py +0 -0
  616. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/editors/templates.py +0 -0
  617. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/editors/templates_data/creature_config.yaml.j2 +0 -0
  618. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/editors/templates_data/input.py.j2 +0 -0
  619. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/editors/templates_data/output.py.j2 +0 -0
  620. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/editors/templates_data/plugin.py.j2 +0 -0
  621. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/editors/templates_data/subagent.py.j2 +0 -0
  622. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/editors/templates_data/system_prompt.md.j2 +0 -0
  623. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/editors/templates_data/tool.py.j2 +0 -0
  624. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/editors/templates_data/trigger.py.j2 +0 -0
  625. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/editors/utils_paths.py +0 -0
  626. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/editors/validators.py +0 -0
  627. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/editors/workspace_fs.py +0 -0
  628. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/editors/workspace_manifest.py +0 -0
  629. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/editors/yaml_creature.py +0 -0
  630. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/editors/yaml_manifest.py +0 -0
  631. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/files.py +0 -0
  632. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/identity/__init__.py +0 -0
  633. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/identity/api_keys.py +0 -0
  634. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/identity/codex_oauth.py +0 -0
  635. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/identity/llm_backends.py +0 -0
  636. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/identity/llm_default.py +0 -0
  637. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/identity/llm_native_tools.py +0 -0
  638. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/identity/llm_profiles.py +0 -0
  639. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/identity/mcp_servers.py +0 -0
  640. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/identity/mcp_usage.py +0 -0
  641. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/identity/settings.py +0 -0
  642. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/identity/ui_prefs.py +0 -0
  643. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/nodes.py +0 -0
  644. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/persistence/__init__.py +0 -0
  645. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/persistence/artifacts.py +0 -0
  646. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/persistence/fork.py +0 -0
  647. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/persistence/history.py +0 -0
  648. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/persistence/resume.py +0 -0
  649. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/persistence/store.py +0 -0
  650. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/persistence/viewer/__init__.py +0 -0
  651. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/persistence/viewer/diff.py +0 -0
  652. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/persistence/viewer/events.py +0 -0
  653. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/persistence/viewer/export.py +0 -0
  654. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/persistence/viewer/paths.py +0 -0
  655. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/persistence/viewer/rollups.py +0 -0
  656. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/persistence/viewer/summary.py +0 -0
  657. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/persistence/viewer/tree.py +0 -0
  658. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/persistence/viewer/turns.py +0 -0
  659. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/sessions/__init__.py +0 -0
  660. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/sessions/cluster_fold.py +0 -0
  661. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/sessions/cluster_paths.py +0 -0
  662. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/sessions/creature_chat.py +0 -0
  663. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/sessions/creature_command.py +0 -0
  664. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/sessions/creature_ctl.py +0 -0
  665. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/sessions/creature_model.py +0 -0
  666. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/sessions/creature_modules.py +0 -0
  667. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/sessions/creature_plugins.py +0 -0
  668. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/sessions/creature_state.py +0 -0
  669. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/sessions/find.py +0 -0
  670. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/sessions/handles.py +0 -0
  671. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/sessions/lifecycle.py +0 -0
  672. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/sessions/memory_build.py +0 -0
  673. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/sessions/memory_search.py +0 -0
  674. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/sessions/remote_meta.py +0 -0
  675. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/sessions/stop.py +0 -0
  676. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/sessions/topology.py +0 -0
  677. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/sessions/wiring.py +0 -0
  678. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/studio/studio.py +0 -0
  679. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/terrarium/__init__.py +0 -0
  680. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/terrarium/channel_lifecycle.py +0 -0
  681. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/terrarium/channels.py +0 -0
  682. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/terrarium/cli_output.py +0 -0
  683. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/terrarium/config.py +0 -0
  684. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/terrarium/creature.py +0 -0
  685. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/terrarium/creature_host.py +0 -0
  686. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/terrarium/creature_ops.py +0 -0
  687. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/terrarium/engine.py +0 -0
  688. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/terrarium/engine_cli.py +0 -0
  689. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/terrarium/engine_rich_cli.py +0 -0
  690. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/terrarium/events.py +0 -0
  691. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/terrarium/group_hooks.py +0 -0
  692. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/terrarium/group_tool_context.py +0 -0
  693. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/terrarium/multi_node_channels.py +0 -0
  694. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/terrarium/multi_node_cluster.py +0 -0
  695. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/terrarium/multi_node_replication.py +0 -0
  696. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/terrarium/multi_node_routing.py +0 -0
  697. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/terrarium/multi_node_service.py +0 -0
  698. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/terrarium/observer.py +0 -0
  699. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/terrarium/output_log.py +0 -0
  700. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/terrarium/output_wiring.py +0 -0
  701. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/terrarium/recipe.py +0 -0
  702. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/terrarium/remote_service.py +0 -0
  703. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/terrarium/resume.py +0 -0
  704. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/terrarium/root.py +0 -0
  705. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/terrarium/runtime_prompt.py +0 -0
  706. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/terrarium/service.py +0 -0
  707. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/terrarium/session_coord.py +0 -0
  708. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/terrarium/tools_group.py +0 -0
  709. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/terrarium/tools_group_channel.py +0 -0
  710. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/terrarium/tools_group_common.py +0 -0
  711. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/terrarium/tools_group_lifecycle.py +0 -0
  712. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/terrarium/tools_group_send.py +0 -0
  713. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/terrarium/tools_group_status.py +0 -0
  714. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/terrarium/tools_group_wire.py +0 -0
  715. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/terrarium/topology.py +0 -0
  716. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/terrarium/topology_snapshot.py +0 -0
  717. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/terrarium/wire.py +0 -0
  718. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/terrarium/wiring.py +0 -0
  719. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/testing/__init__.py +0 -0
  720. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/testing/agent.py +0 -0
  721. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/testing/events.py +0 -0
  722. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/testing/fake_llm_provider.py +0 -0
  723. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/testing/llm.py +0 -0
  724. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/testing/output.py +0 -0
  725. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/testing/subprocess_seam.py +0 -0
  726. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/testing/terrarium.py +0 -0
  727. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/utils/__init__.py +0 -0
  728. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/utils/async_utils.py +0 -0
  729. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/utils/config_dir.py +0 -0
  730. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/utils/file_guard.py +0 -0
  731. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/utils/file_walk.py +0 -0
  732. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/utils/logging.py +0 -0
  733. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  734. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  735. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  736. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  737. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  738. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  739. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  740. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  741. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  742. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  743. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  744. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  745. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  746. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  747. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  748. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  749. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  750. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  751. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  752. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  753. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  754. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  755. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  756. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  757. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  758. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  759. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  760. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  761. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  762. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  763. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  764. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  765. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  766. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  767. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  768. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  769. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  770. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  771. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  772. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  773. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  774. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  775. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  776. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  777. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  778. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  779. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  780. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  781. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  782. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  783. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  784. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  785. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  786. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  787. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  788. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  789. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  790. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  791. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  792. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/abap-DNgBPGRI.js +0 -0
  793. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/apex-B4r7dYl2.js +0 -0
  794. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/azcli-BKm6S2Cw.js +0 -0
  795. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/bat-BSxnouuk.js +0 -0
  796. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/bicep-B_GZ-wpx.js +0 -0
  797. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/cameligo-CXBRVnLk.js +0 -0
  798. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/clojure-cnfZdiGc.js +0 -0
  799. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/codicon-ngg6Pgfi.ttf +0 -0
  800. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/coffee-Cl1ACx-O.js +0 -0
  801. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/cpp-DnANvcr4.js +0 -0
  802. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/csharp-j4Zsiuzn.js +0 -0
  803. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/csp-CJnfk5It.js +0 -0
  804. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/css-CX2KWW-Q.js +0 -0
  805. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/css.worker-CpJJqcA4.js +0 -0
  806. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/cssMode-CtfXwgnY.js +0 -0
  807. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/cypher-D4V0lKaT.js +0 -0
  808. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/dart-CLzO6BZf.js +0 -0
  809. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/dockerfile-Bt15Hhqr.js +0 -0
  810. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/ecl-DLgnzhBc.js +0 -0
  811. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/editor.main-D4M8mfOA.js +0 -0
  812. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/element-plus-Bl9PS9H7.css +0 -0
  813. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/element-plus-Dy9KxKFU.js +0 -0
  814. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/elixir-Dc0k6n94.js +0 -0
  815. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/flow9-Cmb0SGvr.js +0 -0
  816. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/freemarker2-Dz8yjL95.js +0 -0
  817. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/fsharp-DUjP-BKm.js +0 -0
  818. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/go-DSFt5f-B.js +0 -0
  819. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/graphql-BGj0n4rN.js +0 -0
  820. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/handlebars-B9-G7gwA.js +0 -0
  821. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/hcl-CN-Ztzb4.js +0 -0
  822. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/highlight-BEOF7mkP.js +0 -0
  823. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/highlight-C8LL_u4z.css +0 -0
  824. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/html-DVGxM4pJ.js +0 -0
  825. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/html.worker-wsVgX3gp.js +0 -0
  826. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/htmlMode-C5KOTPV1.js +0 -0
  827. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/ini-BeMa714h.js +0 -0
  828. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/java-Dq86Qznf.js +0 -0
  829. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/javascript-BOm_W1Jn.js +0 -0
  830. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/json.worker-CcNiYOcv.js +0 -0
  831. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/jsonMode-CwOj3Xo4.js +0 -0
  832. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/julia-Bc53DpKu.js +0 -0
  833. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/kotlin-CQRm1pZj.js +0 -0
  834. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/less-BfrtPnli.js +0 -0
  835. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/lexon-D2S1YkuX.js +0 -0
  836. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/liquid-kAsMw2d0.js +0 -0
  837. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/lua-DQEY0YnT.js +0 -0
  838. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/m3-BuflAguW.js +0 -0
  839. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/markdown-BK2Bx0Uc.js +0 -0
  840. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/mdx-GqCrln-N.js +0 -0
  841. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/mips-1qOAKy2g.js +0 -0
  842. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/monaco-editor-BZeDFz3E.js +0 -0
  843. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/monaco-editor-Br_kD0ds.css +0 -0
  844. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/msdax-_4dmgZQ-.js +0 -0
  845. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/mysql-P77yJQsH.js +0 -0
  846. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/objective-c-ClnQjoXg.js +0 -0
  847. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/pascal-Bc7vQ0ww.js +0 -0
  848. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/pascaligo-CU0Jj3mr.js +0 -0
  849. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/perl-DUQq7oYb.js +0 -0
  850. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/pgsql-DiaHC3-b.js +0 -0
  851. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/php-BlWW-s9t.js +0 -0
  852. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/pla-C3G0xNH_.js +0 -0
  853. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/postiats-DuDQ2g7d.js +0 -0
  854. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/powerquery-A0ZakVXM.js +0 -0
  855. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/powershell-CR6g6RNz.js +0 -0
  856. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/protobuf-VgxhPgSb.js +0 -0
  857. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/pug-C_DyW9aF.js +0 -0
  858. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/python-NFGiUyiK.js +0 -0
  859. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/qsharp-DoW7kwI_.js +0 -0
  860. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/r-Cm84JybY.js +0 -0
  861. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/razor-DF_wJ9vT.js +0 -0
  862. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/redis-DrL-NF5O.js +0 -0
  863. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/redshift-BFyI3dDM.js +0 -0
  864. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/restructuredtext-BAnVJkrD.js +0 -0
  865. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/rolldown-runtime-Ckerh37x.js +0 -0
  866. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/ruby-BYkT7NSf.js +0 -0
  867. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/rust-fRZUAapC.js +0 -0
  868. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/sb-BEQIq6mo.js +0 -0
  869. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/scala-CtA-Dpyr.js +0 -0
  870. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/scheme-CUVe3YvV.js +0 -0
  871. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/scss-5W3dNF3Y.js +0 -0
  872. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/shell-DBgxJgVK.js +0 -0
  873. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/solidity-Dye8lGhL.js +0 -0
  874. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/sophia-DmcDOq41.js +0 -0
  875. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/sparql-Cv3vTK64.js +0 -0
  876. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/sql-D06NJRlu.js +0 -0
  877. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/st-Ca1c9xyP.js +0 -0
  878. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/swift-_jxqZxpE.js +0 -0
  879. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/systemverilog-B6m9LHIf.js +0 -0
  880. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/tcl-iZQEJ5k-.js +0 -0
  881. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/ts.worker-DfMAw22J.js +0 -0
  882. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/tsMode-ByqsHXMY.js +0 -0
  883. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/twig-tgVGZ8a3.js +0 -0
  884. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/typescript-fw_MGe8q.js +0 -0
  885. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/typespec-C5xfuswf.js +0 -0
  886. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/vb-BMkNQk3p.js +0 -0
  887. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/vue-vendor-GLcKlkIp.js +0 -0
  888. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/wgsl-Borzlq4p.js +0 -0
  889. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/xml-zEmrWqLn.js +0 -0
  890. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/assets/yaml-Bnn6I1fK.js +0 -0
  891. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/favicon.ico +0 -0
  892. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/favicon.png +0 -0
  893. {kohakuterrarium-2.0.0.dev2 → kohakuterrarium-2.0.0.dev4}/src/kohakuterrarium/web_dist/kohaku-icon.png +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: KohakuTerrarium
3
- Version: 2.0.0.dev2
3
+ Version: 2.0.0.dev4
4
4
  Summary: A universal agent framework for building self-driven AI agents and multi-agent teams
5
5
  Author-email: "Shih-Ying Yeh (KohakuBlueLeaf)" <apolloyeh0123@gmail.com>
6
6
  License: KohakuTerrarium-1.0
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "KohakuTerrarium"
7
- version = "2.0.0.dev2"
7
+ version = "2.0.0.dev4"
8
8
  description = "A universal agent framework for building self-driven AI agents and multi-agent teams"
9
9
  authors = [
10
10
  { name = "Shih-Ying Yeh (KohakuBlueLeaf)", email = "apolloyeh0123@gmail.com" },
@@ -157,7 +157,7 @@ select = ["F401", "F841"]
157
157
  [tool.briefcase]
158
158
  project_name = "KohakuTerrarium"
159
159
  bundle = "com.kohaku.terrarium"
160
- version = "2.0.0.dev2"
160
+ version = "2.0.0.dev4"
161
161
  url = "https://github.com/Kohaku-Lab/KohakuTerrarium"
162
162
  license.file = "LICENSE"
163
163
  author = "Shih-Ying Yeh (KohakuBlueLeaf)"
@@ -167,32 +167,29 @@ author_email = "apolloyeh0123@gmail.com"
167
167
  formal_name = "KohakuTerrarium"
168
168
  description = "Universal Agent Framework - Desktop App"
169
169
  icon = "src/kohakuterrarium/app_icons/app"
170
- # Wrapper-only sources. The full framework is INSTALLED into the
171
- # launcher's managed venv at first launch (offline from
172
- # ``wheels-bundle/`` or online from the configured source). See
173
- # ``plans/1.5.0-roadmap/06-app-update/`` for the design.
170
+ # 06b — wrapper-only sources. The framework is DOWNLOADED as a
171
+ # pre-built release tarball at first launch (offline from
172
+ # ``bundled-release/`` or online from the configured channel feed).
173
+ # See ``plans/1.5.0-roadmap/06b-release-bundle-update/`` for the design.
174
174
  #
175
- # ``wheels-bundle/`` ships as a sibling directory inside the bundle so
176
- # the launcher's ``bundled_wheels_dir()`` finds it at runtime. CI
177
- # populates ``wheels-bundle/`` via ``scripts/build_wrapper_wheels.py``
178
- # before ``briefcase create``; the verify step in release.yml asserts
179
- # the produced artifact actually carries it. See
180
- # ``plans/1.5.0-roadmap/06-app-update/01-bundled-first-install/``.
181
- sources = ["src/kohakuterrarium", "wheels-bundle"]
175
+ # ``bundled-release/`` ships as a sibling directory inside the bundle
176
+ # so the launcher's ``bundled_release_dir()`` finds it at runtime.
177
+ # CI populates ``bundled-release/`` from the matrix ``release-tree``
178
+ # job before ``briefcase create``.
179
+ sources = ["src/kohakuterrarium", "bundled-release"]
182
180
  startup_module = "kohakuterrarium.__briefcase__"
183
181
  requires = [
184
- # Launcher needs only pip, packaging, and pywebview (for the
185
- # splash window). The framework + its 30+ runtime deps live in
186
- # the venv the launcher creates, not the bundle.
187
- "pip>=24.0",
182
+ # Launcher needs only packaging (version compare), pywebview
183
+ # (splash UI optional, Tk fallback), and zstandard (preferred
184
+ # tarball compression .tar.gz fallback). NO pip, NO venv,
185
+ # NO ensurepip — the 06 design that depended on those was dead-on-
186
+ # arrival on Windows briefcase shells that strip stdlib modules.
188
187
  "packaging>=23.0",
189
188
  "pywebview==6.1",
189
+ "zstandard>=0.22",
190
190
  ]
191
191
  # proxy_tools (pywebview dep) only has sdist on PyPI — pre-build wheel in CI.
192
- # ``wheels-bundle/`` carries the kohakuterrarium wheel + its transitive
193
- # deps for offline first-launch (populated by
194
- # ``scripts/build_wrapper_wheels.py`` before ``briefcase build``).
195
- requirement_installer_args = ["--find-links", "wheels", "--find-links", "wheels-bundle"]
192
+ requirement_installer_args = ["--find-links", "wheels"]
196
193
 
197
194
  [tool.briefcase.app.kohakuterrarium.macOS]
198
195
  universal_build = false
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: KohakuTerrarium
3
- Version: 2.0.0.dev2
3
+ Version: 2.0.0.dev4
4
4
  Summary: A universal agent framework for building self-driven AI agents and multi-agent teams
5
5
  Author-email: "Shih-Ying Yeh (KohakuBlueLeaf)" <apolloyeh0123@gmail.com>
6
6
  License: KohakuTerrarium-1.0
@@ -407,15 +407,16 @@ src/kohakuterrarium/launcher/__init__.py
407
407
  src/kohakuterrarium/launcher/__main__.py
408
408
  src/kohakuterrarium/launcher/_lock.py
409
409
  src/kohakuterrarium/launcher/bootloader.py
410
+ src/kohakuterrarium/launcher/downloader.py
411
+ src/kohakuterrarium/launcher/feeds.py
410
412
  src/kohakuterrarium/launcher/log.py
411
413
  src/kohakuterrarium/launcher/migration.py
412
414
  src/kohakuterrarium/launcher/paths.py
413
415
  src/kohakuterrarium/launcher/settings.py
414
- src/kohakuterrarium/launcher/sources.py
415
416
  src/kohakuterrarium/launcher/splash_server.py
416
417
  src/kohakuterrarium/launcher/splash_window.py
418
+ src/kohakuterrarium/launcher/tree_ops.py
417
419
  src/kohakuterrarium/launcher/update_runner.py
418
- src/kohakuterrarium/launcher/venv_ops.py
419
420
  src/kohakuterrarium/llm/__init__.py
420
421
  src/kohakuterrarium/llm/anthropic_cache.py
421
422
  src/kohakuterrarium/llm/anthropic_format.py
@@ -766,12 +767,12 @@ src/kohakuterrarium/web_dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2
766
767
  src/kohakuterrarium/web_dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff
767
768
  src/kohakuterrarium/web_dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2
768
769
  src/kohakuterrarium/web_dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf
769
- src/kohakuterrarium/web_dist/assets/_id_-CU3uGW47.js
770
- src/kohakuterrarium/web_dist/assets/_key_-DvKoPuoc.js
770
+ src/kohakuterrarium/web_dist/assets/_id_-uBFoVSR-.js
771
+ src/kohakuterrarium/web_dist/assets/_key_-DNOvxKYU.js
771
772
  src/kohakuterrarium/web_dist/assets/abap-DNgBPGRI.js
772
773
  src/kohakuterrarium/web_dist/assets/apex-B4r7dYl2.js
773
- src/kohakuterrarium/web_dist/assets/api-Bu8fp5qd.js
774
- src/kohakuterrarium/web_dist/assets/axios-DEoS1rCJ.js
774
+ src/kohakuterrarium/web_dist/assets/api-6WpGvpdH.js
775
+ src/kohakuterrarium/web_dist/assets/axios-DkY6n9a-.js
775
776
  src/kohakuterrarium/web_dist/assets/azcli-BKm6S2Cw.js
776
777
  src/kohakuterrarium/web_dist/assets/bat-BSxnouuk.js
777
778
  src/kohakuterrarium/web_dist/assets/bicep-B_GZ-wpx.js
@@ -805,10 +806,10 @@ src/kohakuterrarium/web_dist/assets/highlight-C8LL_u4z.css
805
806
  src/kohakuterrarium/web_dist/assets/html-DVGxM4pJ.js
806
807
  src/kohakuterrarium/web_dist/assets/html.worker-wsVgX3gp.js
807
808
  src/kohakuterrarium/web_dist/assets/htmlMode-C5KOTPV1.js
808
- src/kohakuterrarium/web_dist/assets/index-0ZdG87aI.css
809
- src/kohakuterrarium/web_dist/assets/index-DjzJ77md.js
809
+ src/kohakuterrarium/web_dist/assets/index-CPPu7zHj.css
810
+ src/kohakuterrarium/web_dist/assets/index-CrlVAR7v.js
810
811
  src/kohakuterrarium/web_dist/assets/ini-BeMa714h.js
811
- src/kohakuterrarium/web_dist/assets/instances-BILX_VEN.js
812
+ src/kohakuterrarium/web_dist/assets/instances-BQRxJfAx.js
812
813
  src/kohakuterrarium/web_dist/assets/java-Dq86Qznf.js
813
814
  src/kohakuterrarium/web_dist/assets/javascript-BOm_W1Jn.js
814
815
  src/kohakuterrarium/web_dist/assets/json.worker-CcNiYOcv.js
@@ -828,8 +829,8 @@ src/kohakuterrarium/web_dist/assets/monaco-editor-Br_kD0ds.css
828
829
  src/kohakuterrarium/web_dist/assets/msdax-_4dmgZQ-.js
829
830
  src/kohakuterrarium/web_dist/assets/mysql-P77yJQsH.js
830
831
  src/kohakuterrarium/web_dist/assets/objective-c-ClnQjoXg.js
831
- src/kohakuterrarium/web_dist/assets/pages-Cko_YsNQ.js
832
- src/kohakuterrarium/web_dist/assets/panel-debug-BSGIYOa5.js
832
+ src/kohakuterrarium/web_dist/assets/pages-tbxF8vvv.js
833
+ src/kohakuterrarium/web_dist/assets/panel-debug-CdERMccn.js
833
834
  src/kohakuterrarium/web_dist/assets/pascal-Bc7vQ0ww.js
834
835
  src/kohakuterrarium/web_dist/assets/pascaligo-CU0Jj3mr.js
835
836
  src/kohakuterrarium/web_dist/assets/perl-DUQq7oYb.js
@@ -0,0 +1,272 @@
1
+ """``/api/app/*`` — app-update API for the Vue ``Admin → Updates`` tab.
2
+
3
+ Wraps the launcher's update_runner + feeds + settings helpers in HTTP
4
+ + WebSocket form so the frontend can drive the same flow the CLI's
5
+ ``kt self-update`` exposes. Only mounted in standalone and lab-host
6
+ modes; worker installs (lab-client) return 404 across the whole
7
+ namespace.
8
+
9
+ Endpoints (canonical: ``plans/1.5.0-roadmap/06b-release-bundle-update/design.md`` §11):
10
+
11
+ | GET | ``/api/app/settings`` | round-trip settings |
12
+ | PUT | ``/api/app/settings`` | round-trip settings |
13
+ | POST | ``/api/app/feeds/probe`` | force-fetch channel manifest |
14
+ | GET | ``/api/app/state`` | aggregate UI state |
15
+ | POST | ``/api/app/update`` | start update; returns WS path |
16
+ | POST | ``/api/app/rollback`` | revert pointer |
17
+ | WS | ``/ws/app/update`` | streams progress frames |
18
+ """
19
+
20
+ import asyncio
21
+ import json
22
+ from typing import Any
23
+
24
+ from fastapi import APIRouter, HTTPException, Request, WebSocket, WebSocketDisconnect
25
+
26
+ from kohakuterrarium.launcher import settings as _launcher_settings
27
+ from kohakuterrarium.launcher.feeds import (
28
+ FeedError,
29
+ current_platform_tag,
30
+ current_py_abi_tag,
31
+ fetch_manifest,
32
+ list_available_releases,
33
+ )
34
+ from kohakuterrarium.launcher.migration import (
35
+ is_launcher_install,
36
+ is_legacy_bundle,
37
+ )
38
+ from kohakuterrarium.launcher.tree_ops import (
39
+ list_installed_versions,
40
+ read_active_pointer,
41
+ )
42
+ from kohakuterrarium.launcher.update_runner import (
43
+ UpdateResult,
44
+ probe_only,
45
+ rollback,
46
+ run_update,
47
+ )
48
+
49
+ router = APIRouter()
50
+ # WebSocket lives on its own router so the API router's ``/api/app``
51
+ # prefix doesn't shift the canonical ``/ws/app/update`` path.
52
+ ws_router = APIRouter()
53
+
54
+
55
+ def _wrapper_mode_only(request: Request) -> None:
56
+ """Reject the call when the host isn't a wrapper / standalone install."""
57
+ lab_mode = getattr(request.app.state, "lab_mode", "standalone")
58
+ if lab_mode == "lab-client":
59
+ raise HTTPException(
60
+ 404, "app-update routes are not available in lab-client mode"
61
+ )
62
+
63
+
64
+ def _result_to_dict(r: UpdateResult) -> dict[str, Any]:
65
+ return {
66
+ "ok": r.ok,
67
+ "version": r.version,
68
+ "build_id": r.build_id,
69
+ "error": r.error,
70
+ "restart-required": r.restart_required,
71
+ "skipped-reason": r.skipped_reason,
72
+ }
73
+
74
+
75
+ # ── Settings ────────────────────────────────────────────────────────
76
+
77
+
78
+ @router.get("/settings")
79
+ async def get_settings(request: Request) -> dict[str, Any]:
80
+ _wrapper_mode_only(request)
81
+ return _launcher_settings.to_public_dict(_launcher_settings.load())
82
+
83
+
84
+ @router.put("/settings")
85
+ async def put_settings(request: Request, body: dict[str, Any]) -> dict[str, Any]:
86
+ _wrapper_mode_only(request)
87
+ if not isinstance(body, dict):
88
+ raise HTTPException(400, "request body must be a JSON object")
89
+ new_settings = _launcher_settings.from_public_dict(body)
90
+ _launcher_settings.save(new_settings)
91
+ return _launcher_settings.to_public_dict(new_settings)
92
+
93
+
94
+ # ── State + probe ───────────────────────────────────────────────────
95
+
96
+
97
+ @router.get("/state")
98
+ async def get_state(request: Request) -> dict[str, Any]:
99
+ _wrapper_mode_only(request)
100
+ cfg = _launcher_settings.load()
101
+ ptr = read_active_pointer()
102
+ installed = [
103
+ {
104
+ "version": p.version,
105
+ "build_id": p.build_id,
106
+ "installed_at": p.installed_at,
107
+ }
108
+ for p in list_installed_versions()
109
+ ]
110
+ return {
111
+ "active": (
112
+ {
113
+ "version": ptr.version,
114
+ "build_id": ptr.build_id,
115
+ "installed_at": ptr.installed_at,
116
+ }
117
+ if ptr is not None
118
+ else None
119
+ ),
120
+ "installed": installed,
121
+ "settings": _launcher_settings.to_public_dict(cfg),
122
+ "launcher_install": is_launcher_install(),
123
+ "legacy_bundle": is_legacy_bundle(),
124
+ "platform": current_platform_tag(),
125
+ "py_abi": current_py_abi_tag(),
126
+ "last_check_at": cfg.runtime.last_check_at,
127
+ "last_check_error": cfg.runtime.last_check_error,
128
+ }
129
+
130
+
131
+ @router.post("/feeds/probe")
132
+ async def post_feeds_probe(request: Request) -> dict[str, Any]:
133
+ """Force-fetch the channel manifest; return its releases filtered
134
+ for the running platform/abi (newest first)."""
135
+ _wrapper_mode_only(request)
136
+ cfg = _launcher_settings.load()
137
+ plat = current_platform_tag()
138
+ abi = current_py_abi_tag()
139
+ try:
140
+ manifest = await asyncio.to_thread(fetch_manifest, cfg, force_refresh=True)
141
+ except FeedError as e:
142
+ raise HTTPException(502, f"feed probe failed: {e}") from e
143
+ releases = list_available_releases(manifest, platform_tag=plat, py_abi_tag=abi)
144
+ latest = releases[0]["version"] if releases else None
145
+ return {
146
+ "channel": cfg.channel,
147
+ "feed": _launcher_settings.to_public_dict(cfg)["feed"],
148
+ "platform": plat,
149
+ "py_abi": abi,
150
+ "latest_version": latest,
151
+ "releases": releases,
152
+ }
153
+
154
+
155
+ # ── Update / rollback ───────────────────────────────────────────────
156
+
157
+
158
+ @router.post("/update")
159
+ async def post_update(request: Request) -> dict[str, Any]:
160
+ _wrapper_mode_only(request)
161
+ if not is_launcher_install():
162
+ raise HTTPException(
163
+ 409,
164
+ "this install is not launcher-managed; "
165
+ "run `kt self-update` from the terminal instead",
166
+ )
167
+ return {"websocket": "/ws/app/update"}
168
+
169
+
170
+ @router.post("/rollback")
171
+ async def post_rollback(request: Request) -> dict[str, Any]:
172
+ _wrapper_mode_only(request)
173
+ if not is_launcher_install():
174
+ raise HTTPException(409, "rollback is launcher-only")
175
+ result = await asyncio.to_thread(rollback)
176
+ return _result_to_dict(result)
177
+
178
+
179
+ @router.post("/check")
180
+ async def post_check(request: Request) -> dict[str, Any]:
181
+ """Probe what would be installed without doing it."""
182
+ _wrapper_mode_only(request)
183
+ result = await asyncio.to_thread(probe_only)
184
+ return _result_to_dict(result)
185
+
186
+
187
+ # ── WebSocket ───────────────────────────────────────────────────────
188
+
189
+
190
+ _WS_PATH = "/ws/app/update"
191
+
192
+
193
+ async def _stream_update(ws: WebSocket) -> None:
194
+ """Drive run_update() to completion, streaming progress frames."""
195
+ queue: asyncio.Queue = asyncio.Queue()
196
+
197
+ def _push(phase: str, percent: float, message: str) -> None:
198
+ # Called from the worker thread; thread-safe enqueue.
199
+ try:
200
+ queue.put_nowait({"phase": phase, "percent": percent, "message": message})
201
+ except Exception: # pragma: no cover - defensive
202
+ pass
203
+
204
+ loop = asyncio.get_running_loop()
205
+
206
+ async def _pump() -> UpdateResult:
207
+ return await loop.run_in_executor(None, lambda: run_update(_push))
208
+
209
+ runner_task = asyncio.create_task(_pump())
210
+ try:
211
+ while True:
212
+ done, _ = await asyncio.wait(
213
+ [runner_task, asyncio.create_task(queue.get())],
214
+ return_when=asyncio.FIRST_COMPLETED,
215
+ timeout=0.5,
216
+ )
217
+ # Drain whatever frames are pending.
218
+ while not queue.empty():
219
+ frame = queue.get_nowait()
220
+ await ws.send_text(json.dumps(frame))
221
+ if runner_task in done:
222
+ break
223
+ finally:
224
+ result = await runner_task
225
+ terminal = {
226
+ "phase": "done" if result.ok else "failed",
227
+ "percent": 100,
228
+ "message": (
229
+ f"updated to {result.version}" if result.ok else (result.error or "failed")
230
+ ),
231
+ "status": "ok" if result.ok else "failed",
232
+ "restart-required": result.restart_required,
233
+ "version": result.version,
234
+ "build_id": result.build_id,
235
+ "skipped-reason": result.skipped_reason,
236
+ }
237
+ await ws.send_text(json.dumps(terminal))
238
+
239
+
240
+ @ws_router.websocket(_WS_PATH)
241
+ async def ws_update(ws: WebSocket) -> None:
242
+ lab_mode = getattr(ws.app.state, "lab_mode", "standalone")
243
+ if lab_mode == "lab-client":
244
+ await ws.close(code=4404)
245
+ return
246
+ if not is_launcher_install():
247
+ await ws.accept()
248
+ await ws.send_text(
249
+ json.dumps(
250
+ {
251
+ "phase": "refused",
252
+ "percent": 0,
253
+ "message": "non-launcher install; use `kt self-update` from terminal",
254
+ "status": "failed",
255
+ }
256
+ )
257
+ )
258
+ await ws.close()
259
+ return
260
+ await ws.accept()
261
+ try:
262
+ await _stream_update(ws)
263
+ except WebSocketDisconnect:
264
+ return
265
+ finally:
266
+ try:
267
+ await ws.close()
268
+ except Exception: # pragma: no cover - already closed
269
+ pass
270
+
271
+
272
+ __all__ = ["router", "ws_router"]
@@ -24,7 +24,7 @@ from typing import Any
24
24
  from fastapi import APIRouter, Depends, Request
25
25
 
26
26
  from kohakuterrarium.api.deps import get_service
27
- from kohakuterrarium.launcher.paths import wrapper_marker_path
27
+ from kohakuterrarium.launcher.migration import is_launcher_install
28
28
  from kohakuterrarium.utils.config_dir import config_dir
29
29
  from kohakuterrarium.utils.logging import get_logger
30
30
 
@@ -45,9 +45,9 @@ def _get_version() -> str:
45
45
 
46
46
 
47
47
  def _install_kind() -> str:
48
- """Wrapper-managed venv vs other."""
48
+ """Launcher-managed install vs other (dev, packaged python, etc.)."""
49
49
  try:
50
- return "wrapper" if wrapper_marker_path().is_file() else "user"
50
+ return "launcher" if is_launcher_install() else "user"
51
51
  except OSError:
52
52
  return "user"
53
53
 
@@ -0,0 +1,172 @@
1
+ """``kt self-update`` — CLI parity for the launcher's update flow.
2
+
3
+ The 06b launcher is the *only* thing that updates this install. This
4
+ verb is a thin client over :mod:`launcher.update_runner`:
5
+
6
+ - **Launcher install** (active pointer + interpreter under
7
+ ``runtime/versions/``) → call :func:`launcher.update_runner.run_update`
8
+ with optional one-shot overrides (`--channel`, `--feed-url`, `--pin`).
9
+ - **Anything else** (dev install via ``pip install -e .``, lab worker
10
+ node, system package, pipx) → refuse with a one-line explanation.
11
+ No more "fall back to pip" — the framework process running outside
12
+ the launcher is by definition not something we manage.
13
+ """
14
+
15
+ import argparse
16
+ import importlib.metadata
17
+ import sys
18
+
19
+ from kohakuterrarium.launcher import settings as _launcher_settings
20
+ from kohakuterrarium.launcher.feeds import (
21
+ FeedError,
22
+ resolve_feed,
23
+ )
24
+ from kohakuterrarium.launcher.migration import is_launcher_install
25
+ from kohakuterrarium.launcher.tree_ops import read_active_pointer
26
+ from kohakuterrarium.launcher.update_runner import (
27
+ probe_only,
28
+ rollback,
29
+ run_update,
30
+ )
31
+
32
+
33
+ def _print(line: str) -> None:
34
+ sys.stdout.write(line + "\n")
35
+ sys.stdout.flush()
36
+
37
+
38
+ def _current_version() -> str | None:
39
+ try:
40
+ return importlib.metadata.version("kohakuterrarium")
41
+ except importlib.metadata.PackageNotFoundError:
42
+ return None
43
+
44
+
45
+ def _apply_overrides(args: argparse.Namespace) -> None:
46
+ """Apply ``--channel``, ``--feed-url``, ``--pin`` overrides to settings.
47
+
48
+ Persisted so the next launcher launch inherits the new choice —
49
+ matches the GUI's behaviour where the dropdown is sticky.
50
+ """
51
+ cfg = _launcher_settings.load()
52
+ touched = False
53
+ if args.channel is not None:
54
+ cfg.channel = args.channel
55
+ touched = True
56
+ if args.feed_url is not None:
57
+ cfg.feed.kind = "custom"
58
+ cfg.feed.url = args.feed_url
59
+ touched = True
60
+ if args.pin is not None:
61
+ cfg.pinned_version = args.pin or None
62
+ touched = True
63
+ if touched:
64
+ _launcher_settings.save(cfg)
65
+
66
+
67
+ def _refuse_non_launcher() -> int:
68
+ _print("kt self-update: this process is not running inside a launcher install.")
69
+ _print(
70
+ " - Developer checkout? Run `git pull` (or `pip install -e .`) in your tree."
71
+ )
72
+ _print(" - Worker node? Update the host's launcher install separately.")
73
+ _print(" - pipx / system pip? Use those tools' own update commands.")
74
+ return 2
75
+
76
+
77
+ def self_update_cli(args: argparse.Namespace) -> int:
78
+ cur = _current_version() or "unknown"
79
+
80
+ if not is_launcher_install():
81
+ if args.check_only:
82
+ _print(
83
+ f"kt self-update: current={cur}; not running inside a launcher install"
84
+ )
85
+ return 2
86
+ return _refuse_non_launcher()
87
+
88
+ _apply_overrides(args)
89
+
90
+ if args.check_only:
91
+ result = probe_only()
92
+ if not result.ok:
93
+ _print(f"kt self-update: probe failed — {result.error}")
94
+ return 2
95
+ _print(f"kt self-update: current={cur}; latest={result.version}")
96
+ return 0 if result.skipped_reason != "up-to-date" else 1
97
+
98
+ if args.rollback:
99
+ result = rollback()
100
+ if not result.ok:
101
+ _print(f"kt self-update: rollback failed — {result.error}")
102
+ return 1
103
+ _print(
104
+ f"kt self-update: pointer reverted to {result.version}; restart to use it"
105
+ )
106
+ return 0
107
+
108
+ if args.dry_run:
109
+ cfg = _launcher_settings.load()
110
+ try:
111
+ target = resolve_feed(cfg, force_refresh=True)
112
+ except FeedError as e:
113
+ _print(f"kt self-update: dry-run resolution failed — {e}")
114
+ return 2
115
+ ptr = read_active_pointer()
116
+ active = ptr.version if ptr else "<none>"
117
+ _print(
118
+ f"kt self-update: --dry-run; would install {target.version} "
119
+ f"(active={active}, feed={cfg.feed.kind}, channel={cfg.channel})"
120
+ )
121
+ return 0
122
+
123
+ result = run_update()
124
+ if not result.ok:
125
+ _print(f"kt self-update: failed — {result.error}")
126
+ return 1
127
+ if result.skipped_reason == "up-to-date":
128
+ _print(f"kt self-update: already on {result.version}; no change")
129
+ return 0
130
+ _print(f"kt self-update: updated to {result.version}; restart the app to use it")
131
+ return 0
132
+
133
+
134
+ def add_self_update_subparser(subparsers) -> None:
135
+ parser = subparsers.add_parser(
136
+ "self-update",
137
+ help="Update KohakuTerrarium via the launcher's release feed",
138
+ )
139
+ parser.add_argument(
140
+ "--check-only",
141
+ action="store_true",
142
+ help="Resolve the feed and print latest available; exit 0 if newer, 1 if up-to-date.",
143
+ )
144
+ parser.add_argument(
145
+ "--dry-run",
146
+ action="store_true",
147
+ help="Resolve the feed and print what would be installed; do not install.",
148
+ )
149
+ parser.add_argument(
150
+ "--rollback",
151
+ action="store_true",
152
+ help="Revert the active pointer to the previous installed version.",
153
+ )
154
+ parser.add_argument(
155
+ "--channel",
156
+ choices=("stable", "beta", "nightly"),
157
+ default=None,
158
+ help="Persist a new channel before updating (sticky, mirrors the GUI dropdown).",
159
+ )
160
+ parser.add_argument(
161
+ "--feed-url",
162
+ default=None,
163
+ help="Switch to a custom feed URL before updating (sticky).",
164
+ )
165
+ parser.add_argument(
166
+ "--pin",
167
+ default=None,
168
+ help='Persist a pinned version (e.g. "1.5.1"); empty string clears.',
169
+ )
170
+
171
+
172
+ __all__ = ["add_self_update_subparser", "self_update_cli"]
@@ -0,0 +1,36 @@
1
+ """KohakuTerrarium launcher — thin wrapper that owns the runtime tree.
2
+
3
+ This package is the briefcase desktop bundle's *only* runtime entry
4
+ point. It manages versioned installs under
5
+ ``~/.kohakuterrarium/runtime/versions/<X.Y.Z>/``, atomically swaps the
6
+ ``runtime/active`` pointer, and ``os.execv``'s into the active
7
+ version's ``scripts/kt`` to replace itself with the real framework
8
+ process.
9
+
10
+ **Strict isolation rule.** Modules under
11
+ :mod:`kohakuterrarium.launcher` must NOT import from any other
12
+ ``kohakuterrarium.*`` package. The launcher runs BEFORE any framework
13
+ code is on ``sys.path`` (first launch, recovery), and a missing
14
+ transitive import would crash the wrapper. A dep-graph guard test in
15
+ ``tests/unit/`` enforces this.
16
+
17
+ The package ``__init__`` deliberately re-exports NOTHING so that
18
+ ``import kohakuterrarium.launcher.<submodule>`` from any submodule's
19
+ top of file does not trigger a circular import chain through
20
+ ``bootloader`` → ``update_runner`` → ``settings`` → … back to
21
+ ``launcher.__init__``. Callers (``__main__``, ``__briefcase__``)
22
+ import :func:`bootloader.main` directly.
23
+
24
+ Wrapper-only dependencies (intentionally small):
25
+
26
+ - stdlib: ``argparse``, ``json``, ``os``, ``pathlib``, ``subprocess``,
27
+ ``shutil``, ``hashlib``, ``urllib``, ``tarfile``, ``http.server``,
28
+ ``threading``, ``logging``
29
+ - third-party: ``packaging`` (any), ``pywebview`` (splash UI — optional;
30
+ Tk fallback if missing), ``zstandard`` (optional; ``.tar.gz`` fallback
31
+ if missing)
32
+
33
+ Notably **not** required: ``pip``, ``venv``, ``ensurepip``, ``git``,
34
+ ``installer``. The launcher never installs Python packages on the
35
+ user's machine — it downloads pre-built site-packages trees.
36
+ """