@beignet/core 0.0.12 → 0.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +21 -0
- package/README.md +159 -9
- package/dist/client/client.d.ts.map +1 -1
- package/dist/client/client.js +29 -1
- package/dist/client/client.js.map +1 -1
- package/dist/entitlements/index.d.ts +234 -0
- package/dist/entitlements/index.d.ts.map +1 -0
- package/dist/entitlements/index.js +172 -0
- package/dist/entitlements/index.js.map +1 -0
- package/dist/error-reporting/index.d.ts +131 -0
- package/dist/error-reporting/index.d.ts.map +1 -0
- package/dist/error-reporting/index.js +112 -0
- package/dist/error-reporting/index.js.map +1 -0
- package/dist/flags/index.d.ts +293 -0
- package/dist/flags/index.d.ts.map +1 -0
- package/dist/flags/index.js +204 -0
- package/dist/flags/index.js.map +1 -0
- package/dist/locks/index.d.ts +155 -0
- package/dist/locks/index.d.ts.map +1 -0
- package/dist/locks/index.js +248 -0
- package/dist/locks/index.js.map +1 -0
- package/dist/payments/index.d.ts +430 -0
- package/dist/payments/index.d.ts.map +1 -0
- package/dist/payments/index.js +230 -0
- package/dist/payments/index.js.map +1 -0
- package/dist/ports/index.d.ts +61 -1
- package/dist/ports/index.d.ts.map +1 -1
- package/dist/ports/index.js +33 -0
- package/dist/ports/index.js.map +1 -1
- package/dist/ports/policy.d.ts +104 -0
- package/dist/ports/policy.d.ts.map +1 -1
- package/dist/ports/policy.js +102 -7
- package/dist/ports/policy.js.map +1 -1
- package/dist/search/index.d.ts +175 -0
- package/dist/search/index.d.ts.map +1 -0
- package/dist/search/index.js +344 -0
- package/dist/search/index.js.map +1 -0
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +9 -1
- package/dist/server/server.js.map +1 -1
- package/dist/testing/index.d.ts +46 -1
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +33 -1
- package/dist/testing/index.js.map +1 -1
- package/package.json +25 -1
- package/src/client/client.ts +33 -1
- package/src/entitlements/index.ts +479 -0
- package/src/error-reporting/index.ts +273 -0
- package/src/flags/index.ts +608 -0
- package/src/locks/index.ts +440 -0
- package/src/payments/index.ts +699 -0
- package/src/ports/index.ts +194 -0
- package/src/ports/policy.ts +272 -7
- package/src/search/index.ts +632 -0
- package/src/server/server.ts +15 -0
- package/src/testing/index.ts +83 -1
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @beignet/core/payments
|
|
3
|
+
*
|
|
4
|
+
* Provider-neutral payments primitives for Beignet applications.
|
|
5
|
+
*/
|
|
6
|
+
import { createProvider, createProviderInstrumentation, } from "../providers/index.js";
|
|
7
|
+
/**
|
|
8
|
+
* Error thrown by payment helpers and provider adapters.
|
|
9
|
+
*/
|
|
10
|
+
export class PaymentProviderError extends Error {
|
|
11
|
+
/**
|
|
12
|
+
* Provider name when known.
|
|
13
|
+
*/
|
|
14
|
+
provider;
|
|
15
|
+
/**
|
|
16
|
+
* Operation that failed.
|
|
17
|
+
*/
|
|
18
|
+
operation;
|
|
19
|
+
/**
|
|
20
|
+
* Provider error code when known.
|
|
21
|
+
*/
|
|
22
|
+
code;
|
|
23
|
+
/**
|
|
24
|
+
* Original provider error when available.
|
|
25
|
+
*/
|
|
26
|
+
cause;
|
|
27
|
+
constructor(args) {
|
|
28
|
+
super(args.message);
|
|
29
|
+
this.name = "PaymentProviderError";
|
|
30
|
+
this.provider = args.provider;
|
|
31
|
+
this.operation = args.operation;
|
|
32
|
+
this.code = args.code;
|
|
33
|
+
this.cause = args.cause;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
function defaultMemoryId(prefix) {
|
|
37
|
+
return `${prefix}_${crypto.randomUUID()}`;
|
|
38
|
+
}
|
|
39
|
+
function cloneMetadata(metadata) {
|
|
40
|
+
return metadata ? { ...metadata } : undefined;
|
|
41
|
+
}
|
|
42
|
+
function cloneCheckoutInput(input) {
|
|
43
|
+
return {
|
|
44
|
+
...input,
|
|
45
|
+
lineItems: input.lineItems.map((item) => ({ ...item })),
|
|
46
|
+
metadata: cloneMetadata(input.metadata),
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
function cloneRefundInput(input) {
|
|
50
|
+
return {
|
|
51
|
+
...input,
|
|
52
|
+
metadata: cloneMetadata(input.metadata),
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Create an in-memory payments port for tests, local development, and
|
|
57
|
+
* examples.
|
|
58
|
+
*
|
|
59
|
+
* The memory adapter does not contact a payment provider or validate webhook
|
|
60
|
+
* signatures. Queue webhook events explicitly with `queueWebhookEvent(...)`.
|
|
61
|
+
*/
|
|
62
|
+
export function createMemoryPayments(options = {}) {
|
|
63
|
+
const checkoutSessions = [];
|
|
64
|
+
const billingPortalSessions = [];
|
|
65
|
+
const refunds = [];
|
|
66
|
+
const webhookEvents = [];
|
|
67
|
+
const queuedWebhookEvents = [];
|
|
68
|
+
const now = options.now ?? (() => new Date());
|
|
69
|
+
const id = options.id ?? defaultMemoryId;
|
|
70
|
+
return {
|
|
71
|
+
get checkoutSessions() {
|
|
72
|
+
return checkoutSessions;
|
|
73
|
+
},
|
|
74
|
+
get billingPortalSessions() {
|
|
75
|
+
return billingPortalSessions;
|
|
76
|
+
},
|
|
77
|
+
get refunds() {
|
|
78
|
+
return refunds;
|
|
79
|
+
},
|
|
80
|
+
get webhookEvents() {
|
|
81
|
+
return webhookEvents;
|
|
82
|
+
},
|
|
83
|
+
async createCheckoutSession(input) {
|
|
84
|
+
const session = {
|
|
85
|
+
id: id("checkout"),
|
|
86
|
+
provider: "memory",
|
|
87
|
+
mode: input.mode,
|
|
88
|
+
url: `https://payments.example.test/checkout/${id("url")}`,
|
|
89
|
+
customerId: input.customerId,
|
|
90
|
+
metadata: cloneMetadata(input.metadata),
|
|
91
|
+
input: cloneCheckoutInput(input),
|
|
92
|
+
createdAt: now(),
|
|
93
|
+
};
|
|
94
|
+
checkoutSessions.push(session);
|
|
95
|
+
await options.onCheckoutSessionCreated?.(session);
|
|
96
|
+
return session;
|
|
97
|
+
},
|
|
98
|
+
async createBillingPortalSession(input) {
|
|
99
|
+
const session = {
|
|
100
|
+
id: id("portal"),
|
|
101
|
+
provider: "memory",
|
|
102
|
+
url: `https://payments.example.test/portal/${id("url")}`,
|
|
103
|
+
customerId: input.customerId,
|
|
104
|
+
input: { ...input },
|
|
105
|
+
createdAt: now(),
|
|
106
|
+
};
|
|
107
|
+
billingPortalSessions.push(session);
|
|
108
|
+
await options.onBillingPortalSessionCreated?.(session);
|
|
109
|
+
return session;
|
|
110
|
+
},
|
|
111
|
+
async createRefund(input) {
|
|
112
|
+
const refund = {
|
|
113
|
+
id: id("refund"),
|
|
114
|
+
provider: "memory",
|
|
115
|
+
paymentId: input.paymentId,
|
|
116
|
+
amount: input.amount,
|
|
117
|
+
status: "succeeded",
|
|
118
|
+
metadata: cloneMetadata(input.metadata),
|
|
119
|
+
input: cloneRefundInput(input),
|
|
120
|
+
createdAt: now(),
|
|
121
|
+
};
|
|
122
|
+
refunds.push(refund);
|
|
123
|
+
await options.onRefundCreated?.(refund);
|
|
124
|
+
return refund;
|
|
125
|
+
},
|
|
126
|
+
async verifyWebhook() {
|
|
127
|
+
const event = queuedWebhookEvents.shift();
|
|
128
|
+
if (!event) {
|
|
129
|
+
throw new PaymentProviderError({
|
|
130
|
+
provider: "memory",
|
|
131
|
+
operation: "payments.verifyWebhook",
|
|
132
|
+
message: "No memory payment webhook event is queued. Call queueWebhookEvent(...) before verifyWebhook(...).",
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
webhookEvents.push(event);
|
|
136
|
+
await options.onWebhookVerified?.(event);
|
|
137
|
+
return event;
|
|
138
|
+
},
|
|
139
|
+
queueWebhookEvent(event) {
|
|
140
|
+
queuedWebhookEvents.push(event);
|
|
141
|
+
},
|
|
142
|
+
clear() {
|
|
143
|
+
checkoutSessions.length = 0;
|
|
144
|
+
billingPortalSessions.length = 0;
|
|
145
|
+
refunds.length = 0;
|
|
146
|
+
webhookEvents.length = 0;
|
|
147
|
+
queuedWebhookEvents.length = 0;
|
|
148
|
+
},
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Create a provider that contributes an in-memory payments port.
|
|
153
|
+
*/
|
|
154
|
+
export function createMemoryPaymentsProvider(options = {}) {
|
|
155
|
+
const { name = "memory-payments", onCheckoutSessionCreated, onBillingPortalSessionCreated, onRefundCreated, onWebhookVerified, ...paymentsOptions } = options;
|
|
156
|
+
return createProvider({
|
|
157
|
+
name,
|
|
158
|
+
metadata: {
|
|
159
|
+
ports: ["payments"],
|
|
160
|
+
watchers: ["payments"],
|
|
161
|
+
},
|
|
162
|
+
setup({ ports }) {
|
|
163
|
+
const instrumentation = createProviderInstrumentation(ports, {
|
|
164
|
+
providerName: name,
|
|
165
|
+
watcher: "payments",
|
|
166
|
+
});
|
|
167
|
+
const payments = createMemoryPayments({
|
|
168
|
+
...paymentsOptions,
|
|
169
|
+
async onCheckoutSessionCreated(session) {
|
|
170
|
+
instrumentation.custom({
|
|
171
|
+
name: "payments.checkout.created",
|
|
172
|
+
label: "Checkout session created",
|
|
173
|
+
summary: session.id,
|
|
174
|
+
details: {
|
|
175
|
+
id: session.id,
|
|
176
|
+
mode: session.mode,
|
|
177
|
+
customerId: session.customerId,
|
|
178
|
+
},
|
|
179
|
+
});
|
|
180
|
+
await onCheckoutSessionCreated?.(session);
|
|
181
|
+
},
|
|
182
|
+
async onBillingPortalSessionCreated(session) {
|
|
183
|
+
instrumentation.custom({
|
|
184
|
+
name: "payments.portal.created",
|
|
185
|
+
label: "Billing portal session created",
|
|
186
|
+
summary: session.id,
|
|
187
|
+
details: {
|
|
188
|
+
id: session.id,
|
|
189
|
+
customerId: session.customerId,
|
|
190
|
+
},
|
|
191
|
+
});
|
|
192
|
+
await onBillingPortalSessionCreated?.(session);
|
|
193
|
+
},
|
|
194
|
+
async onRefundCreated(refund) {
|
|
195
|
+
instrumentation.custom({
|
|
196
|
+
name: "payments.refund.created",
|
|
197
|
+
label: "Refund created",
|
|
198
|
+
summary: refund.id,
|
|
199
|
+
details: {
|
|
200
|
+
id: refund.id,
|
|
201
|
+
paymentId: refund.paymentId,
|
|
202
|
+
amount: refund.amount,
|
|
203
|
+
status: refund.status,
|
|
204
|
+
},
|
|
205
|
+
});
|
|
206
|
+
await onRefundCreated?.(refund);
|
|
207
|
+
},
|
|
208
|
+
async onWebhookVerified(event) {
|
|
209
|
+
instrumentation.custom({
|
|
210
|
+
name: "payments.webhook.verified",
|
|
211
|
+
label: "Payment webhook verified",
|
|
212
|
+
summary: event.type,
|
|
213
|
+
details: {
|
|
214
|
+
id: event.id,
|
|
215
|
+
eventType: event.type,
|
|
216
|
+
livemode: event.livemode,
|
|
217
|
+
},
|
|
218
|
+
});
|
|
219
|
+
await onWebhookVerified?.(event);
|
|
220
|
+
},
|
|
221
|
+
});
|
|
222
|
+
return {
|
|
223
|
+
ports: {
|
|
224
|
+
payments,
|
|
225
|
+
},
|
|
226
|
+
};
|
|
227
|
+
},
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/payments/index.ts"],"names":[],"mappings":"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"}
|
package/dist/ports/index.d.ts
CHANGED
|
@@ -15,18 +15,27 @@
|
|
|
15
15
|
* - `AuthPort` – interface for request authentication implementations
|
|
16
16
|
* - `AuditLogPort` – interface for audit/activity log implementations
|
|
17
17
|
* - `ClockPort` – interface for deterministic time
|
|
18
|
+
* - `EntitlementsPort` – interface for product access checks
|
|
18
19
|
* - `IdGeneratorPort` – interface for deterministic id generation
|
|
19
20
|
* - `LoggerPort` – interface for structured application logging
|
|
20
21
|
* - `GatePort` – interface for application authorization policies
|
|
21
22
|
* - `RateLimitPort` – interface for rate limiting implementations
|
|
22
23
|
* - `CachePort` – interface for cache implementations
|
|
23
24
|
* - `StoragePort` – interface for object/file storage implementations
|
|
25
|
+
* - `FlagsPort` – interface for feature flag evaluation implementations
|
|
26
|
+
* - `ErrorReporterPort` – interface for production error reporting
|
|
27
|
+
* - `LocksPort` – interface for lease-backed distributed locks
|
|
24
28
|
*
|
|
25
29
|
* Dedicated framework areas own their capability-specific APIs:
|
|
30
|
+
* - `@beignet/core/entitlements` owns product access helpers and test adapters
|
|
31
|
+
* - `@beignet/core/error-reporting` owns error reporting helpers and test adapters
|
|
32
|
+
* - `@beignet/core/flags` owns feature flag helpers and test adapters
|
|
26
33
|
* - `@beignet/core/idempotency` owns idempotency helpers and test adapters
|
|
34
|
+
* - `@beignet/core/locks` owns lease-backed lock helpers and test adapters
|
|
27
35
|
* - `@beignet/core/mail` owns `MailerPort` and mail test adapters
|
|
28
36
|
* - `@beignet/core/notifications` owns notification helpers and test adapters
|
|
29
37
|
* - `@beignet/core/outbox` owns durable outbox helpers and test adapters
|
|
38
|
+
* - `@beignet/core/payments` owns `PaymentsPort` and payment test adapters
|
|
30
39
|
* - `@beignet/core/schedules` owns schedule definitions and runners
|
|
31
40
|
*/
|
|
32
41
|
/**
|
|
@@ -103,10 +112,42 @@ export declare function definePorts<P extends AnyPorts>(): <const Deferred exten
|
|
|
103
112
|
export interface PortsContext<P extends AnyPorts = AnyPorts> {
|
|
104
113
|
ports: P;
|
|
105
114
|
}
|
|
115
|
+
/**
|
|
116
|
+
* Entitlement port exports.
|
|
117
|
+
*/
|
|
118
|
+
export type { CreateEntitlementsOptions, CreateStaticEntitlementsOptions, EntitlementAllowedDecision, EntitlementCheckInput, EntitlementDecision, EntitlementDeniedDecision, EntitlementKey, EntitlementResolver, EntitlementResolverResult, EntitlementSubject, EntitlementsContext, EntitlementsPort, RequireEntitlementOptions, StaticEntitlementGrantMap, } from "../entitlements/index.js";
|
|
119
|
+
/**
|
|
120
|
+
* Entitlement helper exports.
|
|
121
|
+
*/
|
|
122
|
+
export { allowEntitlement, createEntitlements, createStaticEntitlements, denyEntitlement, EntitlementRequiredError, requireEntitlement, } from "../entitlements/index.js";
|
|
123
|
+
/**
|
|
124
|
+
* Error reporting port exports.
|
|
125
|
+
*/
|
|
126
|
+
export type { ErrorReportContext, ErrorReporterFlushOptions, ErrorReporterPort, ErrorReportJsonValue, ErrorReportLevel, ErrorReportOptions, ErrorReportResult, ErrorReportTags, ErrorReportUser, MemoryErrorReport, MemoryErrorReporterPort, MemoryReportedException, MemoryReportedMessage, } from "../error-reporting/index.js";
|
|
127
|
+
/**
|
|
128
|
+
* Error reporting helper exports.
|
|
129
|
+
*/
|
|
130
|
+
export { createMemoryErrorReporter, createNoopErrorReporter, reportException, reportMessage, } from "../error-reporting/index.js";
|
|
131
|
+
/**
|
|
132
|
+
* Feature flag port exports.
|
|
133
|
+
*/
|
|
134
|
+
export type { FlagDef, FlagEvaluationContext, FlagEvaluationDetails, FlagEvaluationOptions, FlagExposureOptions, FlagsPort, FlagTrackOptions, FlagValue, MemoryFlagsPort, } from "../flags/index.js";
|
|
135
|
+
/**
|
|
136
|
+
* Feature flag helper exports.
|
|
137
|
+
*/
|
|
138
|
+
export { createMemoryFlags, createStaticFlags, defineFlag, defineFlagRegistry, defineFlags, evaluateFlag, getFlagDetails, } from "../flags/index.js";
|
|
106
139
|
/**
|
|
107
140
|
* Idempotency port exports.
|
|
108
141
|
*/
|
|
109
142
|
export type { IdempotencyCompleteInput, IdempotencyFailInput, IdempotencyPort, IdempotencyReservation, IdempotencyReserveInput, } from "../idempotency/index.js";
|
|
143
|
+
/**
|
|
144
|
+
* Lease-backed lock port exports.
|
|
145
|
+
*/
|
|
146
|
+
export type { CreateMemoryLocksOptions, LeaseAcquireOptions, LeaseAcquireResult, LeaseHandle, LeaseMetadata, LeaseRenewOptions, LocksPort, MemoryLeaseRecord, MemoryLocksPort, MemoryLocksProviderOptions, MemoryLocksProviderPorts, } from "../locks/index.js";
|
|
147
|
+
/**
|
|
148
|
+
* Lease-backed lock helper exports.
|
|
149
|
+
*/
|
|
150
|
+
export { acquireLease, createMemoryLocks, createMemoryLocksProvider, LeaseOptionsError, withLease, } from "../locks/index.js";
|
|
110
151
|
/**
|
|
111
152
|
* Notification port exports.
|
|
112
153
|
*/
|
|
@@ -115,6 +156,25 @@ export type { MemoryNotificationDelivery, MemoryNotificationPort, NotificationCh
|
|
|
115
156
|
* Transactional outbox port exports.
|
|
116
157
|
*/
|
|
117
158
|
export type { ClaimedOutboxMessage, OutboxClaimBatchOptions, OutboxEnqueueInput, OutboxMarkDeliveredInput, OutboxMarkFailedInput, OutboxMessage, OutboxMessageKind, OutboxMessageStatus, OutboxPort, } from "../outbox/index.js";
|
|
159
|
+
/**
|
|
160
|
+
* Payments port exports.
|
|
161
|
+
*/
|
|
162
|
+
export type { BillingPortalSession, CheckoutSession, CreateBillingPortalSessionInput, CreateCheckoutSessionInput, CreateRefundInput, MemoryBillingPortalSession, MemoryCheckoutSession, MemoryPaymentsPort, MemoryRefund, PaymentCheckoutLineItem, PaymentCheckoutMode, PaymentMetadata, PaymentRefundReason, PaymentsPort, PaymentWebhookEvent, PaymentWebhookRawBody, Refund, VerifyPaymentWebhookInput, } from "../payments/index.js";
|
|
163
|
+
/**
|
|
164
|
+
* Payments helper exports.
|
|
165
|
+
*/
|
|
166
|
+
export { createMemoryPayments, createMemoryPaymentsProvider, PaymentProviderError, } from "../payments/index.js";
|
|
167
|
+
/**
|
|
168
|
+
* Search port exports.
|
|
169
|
+
*
|
|
170
|
+
* Search has a dedicated subpath. Re-export the common app port types and
|
|
171
|
+
* helpers here so apps can import shared port surfaces from one place.
|
|
172
|
+
*/
|
|
173
|
+
export type { DefineSearchIndexOptions, MemorySearchIndexState, MemorySearchPort, MemorySearchProviderOptions, MemorySearchProviderPorts, SearchDeleteResult, SearchDocument, SearchDocumentBase, SearchFilters, SearchFilterValue, SearchIndexDef, SearchIndexResult, SearchPort, SearchPrimitive, SearchQuery, SearchResultPage, SearchResults, SearchSort, SearchValue, } from "../search/index.js";
|
|
174
|
+
/**
|
|
175
|
+
* Search helper exports.
|
|
176
|
+
*/
|
|
177
|
+
export { createMemorySearch, createMemorySearchProvider, defineSearchIndex, indexSearchDocuments, SearchOptionsError, searchDocuments, } from "../search/index.js";
|
|
118
178
|
/**
|
|
119
179
|
* Audit log port exports.
|
|
120
180
|
*/
|
|
@@ -174,7 +234,7 @@ export { createMemoryLogger, createNoopLogger } from "./logger.js";
|
|
|
174
234
|
/**
|
|
175
235
|
* Policy and authorization gate type exports.
|
|
176
236
|
*/
|
|
177
|
-
export type { BoundGate, CreateGateOptions, GateAllowedDecision, GateContext, GateDecision, GateDeniedDecision, GateDenyHandler, GatePolicyResult, GatePort, PolicyContextFromDefinitions, PolicyDefinition, PolicyMapFromDefinitions, PolicyResolver, PolicySubjectArgs, } from "./policy.js";
|
|
237
|
+
export type { BoundGate, CreateGateOptions, GateAllowedDecision, GateContext, GateDecision, GateDecisionObservation, GateDecisionObserver, GateDecisionSource, GateDeniedDecision, GateDenyHandler, GatePolicyResult, GatePort, PolicyBatch, PolicyBatchBooleanMap, PolicyBatchCheck, PolicyBatchDecisionMap, PolicyContextFromDefinitions, PolicyDefinition, PolicyMapFromDefinitions, PolicyResolver, PolicySubjectArgs, } from "./policy.js";
|
|
178
238
|
/**
|
|
179
239
|
* Policy and authorization gate helper exports.
|
|
180
240
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ports/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ports/index.ts"],"names":[],"mappings":"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"}
|
package/dist/ports/index.js
CHANGED
|
@@ -15,18 +15,27 @@
|
|
|
15
15
|
* - `AuthPort` – interface for request authentication implementations
|
|
16
16
|
* - `AuditLogPort` – interface for audit/activity log implementations
|
|
17
17
|
* - `ClockPort` – interface for deterministic time
|
|
18
|
+
* - `EntitlementsPort` – interface for product access checks
|
|
18
19
|
* - `IdGeneratorPort` – interface for deterministic id generation
|
|
19
20
|
* - `LoggerPort` – interface for structured application logging
|
|
20
21
|
* - `GatePort` – interface for application authorization policies
|
|
21
22
|
* - `RateLimitPort` – interface for rate limiting implementations
|
|
22
23
|
* - `CachePort` – interface for cache implementations
|
|
23
24
|
* - `StoragePort` – interface for object/file storage implementations
|
|
25
|
+
* - `FlagsPort` – interface for feature flag evaluation implementations
|
|
26
|
+
* - `ErrorReporterPort` – interface for production error reporting
|
|
27
|
+
* - `LocksPort` – interface for lease-backed distributed locks
|
|
24
28
|
*
|
|
25
29
|
* Dedicated framework areas own their capability-specific APIs:
|
|
30
|
+
* - `@beignet/core/entitlements` owns product access helpers and test adapters
|
|
31
|
+
* - `@beignet/core/error-reporting` owns error reporting helpers and test adapters
|
|
32
|
+
* - `@beignet/core/flags` owns feature flag helpers and test adapters
|
|
26
33
|
* - `@beignet/core/idempotency` owns idempotency helpers and test adapters
|
|
34
|
+
* - `@beignet/core/locks` owns lease-backed lock helpers and test adapters
|
|
27
35
|
* - `@beignet/core/mail` owns `MailerPort` and mail test adapters
|
|
28
36
|
* - `@beignet/core/notifications` owns notification helpers and test adapters
|
|
29
37
|
* - `@beignet/core/outbox` owns durable outbox helpers and test adapters
|
|
38
|
+
* - `@beignet/core/payments` owns `PaymentsPort` and payment test adapters
|
|
30
39
|
* - `@beignet/core/schedules` owns schedule definitions and runners
|
|
31
40
|
*/
|
|
32
41
|
import { createUnboundPort } from "./unbound.js";
|
|
@@ -42,6 +51,30 @@ export function definePorts(ports) {
|
|
|
42
51
|
return result;
|
|
43
52
|
};
|
|
44
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Entitlement helper exports.
|
|
56
|
+
*/
|
|
57
|
+
export { allowEntitlement, createEntitlements, createStaticEntitlements, denyEntitlement, EntitlementRequiredError, requireEntitlement, } from "../entitlements/index.js";
|
|
58
|
+
/**
|
|
59
|
+
* Error reporting helper exports.
|
|
60
|
+
*/
|
|
61
|
+
export { createMemoryErrorReporter, createNoopErrorReporter, reportException, reportMessage, } from "../error-reporting/index.js";
|
|
62
|
+
/**
|
|
63
|
+
* Feature flag helper exports.
|
|
64
|
+
*/
|
|
65
|
+
export { createMemoryFlags, createStaticFlags, defineFlag, defineFlagRegistry, defineFlags, evaluateFlag, getFlagDetails, } from "../flags/index.js";
|
|
66
|
+
/**
|
|
67
|
+
* Lease-backed lock helper exports.
|
|
68
|
+
*/
|
|
69
|
+
export { acquireLease, createMemoryLocks, createMemoryLocksProvider, LeaseOptionsError, withLease, } from "../locks/index.js";
|
|
70
|
+
/**
|
|
71
|
+
* Payments helper exports.
|
|
72
|
+
*/
|
|
73
|
+
export { createMemoryPayments, createMemoryPaymentsProvider, PaymentProviderError, } from "../payments/index.js";
|
|
74
|
+
/**
|
|
75
|
+
* Search helper exports.
|
|
76
|
+
*/
|
|
77
|
+
export { createMemorySearch, createMemorySearchProvider, defineSearchIndex, indexSearchDocuments, SearchOptionsError, searchDocuments, } from "../search/index.js";
|
|
45
78
|
/**
|
|
46
79
|
* Audit log helper exports.
|
|
47
80
|
*/
|
package/dist/ports/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ports/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ports/index.ts"],"names":[],"mappings":"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"}
|
package/dist/ports/policy.d.ts
CHANGED
|
@@ -50,6 +50,35 @@ export type PolicyContext<TResolver> = TResolver extends (ctx: infer Ctx, ...arg
|
|
|
50
50
|
* Infer whether an ability needs a subject argument.
|
|
51
51
|
*/
|
|
52
52
|
export type PolicySubjectArgs<TResolver> = TResolver extends (...args: infer TArgs) => MaybePromise<GatePolicyResult> ? TArgs extends [unknown, infer Subject] ? [subject: Subject] : [] : [];
|
|
53
|
+
/**
|
|
54
|
+
* One authorization check accepted by batch gate APIs.
|
|
55
|
+
*/
|
|
56
|
+
export type PolicyBatchCheck<TPolicies extends readonly PolicyDefinition[]> = {
|
|
57
|
+
[TAbility in keyof PolicyMapFromDefinitions<TPolicies> & string]: readonly [
|
|
58
|
+
ability: TAbility,
|
|
59
|
+
...subject: PolicySubjectArgs<PolicyMapFromDefinitions<TPolicies>[TAbility]>
|
|
60
|
+
];
|
|
61
|
+
}[keyof PolicyMapFromDefinitions<TPolicies> & string];
|
|
62
|
+
/**
|
|
63
|
+
* Keyed authorization checks accepted by `inspectMany(...)` and `canMany(...)`.
|
|
64
|
+
*/
|
|
65
|
+
export type PolicyBatch<TPolicies extends readonly PolicyDefinition[]> = Record<string, PolicyBatchCheck<TPolicies>>;
|
|
66
|
+
/**
|
|
67
|
+
* Full decision map returned by `inspectMany(...)`.
|
|
68
|
+
*/
|
|
69
|
+
export type PolicyBatchDecisionMap<TBatch extends PolicyBatch<readonly PolicyDefinition[]>> = {
|
|
70
|
+
[TKey in keyof TBatch]: GateDecision;
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* Boolean decision map returned by `canMany(...)`.
|
|
74
|
+
*/
|
|
75
|
+
export type PolicyBatchBooleanMap<TBatch extends PolicyBatch<readonly PolicyDefinition[]>> = {
|
|
76
|
+
[TKey in keyof TBatch]: boolean;
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* Gate method that produced a policy decision observation.
|
|
80
|
+
*/
|
|
81
|
+
export type GateDecisionSource = "can" | "inspect" | "authorize" | "canMany" | "inspectMany";
|
|
53
82
|
type UnionToIntersection<T> = (T extends unknown ? (value: T) => void : never) extends (value: infer U) => void ? U : never;
|
|
54
83
|
/**
|
|
55
84
|
* Merge the ability maps from multiple policy definitions.
|
|
@@ -77,10 +106,18 @@ export type BoundGate<TPolicies extends readonly PolicyDefinition[]> = {
|
|
|
77
106
|
* Return only whether the ability is allowed.
|
|
78
107
|
*/
|
|
79
108
|
can<TAbility extends keyof PolicyMapFromDefinitions<TPolicies> & string>(ability: TAbility, ...subject: PolicySubjectArgs<PolicyMapFromDefinitions<TPolicies>[TAbility]>): Promise<boolean>;
|
|
109
|
+
/**
|
|
110
|
+
* Return keyed boolean decisions for several abilities.
|
|
111
|
+
*/
|
|
112
|
+
canMany<const TBatch extends PolicyBatch<TPolicies>>(checks: TBatch): Promise<PolicyBatchBooleanMap<TBatch>>;
|
|
80
113
|
/**
|
|
81
114
|
* Return the full allow/deny decision without throwing.
|
|
82
115
|
*/
|
|
83
116
|
inspect<TAbility extends keyof PolicyMapFromDefinitions<TPolicies> & string>(ability: TAbility, ...subject: PolicySubjectArgs<PolicyMapFromDefinitions<TPolicies>[TAbility]>): Promise<GateDecision>;
|
|
117
|
+
/**
|
|
118
|
+
* Return keyed allow/deny decisions for several abilities.
|
|
119
|
+
*/
|
|
120
|
+
inspectMany<const TBatch extends PolicyBatch<TPolicies>>(checks: TBatch): Promise<PolicyBatchDecisionMap<TBatch>>;
|
|
84
121
|
/**
|
|
85
122
|
* Return an allowed decision or throw for denied abilities.
|
|
86
123
|
*/
|
|
@@ -125,10 +162,18 @@ export type GatePort<TContext, TPolicies extends readonly PolicyDefinition[] = r
|
|
|
125
162
|
* Return only whether the ability is allowed for a context.
|
|
126
163
|
*/
|
|
127
164
|
can<TAbility extends keyof PolicyMapFromDefinitions<TPolicies> & string>(ctx: TContext, ability: TAbility, ...subject: PolicySubjectArgs<PolicyMapFromDefinitions<TPolicies>[TAbility]>): Promise<boolean>;
|
|
165
|
+
/**
|
|
166
|
+
* Return keyed boolean decisions for several abilities.
|
|
167
|
+
*/
|
|
168
|
+
canMany<const TBatch extends PolicyBatch<TPolicies>>(ctx: TContext, checks: TBatch): Promise<PolicyBatchBooleanMap<TBatch>>;
|
|
128
169
|
/**
|
|
129
170
|
* Return the full allow/deny decision for a context without throwing.
|
|
130
171
|
*/
|
|
131
172
|
inspect<TAbility extends keyof PolicyMapFromDefinitions<TPolicies> & string>(ctx: TContext, ability: TAbility, ...subject: PolicySubjectArgs<PolicyMapFromDefinitions<TPolicies>[TAbility]>): Promise<GateDecision>;
|
|
173
|
+
/**
|
|
174
|
+
* Return keyed allow/deny decisions for several abilities.
|
|
175
|
+
*/
|
|
176
|
+
inspectMany<const TBatch extends PolicyBatch<TPolicies>>(ctx: TContext, checks: TBatch): Promise<PolicyBatchDecisionMap<TBatch>>;
|
|
132
177
|
/**
|
|
133
178
|
* Return an allowed decision or throw for denied abilities.
|
|
134
179
|
*/
|
|
@@ -142,6 +187,59 @@ export type GateDenyHandler<TContext> = (decision: GateDeniedDecision, params: {
|
|
|
142
187
|
ability: string;
|
|
143
188
|
subject?: unknown;
|
|
144
189
|
}) => MaybePromise<Error | undefined>;
|
|
190
|
+
/**
|
|
191
|
+
* Best-effort policy decision observation emitted by a gate.
|
|
192
|
+
*
|
|
193
|
+
* Observers are for diagnostics and audit-style integrations only. They do not
|
|
194
|
+
* participate in authorization control flow and thrown/rejected observer errors
|
|
195
|
+
* are ignored.
|
|
196
|
+
*/
|
|
197
|
+
export type GateDecisionObservation<TContext> = {
|
|
198
|
+
/**
|
|
199
|
+
* Gate method that produced the decision.
|
|
200
|
+
*/
|
|
201
|
+
source: GateDecisionSource;
|
|
202
|
+
/**
|
|
203
|
+
* Key from a batch input object, when the decision came from a batch call.
|
|
204
|
+
*/
|
|
205
|
+
batchKey?: string;
|
|
206
|
+
/**
|
|
207
|
+
* Application context used for policy evaluation.
|
|
208
|
+
*/
|
|
209
|
+
ctx: TContext;
|
|
210
|
+
/**
|
|
211
|
+
* Ability being evaluated.
|
|
212
|
+
*/
|
|
213
|
+
ability: string;
|
|
214
|
+
/**
|
|
215
|
+
* Optional subject passed to the policy.
|
|
216
|
+
*/
|
|
217
|
+
subject?: unknown;
|
|
218
|
+
/**
|
|
219
|
+
* Normalized decision, when policy evaluation returned normally.
|
|
220
|
+
*/
|
|
221
|
+
decision?: GateDecision;
|
|
222
|
+
/**
|
|
223
|
+
* Error thrown by the policy resolver, when evaluation failed.
|
|
224
|
+
*/
|
|
225
|
+
error?: unknown;
|
|
226
|
+
/**
|
|
227
|
+
* Policy evaluation duration, excluding observer work.
|
|
228
|
+
*/
|
|
229
|
+
durationMs: number;
|
|
230
|
+
/**
|
|
231
|
+
* Correlation fields copied from the context when present.
|
|
232
|
+
*/
|
|
233
|
+
requestId?: string;
|
|
234
|
+
traceId?: string;
|
|
235
|
+
spanId?: string;
|
|
236
|
+
parentSpanId?: string;
|
|
237
|
+
traceparent?: string;
|
|
238
|
+
};
|
|
239
|
+
/**
|
|
240
|
+
* Best-effort observer called after each gate decision or resolver error.
|
|
241
|
+
*/
|
|
242
|
+
export type GateDecisionObserver<TContext> = (observation: GateDecisionObservation<TContext>) => MaybePromise<void>;
|
|
145
243
|
/**
|
|
146
244
|
* Options for `createGate(...)`.
|
|
147
245
|
*/
|
|
@@ -154,6 +252,12 @@ export type CreateGateOptions<TContext, TPolicies extends readonly PolicyDefinit
|
|
|
154
252
|
* Optional mapper for denied authorization decisions.
|
|
155
253
|
*/
|
|
156
254
|
onDeny?: GateDenyHandler<TContext>;
|
|
255
|
+
/**
|
|
256
|
+
* Optional best-effort observer for policy decisions.
|
|
257
|
+
*
|
|
258
|
+
* This hook is diagnostic only: it cannot change decisions or thrown errors.
|
|
259
|
+
*/
|
|
260
|
+
onDecision?: GateDecisionObserver<TContext>;
|
|
157
261
|
};
|
|
158
262
|
/**
|
|
159
263
|
* Default error thrown by `authorize(...)` when a policy denies access.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../src/ports/policy.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../src/ports/policy.ts"],"names":[],"mappings":"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"}
|