@contractspec/example.locale-jurisdiction-gate
v3.7.29
Published
Example: enforce locale + jurisdiction + kbSnapshotId + allowed scope for assistant calls (fail-closed).
Readme
@contractspec/example.locale-jurisdiction-gate
Website: https://contractspec.io
Example: enforce locale + jurisdiction + kbSnapshotId + allowed scope for assistant calls (fail-closed).
What This Demonstrates
- Canonical
policyexport viaAssistantGatePolicy. - Canonical
formexport viaAssistantContextForm. - Canonical
translationexports foren-US,en-GB, andfr-FR. - Fail-closed policy guard pattern for AI assistant calls.
- Entity models for locale/jurisdiction gating.
- Event-driven policy enforcement.
- Handler and operation separation with typed operations.
- Feature definition pattern.
src/docs/contains docblocks and documentation-facing exports.
Running Locally
From packages/examples/locale-jurisdiction-gate:
bun run devbun run buildbun run testbun run typecheck
Usage
Use @contractspec/example.locale-jurisdiction-gate as a reference implementation, or import its exported surfaces into a workspace that composes ContractSpec examples and bundles.
Architecture
src/docs/contains docblocks and documentation-facing exports.src/entities/contains domain entities and value objects.src/events.tsis package-level event definitions.src/example.tsis the runnable example entrypoint.src/forms/contains the exported assistant context form spec.src/handlers/contains handlers or demo adapters wired to contract surfaces.src/index.tsis the root public barrel and package entrypoint.src/locale-jurisdiction-gate.feature.tsdefines a feature entrypoint.src/translations/contains the exported locale catalogs.
Public Entry Points
- Export
.resolves through./src/index.ts. - Export
./docsresolves through./src/docs/index.ts. - Export
./docs/locale-jurisdiction-gate.docblockresolves through./src/docs/locale-jurisdiction-gate.docblock.ts. - Export
./entitiesresolves through./src/entities/index.ts. - Export
./entities/modelsresolves through./src/entities/models.ts. - Export
./eventsresolves through./src/events.ts. - Export
./exampleresolves through./src/example.ts. - Export
./formsresolves through./src/forms/index.ts. - Export
./forms/assistant-context.formresolves through./src/forms/assistant-context.form.ts. - Export
./handlersresolves through./src/handlers/index.ts. - Export
./handlers/demo.handlersresolves through./src/handlers/demo.handlers.ts. - Export
./locale-jurisdiction-gate.featureresolves through./src/locale-jurisdiction-gate.feature.ts. - Export
./policy/assistant-gate.policyresolves through./src/policy/assistant-gate.policy.ts. - Export
./translationsresolves through./src/translations/index.ts. - Export
./translations/assistant-gate.en-GB.translationresolves through./src/translations/assistant-gate.en-GB.translation.ts. - Export
./translations/assistant-gate.en-US.translationresolves through./src/translations/assistant-gate.en-US.translation.ts. - Export
./translations/assistant-gate.fr-FR.translationresolves through./src/translations/assistant-gate.fr-FR.translation.ts. - The package publishes 21 total export subpaths; keep docs aligned with
package.json.
Local Commands
bun run dev— contractspec-bun-build devbun run build— bun run prebuild && bun run build:bundle && bun run build:typesbun run test— bun testbun run lint— bun lint:fixbun run lint:check— biome check .bun run lint:fix— biome check --write --unsafe --only=nursery/useSortedClasses . && biome check --write .bun run typecheck— tsc --noEmitbun run publish:pkg— bun publish --tolerate-republish --ignore-scripts --verbosebun run publish:pkg:canary— bun publish:pkg --tag canarybun run clean— rimraf dist .turbobun run build:bundle— contractspec-bun-build transpilebun run build:types— contractspec-bun-build typesbun run prebuild— contractspec-bun-build prebuild
Recent Updates
- Replace eslint+prettier by biomejs to optimize speed.
- Missing contract layers.
Notes
- Works alongside
@contractspec/lib.contracts-spec,@contractspec/lib.schema,@contractspec/tool.bun,@contractspec/tool.typescript.
