or run

tessl search
Log in

Version

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
pypipkg:pypi/invoke@2.2.x
tile.json

tessl/pypi-invoke

tessl install tessl/pypi-invoke@2.2.0

Pythonic task execution library for managing shell-oriented subprocesses and organizing executable Python code into CLI-invokable tasks

Agent Success

Agent success rate when using this tile

96%

Improvement

Agent success rate improvement when using this tile compared to baseline

1.25x

Baseline

Agent success rate without this tile

77%

task.mdevals/scenario-4/

Interactive Command Executor

Build a task automation system that executes interactive shell commands and automatically responds to prompts by monitoring output patterns.

Requirements

Implement two task functions that execute commands which prompt for user input. Your implementation should automatically respond to these prompts by watching for specific patterns in the command output.

Task 1: Automated Deployment

Execute a simulated deployment command (e.g., a script that echoes "Do you want to continue? (yes/no):" and waits for input). The task should automatically respond with "yes\n" when this pattern is detected.

Task 2: Secure Operation

Execute a simulated secure command (e.g., a script that echoes "Enter passphrase:" and waits for input). The task should automatically respond with "secret123\n" when this pattern is detected.

Test Cases

Test 1: Confirmation Prompt { .test }

  • The automated_deployment task executes a Python script that prints "Do you want to continue? (yes/no):" to stdout and reads from stdin. The task automatically responds with "yes\n" and the script prints "Continuing..." and exits with code 0. @test

Test 2: Passphrase Prompt { .test }

  • The secure_operation task executes a Python script that prints "Enter passphrase:" to stdout and reads from stdin. The task automatically responds with "secret123\n" and the script prints "Access granted" and exits with code 0. @test

Test 3: Command Completion { .test }

  • Both tasks complete successfully without manual intervention, demonstrating that the automatic response mechanism works correctly. @test

Implementation

@generates

API

from invoke import task, Context

@task
def automated_deployment(c: Context) -> None:
    """
    Execute a simulated deployment command that prompts for confirmation.

    Runs a command that outputs "Do you want to continue? (yes/no):"
    and automatically responds with "yes\n".

    Args:
        c: Invoke context object for running commands
    """
    pass

@task
def secure_operation(c: Context) -> None:
    """
    Execute a simulated secure command that prompts for a passphrase.

    Runs a command that outputs "Enter passphrase:"
    and automatically responds with "secret123\n".

    Args:
        c: Invoke context object for running commands
    """
    pass

Dependencies { .dependencies }

invoke { .dependency }

Provides task automation and subprocess execution capabilities.