Skip to content

Latest commit

 

History

History
458 lines (256 loc) · 22.7 KB

File metadata and controls

458 lines (256 loc) · 22.7 KB

5.9.5 (2026-05-12)

Documentation

  • fix formatting and SchemaStore link (ff7c729)

5.9.4 (2026-05-12)

Chores

  • add mcp, mcp-server, sync, crush, zod keywords (c49bd70)

5.9.3 (2026-05-12)

Documentation

  • update SchemaStore status — merged (bba0114)

5.9.2 (2026-05-12)

Documentation

  • add mcp CLI subcommand, fix $schema URL consistency (41e1e2d)

5.9.1 (2026-05-12)

Documentation

  • add MCP server and plugin marketplace installation instructions (92eaddc)

5.9.0 (2026-05-12)

Features

  • release: auto-sync plugin.json version via semantic-release (c2523e8)

5.8.0 (2026-05-12)

Features

  • mcp: use npm source for marketplace plugin entry (65ca648)

Bug Fixes

  • mcp: remove hardcoded version from plugin.json (7bc8e27)

5.7.0 (2026-05-12)

Features

  • mcp: add Claude Code marketplace plugin support (63fb629)

5.6.0 (2026-05-12)

Features

  • mcp: add .mcp.json and server.json for Claude Code plugin support (94d0386)

5.5.1 (2026-05-12)

Chores

  • release: trigger republish for new alias packages (6c01ae0)

5.5.0 (2026-05-12)

Features

  • ci: publish alias packages agent-permissions-mcp, permissions-mcp, permission-mcp (dd8179f)

5.4.0 (2026-05-12)

Features

  • mcp: add MCP sync server and sync config to schema (4cfca36)

5.3.0 (2026-05-12)

Features

  • sync: inject $schema into generated canonical files (3548e19)

5.2.2 (2026-05-12)

Chores

  • build: regenerate JSON schema with with/without/up fields (e1bca37)
  • deps: update commitlint scopes for all modules (8421258)

5.2.1 (2026-05-11)

Bug Fixes

  • ci: skip husky hooks in release job (c081c48)
  • ci: use --notes-file for release body update (7690d04)

5.2.0 (2026-05-11)

Features

  • include schema download URL in release body and README (f4d294d)

5.1.3 (2026-05-11)

Bug Fixes

  • ci: upload schema to GitHub Release via gh CLI (287bb89)

5.1.2 (2026-05-11)

Bug Fixes

  • ci: pin Node 22 for release job (c433edb)

5.1.1 (2026-05-11)

Chores

  • gitignore .agents/ test artefacts (475a353)

5.1.0 (2026-05-11)

Features

  • attach schema to GitHub Release assets (d0d0d41)

5.0.7 (2026-05-11)

Tests

  • add sync branch coverage tests (8 new, 378 total) (54d8e4f)

5.0.6 (2026-05-11)

Tests

  • comprehensive CLI tests (39 new, 370 total) (4699704)

5.0.5 (2026-05-11)

Tests

  • add unit tests for agent-files.ts (39 new tests) (96b76c6)

5.0.4 (2026-05-11)

Refactoring

  • extract shared merge utilities into evaluate.ts (94c50cf)

5.0.3 (2026-05-11)

Refactoring

  • shared result types for parseJson, validatePolicy, decodeNative (bc85871)

5.0.2 (2026-05-11)

Refactoring

  • extract per-agent extract/wrap into AgentFileDef (11f8c00)

5.0.1 (2026-05-11)

Refactoring

  • extract shared agent-files module, DRY cli and sync (c01a077)

5.0.0 (2026-05-11)

⚠ BREAKING CHANGES

  • — all inputs/outputs via flags, no positional args.
  • --from/--input/--in accept format name (finds default file), file path, or - for stdin
  • --to accepts format name (writes to default file) or file path
  • --output/--out/-o override destination file or - for stdout
  • validate --input/--in replaces positional arg
  • check --policy-file replaces positional arg
  • sync --working-dir/-d replaces positional arg
  • Format names resolve to default config file locations (walk-up for input)
  • strict: true for parseArgs — proper type narrowing via firstString/allStrings

