NAME

Langertha::Raider::ToolEffects - Internal static table of what each built-in tool can do (effect classes)

VERSION

version 0.503

DESCRIPTION

Internal module. Its interface may change without notice.

One place that says what each built-in tool of raider can do to the world, in five effect classes (ADR 0005, information only -- nothing here allows or refuses a call):

read -- reads local files or state
write -- changes local files
network -- talks to the internet
code -- runs arbitrary code; it can do anything the other classes do
message -- sends something to a person or to another agent

A tool with an empty list has no effect outside the run (pure control flow). A tool that is not in the table has no answer: "effects_for" returns undef and reports say unknown. The table is keyed by name, so ask it only about tools the caller knows to be built-in -- an external MCP server may use any name, and its read_file is not ours. explain_config asks about the tools raider itself mounted; a later policy (the gate of ADR 0005) must combine it with the tool's source.

perl_eval and perl_check are code: perl -c runs BEGIN blocks and use. perl_cpanm is network and code: it downloads and then runs distribution build and test code. bash is code alone, as the class covers the rest. hall_spawn starts another raider with a mission, so it is message and code. raider_wait_for is code: the host runs a callback of its own for the condition and raider cannot say what it does, so the table takes the cautious reading. raider_manage_mcps is code (activating starts a tool server) and raider_switch_engine is network (later prompts go to another provider).

classes

The effect classes, in display order.

tool_names

All built-in tool names of the table, sorted.

effects_for

my $classes = Langertha::Raider::ToolEffects->effects_for('write_file');   # ['write']

A new array ref of effect classes (empty: no effect outside the run), or undef for a tool that is not in the table.

SUPPORT

Issues

Please report bugs and feature requests on GitHub at https://github.com/Getty/langertha-raider/issues.

IRC

Join #langertha on irc.perl.org or message Getty directly.

CONTRIBUTING

Contributions are welcome! Please fork the repository and submit a pull request.

AUTHOR

Torsten Raudssus <torsten@raudssus.de> https://raudssus.de/

COPYRIGHT AND LICENSE

This software is copyright (c) 2026 by Torsten Raudssus.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.