actions-runtime 1.0.2__tar.gz → 1.0.4__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 (232) hide show
  1. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/PKG-INFO +39 -16
  2. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/README.md +35 -13
  3. actions_runtime-1.0.4/oauth2/actions-oauth-config.yaml +6 -0
  4. actions_runtime-1.0.4/oauth2/oauth-config.yaml +9 -0
  5. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/pyproject.toml +12 -3
  6. actions_runtime-1.0.4/setup.py +85 -0
  7. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/__init__.py +1 -1
  8. actions_runtime-1.0.4/src/actions/server/_action_package_handler.py +579 -0
  9. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_actions_import.py +242 -49
  10. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_actions_process_pool.py +390 -63
  11. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_actions_run.py +18 -2
  12. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_api_action_routes.py +152 -17
  13. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_api_analytics.py +3 -0
  14. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_api_robots.py +225 -82
  15. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_api_run.py +33 -2
  16. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_api_work_items.py +104 -45
  17. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_app.py +1 -0
  18. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_artifact_storage.py +139 -44
  19. actions_runtime-1.0.4/src/actions/server/_browser_session.py +295 -0
  20. actions_runtime-1.0.4/src/actions/server/_build_common/rcc_bundle.py +9 -0
  21. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_cli_impl.py +109 -14
  22. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/gen_certificate.py +9 -4
  23. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/oauth2_settings.py +4 -0
  24. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/process.py +171 -5
  25. actions_runtime-1.0.4/src/actions/server/_common/process_logging.py +29 -0
  26. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_community_expose.py +266 -164
  27. actions_runtime-1.0.4/src/actions/server/_community_expose_lifecycle.py +354 -0
  28. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_database.py +35 -11
  29. actions_runtime-1.0.4/src/actions/server/_directory_publication.py +48 -0
  30. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_encryption.py +1 -1
  31. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_errors.py +12 -7
  32. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_models.py +111 -7
  33. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_new_project.py +1 -1
  34. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_oauth2.py +48 -5
  35. actions_runtime-1.0.4/src/actions/server/_oauth2_config.py +9 -0
  36. actions_runtime-1.0.4/src/actions/server/_portable_paths.py +38 -0
  37. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_preload_actions/preload_actions_server_main.py +33 -5
  38. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_preload_actions/preload_actions_streams.py +50 -0
  39. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_protocols.py +1 -0
  40. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_rcc_robot_utils.py +13 -29
  41. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_rcc_runtime_adapter.py +276 -19
  42. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_robo_utils/log_formatter.py +17 -0
  43. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_robo_utils/process.py +55 -7
  44. actions_runtime-1.0.4/src/actions/server/_robot_artifacts.py +225 -0
  45. actions_runtime-1.0.4/src/actions/server/_robot_inputs.py +200 -0
  46. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_runs_state_cache.py +69 -15
  47. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_scheduler.py +4 -4
  48. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_selftest.py +56 -29
  49. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_server.py +293 -70
  50. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_server_websockets.py +156 -38
  51. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_settings.py +65 -0
  52. actions_runtime-1.0.4/src/actions/server/_static_contents.py +8 -0
  53. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_watcher.py +2 -0
  54. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_work_items_import.py +46 -13
  55. actions_runtime-1.0.4/src/actions/server/deployments/__init__.py +67 -0
  56. actions_runtime-1.0.4/src/actions/server/deployments/canonical.py +106 -0
  57. actions_runtime-1.0.4/src/actions/server/deployments/ids.py +221 -0
  58. actions_runtime-1.0.4/src/actions/server/deployments/source_manifest.py +218 -0
  59. actions_runtime-1.0.4/src/actions/server/deployments/source_read.py +300 -0
  60. actions_runtime-1.0.4/src/actions/server/deployments/source_staging.py +652 -0
  61. actions_runtime-1.0.4/src/actions/server/mcp/resource_routing.py +178 -0
  62. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/mcp/setup_mcp_server_v2.py +317 -22
  63. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/migrations/__init__.py +9 -2
  64. actions_runtime-1.0.4/src/actions/server/migrations/migration_add_mcp_catalog_names.py +16 -0
  65. actions_runtime-1.0.4/src/actions/server/migrations/migration_add_mcp_resource_routing.py +16 -0
  66. actions_runtime-1.0.4/src/actions/server/migrations/migration_add_run_outputs.py +18 -0
  67. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/package/_package_metadata.py +1 -1
  68. actions_runtime-1.0.4/src/actions/server/run_outputs/__init__.py +1 -0
  69. actions_runtime-1.0.4/src/actions/server/run_outputs/filesystem.py +297 -0
  70. actions_runtime-1.0.4/src/actions/server/run_outputs/models.py +90 -0
  71. actions_runtime-1.0.4/src/actions/server/run_outputs/service.py +853 -0
  72. actions_runtime-1.0.4/src/actions/server/run_outputs/transport.py +163 -0
  73. actions_runtime-1.0.4/src/actions/server/run_outputs/types.py +137 -0
  74. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/templates/action-templates.yaml +3 -1
  75. actions_runtime-1.0.4/src/actions/server/templates/action-templates.zip +0 -0
  76. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/templates/zips/advanced.zip +0 -0
  77. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/templates/zips/basic.zip +0 -0
  78. actions_runtime-1.0.4/src/actions/server/templates/zips/canvas-query.zip +0 -0
  79. actions_runtime-1.0.4/src/actions/server/templates/zips/mcp-v2-showcase.zip +0 -0
  80. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/templates/zips/minimal.zip +0 -0
  81. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/templates/zips/workflow-producer-consumer.zip +0 -0
  82. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/vendored_deps/oauth2_settings.py +4 -0
  83. actions_runtime-1.0.2/setup.py +0 -82
  84. actions_runtime-1.0.2/src/actions/server/_action_package_handler.py +0 -299
  85. actions_runtime-1.0.2/src/actions/server/_oauth2_config.py +0 -7
  86. actions_runtime-1.0.2/src/actions/server/_static_contents.py +0 -8
  87. actions_runtime-1.0.2/src/actions/server/templates/action-templates.zip +0 -0
  88. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/build.py +0 -0
  89. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/README.md +0 -0
  90. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/__main__.py +0 -0
  91. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_actions_cloud.py +0 -0
  92. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_actions_run_helpers.py +0 -0
  93. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_api_action_package.py +0 -0
  94. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_api_oauth2.py +0 -0
  95. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_api_schedules.py +0 -0
  96. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_api_secrets.py +0 -0
  97. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_api_triggers.py +0 -0
  98. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_ask_user.py +0 -0
  99. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_build_common/__init__.py +0 -0
  100. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_build_common/build_executable.py +0 -0
  101. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_build_common/entitlements.py +0 -0
  102. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_build_common/file_from_function.py +0 -0
  103. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_build_common/process_call.py +0 -0
  104. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_build_common/py.typed +0 -0
  105. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_build_common/root_dir.py +0 -0
  106. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_build_common/signing.py +0 -0
  107. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_build_common/version_from_github_actions.py +0 -0
  108. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_build_common/workflows.py +0 -0
  109. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_build_common/zip_assets.py +0 -0
  110. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_cli_helpers.py +0 -0
  111. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/__init__.py +0 -0
  112. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/action_package_handling/__init__.py +0 -0
  113. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/action_package_handling/cli_errors.py +0 -0
  114. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/app_mutex.py +0 -0
  115. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/autoexit.py +0 -0
  116. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/callback.py +0 -0
  117. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/gallery.py +0 -0
  118. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/locations.py +0 -0
  119. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/ls_protocols.py +0 -0
  120. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/monitor.py +0 -0
  121. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/null.py +0 -0
  122. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/package_deps/__init__.py +0 -0
  123. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/package_deps/_conda_deps.py +0 -0
  124. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/package_deps/_deps_protocols.py +0 -0
  125. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/package_deps/_package_deps.py +0 -0
  126. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/package_deps/_pip_deps.py +0 -0
  127. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/package_deps/analyzer.py +0 -0
  128. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/package_deps/conda_cloud.py +0 -0
  129. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/package_deps/conda_impl/__init__.py +0 -0
  130. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/package_deps/conda_impl/conda_channel.py +0 -0
  131. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/package_deps/conda_impl/conda_match_spec.py +0 -0
  132. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/package_deps/conda_impl/conda_path.py +0 -0
  133. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/package_deps/conda_impl/conda_url.py +0 -0
  134. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/package_deps/conda_impl/conda_version.py +0 -0
  135. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/package_deps/pip_impl/__init__.py +0 -0
  136. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/package_deps/pip_impl/pip_distlib_util.py +0 -0
  137. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/package_deps/pip_impl/pip_packaging_structure.py +0 -0
  138. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/package_deps/pip_impl/pip_packaging_version.py +0 -0
  139. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/package_deps/pypi_cloud.py +0 -0
  140. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/package_exclude.py +0 -0
  141. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/protocols.py +0 -0
  142. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/py.typed +0 -0
  143. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/run_in_thread.py +0 -0
  144. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/system_mutex.py +0 -0
  145. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/termcolors/__init__.py +0 -0
  146. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/text.py +0 -0
  147. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/tools.py +0 -0
  148. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/uris.py +0 -0
  149. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/url_callback_server.py +0 -0
  150. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/wait_for.py +0 -0
  151. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_common/yaml_with_location.py +0 -0
  152. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_datadir_commands.py +0 -0
  153. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_devenv.py +0 -0
  154. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_download_rcc.py +0 -0
  155. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_errors_action_server.py +0 -0
  156. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_gen_ids.py +0 -0
  157. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_mode.py +0 -0
  158. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_new_project_helpers.py +0 -0
  159. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_notifications.py +0 -0
  160. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_preload_actions/__init__.py +0 -0
  161. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_preload_actions/preload_actions.py +0 -0
  162. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_preload_actions/preload_actions_autoexit.py +0 -0
  163. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_preload_actions/preload_actions_teardown.py +0 -0
  164. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_rcc.py +0 -0
  165. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_robo_utils/auth.py +0 -0
  166. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_robo_utils/callback.py +0 -0
  167. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_robo_utils/constants.py +0 -0
  168. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_robo_utils/log_custom_handler.py +0 -0
  169. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_robo_utils/run_in_thread.py +0 -0
  170. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_robo_utils/system_mutex.py +0 -0
  171. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_slugify.py +0 -0
  172. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_storage.py +0 -0
  173. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_triggers.py +0 -0
  174. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_user_session.py +0 -0
  175. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_whitelist.py +0 -0
  176. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/_work_items_paths.py +0 -0
  177. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/api.py +0 -0
  178. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/bin/.gitignore +0 -0
  179. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/cli.py +0 -0
  180. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/env/__init__.py +0 -0
  181. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/index.html +0 -0
  182. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/mcp/__init__.py +0 -0
  183. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/mcp/gateway_metadata.py +0 -0
  184. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/mcp/setup_mcp_server_from_actions.py +0 -0
  185. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/migrations/migration_add_action_enabled.py +0 -0
  186. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/migrations/migration_add_action_managed_params.py +0 -0
  187. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/migrations/migration_add_action_options.py +0 -0
  188. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/migrations/migration_add_code_verifier.py +0 -0
  189. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/migrations/migration_add_is_consequential.py +0 -0
  190. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/migrations/migration_add_request_id_to_run.py +0 -0
  191. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/migrations/migration_add_robot_run_columns.py +0 -0
  192. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/migrations/migration_add_schedules.py +0 -0
  193. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/migrations/migration_add_session_and_indexes.py +0 -0
  194. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/migrations/migration_align_schema_indexes.py +0 -0
  195. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/migrations/migration_initial.py +0 -0
  196. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/migrations/migration_reconcile_run_columns.py +1 -1
  197. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/migrations/migration_reconcile_schema.py +0 -0
  198. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/package/__init__.py +0 -0
  199. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/package/_package_build.py +0 -0
  200. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/package/_package_build_cli.py +0 -0
  201. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/package/_package_publish.py +0 -0
  202. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/package/_package_publish_api.py +0 -0
  203. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/package/_package_reader.py +0 -0
  204. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/package/package_exclude.py +0 -0
  205. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/py.typed +0 -0
  206. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/vendored_deps/README.md +0 -0
  207. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/vendored_deps/__init__.py +0 -0
  208. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/vendored_deps/action_package_handling/__init__.py +0 -0
  209. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/vendored_deps/action_package_handling/cli_errors.py +0 -0
  210. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/vendored_deps/gen_certificate.py +0 -0
  211. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/vendored_deps/ls_protocols.py +0 -0
  212. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/vendored_deps/package_deps/__init__.py +0 -0
  213. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/vendored_deps/package_deps/_conda_deps.py +0 -0
  214. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/vendored_deps/package_deps/_deps_protocols.py +0 -0
  215. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/vendored_deps/package_deps/_package_deps.py +0 -0
  216. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/vendored_deps/package_deps/_pip_deps.py +0 -0
  217. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/vendored_deps/package_deps/analyzer.py +0 -0
  218. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/vendored_deps/package_deps/conda_cloud.py +0 -0
  219. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/vendored_deps/package_deps/conda_impl/__init__.py +0 -0
  220. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/vendored_deps/package_deps/conda_impl/conda_channel.py +0 -0
  221. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/vendored_deps/package_deps/conda_impl/conda_match_spec.py +0 -0
  222. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/vendored_deps/package_deps/conda_impl/conda_path.py +0 -0
  223. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/vendored_deps/package_deps/conda_impl/conda_url.py +0 -0
  224. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/vendored_deps/package_deps/conda_impl/conda_version.py +0 -0
  225. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/vendored_deps/package_deps/pip_impl/__init__.py +0 -0
  226. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/vendored_deps/package_deps/pip_impl/pip_distlib_util.py +0 -0
  227. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/vendored_deps/package_deps/pip_impl/pip_packaging_structure.py +0 -0
  228. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/vendored_deps/package_deps/pip_impl/pip_packaging_version.py +0 -0
  229. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/vendored_deps/package_deps/pypi_cloud.py +0 -0
  230. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/vendored_deps/termcolors/__init__.py +0 -0
  231. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/vendored_deps/url_callback_server.py +0 -0
  232. {actions_runtime-1.0.2 → actions_runtime-1.0.4}/src/actions/server/vendored_deps/yaml_with_location.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: actions-runtime
