Skip to content

ApprovalRegistry

Defined in: src/mft/approvals.ts:64

In-memory approval registry.

new ApprovalRegistry(): ApprovalRegistry;

ApprovalRegistry

approve(
id: string,
input?: {
reason?: string;
resolvedBy?: string;
},
now?: Date): ApprovalRequest;

Defined in: src/mft/approvals.ts:118

Approves a pending request.

ParameterTypeDescription
idstringApproval id to resolve.
input{ reason?: string; resolvedBy?: string; }Optional reviewer identifier and reason.
input.reason?string-
input.resolvedBy?string-
nowDateReference clock used to stamp resolvedAt.

ApprovalRequest

The updated approval record.


create(input: {
id: string;
metadata?: Record<string, unknown>;
routeId: string;
}, now?: Date): {
request: ApprovalRequest;
settled: Promise<ApprovalRequest>;
};

Defined in: src/mft/approvals.ts:76

Creates a new request and returns a promise that resolves when the request transitions out of "pending" state.

ParameterTypeDescription
input{ id: string; metadata?: Record<string, unknown>; routeId: string; }Request seed (id, routeId, optional metadata).
input.idstring-
input.metadata?Record<string, unknown>-
input.routeIdstring-
nowDateReference clock used to stamp requestedAt.
{
request: ApprovalRequest;
settled: Promise<ApprovalRequest>;
}

The created request and a promise tracking its resolution.

NameTypeDefined in
requestApprovalRequestsrc/mft/approvals.ts:79
settledPromise<ApprovalRequest>src/mft/approvals.ts:79

get(id: string):
| ApprovalRequest
| undefined;

Defined in: src/mft/approvals.ts:149

Looks up a request by id.

ParameterType
idstring

| ApprovalRequest | undefined


list(): ApprovalRequest[];

Defined in: src/mft/approvals.ts:159

Lists every request ever created.

ApprovalRequest[]


listPending(): ApprovalRequest[];

Defined in: src/mft/approvals.ts:154

Lists pending requests in insertion order.

ApprovalRequest[]


reject(
id: string,
input?: {
reason?: string;
resolvedBy?: string;
},
now?: Date): ApprovalRequest;

Defined in: src/mft/approvals.ts:134

Rejects a pending request.

ParameterTypeDescription
idstringApproval id to resolve.
input{ reason?: string; resolvedBy?: string; }Optional reviewer identifier and reason.
input.reason?string-
input.resolvedBy?string-
nowDateReference clock used to stamp resolvedAt.

ApprovalRequest

The updated approval record.