Features

  • rewrite CLI — no positionals, format names resolve to file paths (8d08397)

Documentation

  • rewrite CLI section for flag-only, format-to-file resolution (629f2cc)

4.9.0 (2026-05-11)

Features

  • resolve --from/--to/--with from agent names or config file paths (ab69636)

Bug Fixes

  • enforce strict ESLint — no floating promises, no unused vars, no type assertions (bcba5d9)
  • restore strict ESLint rules — remove assertion and unused-var relaxations (43b8b00)

4.8.0 (2026-05-11)

Features

  • extract programmatic API from CLI into src/api.ts (0518661)

Documentation

  • document programmatic API and sync import in README (cf9862d)

4.7.1 (2026-05-11)

Documentation

  • add CLI section to README (905bf73)

4.7.0 (2026-05-11)

Features

  • auto-detect input format when --from is omitted (d7acf2e)

4.6.0 (2026-05-11)

Features

  • add --out/-o flag to convert for writing output to a file (0220f3f)

4.5.0 (2026-05-11)

Features

  • add --compact and --verbose flags to convert command (7db8c2d)

4.4.0 (2026-05-11)

Features

  • add shorthand flags for all CLI options (4351111)

4.3.1 (2026-05-11)

Refactoring

  • split flag semantics between convert and sync (c2a6cb3)

4.3.0 (2026-05-11)

Features

  • add sync command for bidirectional agent config merging (b807287)

Tests

  • add 11 tests for sync command (869bb85)

4.2.0 (2026-05-11)

Features

  • add Kiro codec — decode/encode Amazon Kiro agent configs (7cc4f6e)

4.1.0 (2026-05-11)

Features

  • add CLI binary for converting, validating, and checking policies (fb4b086)
  • add ruleToString and collectRules helpers to evaluate module (200eb9e)

Bug Fixes

  • make test task depend on build for CLI binary (0bf1984)

Refactoring

  • codecs produce/consume unified rules[] instead of permissions tiers (2ef38e4)

Tests

  • rewrite compat tests for unified rules, add CLI tests (a220986)

4.0.0 (2026-05-10)

⚠ BREAKING CHANGES

  • PermissionPolicy now uses rules[] instead of permissions.allow/deny/ask. The permissions field is still accepted by the schema (zero-translation migration preserved) but the loader normalises it into rules on output.
  • Schema: conditionalRule → Rule (pattern is optional, no longer conditional)
  • Schema: PascalCase for both const and type (declaration merging)
  • Evaluator: processes unified rules array, deny → ask → allow
  • Loader: normalises permissions string arrays into Rule objects
  • normaliseStringRule() exported for converting string rules to structured rules

Features

  • unify rules and permissions into single rules array (d33ee13)

Documentation

  • rewrite README and examples for unified rules format (96a08b2)

Chores

  • regenerate JSON Schema from unified rules schema (6ac886a)

3.0.6 (2026-05-10)

Documentation

  • show rules in quick-start example, add unconditional rule example (b5352d3)

3.0.5 (2026-05-10)

Chores

  • add LICENSE file, remove license section from README (664f27e)

3.0.4 (2026-05-10)

Chores

  • add commit-msg and pre-push husky hooks (f3f2809)

3.0.3 (2026-05-10)

Bug Fixes

  • align codecs with upstream agent source code (d08a4a1)
  • use SDK imports for OpenCode v2 alignment (9dc6c6d)

Styles

  • remove extra blank line in codecs.ts (eea6a9f)

3.0.2 (2026-05-10)

Documentation

  • add npm version, license, and CI badges (9276865)
  • fix codec API to use .decode()/.encode() (dbd701e)
  • rewrite README for v3 — wildcard exports, evaluator, loader, escape sequences (2775197)

