diff --git a/CHANGELOG.md b/CHANGELOG.md index 53c56ff..4fe484b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 once it reaches `1.0.0`. Pre-`1.0.0` releases may contain breaking changes in any minor version bump — see the release notes for details. -## [0.0.1] — 2026-05-18 +## [0.0.2] - 2026-05-20 + +### Added + +- `CODE_OF_CONDUCT.md` adopting the [Contributor Covenant 2.1][cc21] by + reference, with `conduct@spellguard.ai` as the reporting channel. + Linked from `CONTRIBUTING.md`. + +[cc21]: https://www.contributor-covenant.org/version/2/1/code_of_conduct/ + +## [0.0.1] - 2026-05-18 Initial OSS export of the Spellguard subset: client middleware, Verifier proxy server, cTLS, AMP, LangChain / OpenAI / OpenClaw adapters, policy diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..1610587 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,51 @@ +# Code of Conduct + +This project adopts the [Contributor Covenant, version 2.1][cc21] as its +Code of Conduct. By participating in this project — through issues, pull +requests, discussions, or any other channel maintained by the Spellguard +project — you agree to follow its terms. + +The full text is published at +. + +## Scope + +The Code of Conduct applies to all project spaces and to anyone +representing the project in public. This includes the GitHub repository, +the issue tracker, pull-request discussions, project social-media +accounts, and any official Spellguard event. + +## Reporting + +Suspected violations may be reported in confidence to +**conduct@spellguard.ai**. Reports go to the project maintainers and are +handled according to the [enforcement guidelines][cc21-enforcement] +published with the Contributor Covenant. + +When reporting, please include: + +- A description of the incident, with links or screenshots if available. +- The handles or names of the people involved. +- Any additional context that would help us investigate. + +Reports are kept confidential. Reporters will not be named publicly +without their consent. + +## Enforcement + +Maintainers are responsible for clarifying and enforcing the Code of +Conduct, and will take fair, proportionate action in response to behavior +they consider inappropriate, threatening, or harmful. Possible +consequences include a private warning, a public warning, a temporary +ban from project spaces, or a permanent ban — see the +[Contributor Covenant enforcement ladder][cc21-enforcement] for the full +framework we follow. + +## Attribution + +This Code of Conduct adopts the [Contributor Covenant 2.1][cc21], which +is licensed under [CC BY 4.0][cc-by-4]. + +[cc21]: https://www.contributor-covenant.org/version/2/1/code_of_conduct/ +[cc21-enforcement]: https://www.contributor-covenant.org/version/2/1/code_of_conduct/#enforcement-guidelines +[cc-by-4]: https://creativecommons.org/licenses/by/4.0/ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index db82303..208b57c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -4,6 +4,12 @@ Thanks for your interest in contributing! This document covers how to set up a dev environment, what changes we accept, and how PRs flow back into the project. +## Code of Conduct + +Participation in this project — issues, pull requests, discussions, and +any other project channel — is governed by our +[Code of Conduct](CODE_OF_CONDUCT.md). Please read it before contributing. + ## Licensing Spellguard is released under the [Apache License 2.0](LICENSE). By diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b5e4140..3de5693 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -124,7 +124,7 @@ importers: devDependencies: '@cloudflare/workers-types': specifier: ^4.20260212.0 - version: 4.20260519.1 + version: 4.20260520.1 '@types/node': specifier: ^22.0.0 version: 22.19.19 @@ -133,7 +133,7 @@ importers: version: 5.9.3 wrangler: specifier: ^4.65.0 - version: 4.93.0(@cloudflare/workers-types@4.20260519.1)(bufferutil@4.1.0)(utf-8-validate@6.0.6) + version: 4.93.0(@cloudflare/workers-types@4.20260520.1)(bufferutil@4.1.0)(utf-8-validate@6.0.6) packages/agents/agent-b: dependencies: @@ -155,7 +155,7 @@ importers: devDependencies: '@cloudflare/workers-types': specifier: ^4.20260212.0 - version: 4.20260519.1 + version: 4.20260520.1 '@types/node': specifier: ^22.0.0 version: 22.19.19 @@ -164,7 +164,7 @@ importers: version: 5.9.3 wrangler: specifier: ^4.65.0 - version: 4.93.0(@cloudflare/workers-types@4.20260519.1)(bufferutil@4.1.0)(utf-8-validate@6.0.6) + version: 4.93.0(@cloudflare/workers-types@4.20260520.1)(bufferutil@4.1.0)(utf-8-validate@6.0.6) packages/agents/agent-c: dependencies: @@ -183,7 +183,7 @@ importers: devDependencies: '@cloudflare/workers-types': specifier: ^4.20260212.0 - version: 4.20260519.1 + version: 4.20260520.1 '@types/node': specifier: ^22.0.0 version: 22.19.19 @@ -192,7 +192,7 @@ importers: version: 5.9.3 wrangler: specifier: ^4.65.0 - version: 4.93.0(@cloudflare/workers-types@4.20260519.1)(bufferutil@4.1.0)(utf-8-validate@6.0.6) + version: 4.93.0(@cloudflare/workers-types@4.20260520.1)(bufferutil@4.1.0)(utf-8-validate@6.0.6) packages/agents/agent-d: dependencies: @@ -220,7 +220,7 @@ importers: devDependencies: '@cloudflare/workers-types': specifier: ^4.20260212.0 - version: 4.20260519.1 + version: 4.20260520.1 '@types/node': specifier: ^22.0.0 version: 22.19.19 @@ -229,7 +229,7 @@ importers: version: 5.9.3 wrangler: specifier: ^4.65.0 - version: 4.93.0(@cloudflare/workers-types@4.20260519.1)(bufferutil@4.1.0)(utf-8-validate@6.0.6) + version: 4.93.0(@cloudflare/workers-types@4.20260520.1)(bufferutil@4.1.0)(utf-8-validate@6.0.6) packages/agents/agent-e: dependencies: @@ -254,7 +254,7 @@ importers: devDependencies: '@cloudflare/workers-types': specifier: ^4.20260212.0 - version: 4.20260519.1 + version: 4.20260520.1 '@types/node': specifier: ^22.0.0 version: 22.19.19 @@ -263,7 +263,7 @@ importers: version: 5.9.3 wrangler: specifier: ^4.65.0 - version: 4.93.0(@cloudflare/workers-types@4.20260519.1)(bufferutil@4.1.0)(utf-8-validate@6.0.6) + version: 4.93.0(@cloudflare/workers-types@4.20260520.1)(bufferutil@4.1.0)(utf-8-validate@6.0.6) packages/agents/agent-pa: {} @@ -935,8 +935,8 @@ packages: cpu: [x64] os: [win32] - '@cloudflare/workers-types@4.20260519.1': - resolution: {integrity: sha512-BMWAwg4RyyZn3zcdoXbqpfogm2DGfNb83DXNCM1oFUMhYtEX8I+B+oxf67YPKvSiAEbzd7nHzW2mLv3eBH8Etw==} + '@cloudflare/workers-types@4.20260520.1': + resolution: {integrity: sha512-wdmf9Fwabp06OgK9ZyCl8Q77GZ94k9J7OA9qA65FbgxZ/hd3hYRkVNiY7Bvsx4tKim+sWmKqGOblecZInAvoRg==} '@cspotcode/source-map-support@0.8.1': resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} @@ -1449,8 +1449,8 @@ packages: cpu: [x64] os: [win32] - '@exodus/bytes@1.15.0': - resolution: {integrity: sha512-UY0nlA+feH81UGSHv92sLEPLCeZFjXOuHhrIo0HQydScuQc8s0A7kL/UdgwgDq8g8ilksmuoF35YVTNphV2aBQ==} + '@exodus/bytes@1.15.1': + resolution: {integrity: sha512-S6mL0yNB/Abt9Ei4tq8gDhcczc4S3+vQ4ra7vxnAf+YHC02srtqxKKZghx2Dq6p0e66THKwR6r8N6P95wEty7Q==} engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} peerDependencies: '@noble/hashes': ^1.8.0 || ^2.0.0 @@ -5224,7 +5224,7 @@ snapshots: '@cloudflare/workerd-windows-64@1.20260518.1': optional: true - '@cloudflare/workers-types@4.20260519.1': {} + '@cloudflare/workers-types@4.20260520.1': {} '@cspotcode/source-map-support@0.8.1': dependencies: @@ -5552,12 +5552,12 @@ snapshots: '@esbuild/win32-x64@0.28.0': optional: true - '@exodus/bytes@1.15.0(@noble/hashes@1.8.0)': + '@exodus/bytes@1.15.1(@noble/hashes@1.8.0)': optionalDependencies: '@noble/hashes': 1.8.0 optional: true - '@exodus/bytes@1.15.0(@noble/hashes@2.2.0)': + '@exodus/bytes@1.15.1(@noble/hashes@2.2.0)': optionalDependencies: '@noble/hashes': 2.2.0 @@ -7429,14 +7429,14 @@ snapshots: html-encoding-sniffer@6.0.0(@noble/hashes@1.8.0): dependencies: - '@exodus/bytes': 1.15.0(@noble/hashes@1.8.0) + '@exodus/bytes': 1.15.1(@noble/hashes@1.8.0) transitivePeerDependencies: - '@noble/hashes' optional: true html-encoding-sniffer@6.0.0(@noble/hashes@2.2.0): dependencies: - '@exodus/bytes': 1.15.0(@noble/hashes@2.2.0) + '@exodus/bytes': 1.15.1(@noble/hashes@2.2.0) transitivePeerDependencies: - '@noble/hashes' @@ -7592,7 +7592,7 @@ snapshots: '@acemir/cssom': 0.9.31 '@asamuzakjp/dom-selector': 6.8.1 '@bramus/specificity': 2.4.2 - '@exodus/bytes': 1.15.0(@noble/hashes@1.8.0) + '@exodus/bytes': 1.15.1(@noble/hashes@1.8.0) cssstyle: 6.2.0 data-urls: 7.0.0(@noble/hashes@1.8.0) decimal.js: 10.6.0 @@ -7620,7 +7620,7 @@ snapshots: '@acemir/cssom': 0.9.31 '@asamuzakjp/dom-selector': 6.8.1 '@bramus/specificity': 2.4.2 - '@exodus/bytes': 1.15.0(@noble/hashes@2.2.0) + '@exodus/bytes': 1.15.1(@noble/hashes@2.2.0) cssstyle: 6.2.0 data-urls: 7.0.0(@noble/hashes@2.2.0) decimal.js: 10.6.0 @@ -8954,7 +8954,7 @@ snapshots: whatwg-url@16.0.1(@noble/hashes@1.8.0): dependencies: - '@exodus/bytes': 1.15.0(@noble/hashes@1.8.0) + '@exodus/bytes': 1.15.1(@noble/hashes@1.8.0) tr46: 6.0.0 webidl-conversions: 8.0.1 transitivePeerDependencies: @@ -8963,7 +8963,7 @@ snapshots: whatwg-url@16.0.1(@noble/hashes@2.2.0): dependencies: - '@exodus/bytes': 1.15.0(@noble/hashes@2.2.0) + '@exodus/bytes': 1.15.1(@noble/hashes@2.2.0) tr46: 6.0.0 webidl-conversions: 8.0.1 transitivePeerDependencies: @@ -9003,7 +9003,7 @@ snapshots: '@cloudflare/workerd-linux-arm64': 1.20260518.1 '@cloudflare/workerd-windows-64': 1.20260518.1 - wrangler@4.93.0(@cloudflare/workers-types@4.20260519.1)(bufferutil@4.1.0)(utf-8-validate@6.0.6): + wrangler@4.93.0(@cloudflare/workers-types@4.20260520.1)(bufferutil@4.1.0)(utf-8-validate@6.0.6): dependencies: '@cloudflare/kv-asset-handler': 0.5.0 '@cloudflare/unenv-preset': 2.16.1(unenv@2.0.0-rc.24)(workerd@1.20260518.1) @@ -9014,7 +9014,7 @@ snapshots: unenv: 2.0.0-rc.24 workerd: 1.20260518.1 optionalDependencies: - '@cloudflare/workers-types': 4.20260519.1 + '@cloudflare/workers-types': 4.20260520.1 fsevents: 2.3.3 transitivePeerDependencies: - bufferutil