3
- Version: 1.0.2
3
+ Version: 1.0.4
4
4
  Summary: Actions Runtime — serve Python actions through HTTP and MCP
5
5
  License: Apache-2.0
6
6
  Author: Joshua Yorko
@@ -10,8 +10,8 @@ Classifier: License :: OSI Approved :: Apache Software License
10
10
  Classifier: Programming Language :: Python :: 3
11
11
  Classifier: Programming Language :: Python :: 3.12
12
12
  Classifier: Programming Language :: Python :: 3.13
13
- Requires-Dist: actions-core (>=1.0.0,<2.0.0)
14
- Requires-Dist: actions-http-helper (>=1.0.0,<2.0.0)
13
+ Requires-Dist: actions-core (>=1.0.2,<2.0.0)
14
+ Requires-Dist: actions-http-helper (>=1.0.3,<2.0.0)
15
15
  Requires-Dist: actions-work-items (>=0.4.4,<0.5.0)
16
16
  Requires-Dist: aiohttp (>=3.13.2,<4.0.0)
17
17
  Requires-Dist: aiosmtplib (>=3.0.0,<4.0.0)
@@ -30,6 +30,7 @@ Requires-Dist: pyyaml (>=6.0.3,<7.0.0)
30
30
  Requires-Dist: redis (>=5.0.0,<6.0.0)
