langbot-plugin 0.6.4__tar.gz → 0.6.5__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 (371) hide show
  1. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/PKG-INFO +1 -1
  2. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/pyproject.toml +1 -1
  3. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/runtime/io/controllers/stdio/client.py +4 -1
  4. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/runtime/plugin/mgr.py +20 -1
  5. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/runtime/plugin/worker_launcher.py +1 -0
  6. langbot_plugin-0.6.5/src/langbot_plugin/version.py +1 -0
  7. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/packaging/test_release_metadata.py +2 -2
  8. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/runtime/io/test_controllers.py +28 -1
  9. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/runtime/plugin/test_installation_manager.py +6 -0
  10. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/runtime/plugin/test_worker_launcher.py +13 -0
  11. langbot_plugin-0.6.4/src/langbot_plugin/version.py +0 -1
  12. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/.github/workflows/cla.yml +0 -0
  13. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/.github/workflows/publish-pypi.yaml +0 -0
  14. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/.github/workflows/publish.yml +0 -0
  15. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/.github/workflows/test.yml +0 -0
  16. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/.gitignore +0 -0
  17. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/.python-version +0 -0
  18. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/AGENTS.md +0 -0
  19. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/ARCHITECTURE.md +0 -0
  20. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/CLAUDE.md +0 -0
  21. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/CONTRIBUTING.md +0 -0
  22. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/LICENSE +0 -0
  23. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/README.md +0 -0
  24. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/README_CN.md +0 -0
  25. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/data/.env.example +0 -0
  26. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/docs/Message.md +0 -0
  27. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/docs/PluginPages.md +0 -0
  28. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/docs/agent-runner-interactions.md +0 -0
  29. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/docs/agent-runner-pluginization/PROTOCOL_V1.md +0 -0
  30. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/docs/agent-runner-pluginization/README.md +0 -0
  31. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/docs/agent-runner-pluginization/SDK_RUNTIME_PLAN.md +0 -0
  32. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/docs/certified-plugins.md +0 -0
  33. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/docs/communication/apis/lb2rt.md +0 -0
  34. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/docs/communication/runtime_plugin.md +0 -0
  35. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/docs/dependency-management.md +0 -0
  36. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/docs/langbot-plugin-social.png +0 -0
  37. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/docs/runner.md +0 -0
  38. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/mypy.ini +0 -0
  39. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/scripts/check_action_consistency.py +0 -0
  40. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/scripts/runtime_resource_probe.py +0 -0
  41. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/__init__.py +0 -0
  42. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/__init__.py +0 -0
  43. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/agent_tools/__init__.py +0 -0
  44. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/agent_tools/asset_gateway.py +0 -0
  45. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/agent_tools/daemon.py +0 -0
  46. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/agent_tools/decorators.py +0 -0
  47. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/agent_tools/external_tools.py +0 -0
  48. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/agent_tools/mcp_access.py +0 -0
  49. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/agent_tools/mcp_bridge.py +0 -0
  50. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/agent_tools/mcp_config.py +0 -0
  51. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/agent_tools/mcp_protocol.py +0 -0
  52. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/agent_tools/mcp_stdio.py +0 -0
  53. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/definition/__init__.py +0 -0
  54. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/definition/abstract/__init__.py +0 -0
  55. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/definition/abstract/platform/__init__.py +0 -0
  56. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/definition/abstract/platform/adapter.py +0 -0
  57. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/definition/abstract/platform/event_logger.py +0 -0
  58. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/definition/components/__init__.py +0 -0
  59. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/definition/components/base.py +0 -0
  60. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/definition/components/command/__init__.py +0 -0
  61. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/definition/components/command/command.py +0 -0
  62. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/definition/components/common/__init__.py +0 -0
  63. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/definition/components/common/event_listener.py +0 -0
  64. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/definition/components/knowledge_engine/__init__.py +0 -0
  65. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/definition/components/knowledge_engine/engine.py +0 -0
  66. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/definition/components/manifest.py +0 -0
  67. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/definition/components/page/__init__.py +0 -0
  68. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/definition/components/parser/__init__.py +0 -0
  69. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/definition/components/parser/parser.py +0 -0
  70. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/definition/components/runner/__init__.py +0 -0
  71. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/definition/components/runner/runner.py +0 -0
  72. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/definition/components/tool/__init__.py +0 -0
  73. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/definition/components/tool/tool.py +0 -0
  74. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/definition/plugin.py +0 -0
  75. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/__init__.py +0 -0
  76. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/__init__.py +0 -0
  77. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/command/__init__.py +0 -0
  78. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/command/context.py +0 -0
  79. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/command/errors.py +0 -0
  80. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/pipeline/__init__.py +0 -0
  81. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/pipeline/query.py +0 -0
  82. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/platform/__init__.py +0 -0
  83. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/platform/entities.py +0 -0
  84. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/platform/errors.py +0 -0
  85. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/platform/events.py +0 -0
  86. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/platform/logger.py +0 -0
  87. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/platform/message.py +0 -0
  88. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/provider/__init__.py +0 -0
  89. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/provider/message.py +0 -0
  90. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/provider/prompt.py +0 -0
  91. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/provider/reasoning.py +0 -0
  92. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/provider/session.py +0 -0
  93. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/rag/__init__.py +0 -0
  94. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/rag/context.py +0 -0
  95. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/rag/enums.py +0 -0
  96. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/rag/errors.py +0 -0
  97. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/rag/models.py +0 -0
  98. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/resource/__init__.py +0 -0
  99. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/resource/tool.py +0 -0
  100. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/runner/__init__.py +0 -0
  101. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/runner/box.py +0 -0
  102. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/runner/capabilities.py +0 -0
  103. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/runner/compat.py +0 -0
  104. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/runner/context.py +0 -0
  105. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/runner/context_access.py +0 -0
  106. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/runner/delivery.py +0 -0
  107. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/runner/errors.py +0 -0
  108. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/runner/event.py +0 -0
  109. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/runner/input.py +0 -0
  110. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/runner/interaction.py +0 -0
  111. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/runner/manifest.py +0 -0
  112. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/runner/page_results.py +0 -0
  113. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/runner/permissions.py +0 -0
  114. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/runner/resources.py +0 -0
  115. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/runner/result.py +0 -0
  116. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/runner/run_ledger.py +0 -0
  117. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/runner/runtime.py +0 -0
  118. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/runner/runtime_registry.py +0 -0
  119. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/runner/state.py +0 -0
  120. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/runner/stats.py +0 -0
  121. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/runner/steering.py +0 -0
  122. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/runner/transcript.py +0 -0
  123. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/builtin/runner/trigger.py +0 -0
  124. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/context.py +0 -0
  125. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/events.py +0 -0
  126. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/entities/execution.py +0 -0
  127. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/proxies/__init__.py +0 -0
  128. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/proxies/base.py +0 -0
  129. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/proxies/event_context.py +0 -0
  130. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/proxies/execute_context.py +0 -0
  131. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/proxies/invocation.py +0 -0
  132. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/proxies/langbot_api.py +0 -0
  133. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/proxies/query_based_api.py +0 -0
  134. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/proxies/runner/__init__.py +0 -0
  135. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/proxies/runner/admin.py +0 -0
  136. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/proxies/runner/api.py +0 -0
  137. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/proxies/runner/box.py +0 -0
  138. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/proxies/runner/common.py +0 -0
  139. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/proxies/runner/context.py +0 -0
  140. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/proxies/runner/ledger.py +0 -0
  141. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/proxies/runner/platform.py +0 -0
  142. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/proxies/runner/reply_stream.py +0 -0
  143. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/proxies/runner/resources.py +0 -0
  144. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/proxies/runner/state.py +0 -0
  145. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/api/proxies/runner/tracing.py +0 -0
  146. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/assets/__init__.py +0 -0
  147. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/assets/langbot-page-sdk.js +0 -0
  148. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/assets/templates/.env.example.example +0 -0
  149. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/assets/templates/.github/workflows/release.yml.example +0 -0
  150. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/assets/templates/.gitignore.example +0 -0
  151. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/assets/templates/.vscode/launch.json.example +0 -0
  152. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/assets/templates/README.md.example +0 -0
  153. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/assets/templates/__init__.py +0 -0
  154. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/assets/templates/assets/icon.svg.example +0 -0
  155. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/assets/templates/components/__init__.py +0 -0
  156. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/assets/templates/components/commands/__init__.py +0 -0
  157. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/assets/templates/components/commands/{cmd_name}.py.example +0 -0
  158. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/assets/templates/components/commands/{cmd_name}.yaml.example +0 -0
  159. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/assets/templates/components/event_listener/__init__.py +0 -0
  160. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/assets/templates/components/event_listener/default.py.example +0 -0
  161. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/assets/templates/components/event_listener/default.yaml.example +0 -0
  162. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/assets/templates/components/knowledge_engine/__init__.py +0 -0
  163. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/assets/templates/components/knowledge_engine/{knowledge_engine_name}.py.example +0 -0
  164. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/assets/templates/components/knowledge_engine/{knowledge_engine_name}.yaml.example +0 -0
  165. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/assets/templates/components/pages/{page_name}.html.example +0 -0
  166. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/assets/templates/components/pages/{page_name}.yaml.example +0 -0
  167. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/assets/templates/components/parser/__init__.py +0 -0
  168. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/assets/templates/components/parser/{parser_name}.py.example +0 -0
  169. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/assets/templates/components/parser/{parser_name}.yaml.example +0 -0
  170. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/assets/templates/components/runner/__init__.py +0 -0
  171. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/assets/templates/components/runner/{runner_name}.py.example +0 -0
  172. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/assets/templates/components/runner/{runner_name}.yaml.example +0 -0
  173. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/assets/templates/components/tools/__init__.py +0 -0
  174. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/assets/templates/components/tools/{tool_name}.py.example +0 -0
  175. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/assets/templates/components/tools/{tool_name}.yaml.example +0 -0
  176. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/assets/templates/main.py.example +0 -0
  177. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/assets/templates/manifest.yaml.example +0 -0
  178. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/assets/templates/readme/README_zh_Hans.md.example +0 -0
  179. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/assets/templates/requirements.txt.example +0 -0
  180. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/box/__init__.py +0 -0
  181. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/box/actions.py +0 -0
  182. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/box/backend.py +0 -0
  183. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/box/client.py +0 -0
  184. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/box/e2b_backend.py +0 -0
  185. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/box/errors.py +0 -0
  186. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/box/host_backend.py +0 -0
  187. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/box/models.py +0 -0
  188. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/box/nsjail_backend.py +0 -0
  189. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/box/runtime.py +0 -0
  190. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/box/security.py +0 -0
  191. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/box/server.py +0 -0
  192. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/box/skill_store.py +0 -0
  193. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/box/tenancy.py +0 -0
  194. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/certification.py +0 -0
  195. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/cli/__init__.py +0 -0
  196. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/cli/__main__.py +0 -0
  197. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/cli/commands/__init__.py +0 -0
  198. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/cli/commands/buildplugin.py +0 -0
  199. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/cli/commands/gencomponent.py +0 -0
  200. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/cli/commands/initplugin.py +0 -0
  201. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/cli/commands/login.py +0 -0
  202. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/cli/commands/logout.py +0 -0
  203. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/cli/commands/publish.py +0 -0
  204. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/cli/commands/runplugin.py +0 -0
  205. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/cli/gen/__init__.py +0 -0
  206. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/cli/gen/renderer.py +0 -0
  207. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/cli/i18n.py +0 -0
  208. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/cli/locales/__init__.py +0 -0
  209. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/cli/locales/en_US.py +0 -0
  210. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/cli/locales/es_ES.py +0 -0
  211. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/cli/locales/ja_JP.py +0 -0
  212. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/cli/locales/th_TH.py +0 -0
  213. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/cli/locales/vi_VN.py +0 -0
  214. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/cli/locales/zh_Hans.py +0 -0
  215. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/cli/locales/zh_Hant.py +0 -0
  216. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/cli/run/__init__.py +0 -0
  217. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/cli/run/controller.py +0 -0
  218. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/cli/run/handler.py +0 -0
  219. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/cli/run/hotreload.py +0 -0
  220. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/cli/utils/__init__.py +0 -0
  221. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/cli/utils/cloudsv.py +0 -0
  222. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/cli/utils/form.py +0 -0
  223. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/cli/utils/page_components.py +0 -0
  224. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/entities/__init__.py +0 -0
  225. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/entities/io/__init__.py +0 -0
  226. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/entities/io/actions/__init__.py +0 -0
  227. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/entities/io/actions/enums.py +0 -0
  228. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/entities/io/context.py +0 -0
  229. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/entities/io/errors.py +0 -0
  230. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/entities/io/req.py +0 -0
  231. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/entities/io/resp.py +0 -0
  232. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/entities/marketplace.py +0 -0
  233. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/runtime/LICENSE +0 -0
  234. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/runtime/README.md +0 -0
  235. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/runtime/__init__.py +0 -0
  236. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/runtime/app.py +0 -0
  237. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/runtime/bounded_executor.py +0 -0
  238. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/runtime/context.py +0 -0
  239. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/runtime/event_loop_monitor.py +0 -0
  240. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/runtime/helper/__init__.py +0 -0
  241. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/runtime/helper/marketplace.py +0 -0
  242. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/runtime/helper/pkgmgr.py +0 -0
  243. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/runtime/io/__init__.py +0 -0
  244. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/runtime/io/connection.py +0 -0
  245. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/runtime/io/connections/__init__.py +0 -0
  246. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/runtime/io/connections/stdio.py +0 -0
  247. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/runtime/io/connections/ws.py +0 -0
  248. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/runtime/io/controller.py +0 -0
  249. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/runtime/io/controllers/__init__.py +0 -0
  250. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/runtime/io/controllers/stdio/__init__.py +0 -0
  251. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/runtime/io/controllers/stdio/server.py +0 -0
  252. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/runtime/io/controllers/ws/__init__.py +0 -0
  253. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/runtime/io/controllers/ws/client.py +0 -0
  254. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/runtime/io/controllers/ws/server.py +0 -0
  255. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/runtime/io/handler.py +0 -0
  256. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/runtime/io/handlers/__init__.py +0 -0
  257. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/runtime/io/handlers/control.py +0 -0
  258. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/runtime/io/handlers/plugin.py +0 -0
  259. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/runtime/plugin/__init__.py +0 -0
  260. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/runtime/plugin/artifact.py +0 -0
  261. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/runtime/plugin/container.py +0 -0
  262. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/runtime/plugin/dependency_environment.py +0 -0
  263. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/runtime/plugin/logbuffer.py +0 -0
  264. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/runtime/plugin/restart_coordinator.py +0 -0
  265. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/runtime/plugin/runner_service.py +0 -0
  266. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/runtime/security.py +0 -0
  267. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/runtime/settings.py +0 -0
  268. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/storage.py +0 -0
  269. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/utils/__init__.py +0 -0
  270. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/utils/deadline.py +0 -0
  271. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/utils/discover/__init__.py +0 -0
  272. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/utils/discover/engine.py +0 -0
  273. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/utils/importutil.py +0 -0
  274. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/utils/log.py +0 -0
  275. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/src/langbot_plugin/utils/platform.py +0 -0
  276. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/__init__.py +0 -0
  277. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/api/definition/components/test_components.py +0 -0
  278. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/api/definition/components/test_imports.py +0 -0
  279. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/api/definition/test_manifest.py +0 -0
  280. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/api/entities/builtin/runner/test_context_result.py +0 -0
  281. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/api/entities/builtin/runner/test_history_event_entities.py +0 -0
  282. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/api/entities/builtin/runner/test_interaction.py +0 -0
  283. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/api/entities/builtin/runner/test_run_ledger_entities.py +0 -0
  284. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/api/entities/builtin/test_command_context.py +0 -0
  285. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/api/entities/builtin/test_platform_logger.py +0 -0
  286. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/api/entities/builtin/test_provider_message.py +0 -0
  287. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/api/entities/builtin/test_rag_models.py +0 -0
  288. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/api/entities/test_context.py +0 -0
  289. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/api/entities/test_events.py +0 -0
  290. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/api/proxies/__init__.py +0 -0
  291. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/api/proxies/test_agent_run_api_proxy.py +0 -0
  292. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/api/proxies/test_base.py +0 -0
  293. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/api/proxies/test_box_api.py +0 -0
  294. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/api/proxies/test_history_event_api_proxy.py +0 -0
  295. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/api/proxies/test_langbot_api.py +0 -0
  296. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/api/proxies/test_query_based_api.py +0 -0
  297. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/api/proxies/test_reasoning_parameter.py +0 -0
  298. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/api/test_agent_tools_mcp_bridge.py +0 -0
  299. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/api/test_runner_handlers.py +0 -0
  300. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/api/test_runner_handlers_matrix.py +0 -0
  301. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/api/test_runner_public_apis.py +0 -0
  302. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/box/__init__.py +0 -0
  303. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/box/test_admission.py +0 -0
  304. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/box/test_backend.py +0 -0
  305. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/box/test_backend_selection.py +0 -0
  306. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/box/test_client.py +0 -0
  307. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/box/test_e2b_backend.py +0 -0
  308. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/box/test_host_backend.py +0 -0
  309. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/box/test_nsjail_backend.py +0 -0
  310. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/box/test_runtime.py +0 -0
  311. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/box/test_server.py +0 -0
  312. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/box/test_skill_store.py +0 -0
  313. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/box/test_storage_analysis.py +0 -0
  314. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/cli/run/test_controller.py +0 -0
  315. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/cli/run/test_hotreload.py +0 -0
  316. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/cli/run/test_runtime_handler.py +0 -0
  317. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/cli/test_buildplugin.py +0 -0
  318. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/cli/test_gencomponent.py +0 -0
  319. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/cli/test_i18n_form.py +0 -0
  320. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/cli/test_initplugin.py +0 -0
  321. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/cli/test_login.py +0 -0
  322. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/cli/test_logout_publish.py +0 -0
  323. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/cli/test_page_components.py +0 -0
  324. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/cli/test_renderer.py +0 -0
  325. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/cli/test_runner_usages.py +0 -0
  326. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/cli/test_runplugin.py +0 -0
  327. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/e2e/standalone_runtime_eba_probe.py +0 -0
  328. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/entities/io/test_dependency_errors.py +0 -0
  329. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/entities/io/test_protocol.py +0 -0
  330. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/fixtures/eba_event_probe_plugin/.gitignore +0 -0
  331. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/fixtures/eba_event_probe_plugin/assets/icon.svg +0 -0
  332. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/fixtures/eba_event_probe_plugin/components/event_listener/default.py +0 -0
  333. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/fixtures/eba_event_probe_plugin/components/event_listener/default.yaml +0 -0
  334. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/fixtures/eba_event_probe_plugin/main.py +0 -0
  335. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/fixtures/eba_event_probe_plugin/manifest.yaml +0 -0
  336. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/helpers/__init__.py +0 -0
  337. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/helpers/protocol.py +0 -0
  338. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/packaging/test_installed_cli_blackbox.py +0 -0
  339. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/runtime/helper/test_marketplace.py +0 -0
  340. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/runtime/helper/test_pkgmgr.py +0 -0
  341. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/runtime/io/handlers/test_control_handler.py +0 -0
  342. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/runtime/io/handlers/test_import_contracts.py +0 -0
  343. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/runtime/io/handlers/test_legacy_file_chunk.py +0 -0
  344. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/runtime/io/handlers/test_plugin_handler.py +0 -0
  345. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/runtime/io/test_action_consistency.py +0 -0
  346. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/runtime/io/test_connections.py +0 -0
  347. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/runtime/io/test_handler.py +0 -0
  348. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/runtime/io/test_heartbeat_admission.py +0 -0
  349. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/runtime/io/test_stdio_server.py +0 -0
  350. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/runtime/plugin/test_artifact_store.py +0 -0
  351. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/runtime/plugin/test_container.py +0 -0
  352. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/runtime/plugin/test_dependency_environment.py +0 -0
  353. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/runtime/plugin/test_legacy_shadow.py +0 -0
  354. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/runtime/plugin/test_manager.py +0 -0
  355. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/runtime/plugin/test_mgr_runner.py +0 -0
  356. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/runtime/plugin/test_restart_coordinator.py +0 -0
  357. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/runtime/plugin/test_shared_worker_subprocess.py +0 -0
  358. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/runtime/plugin/test_workload_isolation.py +0 -0
  359. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/runtime/test_app.py +0 -0
  360. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/runtime/test_bounded_executor.py +0 -0
  361. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/runtime/test_event_loop_monitor.py +0 -0
  362. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/runtime/test_pull_api_handlers.py +0 -0
  363. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/test_certification.py +0 -0
  364. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/test_log.py +0 -0
  365. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/test_message.py +0 -0
  366. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/test_plugin_logbuffer.py +0 -0
  367. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/test_storage.py +0 -0
  368. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/utils/test_deadline.py +0 -0
  369. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/utils/test_discovery.py +0 -0
  370. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/utils/test_importutil.py +0 -0
  371. {langbot_plugin-0.6.4 → langbot_plugin-0.6.5}/tests/utils/test_platform.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: langbot-plugin