3.0.1 (2026-05-10)

Bug Fixes

  • escape sequence handling in rule parser (d6b21ad)

3.0.0 (2026-05-10)

⚠ BREAKING CHANGES

  • rule matching now follows Claude Code's three rule types:
    • Exact: Tool(command) — string equality
    • Prefix: Tool(prefix:*) — word-boundary enforced prefix match
    • Wildcard: Tool(pattern * middle ) — regex with . for unescaped *

New features:

  • Escape sequences: ( ) * \ in rule content
  • Conditional rules (rules[]) with when.cwd and when.branch conditions
  • MCP server-level wildcards (mcp____delete)
  • Domain patterns (domain:example.com)
  • Trailing * matches bare command (git * matches both git and git add)
  • matchPattern() for input-only matching (conditional rules)
  • 209 tests (189 existing + 20 new Claude Code syntax + conditional tests)

Features

  • rewrite evaluator with Claude Code rule syntax (f9f0fad)

2.0.1 (2026-05-10)

Bug Fixes

  • ci: remove prepublishOnly — CI validates before release (d5d5a32)

2.0.0 (2026-05-10)

⚠ BREAKING CHANGES

  • consumers must now import from specific subpaths:
    • agent-perms/schema — Zod schemas and types
    • agent-perms/evaluate — deny-first evaluator
    • agent-perms/loader — multi-layer policy loader
    • agent-perms/compat/codecs — bidirectional codecs
    • agent-perms/compat/enums — SDK-aligned enums

Wildcard export ./* maps to ./dist/*.mjs / ./dist/*.cjs. tsdown builds all source files as separate entry points. No more barrel coupling — each module is independently importable.

Features

  • remove barrel index.ts, use wildcard package exports (f072eaa)

1.2.0 (2026-05-10)

Features

  • add test coverage with node --experimental-test-coverage (3d2784e)

1.1.0 (2026-05-10)

Features

  • add evaluate and loader modules (75b4dee)

1.0.1 (2026-05-10)

Chores

1.0.0 (2026-05-10)

Features

  • add bidirectional Zod codecs for Claude Code, OpenCode, Crush (9232315)
  • add Claude Code compatibility tests (72 tests passing) (81859c3)
  • add Codex (OpenAI) codec — TOML-native permission mapping (c7a7a48)
  • add sandbox, profiles, network, per-agent overrides to spec (725667d)
  • ci: multi-registry publishing, single-package layout (27bad51)
  • compat: add OpenCode SDK alignment checks (9b869da)
  • Zod schema with compiled JSON Schema, examples, and tests (364df32)

Bug Fixes

  • accept defaultMode inside permissions for Claude Code compatibility (62bbbd4)
  • ci: OIDC publishing — no NPM_TOKEN, separate GitHub Packages job (3f3eaa5)
  • ci: track .tool-versions for setup-node node-version-file (0e1c06b)

Documentation

  • add CLAUDE.md and AGENTS.md project guides for coding agents (9ec163a)
  • add README with quick start, schema overview, codec usage, examples (08cca87)
  • symlink CLAUDE.md → AGENTS.md (single source of truth) (94e0d19)
  • symlink CLAUDE.md and AGENTS.md → README.md (single source of truth) (8616302)

Tests

  • add comprehensive round-trip tests for all four codecs (4288a6f)

Build

  • add CI, linting, SDK alignment checks, and strict types (462dc86)
  • fold schema compilation into tsdown plugin, remove build-schema.ts (8ab65be)
  • migrate to node:test runner, drop vitest dependency (53075fc)
  • switch to tsdown, dual ESM+CJS output, package.json for publishing (b2a6536)

Chores

  • add CLAUDE.md and AGENTS.md negation rules to .gitignore (b2ebe46)
  • set package name to agent-perms, repo to Mearman/agent-permissions-spec (203f6b1)