# rye:signed:2026-04-10T09:09:02Z:2c143ee152336e5a4eeaf2dceb8679a3aa6f6aeb27ee9c102a38f67c0c63cc75:wapCN_igUHCc4ot-R29GNC86R1j8y_46MTSFBY65QPP6XhEgsWuXmHVXdTIZJPjBFxH10oxjtEyClmar21yXAA:6ea18199041a1ea8
# rye:unsigned
version: "1.0.0"
tool_type: runtime
executor_id: rye/core/primitives/execute
category: rye/core/runtimes/node
description: "Node.js runtime executor - runs JavaScript/TypeScript with Node interpreter resolution"

env_config:
  interpreter:
    type: local_binary
    binary: tsx
    search_paths: [node_modules/.bin]
    search_roots: ["{anchor_path}"]
    var: RYE_NODE
    fallback: node
  env:
    NODE_ENV: development

anchor:
  enabled: true
  mode: auto
  markers_any: ["package.json"]
  root: tool_dir
  lib: lib
  cwd: "{anchor_path}"
  env_paths:
    PATH:
      prepend: ["{anchor_path}/node_modules/.bin"]
    NODE_PATH:
      prepend: ["{anchor_path}", "{anchor_path}/node_modules"]

verify_deps:
  enabled: true
  scope: anchor
  recursive: true
  extensions: [".js", ".ts", ".mjs", ".cjs", ".yaml", ".yml"]
  exclude_dirs: ["node_modules", "__pycache__", ".git", "dist", "build"]

config_resolve:
  path: "execution/execution.yaml"
  mode: "deep_merge"

config:
  command: "${RYE_NODE}"
  args:
    - "{tool_path}"
    - "--project-path"
    - "{project_path}"
  input_data: "{params_json}"
  timeout: 300

config_schema:
  type: object
  properties:
    script:
      type: string
      description: JavaScript file path
    args:
      type: array
      items:
        type: string
      description: Script arguments