3
- Version: 0.6.4
3
+ Version: 0.6.5
4
4
  Summary: This package contains the SDK, CLI for building plugins for LangBot, plus the runtime for hosting LangBot plugins
5
5
  Project-URL: Homepage, https://langbot.app
6
6
  Project-URL: Repository, https://github.com/langbot-app/langbot-plugin-sdk
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "langbot-plugin"
3
- version = "0.6.4"
3
+ version = "0.6.5"
4
4
  description = "This package contains the SDK, CLI for building plugins for LangBot, plus the runtime for hosting LangBot plugins"
5
5
  readme = "README.md"
6
6
  authors = [
@@ -65,12 +65,14 @@ class StdioClientController(Controller):
65
65
  working_dir: str = ".",
66
66
  *,
67
67
  capture_stderr: bool = False,
68
+ close_process_on_callback_return: bool = True,
68
69
  ):
69
70
  self.command = command
70
71
  self.args = args
71
72
  self.env = env
72
73
  self.working_dir = working_dir
73
74
  self.capture_stderr = capture_stderr
75
+ self.close_process_on_callback_return = close_process_on_callback_return
74
76
 
75
77
  async def run(
76
78
  self,
@@ -95,7 +97,8 @@ class StdioClientController(Controller):
95
97
  try:
96
98
  await new_connection_callback(self.connection)
97
99
  finally:
98
- await self.close()
100
+ if self.close_process_on_callback_return:
101
+ await self.close()
99
102
 
100
103
  async def close(self) -> None:
101
104
  """Close pipes and reap the owned subprocess."""
@@ -26,6 +26,7 @@ from langbot_plugin.runtime.io.connection import Connection
26
26
  from langbot_plugin.runtime.io.controllers.stdio import (
27
27
  client as stdio_client_controller,
28
28
  )
29
+ from langbot_plugin.runtime.io.controller import Controller
29
30
  from langbot_plugin.runtime.plugin.runner_service import RunnerRuntimeService
30
31
  from langbot_plugin.runtime.plugin import container as runtime_plugin_container
31
32
  from langbot_plugin.runtime.io.handlers import plugin as runtime_plugin_handler_cls
@@ -148,6 +149,7 @@ class SharedPluginWorkerRuntime:
148
149
  default_factory=dict
149
150
  )
