Repository navigation
refactor: use shared NotificationEvent contract - #15
Merged
Merged
Conversation
anilkreddy
marked this pull request as ready for review
November 12, 2026 01:19
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Replace Notify's duplicated NotificationEvent schema, types, JSON parsing, Ajv validation and context extraction/merge with public exports from
@commercekit-tools/notification-contract@0.0.2. Pin the GitHub Packages dependency, configure read-only install authentication, remove direct Ajv dependencies and bundle all runtime dependencies into the Action.Notify retains filesystem safety, templates, provider escaping and redaction, webhook restrictions, delivery/retry/timeout/redirect policies, outputs and failure handling. Workflow consumers need no package authentication. Latest main updates are integrated, including paired CodeQL actions, Node 24 type alignment and updated development tools.
Compatibility behavior
The migration adopts the package's stricter rules: empty trailing URL fragments are rejected, C1 control characters are omitted from runner metadata, and generated run URLs require an origin-only server URL. Tests cover these boundaries. A local diagnostic adapter supplies input-free validation errors; Notify's presentation sanitizer retains its established redaction labels and webhook/query URL filtering. See
docs/shared-contract-migration.mdfor ownership and behavior details.Validation
pnpm qualitypassed after resolving the lockfile conflict with main.packages: readand install-stepGITHUB_TOKEN. No new write permissions, long-lived PAT secrets or runtime package downloads.Notify remains unreleased. No real provider calls, Build/Deploy changes, shared-package modifications, tags, releases or Marketplace publication.