@trigguard/protocol
v0.1.3
Published
TypeScript SDK: types and JSON snapshots for the TrigGuard protocol (see repository spec/).
Maintainers
Readme
@trigguard/protocol (TypeScript SDK)
Reference implementation for the TrigGuard protocol in TypeScript: vocabulary (PERMIT, DENY, SILENCE), enforcement semantics, and the DecisionRecord shape, plus JSON snapshots aligned with core/contracts/decision_contract.json.
Language-agnostic specification: spec/TG_PROTOCOL.md — this npm package is an SDK, not the full protocol.
Runtime evaluation and policy engines live in other packages and services; integrations conform to the spec.
Quick start
npm install @trigguard/protocolimport { DECISION, ENFORCEMENT, type DecisionRecord } from "@trigguard/protocol";
const record: DecisionRecord = {
decision: DECISION.PERMIT,
enforcement: ENFORCEMENT.EXECUTED,
reason_code: "NO_POLICY_VIOLATION",
timestamp: new Date().toISOString(),
};There is no evaluate() or validateDecision() in this package — only types and canonical constants so your code matches spec/TG_PROTOCOL.md. For JSON Schema and contract JSON via subpaths, see Subpath exports.
Install and paths
Published on the public registry under the @trigguard scope. For release process, see docs/release/PROTOCOL_RELEASE.md in the monorepo.
Develop inside the repo (no registry), use a path or workspace:
"@trigguard/protocol": "file:implementations/typescript"(From a package at the repository root. From packages/*, use file:../../implementations/typescript.)
Or install from a Git URL / workspace as documented in the main TrigGuard repository.
Decision model
| Decision | Meaning (high level) |
|------------|----------------------|
| PERMIT | Authorization to proceed under policy (subject to enforcement and deployment rules). |
| DENY | Action must not proceed as requested. |
| SILENCE| No authorization was issued; without authorization, execution cannot proceed (see SILENCE_DEFINITION export). |
Policy-only layers may restrict emitted decisions to PERMIT / DENY; full protocol surfaces also use SILENCE where applicable.
Other useful exports: type Decision, DECISIONS, SILENCE_DEFINITION, REASON_CODES, decisionContract.
Subpath exports (JSON)
The package exposes stable paths for the JSON schema and decision contract snapshot:
const schema = require("@trigguard/protocol/schema");
const contract = require("@trigguard/protocol/contract");Build (maintainers / CI)
From implementations/typescript:
npm install
npm run buildbuild runs sync-contract (when the full monorepo is present), tsc, and asset copy into dist/. Published tarballs are built via prepack / prepare before npm publish.
Repository
Canonical source: github.com/TrigGuard-AI/TrigGuard — implementations/typescript/ (spec: spec/).
For installation paths and release tagging, see:
docs/developers/INSTALL_PROTOCOL.mddocs/release/PROTOCOL_RELEASE.md
Legacy note (snapshot)
src/contracts/decision_contract.json is kept in sync with core/contracts/decision_contract.json via npm run sync-contract in the monorepo. Do not edit kernel contracts from this README — follow governance and protocol integrity processes in the main repo.