150
151
  plugin_handler: runtime_plugin_handler_cls.PluginConnectionHandler | None = None
152
+ controller: Controller | None = None
151
153
  launch_task: asyncio.Task[None] | None = None
152
154
  transport_registered_event: asyncio.Event = field(default_factory=asyncio.Event)
153
155
  ready_event: asyncio.Event = field(default_factory=asyncio.Event)
@@ -1717,6 +1719,14 @@ class PluginManager:
1717
1719
  task.cancel()
1718
1720
  await asyncio.gather(task, return_exceptions=True)
1719
1721
  worker.launch_task = None
1722
+ controller = worker.controller
1723
+ if controller is not None:
1724
+ close = getattr(controller, "close", None)
1725
+ if close is not None:
1726
+ with contextlib.suppress(Exception):
1727
+ await close()
1728
+ if worker.controller is controller:
1729
+ worker.controller = None
1720
1730
  if not worker.slots:
1721
1731
  transfer_root = (
1722
1732
  self.artifact_store.base_path
@@ -1954,6 +1964,7 @@ class PluginManager:
1954
1964
  dependency_environment=worker.dependency_environment,
1955
1965
  )
1956
1966
  )
1967
+ worker.controller = controller
1957
1968
 
1958
1969
  async def new_plugin_connection_callback(connection: Connection):