31
31
  Requires-Dist: requests (>=2,<3)
32
32
  Requires-Dist: requests_oauthlib (>=2.0,<3.0)
33
+ Requires-Dist: rfc8785 (==0.1.4)
33
34
  Requires-Dist: termcolor (>=3.2.0,<4.0.0)
34
35
  Requires-Dist: uvicorn (>=0.38.0,<0.39.0)
35
36
  Requires-Dist: watchfiles (>=1.1.1,<2.0.0)
@@ -38,33 +39,36 @@ Project-URL: Homepage, https://github.com/joshyorko/actions/tree/community
38
39
  Project-URL: Repository, https://github.com/joshyorko/actions/tree/community
39
40
  Description-Content-Type: text/markdown
40
41
 
41
- # actions-runtime
42
+ # Actions Runtime (Action Server)
42
43
 
43
- [Actions Runtime](https://github.com/joshyorko/actions) is a Python framework designed to provide your Python functions to AI Agents. It works both as an MCP Server (hosting tools, resources and prompts) and also provides an OpenAPI compatible API.
44
+ `actions-runtime` is the canonical community PyPI distribution for the **Action Server**. It provides the `action-server` command and the `actions.server` module for serving Python functions to AI agents through MCP and OpenAPI.
44
45
 
45
- A `tool` or `action` in this case is defined as a Python function (which has inputs/outputs defined), which is served by the `Actions Runtime`.
46
-
47
- The `Actions Runtime` automatically provides a `/mcp` endpoint for connecting `MCP` clients and also generates an OpenAPI spec for your Python code, enabling different AI/LLM Agents to understand and call your Action. It also manages the Action lifecycle and provides full traceability of what happened during any tool or action call (open the `/runs` endpoint in a browser to see not only inputs and output, but also a full `log.html` with internal details, such as variables and function calls that your Python function executed).
46
+ A `tool` or `action` is a Python function with declared inputs and outputs served by the Action Server. The server also manages the action lifecycle and provides full run traceability.
48
47
 
49
48
  ## 1. Install Action Server
50
49
 
51
- Action Server is available as a stand-alone executable and via `pip install actions-runtime`.
50
+ Install the canonical community distribution:
51
+
52
+ ```sh
53
+ python -m pip install actions-runtime
54
+ ```
52
55
 
53
- The 1.0.1 standalone binaries are unsigned and are not publisher-signed or notarized.
56
+ This installs the `action-server` command in the active Python environment.
54
57
 
55
- > We recommend the executable to prevent confusion in case you have multiple/crowded Python environments, etc.
58
+ ### Standalone release binaries
56
59
 
57
- #### For macOS
60
+ The standalone binaries are an alternative compatibility path when a Python environment is not wanted. The 1.0.1 binaries are unsigned and are not publisher-signed or notarized.
61
+
62
+ #### For macOS (Apple Silicon)
58
63
 
59
64
  ```sh
60
- # Install Actions Runtime
61
- python -m pip install actions-runtime
65
+ curl -o action-server https://github.com/joshyorko/actions/releases/download/actions-runtime-1.0.1/actions-runtime-1.0.1-macos-arm64
66
+ chmod a+x action-server
62
67
  ```
63
68
 
64
69
  #### For Windows
65
70
 
66
71
  ```sh
67
- # Download Actions Runtime
68
72
  curl -o action-server.exe https://github.com/joshyorko/actions/releases/download/actions-runtime-1.0.1/actions-runtime-1.0.1-windows64.exe
69
73
 
70
74
  # Add to PATH or move to a folder that is in PATH
@@ -74,7 +78,6 @@ setx PATH=%PATH%;%CD%
74
78
  #### For Linux
75
79
 
76
80
  ```sh
77
- # Download Actions Runtime
78
81
  curl -o action-server https://github.com/joshyorko/actions/releases/download/actions-runtime-1.0.1/actions-runtime-1.0.1-linux64
79
82
  chmod a+x action-server
80
83
 
@@ -142,6 +145,26 @@ After it's started, it's possible to access the following URLs:
142
145
  - `/openapi.json`: Provides the openapi spec for the action server.
143
146
  - `/docs`: Provides access to the APIs available in the server and a UI to test it.
144
147
 
148
+ ## Robot run artifacts
149
+
150
+ After a Robot task exits, Runtime retains regular files from its configured
151
+ `artifactsDir`, or `output` when absent, including failure diagnostics. List
152
+ them at `/api/runs/{run_id}/artifacts` and download them through the existing
153
+ artifact endpoints with your configured Runtime credentials.
154
+
155
+ Collection captures the trusted output tree as it exists at task completion.
156
+ Pre-existing files can be included. Avoid concurrent writers while Runtime
157
+ collects the files; collection does not provide an atomic tree snapshot or
158
+ prove which invocation created them. Later source changes do not alter the
159
+ retained copies.
160
+
161
+ Output roots must be canonical relative paths inside the Robot package.
162
+ Runtime rejects links, hardlinks, special files, portable-name collisions and
163
+ reserved names such as `env.json` and `__action_server_*`. Limits are 50 MiB per
164
+ file, 500 MiB total, 10,000 entries and depth 32. A collection error marks the
165
+ Run failed and preserves its console and any complete files already retained.
166
+ The selected Robot configuration must fit within 64 KiB.
167
+
145
168
  ## Documentation
146
169
 
147
170
  Explore our [docs](https://github.com/joshyorko/actions/tree/community/action_server/docs) for extensive documentation.
@@ -1,30 +1,33 @@
1
- # actions-runtime
1
+ # Actions Runtime (Action Server)
2
2
 
3
- [Actions Runtime](https://github.com/joshyorko/actions) is a Python framework designed to provide your Python functions to AI Agents. It works both as an MCP Server (hosting tools, resources and prompts) and also provides an OpenAPI compatible API.
3
+ `actions-runtime` is the canonical community PyPI distribution for the **Action Server**. It provides the `action-server` command and the `actions.server` module for serving Python functions to AI agents through MCP and OpenAPI.
4
4
 
5
- A `tool` or `action` in this case is defined as a Python function (which has inputs/outputs defined), which is served by the `Actions Runtime`.
6
-
7
- The `Actions Runtime` automatically provides a `/mcp` endpoint for connecting `MCP` clients and also generates an OpenAPI spec for your Python code, enabling different AI/LLM Agents to understand and call your Action. It also manages the Action lifecycle and provides full traceability of what happened during any tool or action call (open the `/runs` endpoint in a browser to see not only inputs and output, but also a full `log.html` with internal details, such as variables and function calls that your Python function executed).
5
+ A `tool` or `action` is a Python function with declared inputs and outputs served by the Action Server. The server also manages the action lifecycle and provides full run traceability.
8
6
 
9
7
  ## 1. Install Action Server
10
8
 
11
- Action Server is available as a stand-alone executable and via `pip install actions-runtime`.
9
+ Install the canonical community distribution:
10
+
11
+ ```sh
12
+ python -m pip install actions-runtime
13
+ ```
12
14
 
13
- The 1.0.1 standalone binaries are unsigned and are not publisher-signed or notarized.
15
+ This installs the `action-server` command in the active Python environment.
14
16
 
15
- > We recommend the executable to prevent confusion in case you have multiple/crowded Python environments, etc.
17
+ ### Standalone release binaries
16
18
 
17
- #### For macOS
19
+ The standalone binaries are an alternative compatibility path when a Python environment is not wanted. The 1.0.1 binaries are unsigned and are not publisher-signed or notarized.
20
+
21
+ #### For macOS (Apple Silicon)
18
22
 
19
23
  ```sh
20
- # Install Actions Runtime
21
- python -m pip install actions-runtime
24
+ curl -o action-server https://github.com/joshyorko/actions/releases/download/actions-runtime-1.0.1/actions-runtime-1.0.1-macos-arm64
25
+ chmod a+x action-server
22
26
  ```
23
27
 
24
28
  #### For Windows
25
29
 
26
30
  ```sh
27
- # Download Actions Runtime
28
31
  curl -o action-server.exe https://github.com/joshyorko/actions/releases/download/actions-runtime-1.0.1/actions-runtime-1.0.1-windows64.exe
29
32
 
30
33
  # Add to PATH or move to a folder that is in PATH
@@ -34,7 +37,6 @@ setx PATH=%PATH%;%CD%
34
37
  #### For Linux
35
38
 
36
39
  ```sh
37
- # Download Actions Runtime
38
40
  curl -o action-server https://github.com/joshyorko/actions/releases/download/actions-runtime-1.0.1/actions-runtime-1.0.1-linux64
39
41
  chmod a+x action-server
40
42
 
@@ -102,6 +104,26 @@ After it's started, it's possible to access the following URLs:
102
104
  - `/openapi.json`: Provides the openapi spec for the action server.
103
105
  - `/docs`: Provides access to the APIs available in the server and a UI to test it.
104
106
 
107
+ ## Robot run artifacts
108
+
109
+ After a Robot task exits, Runtime retains regular files from its configured
110
+ `artifactsDir`, or `output` when absent, including failure diagnostics. List
111
+ them at `/api/runs/{run_id}/artifacts` and download them through the existing
112
+ artifact endpoints with your configured Runtime credentials.
113
+
114
+ Collection captures the trusted output tree as it exists at task completion.
115
+ Pre-existing files can be included. Avoid concurrent writers while Runtime
116
+ collects the files; collection does not provide an atomic tree snapshot or
117
+ prove which invocation created them. Later source changes do not alter the
118
+ retained copies.
119
+
120
+ Output roots must be canonical relative paths inside the Robot package.
121
+ Runtime rejects links, hardlinks, special files, portable-name collisions and
122
+ reserved names such as `env.json` and `__action_server_*`. Limits are 50 MiB per
123
+ file, 500 MiB total, 10,000 entries and depth 32. A collection error marks the
124
+ Run failed and preserves its console and any complete files already retained.
125
+ The selected Robot configuration must fit within 64 KiB.
126
+
105
127
  ## Documentation
106
128
 
107
129
  Explore our [docs](https://github.com/joshyorko/actions/tree/community/action_server/docs) for extensive documentation.
@@ -0,0 +1,6 @@
1
+ # Community Runtime does not provide hosted OAuth application registrations.
2
+ # mode: actions fails explicitly for every provider in this catalog.
3
+ # Use mode: custom with your own registered application in --oauth2-settings.
4
+ formatVersion: '1.0.0'
5
+ oauth2Config:
6
+ providers: {}
@@ -0,0 +1,9 @@
1
+ # Private operator settings template. No providers are configured by default.
2
+ # Register your own OAuth application, then add a provider with mode: custom,
3
+ # a nonblank clientId, and authorizationEndpoint/tokenEndpoint or public defaults.
4
+ # Omit clientSecret for PKCE S256 when the provider supports public clients.
5
+ # Keep client secrets and tokens out of source control and public build inputs.
6
+ # Register the redirect URI <Runtime base URL>/actions/oauth2/ with your provider.
7
+ formatVersion: '1.0.0'
8
+ oauth2Config:
9
+ providers: {}
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "actions-runtime"
3
- version = "1.0.2"
3
+ version = "1.0.4"
4
4
  description = "Actions Runtime — serve Python actions through HTTP and MCP"
5
5
  authors = ["Joshua Yorko"]
6
6
  maintainers = ["Joshua Yorko"]
@@ -9,6 +9,7 @@ repository = "https://github.com/joshyorko/actions/tree/community"
9
9
  license = "Apache-2.0"
10
10
  packages = [{ include = "actions", from = "src" }]
11
11
  include = [
12
+ { path = "oauth2/*.yaml", format = "sdist" },
12
13
  "src/actions/server/_static_contents.py",
13
14
  "src/actions/server/_oauth2_config.py",
14
15
  "src/actions/server/bin/rcc*",
@@ -30,12 +31,13 @@ jsonschema = "^4.23.0"
30
31
  jsonschema-specifications = "^2024.10.1"
31
32
  msgspec = "^0.19"
32
33
  psutil = ">=5.0,<8.0"
34
+ rfc8785 = "0.1.4"
33
35
  pydantic = "^2.12.4"
34
36
  pyyaml = "^6.0.3"
35
37
  python = ">=3.12,<3.14"
36
38
  requests = "^2"
37
- actions-core = "^1.0.0"
38
- actions-http-helper = "^1.0.0"
39
+ actions-core = "^1.0.2"
40
+ actions-http-helper = "^1.0.3"
39
41
  termcolor = "^3.2.0"
40
42
  uvicorn = "^0.38.0"
41
43
  websockets = "^15.0.1"
@@ -53,6 +55,10 @@ redis = "^5.0.0"
53
55
  psycopg = { version = "^3.2.0", extras = ["binary"] }
54
56
 
55
57
  [tool.poetry.group.dev.dependencies]
58
+ actions-http-helper = { path = "../actions-http-helper/", develop = true }
59
+ # Resolve the unpublished monorepo candidate for development; wheel metadata
60
+ # retains the production version floor above and never embeds this source path.
61
+ actions-core = { path = "../actions/", develop = true }
56
62
  actions-local-devutils = { path = "../devutils/", develop = true }
57
63
  httpx = "^0.28.1"
58
64
  types-requests = "^2"
@@ -61,7 +67,9 @@ robocorp-log-pytest = "^0.0.5"
61
67
  types-psutil = "^7"
62
68
  types-jsonschema = "^4.22.0"
63
69
  pyinstaller = "6.16.0"
70
+ types-pyinstaller = "6.16.0.20250918"
64
71
  pyinstaller-hooks-contrib = "2025.9"
72
+ pytest-cov = "5.0.0"
65
73
 
66
74
  [tool.mypy]
67
75
  mypy_path = "src:tests"
@@ -87,6 +95,7 @@ testpaths = ["tests"]
87
95
  markers = [
88
96
  "real_rcc: gated real RCC Environment Artifact execution proof",
89
97
  "postgresql: requires a PostgreSQL service",
98
+ "native_artifact_test: requires a source-bound packaged Runtime artifact manifest",
90
99
  ]
91
100
  filterwarnings = [
92
101
  "ignore:ast.Str is deprecated.*:DeprecationWarning:robocorp\\.log\\._ast_utils",
@@ -0,0 +1,85 @@
1
+ # -*- coding: utf-8 -*-
2
+ from setuptools import setup
3
+
4
+ package_dir = \
5
+ {'': 'src'}
6
+
7
+ packages = \
8
+ ['actions',
9
+ 'actions.server',
10
+ 'actions.server._build_common',
11
+ 'actions.server._common',
12
+ 'actions.server._common.action_package_handling',
13
+ 'actions.server._common.package_deps',
14
+ 'actions.server._common.package_deps.conda_impl',
15
+ 'actions.server._common.package_deps.pip_impl',
16
+ 'actions.server._common.termcolors',
17
+ 'actions.server._preload_actions',
18
+ 'actions.server._robo_utils',
19
+ 'actions.server.deployments',
20
+ 'actions.server.env',
21
+ 'actions.server.mcp',
22
+ 'actions.server.migrations',
23
+ 'actions.server.package',
24
+ 'actions.server.run_outputs',
25
+ 'actions.server.vendored_deps',
26
+ 'actions.server.vendored_deps.action_package_handling',
27
+ 'actions.server.vendored_deps.package_deps',
28
+ 'actions.server.vendored_deps.package_deps.conda_impl',
29
+ 'actions.server.vendored_deps.package_deps.pip_impl',
30
+ 'actions.server.vendored_deps.termcolors']
31
+
32
+ package_data = \
33
+ {'': ['*'], 'actions.server': ['bin/*', 'templates/*', 'templates/zips/*']}
34
+
35
+ install_requires = \
36
+ ['actions-core>=1.0.2,<2.0.0',
37
+ 'actions-http-helper>=1.0.3,<2.0.0',
38
+ 'actions-work-items>=0.4.4,<0.5.0',
39
+ 'aiohttp>=3.13.2,<4.0.0',
40
+ 'aiosmtplib>=3.0.0,<4.0.0',
41
+ 'croniter>=2.0.0,<3.0.0',
42
+ 'cryptography>=46.0.3,<47.0.0',
43
+ 'fastapi-slim>=0.121.1,<0.122.0',
44
+ 'jsonschema-specifications>=2024.10.1,<2025.0.0',
45
+ 'jsonschema>=4.23.0,<5.0.0',
46
+ 'mcp>=2.0.0,<3.0.0',
47
+ 'msgspec>=0.19,<0.20',
48
+ 'psutil>=5.0,<8.0',
49
+ 'psycopg[binary]>=3.2.0,<4.0.0',
50
+ 'pydantic>=2.12.4,<3.0.0',
51
+ 'pytz>=2024.1,<2025.0',
52
+ 'pyyaml>=6.0.3,<7.0.0',
53
+ 'redis>=5.0.0,<6.0.0',
54
+ 'requests>=2,<3',
55
+ 'requests_oauthlib>=2.0,<3.0',
56
+ 'rfc8785==0.1.4',
57
+ 'termcolor>=3.2.0,<4.0.0',
58
+ 'uvicorn>=0.38.0,<0.39.0',
59
+ 'watchfiles>=1.1.1,<2.0.0',
60
+ 'websockets>=15.0.1,<16.0.0']
61
+
62
+ entry_points = \
63
+ {'console_scripts': ['action-server = actions.server.cli:main']}
64
+
65
+ setup_kwargs = {
66
+ 'name': 'actions-runtime',
67
+ 'version': '1.0.4',
68
+ 'description': 'Actions Runtime — serve Python actions through HTTP and MCP',
69
+ 'long_description': "# Actions Runtime (Action Server)\n\n`actions-runtime` is the canonical community PyPI distribution for the **Action Server**. It provides the `action-server` command and the `actions.server` module for serving Python functions to AI agents through MCP and OpenAPI.\n\nA `tool` or `action` is a Python function with declared inputs and outputs served by the Action Server. The server also manages the action lifecycle and provides full run traceability.\n\n## 1. Install Action Server\n\nInstall the canonical community distribution:\n\n```sh\npython -m pip install actions-runtime\n```\n\nThis installs the `action-server` command in the active Python environment.\n\n### Standalone release binaries\n\nThe standalone binaries are an alternative compatibility path when a Python environment is not wanted. The 1.0.1 binaries are unsigned and are not publisher-signed or notarized.\n\n#### For macOS (Apple Silicon)\n\n```sh\ncurl -o action-server https://github.com/joshyorko/actions/releases/download/actions-runtime-1.0.1/actions-runtime-1.0.1-macos-arm64\nchmod a+x action-server\n```\n\n#### For Windows\n\n```sh\ncurl -o action-server.exe https://github.com/joshyorko/actions/releases/download/actions-runtime-1.0.1/actions-runtime-1.0.1-windows64.exe\n\n# Add to PATH or move to a folder that is in PATH\nsetx PATH=%PATH%;%CD%\n```\n\n#### For Linux\n\n```sh\ncurl -o action-server https://github.com/joshyorko/actions/releases/download/actions-runtime-1.0.1/actions-runtime-1.0.1-linux64\nchmod a+x action-server\n\n# Add to PATH or move to a folder that is in PATH\nsudo mv action-server /usr/local/bin/\n```\n\n## 2. Run your first MCP tool\n\n```sh\n# Bootstrap a new project using this template.\n# You'll be prompted for the name of the project (directory):\naction-server new\n\n# Start Action Server\ncd my-project\naction-server start\n```\n\n👉 You should now have an Action Server running locally at: [http://localhost:8080](http://localhost:8080), so open that in your browser and the web UI will guide you further.\n\n### MCP compatibility\n\n`/mcp` supports the MCP `2026-07-28` per-request contract through the Python\nMCP SDK v2. Clients use `server/discover` and then send calls without an\n`initialize`/`initialized` exchange or `Mcp-Session-Id`. The legacy `/sse`\nendpoint and initialization/session-era compatibility path are intentionally\nnot provided.\n\n## What do you need in your Action Package\n\nAn `Action Package` is currently defined as a local folder that contains at least one Python file containing an action entry point (a Python function marked with `@action` -decorator from `actions`).\n\nThe `package.yaml` file is required for specifying the Python environment and dependencies for your Action ([RCC](https://github.com/joshyorko/rcc/) will be used to automatically bootstrap it and keep it updated given the `package.yaml` contents).\n\n> Note: the `package.yaml` is optional if the action server is not being used as a standalone (i.e.: if it was pip-installed it can use the same python environment where it's installed).\n\n### Community RCC Fork\n\nThis Action Server uses the **joshyorko/rcc v18.19.3** community fork, which provides:\n- **Faster startup** - no proprietary cloud service calls\n- **Official sources** - downloads micromamba directly from conda-forge instead of Robocorp CDN\n- **Decoupled infrastructure** - works fully offline after initial environment bootstrap\n- **Security hardening** - includes upstream archive extraction and TLS fixes, built with Go 1.25.7\n\nEnvironment caching means subsequent startups are near-instant once the holotree is built.\n\n### Bootstrapping a new Action\n\nStart new projects with:\n\n`action-server new`\n\nNote: the `action-server` executable should be automatically added to your Python installation after `pip install actions-runtime`; if it was not, use `python -m actions.server` instead.\n\nAfter creating the project, it's possible to serve the actions under the current directory with:\n\n`action-server start`\n\nFor example: When running `action-server start`, the action server will scan for existing actions under the current directory, and it'll start serving those.\n\nAfter it's started, it's possible to access the following URLs:\n\n- `/index.html`: UI for the Action Server.\n- `/openapi.json`: Provides the openapi spec for the action server.\n- `/docs`: Provides access to the APIs available in the server and a UI to test it.\n\n## Robot run artifacts\n\nAfter a Robot task exits, Runtime retains regular files from its configured\n`artifactsDir`, or `output` when absent, including failure diagnostics. List\nthem at `/api/runs/{run_id}/artifacts` and download them through the existing\nartifact endpoints with your configured Runtime credentials.\n\nCollection captures the trusted output tree as it exists at task completion.\nPre-existing files can be included. Avoid concurrent writers while Runtime\ncollects the files; collection does not provide an atomic tree snapshot or\nprove which invocation created them. Later source changes do not alter the\nretained copies.\n\nOutput roots must be canonical relative paths inside the Robot package.\nRuntime rejects links, hardlinks, special files, portable-name collisions and\nreserved names such as `env.json` and `__action_server_*`. Limits are 50 MiB per\nfile, 500 MiB total, 10,000 entries and depth 32. A collection error marks the\nRun failed and preserves its console and any complete files already retained.\nThe selected Robot configuration must fit within 64 KiB.\n\n## Documentation\n\nExplore our [docs](https://github.com/joshyorko/actions/tree/community/action_server/docs) for extensive documentation.\n\n## Changelog\n\nClean-break Actions Runtime releases and `actions-runtime-*` tags use the\n[Actions Runtime changelog](./docs/ACTIONS_RUNTIME_CHANGELOG.md). The historical\n[Action Server changelog](https://github.com/joshyorko/actions/blob/community/action_server/docs/CHANGELOG.md)\nis retained for the older `action-server-v1.2.x` delivery line.\n\n## Maintainer and attribution\n\nMaintained by Joshua Yorko. Upstream copyright and license attribution is preserved in\n[NOTICE.md](https://github.com/joshyorko/actions/blob/community/NOTICE.md) and\n[LICENSE](https://github.com/joshyorko/actions/blob/community/LICENSE).\n",
70
+ 'author': 'Joshua Yorko',
71
+ 'author_email': 'None',
72
+ 'maintainer': 'Joshua Yorko',
73
+ 'maintainer_email': 'None',
74
+ 'url': 'https://github.com/joshyorko/actions/tree/community',
75
+ 'package_dir': package_dir,
76
+ 'packages': packages,
77
+ 'package_data': package_data,
78
+ 'install_requires': install_requires,
79
+ 'entry_points': entry_points,
80
+ 'python_requires': '>=3.12,<3.14',
81
+ }
82
+ from build import *
83
+ build(setup_kwargs)
84
+
85
+ setup(**setup_kwargs)
@@ -1,6 +1,6 @@
1
1
  from typing import List
2
2
 
3
- __version__ = "1.0.2"
3
+ __version__ = "1.0.4"
4
4
  version_info = [int(x) for x in __version__.split(".")]
5
5
 
6
6
  __all__: List[str] = []