cocottetech/@platform/codebase/@packages/surface-adapter-contracts/src/index.ts

77 lines
1.9 KiB
TypeScript
Raw Normal View History

/**
* @cocottetech/surface-adapter-contracts
*
* The canonical, framework-free contract every surface specialist (bookings-*,
* content-*) and every adapter action conforms to. Defines:
* - the action contract (`SurfaceAdapterAction`, `PrecheckResult`, gates),
* - the per-invocation `AdapterContext` (userId/orgId, surface session,
* platform.api client, blocklist accessor, audit writer, logger),
* - the closed `ActionVerb` set + `SurfaceKind` mirror,
* - the data-driven action registry (`ActionDescriptor` + `ActionRegistry`),
* - the `agent_actions` audit-write contract, and
* - the deterministic K-gate safety functions.
*
* See `_engineering-surface-adapter-container.md` (Layer 6) and
* `K-safety-blocklist.brief.md` for the design authority behind these types.
*/
// Surfaces + verbs
export {
type SurfaceKind,
SURFACE_KINDS,
isSurfaceKind,
} from './surface-kind.js';
export {
type ActionVerb,
ACTION_VERBS,
isActionVerb,
} from './action-verb.js';
// Action contract
export {
type SurfaceAdapterAction,
type PrecheckResult,
type GateRejection,
precheckResult,
} from './action.js';
// Execution context + the abstractions it carries
export {
type AdapterContext,
type PrecheckContext,
type SurfaceSession,
} from './context.js';
export {
type PlatformApiClient,
type AdapterLogger,
} from './platform-api.js';
export {
type BlocklistAccessor,
type BlocklistEntry,
type BlocklistKind,
} from './blocklist.js';
export {
type AgentActionsClient,
type AgentActionWrite,
type AgentActionRef,
type ActionStakes,
} from './audit.js';
// Data-driven registry
export {
type ActionDescriptor,
type ActionModule,
ActionRegistry,
DuplicateActionError,
isActionModule,
} from './registry.js';
// Deterministic safety gates (brief K)
export {
type BumpLocation,
gateK1ProspectBlocklist,
gateK3cGovtName,
gateK3fAccommodationName,
gateK3fBumpPrecision,
} from './safety/k-gate.js';