1959
1970
  shared_transfer_root = (
@@ -1993,7 +2004,15 @@ class PluginManager:
1993
2004
  finally:
1994
2005
  await self.remove_plugin_handler(plugin_handler)
1995
2006
 
1996
- await controller.run(new_plugin_connection_callback)
2007
+ try:
2008
+ await controller.run(new_plugin_connection_callback)
2009
+ finally:
2010
+ close = getattr(controller, "close", None)
2011
+ if close is not None:
2012
+ with contextlib.suppress(Exception):
2013
+ await close()
2014
+ if worker.controller is controller:
2015
+ worker.controller = None
1997
2016
  finally:
1998
2017
  self._revoke_registration_capability(capability)
1999
2018
 
@@ -625,6 +625,7 @@ class PluginWorkerLauncher:
625
625
  args=self.build_shared_pool_nsjail_args(launch_spec),
626
626
  env={},
627
627
  working_dir="/",
628
+ close_process_on_callback_return=False,
628
629
  )
629
630
 
630
631
  def _append_readonly_runtime_mounts(
@@ -0,0 +1 @@
1
+ __version__ = "0.6.5"
@@ -11,5 +11,5 @@ def test_stable_release_metadata_is_consistent() -> None:
11
11
  (root / "src/langbot_plugin/version.py").read_text(encoding="utf-8").strip()
12
12
  )
