PRAXO-CORE Perl Core¶
Perl 5.20+ implementation of the PRAXO-CORE agent contract. The normative
contract is spec/; Go remains the reference
implementation.
SPEC_VERSION:0.2.0- Core version:
0.1.0 - Tier: core
- License: MIT
- Dependencies: Perl core modules only (
JSON::PP,File::Spec,Cwd)
Scope¶
The Core implements all eleven vector groups: toolcall, JSON Schema, plugin, memory, event, stream, checkpoint, policy, context, middleware, and the agent loop. It includes a public API snapshot and a dependency-free test runner.
Build and test¶
perl language/perl/conformance/run.pl
perl language/perl/api-snapshot.pl --check
perl language/perl/tests/run.pl
Quickstart¶
use lib 'language/perl/lib';
use Praxo::Models ();
use Praxo::Agent ();
my $model = Praxo::Agent::StaticModel->new('hello');
my $options = Praxo::Agent::AgentOptions->new($model);
my $result = Praxo::Agent::run_agent(
$options,
Praxo::Models::session(id => 'demo'),
'hello',
);
print $result->{output};
Tools register on the options object:
use Praxo::Agent ();
my $registry = Praxo::Agent::ToolRegistry->new;
$registry->register(Praxo::Agent::FuncTool->new('echo', 'Echo arguments', sub {
return $_[0];
}));
my $options = Praxo::Agent::AgentOptions->new($model);
$options->{tools} = $registry;
$options->{max_steps} = 8;
Layout¶
lib/Praxo/package source.conformance/run.plvector runner.api-snapshot.plandapi/public API snapshot.tests/run.pltest suite.
Release¶
Tag shape: perl/v0.1.0. The tag targets SPEC_VERSION 0.2.0.