
Security News
Insecure Agents Podcast: How to Keep AI Agents From Bypassing Security Controls
Socket CTO Ahmad Nassri discusses how to keep AI agents from bypassing package blocks, limit credential access, and monitor their actions.
@codai/axiom-axm
Advanced tools
AXIOM v2 `.axm` front-end: Chevrotain lexer + CST parser that compiles the .axm DSL 1:1 into a Plan, with position-bearing diagnostics and a deterministic inverse printer
The .axm v2 front-end for AXIOM: a Chevrotain 13 lexer + CST parser that compiles the DSL
1:1 into a PlanSchema-validated Plan, plus the deterministic inverse printer.
import { formatAxm, parseAxm } from "@codai/axiom-axm";
const { plan, diagnostics } = parseAxm(source); // never throws
// diagnostics: { severity, code: ERR_*, message, range: { start: {line, column}, end } }[]
if (plan) console.error(formatAxm(plan) === source); // canonical form roundtrips
plan is present only when there are no error diagnostics. Positions are 1-based. CRLF input is
normalised to LF before lexing (heredoc contents included). Full semantics: docs/reference/axm-syntax.md.
File = Header, { Statement } ;
Header = "axiom", Version ; Version = '"2"' ;
Statement = PlanDecl ;
PlanDecl = "plan", Ident, "{", { PlanItem } "}" ;
PlanItem = "intent", String
| "profile", Ident
| "capabilities", "[", [ Cap { "," Cap } ], "]"
| "artifact", String, ArtifactBody
| "check", Ident, "using", QualIdent, [ Json ]
| "meta", Json ;
Cap = "fs" | "net" | "secret" | "ai" | "compute" | "git" ;
ArtifactBody= "{", { "mode", ("0644"|"0755") | "op", ("create"|"overwrite"|"delete") | Source }, "}" ;
Source = "inline", HereDoc | "template", QualIdent, String, [ Json ] | "cas", Digest | "ref", String, Digest ;
HereDoc = "<<", Ident, NEWLINE, { ANY }, NEWLINE, Ident ;
QualIdent = Ident, { ".", Ident } ; Digest = '"sha256:' 64*HEXDIG '"' ;
Json = ? RFC 8259 object or array ? ; Comment = "//" … EOL | "/*" … "*/" ;
Heredoc: the terminator must be alone on its line at column 1; the content excludes the newline
before it (<<EOF\nEOF → ""; add an empty line for a trailing \n). formatAxm uses EOF,
or EOF_n when a content line equals the terminator.
examples/notes.axm)axiom "2"
plan notes-app {
intent "Scaffold a notes CLI with a README and drop the legacy shim"
profile strict
capabilities [fs]
artifact "src/notes.ts" {
mode 0644
op create
inline <<TS
export interface Note { id: string; body: string }
TS
}
artifact "bin/notes" {
mode 0755
cas "sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
}
artifact "legacy/shim.js" { op delete }
check no-secrets using content.noSecrets {}
check readme-with-src using repo.requireCompanion {"rules":[{"when":"src/**","expect":[{"name":"readme","match":"README.md"}]}]}
meta {"ticket":"S-204","tags":["example","golden"]}
}
examples/notes.plan.json is the compiled Plan, pinned by the golden test.
Every diagnostic carries a code from the closed ERROR_CODES enum — lexer/parser/semantic
errors are ERR_INVALID_PLAN; schema issues keep their own code (e.g. ERR_PATH_SEGMENT).
Unknown predicate ids are not an error here — the checks registry decides at runtime.
MCP: axiom_axm_parse { source } → { plan?, diagnostics[] } (read-only). CLI:
axiom compile plan.axm parses first and exits 2 with the diagnostics as JSON on any error. Both
load this package lazily so the CLI cold start and bundle budget are unaffected.
Depends only on @codai/axiom-schema and chevrotain.
FAQs
AXIOM v2 `.axm` front-end: Chevrotain lexer + CST parser that compiles the .axm DSL 1:1 into a Plan, with position-bearing diagnostics and a deterministic inverse printer
The npm package @codai/axiom-axm receives a total of 661 weekly downloads. As such, @codai/axiom-axm popularity was classified as not popular.
We found that @codai/axiom-axm demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Socket CTO Ahmad Nassri discusses how to keep AI agents from bypassing package blocks, limit credential access, and monitor their actions.

Security News
GPT-6 Astra tried to plant malicious code in simulated open source projects using fake GitHub accounts and deceptive PRs during an assigned CTF challenge.

Security News
upm uses Node.js to deliver fast npm installs in about 250 KB, with a JavaScript API and security defaults.