13
13
 
14
- assert project["project"]["version"] == "0.6.4"
15
- assert source_version == '__version__ = "0.6.4"'
14
+ assert project["project"]["version"] == "0.6.5"
15
+ assert source_version == '__version__ = "0.6.5"'
@@ -20,7 +20,7 @@ class FakeProcess:
20
20
  def __init__(self, stdin=object(), stdout=object()):
21
21
  self.stdin = stdin
22
22
  self.stdout = stdout
23
- self.returncode = 0
23
+ self.returncode: int | None = 0
24
24
 
25
25
 
26
26
  class FakeWebSocket:
@@ -114,6 +114,33 @@ async def test_stdio_client_controller_captures_stderr_only_when_requested(
114
114
  assert captured["stderr"] is stdio_client.asyncio.subprocess.PIPE
115
115
 
116
116
 
117
+ async def test_stdio_client_controller_can_transfer_process_lifetime_ownership(
118
+ monkeypatch,
119
+ ):
120
+ process = FakeProcess()
121
+ process.returncode = None
122
+
123
+ async def fake_create_subprocess_exec(*args, **kwargs):
124
+ return process
125
+
126
+ monkeypatch.setattr(
127
+ stdio_client.asyncio,
128
+ "create_subprocess_exec",
129
+ fake_create_subprocess_exec,
130
+ )
131
+ controller = stdio_client.StdioClientController(
132
+ "python",
133
+ [],
134
+ {},
135
+ close_process_on_callback_return=False,
136
+ )
137
+
138
+ await controller.run(lambda _connection: asyncio.sleep(0))
139
+
140
+ assert controller.process is process
141
+ assert controller.connection is not None
142
+
143
+
117
144
  async def test_stdio_client_controller_rejects_missing_pipes(monkeypatch):
118
145
  async def fake_create_subprocess_exec(*args, **kwargs):
119
146
  return FakeProcess(stdin=None, stdout=object())
@@ -2082,6 +2082,7 @@ async def test_shared_worker_ready_timeout_cancels_hung_controller_and_records_f
2082
2082
  )
