This file is an advanced / reference index of all supported CLI and script-level commands for the AOM tools. Most users can start with the aom CLI section below and only consult the rest when they need more control.
All commands below are intended to be run from the repo root:
agentobjectmodel.org/
aom CLI wrappersFrom the repo root you can use the unified CLI entrypoints instead of calling individual scripts:
Python flavor:
python aom.py validate input --file examples/v0.1.0/login-single/login.aom.json
python aom.py validate output --file examples/v0.1.0/login-single/outputs/_login.success.output.json
python aom.py validate site --file .well-known/aom-policy.open.site.json
python aom.py validate all --examples-dir examples/v0.1.0
python aom.py create-outputs
python aom.py demo run --lang python --folder v0.1.0/login-single --test-case _login.success.output
python aom.py demo test
Node flavor:
node aom.mjs validate input --file examples/v0.1.0/login-single/login.aom.json
node aom.mjs validate output --file examples/v0.1.0/login-single/outputs/_login.success.output.json
node aom.mjs validate site --file .well-known/aom-policy.open.site.json
node aom.mjs validate all --examples-dir examples/v0.1.0
node aom.mjs create-outputs
node aom.mjs demo run --lang node --folder v0.1.0/login-single --test-case _login.success.output
node aom.mjs demo test
The sections below list the underlying script-level commands for reference and advanced usage.
Python validators:
python -m pip install -r Tools/python/validate/requirements.txt
Node validators:
cd Tools/node/validate
npm install
cd ../../..
Single surface (Python):
python Tools/python/validate/validate_input.py examples/v0.1.0/login-single/login.aom.json
Single surface (Node):
node Tools/node/validate/validate_input.js examples/v0.1.0/login-single/login.aom.json
All examples (Python):
python Tools/python/validate/validate_all.py v0.1.0
All examples (Node):
node Tools/node/validate/validate_all.js v0.1.0
Single output (Python):
python Tools/python/validate/validate_output.py examples/v0.1.0/login-single/outputs/_login.success.output.json
Single output (Node):
node Tools/node/validate/validate_output.js examples/v0.1.0/login-single/outputs/_login.success.output.json
All outputs (Python/Node):
Use the same validate_all commands as for inputs (they cover both inputs and outputs):
python Tools/python/validate/validate_all.py v0.1.0
node Tools/node/validate/validate_all.js v0.1.0
site-policy-schema.json)Python (Tools validator):
python Tools/python/validate/validate_site.py .well-known/aom-policy.open.site.json
Node (Tools validator):
node Tools/node/validate/validate_site.js .well-known/aom-policy.open.site.json
Python (spec-local validator):
python spec/v0.1.0/templates/site-policy/validators/python_validator.py .well-known/aom-policy.open.site.json
Node (spec-local validator):
node spec/v0.1.0/templates/site-policy/validators/node_validator.js .well-known/aom-policy.open.site.json
Python create-outputs:
python Tools/python/create-outputs/create_outputs.py
# Optional failed-only flag (if supported in future):
# python Tools/python/create-outputs/create_outputs.py --failed
Node create-outputs:
node Tools/node/create-outputs/create_outputs.js
# Optional failed-only flag (if supported in future):
# node Tools/node/create-outputs/create_outputs.js --failed
Python demo agent:
python examples/v0.1.0/demo-agents/python/demo_agent.py --folder v0.1.0/login-single --test-case _login.success.output
Node demo agent:
node examples/v0.1.0/demo-agents/node/demo_agent.js --folder v0.1.0/login-single --test-case _login.success.output
Python tests (pytest):
python -m pytest examples/v0.1.0/demo-agents/python/ -v
Node tests (TAP):
node examples/v0.1.0/demo-agents/node/run_tests.js
Generic Python validator:
python Tools/python/validate/validate.py spec/v0.1.0/aom-input-schema.json examples/v0.1.0/login-single/login.aom.json
Generic Node validator:
node Tools/node/validate/validate.js spec/v0.1.0/aom-input-schema.json examples/v0.1.0/login-single/login.aom.json