Bundled TypeScript scripts shipped in ado-script.zip alongside the ado-aw release.
gate.js— trigger filter gate evaluator (consumed byAdoScriptExtension::setup_stepsin the Rust compiler)import.js— runtime{{#runtime-import …}}resolver (consumed byAdoScriptExtension::prepare_stepsin the Rust compiler)
Types in src/shared/types.gen.ts are auto-generated from the Rust IR via:
npm run codegenThis invokes cargo run -- export-gate-schema to write the JSON Schema, then runs json-schema-to-typescript. CI verifies the generated file is up to date (drift check). If drift is detected, run npm run codegen and commit the result.
src/shared/— modules shared across all bundles (auth, ado-client, vso-logger, env-facts, policy state machine)src/gate/— gate evaluator entry point and per-concern modulessrc/import/— runtime-import resolver entry pointgate.js/import.js— ncc bundle outputs (gitignored);npm run buildwrites both at the workspace root, and both ship inado-script.zip
- Architecture and runtime contract:
docs/ado-script.md. - Compiler integration:
src/compile/extensions/ado_script.rs.