2083
2083
  worker = manager.installation_runtimes[binding].shared_worker
2084
2084
  cancelled = asyncio.Event()
2085
+ closed = asyncio.Event()
2085
2086
 
2086
2087
  class NeverRegisterController:
2087
2088
  process = None
@@ -2092,6 +2093,9 @@ async def test_shared_worker_ready_timeout_cancels_hung_controller_and_records_f
2092
2093
  finally:
2093
2094
  cancelled.set()
2094
2095
 
2096
+ async def close(self):
2097
+ closed.set()
2098
+
2095
2099
  monkeypatch.setattr(
2096
2100
  manager.worker_launcher,
2097
2101
  "create_shared_pool_controller",
@@ -2110,6 +2114,8 @@ async def test_shared_worker_ready_timeout_cancels_hung_controller_and_records_f
2110
2114
  await asyncio.wait_for(wait_for_failure(), timeout=1)
2111
2115
 
2112
2116
  assert cancelled.is_set()
2117
+ assert closed.is_set()
2118
+ assert worker.controller is None
2113
2119
  assert manager.restart_coordinator.snapshot()["active_launches"] == 0
2114
2120
  assert manager.installation_runtimes[binding].state == "failed"
2115
2121
  await manager._stop_shared_worker(worker)
@@ -277,6 +277,19 @@ def test_shared_launcher_absolutizes_runtime_paths_before_fixed_root_cwd(
277
277
  assert f"{staging.tmp_path.absolute()}:/tmp" in dependency_args
278
278
 
279
279
 
280
+ def test_shared_pool_controller_transfers_process_lifetime_ownership(tmp_path):
281
+ launcher = PluginWorkerLauncher(
282
+ nsjail_path="/usr/bin/nsjail",
283
+ cgroup_v2_available=True,
284
+ platform="linux",
285
+ )
286
+ launcher.configure(_policy(), "shared")
287
+
288
+ controller = launcher.create_shared_pool_controller(_launch_spec(tmp_path))
289
+
290
+ assert getattr(controller, "close_process_on_callback_return") is False
291
+
292
+
280
293
  def test_shared_launcher_fails_without_nsjail_or_required_cgroup():
281
294
  no_nsjail = PluginWorkerLauncher(
282
295
  nsjail_path="",
@@ -1 +0,0 @@
1
- __version__ = "0.6.4"
File without changes
File without changes
File without changes
File without changes
File without changes