pam-ordo-contracts
v3.3.0
Published
Versioned OpenAPI contracts, generated TypeScript types, and shared fixtures for Pam Ordo APIs.
Readme
Pam Ordo contracts
The versioned OpenAPI contract, generated TypeScript types, and shared fixtures for Pam Ordo APIs.
Install
Pin consumers to an exact npm version:
{
"dependencies": {
"pam-ordo-contracts": "3.3.0"
}
}import type {
ConversationDetailResponse,
InboxListResponse,
NotificationListResponse,
CommandResult,
ErrorEnvelope,
paths,
} from 'pam-ordo-contracts';FIFO producers also import ProducerCommandV1 plus the deterministic
producerMessageGroupId, producerMessageDeduplicationId, and
producerMessageAttributes helpers. The helpers keep every producer aligned
with the ordered-consumer contract without introducing an AWS SDK dependency.
Policy and authority consumers import InboxPolicyV1,
InboxTargetResolutionRequestV1, and InboxTargetResolutionResponseV1.
Use inboxPolicyVersion to derive the immutable sha256: policy snapshot ID
from canonical normalized policy content. InboxPolicyV1 intentionally rejects
legacy timed-escalation fields.
The public npm artifact contains compiled TypeScript declarations, bundled OpenAPI, and shared fixtures. Consumers do not need GitHub repository credentials.
Contract development
openapi/openapi.yaml is the source of truth. Bundled JSON and generated TypeScript are committed for review.
npm install
npm run contract:generate
npm run check
npm pack --dry-runQuality commands
The repository follows the dashboard conventions for linting, formatting, and dependency auditing:
npm run lint
npm run lint:fix
npm run format
npm run format:check
npm run npm-auditGenerated TypeScript and bundled OpenAPI are excluded from ESLint and Prettier; their generators enforce deterministic output. CI uses Pam's shared lint and audit actions.
Breaking changes require a major version bump:
npm run contract:breaking -- --base <full-base-commit-sha>Follow docs/PUBLISHING.md to publish an immutable npm version and matching Git tag. Consumers should pin the exact npm version.
