@abloatai/transaction 0.38.0 → 0.40.0
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/dist/auth/index.d.ts +16 -2
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +10 -1
- package/dist/auth/index.js.map +1 -1
- package/dist/coordination/events.d.ts +9 -0
- package/dist/coordination/events.d.ts.map +1 -1
- package/dist/coordination/index.d.ts +2 -2
- package/dist/coordination/index.d.ts.map +1 -1
- package/dist/coordination/index.js +1 -1
- package/dist/coordination/index.js.map +1 -1
- package/dist/coordination/schema.d.ts +226 -34
- package/dist/coordination/schema.d.ts.map +1 -1
- package/dist/coordination/schema.js +180 -48
- package/dist/coordination/schema.js.map +1 -1
- package/dist/coordination/trace.d.ts.map +1 -1
- package/dist/coordination/trace.js +9 -1
- package/dist/coordination/trace.js.map +1 -1
- package/dist/errorCodes.d.ts +6 -0
- package/dist/errorCodes.d.ts.map +1 -1
- package/dist/errorCodes.js +6 -0
- package/dist/errorCodes.js.map +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +9 -2
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/policy/types.d.ts +10 -2
- package/dist/policy/types.d.ts.map +1 -1
- package/dist/policy/types.js.map +1 -1
- package/dist/pricing.d.ts +194 -0
- package/dist/pricing.d.ts.map +1 -0
- package/dist/pricing.js +330 -0
- package/dist/pricing.js.map +1 -0
- package/dist/resources/functionalUpdate.d.ts.map +1 -1
- package/dist/resources/functionalUpdate.js +8 -8
- package/dist/resources/functionalUpdate.js.map +1 -1
- package/dist/schema/index.d.ts +2 -2
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +2 -2
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/roles.d.ts +19 -0
- package/dist/schema/roles.d.ts.map +1 -1
- package/dist/schema/roles.js +23 -3
- package/dist/schema/roles.js.map +1 -1
- package/dist/schema/schema.d.ts +13 -1
- package/dist/schema/schema.d.ts.map +1 -1
- package/dist/schema/schema.js +1 -1
- package/dist/schema/schema.js.map +1 -1
- package/dist/schema/select.d.ts +13 -0
- package/dist/schema/select.d.ts.map +1 -1
- package/dist/schema/select.js +26 -0
- package/dist/schema/select.js.map +1 -1
- package/dist/schema/tenancy.d.ts +1 -1
- package/dist/transactions/settlement/commitEnvelope.d.ts +10 -2
- package/dist/transactions/settlement/commitEnvelope.d.ts.map +1 -1
- package/dist/transactions/settlement/pendingWrite.d.ts +10 -2
- package/dist/transactions/settlement/pendingWrite.d.ts.map +1 -1
- package/dist/transport/httpClient.d.ts.map +1 -1
- package/dist/transport/httpClient.js +10 -1
- package/dist/transport/httpClient.js.map +1 -1
- package/dist/transport/wsFrameHandlers.d.ts.map +1 -1
- package/dist/transport/wsFrameHandlers.js +9 -3
- package/dist/transport/wsFrameHandlers.js.map +1 -1
- package/dist/wire/accountResponses.d.ts +100 -0
- package/dist/wire/accountResponses.d.ts.map +1 -1
- package/dist/wire/accountResponses.js +70 -0
- package/dist/wire/accountResponses.js.map +1 -1
- package/dist/wire/auth.d.ts +7 -1
- package/dist/wire/auth.d.ts.map +1 -1
- package/dist/wire/auth.js +26 -3
- package/dist/wire/auth.js.map +1 -1
- package/dist/wire/commit.d.ts +708 -100
- package/dist/wire/commit.d.ts.map +1 -1
- package/dist/wire/dataSourceResponses.d.ts +171 -0
- package/dist/wire/dataSourceResponses.d.ts.map +1 -0
- package/dist/wire/dataSourceResponses.js +168 -0
- package/dist/wire/dataSourceResponses.js.map +1 -0
- package/dist/wire/frames.d.ts +20 -4
- package/dist/wire/frames.d.ts.map +1 -1
- package/dist/wire/inboundFrames.d.ts +102 -14
- package/dist/wire/inboundFrames.d.ts.map +1 -1
- package/dist/wire/index.d.ts +4 -2
- package/dist/wire/index.d.ts.map +1 -1
- package/dist/wire/index.js +5 -1
- package/dist/wire/index.js.map +1 -1
- package/dist/wire/pricing.d.ts +43 -0
- package/dist/wire/pricing.d.ts.map +1 -0
- package/dist/wire/pricing.js +36 -0
- package/dist/wire/pricing.js.map +1 -0
- package/package.json +6 -1
- package/src/auth/index.ts +31 -3
- package/src/coordination/events.ts +9 -0
- package/src/coordination/index.ts +8 -0
- package/src/coordination/schema.ts +200 -51
- package/src/coordination/trace.ts +9 -1
- package/src/errorCodes.ts +24 -0
- package/src/errors.ts +9 -2
- package/src/index.ts +4 -0
- package/src/policy/types.ts +10 -2
- package/src/pricing.ts +350 -0
- package/src/resources/functionalUpdate.ts +11 -11
- package/src/schema/index.ts +3 -1
- package/src/schema/roles.ts +26 -3
- package/src/schema/schema.ts +15 -0
- package/src/schema/select.ts +30 -0
- package/src/transport/httpClient.ts +8 -1
- package/src/transport/wsFrameHandlers.ts +9 -3
- package/src/wire/accountResponses.ts +76 -0
- package/src/wire/auth.ts +30 -3
- package/src/wire/dataSourceResponses.ts +188 -0
- package/src/wire/index.ts +33 -0
- package/src/wire/pricing.ts +41 -0
package/dist/pricing.js
ADDED
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What Ablo costs, expressed as arithmetic rather than as a table someone
|
|
3
|
+
* retypes. This module owns the price: the tiers, the rate card the meter is
|
|
4
|
+
* charged against, and the functions that turn a month of usage into a bill.
|
|
5
|
+
* The published pricing page, the plan seeds, and the runtime caps all derive
|
|
6
|
+
* from here; nothing restates it.
|
|
7
|
+
*
|
|
8
|
+
* The shape has three parts, and each one exists because a different cost does.
|
|
9
|
+
*
|
|
10
|
+
* - A monthly floor per tier. Serving an organization costs money before it
|
|
11
|
+
* sends a single request: a lane of the commit engine, a replication reader
|
|
12
|
+
* per registered source, and the log it appends to. The floor pays for that
|
|
13
|
+
* standing capacity, and usage is charged against it rather than added to
|
|
14
|
+
* it. An organization pays the greater of the two, never both.
|
|
15
|
+
* - A metered rate on `ops`, the one number that collapses commits, reads,
|
|
16
|
+
* and claim creates. Marginal service is cheap enough that a second axis
|
|
17
|
+
* would buy precision nobody wants: at the measured 79.5 microseconds of
|
|
18
|
+
* CPU per delta, a vCPU-hour serves roughly 45 million of them. The cost
|
|
19
|
+
* that scales is the log those operations leave behind, and it scales with
|
|
20
|
+
* all three of them together.
|
|
21
|
+
* - A concurrent-connection cap, which is a limit and not a meter. A held
|
|
22
|
+
* socket is a real reservation whether or not it is busy, so it is bounded
|
|
23
|
+
* rather than billed.
|
|
24
|
+
*
|
|
25
|
+
* The allowance a tier advertises is DERIVED, never stored: "the floor covers
|
|
26
|
+
* 49.5M operations" is {@link opsForUsd} applied to the floor. Storing it
|
|
27
|
+
* alongside the floor is how a published price silently stops matching the
|
|
28
|
+
* invoice, because raising one number does not fail anything that pins the
|
|
29
|
+
* other.
|
|
30
|
+
*
|
|
31
|
+
* Storage is deliberately absent from {@link billableAxisSchema}. It is a real
|
|
32
|
+
* recurring cost and it is quoted per tier as a ceiling, but no per-organization
|
|
33
|
+
* bytes sampler emits it yet, and pricing a dimension nothing measures would be
|
|
34
|
+
* a claim the invoice cannot support. Add the axis when the sampler ships.
|
|
35
|
+
*/
|
|
36
|
+
import { z } from 'zod';
|
|
37
|
+
import { meterEventSchema, planTierSchema, rateBracketSchema } from './wire/pricing.js';
|
|
38
|
+
export { meterEventSchema, planTierSchema, rateBracketSchema };
|
|
39
|
+
/**
|
|
40
|
+
* The version of the pricing contract: the tiers, the rate card, and the way a
|
|
41
|
+
* bill is computed from them. Date-based, and changed only when a customer
|
|
42
|
+
* could observe the difference. It is emitted into the generated pricing
|
|
43
|
+
* documentation so a stale copy is identifiable on sight.
|
|
44
|
+
*/
|
|
45
|
+
export const PRICING_VERSION = '2026-07-27';
|
|
46
|
+
/**
|
|
47
|
+
* Resolve a stored plan string (`stripe_subscription.plan`) to a tier.
|
|
48
|
+
*
|
|
49
|
+
* Anything unrecognized resolves to `free` rather than throwing, so an unknown
|
|
50
|
+
* plan degrades to the safest caps instead of taking down the request path.
|
|
51
|
+
*
|
|
52
|
+
* There are deliberately no aliases. A name this enum does not carry belongs to
|
|
53
|
+
* some other product's tier vocabulary, and translating it here is how one
|
|
54
|
+
* product's subscription came to grant another product's entitlements. The
|
|
55
|
+
* caller filters to plans this contract names; see `resolveOrgTier`.
|
|
56
|
+
*/
|
|
57
|
+
export function toPlanTier(plan) {
|
|
58
|
+
const raw = (plan ?? 'free').trim().toLowerCase();
|
|
59
|
+
return planTierSchema.catch('free').parse(raw);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* The axes a bill is actually computed from: `ops` is metered, `connections` is
|
|
63
|
+
* capped. Storage is quoted but not billed, so it is not here.
|
|
64
|
+
*/
|
|
65
|
+
export const billableAxisSchema = z.enum(['ops', 'connections']);
|
|
66
|
+
/** Which billable axis each meter rolls into. `null` is recorded but unpriced. */
|
|
67
|
+
export const METER_EVENT_AXIS = {
|
|
68
|
+
'api.commit_ops': 'ops',
|
|
69
|
+
'api.model_reads': 'ops',
|
|
70
|
+
'api.claim_creates': 'ops',
|
|
71
|
+
'api.bootstraps': null,
|
|
72
|
+
};
|
|
73
|
+
/** How each meter reads on an invoice line and in the pricing table. */
|
|
74
|
+
export const METER_EVENT_LABEL = {
|
|
75
|
+
'api.commit_ops': 'commit operations',
|
|
76
|
+
'api.model_reads': 'model reads',
|
|
77
|
+
'api.claim_creates': 'claim creates',
|
|
78
|
+
'api.bootstraps': 'bootstraps',
|
|
79
|
+
};
|
|
80
|
+
/** The meters a customer is charged for, in declaration order. */
|
|
81
|
+
export const BILLABLE_METER_EVENTS = meterEventSchema.options.filter((event) => METER_EVENT_AXIS[event] !== null);
|
|
82
|
+
export const planFeatureSchema = z.enum([
|
|
83
|
+
'sso',
|
|
84
|
+
'auditExport',
|
|
85
|
+
'cmek',
|
|
86
|
+
'privateNetworking',
|
|
87
|
+
'customCaps',
|
|
88
|
+
]);
|
|
89
|
+
/** How each feature reads on the pricing page. */
|
|
90
|
+
export const PLAN_FEATURE_LABEL = {
|
|
91
|
+
sso: 'Single sign-on',
|
|
92
|
+
auditExport: 'Audit log export',
|
|
93
|
+
cmek: 'Customer-managed encryption keys',
|
|
94
|
+
privateNetworking: 'Private networking',
|
|
95
|
+
customCaps: 'Custom limits',
|
|
96
|
+
};
|
|
97
|
+
/**
|
|
98
|
+
* The rate card, validated as a card rather than as three unrelated objects:
|
|
99
|
+
* ceilings ascend, rates never increase as volume grows, and exactly one
|
|
100
|
+
* unbounded step closes it. A malformed card fails at module load, which is the
|
|
101
|
+
* only moment it can fail safely.
|
|
102
|
+
*/
|
|
103
|
+
const rateCardSchema = z
|
|
104
|
+
.array(rateBracketSchema)
|
|
105
|
+
.min(1)
|
|
106
|
+
.superRefine((brackets, ctx) => {
|
|
107
|
+
let previousCeiling = 0;
|
|
108
|
+
let previousRate = Number.POSITIVE_INFINITY;
|
|
109
|
+
brackets.forEach((bracket, index) => {
|
|
110
|
+
const isLast = index === brackets.length - 1;
|
|
111
|
+
if (isLast !== (bracket.throughOps === null)) {
|
|
112
|
+
ctx.addIssue({
|
|
113
|
+
code: 'custom',
|
|
114
|
+
message: `bracket ${index}: only the final bracket may be unbounded`,
|
|
115
|
+
});
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
if (bracket.throughOps !== null) {
|
|
119
|
+
if (bracket.throughOps <= previousCeiling) {
|
|
120
|
+
ctx.addIssue({
|
|
121
|
+
code: 'custom',
|
|
122
|
+
message: `bracket ${index}: ceiling ${bracket.throughOps} does not exceed ${previousCeiling}`,
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
previousCeiling = bracket.throughOps;
|
|
126
|
+
}
|
|
127
|
+
if (bracket.usdPerMillionOps > previousRate) {
|
|
128
|
+
ctx.addIssue({
|
|
129
|
+
code: 'custom',
|
|
130
|
+
message: `bracket ${index}: rate rises with volume`,
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
previousRate = bracket.usdPerMillionOps;
|
|
134
|
+
});
|
|
135
|
+
});
|
|
136
|
+
/**
|
|
137
|
+
* The published rate card for sync operations. These numbers are the tunable
|
|
138
|
+
* knob; the bracket structure is the contract.
|
|
139
|
+
*/
|
|
140
|
+
export const OPS_RATE_CARD = rateCardSchema.parse([
|
|
141
|
+
{ throughOps: 50_000_000, usdPerMillionOps: 2.0 },
|
|
142
|
+
{ throughOps: 500_000_000, usdPerMillionOps: 1.2 },
|
|
143
|
+
{ throughOps: null, usdPerMillionOps: 0.6 },
|
|
144
|
+
]);
|
|
145
|
+
/**
|
|
146
|
+
* A tier. `null` on a floor, a cap, or a quota means negotiated rather than
|
|
147
|
+
* unlimited, and the runtime treats it as "no typed default, use the operator's
|
|
148
|
+
* configured value".
|
|
149
|
+
*/
|
|
150
|
+
export const planDefinitionSchema = z.object({
|
|
151
|
+
tier: planTierSchema,
|
|
152
|
+
label: z.string(),
|
|
153
|
+
/** One line on the pricing page saying who the tier is for. */
|
|
154
|
+
summary: z.string(),
|
|
155
|
+
/**
|
|
156
|
+
* The monthly floor in USD. Usage is charged against it, not added to it, so
|
|
157
|
+
* an organization pays this or its metered usage, whichever is greater.
|
|
158
|
+
* `null` means the floor is set in the contract.
|
|
159
|
+
*/
|
|
160
|
+
monthlyMinimumUsd: z.number().nonnegative().nullable(),
|
|
161
|
+
/**
|
|
162
|
+
* A hard monthly stop on operations. Set only where the tier is not billed at
|
|
163
|
+
* all: Free is capped rather than metered, so exceeding it is refused instead
|
|
164
|
+
* of invoiced. `null` on every metered tier.
|
|
165
|
+
*/
|
|
166
|
+
hardCapOps: z.number().int().positive().nullable(),
|
|
167
|
+
/**
|
|
168
|
+
* A hard daily stop, which is a burst guard rather than an allowance. A month
|
|
169
|
+
* of operations is a comfortable month of building and about ten minutes of
|
|
170
|
+
* one agent at full rate, so a monthly cap alone lets a runaway loop erase the
|
|
171
|
+
* whole month before anyone notices. The daily figure is what turns that into
|
|
172
|
+
* a floor on how fast the month can be spent. `null` on metered tiers, which
|
|
173
|
+
* are billed rather than stopped.
|
|
174
|
+
*/
|
|
175
|
+
hardCapOpsPerDay: z.number().int().positive().nullable(),
|
|
176
|
+
/** Quoted ceiling on stored data, in GiB. Not billed. `null` is negotiated. */
|
|
177
|
+
storageGib: z.number().positive().nullable(),
|
|
178
|
+
/** Hard concurrent-connection cap, the real Free to Scale boundary. */
|
|
179
|
+
maxConcurrentConnections: z.number().int().positive().nullable(),
|
|
180
|
+
/** True when the terms are set in a contract rather than published in full. */
|
|
181
|
+
contractPriced: z.boolean(),
|
|
182
|
+
features: z.array(planFeatureSchema),
|
|
183
|
+
});
|
|
184
|
+
export const PLANS = z
|
|
185
|
+
.object({
|
|
186
|
+
free: planDefinitionSchema,
|
|
187
|
+
scale: planDefinitionSchema,
|
|
188
|
+
enterprise: planDefinitionSchema,
|
|
189
|
+
})
|
|
190
|
+
.parse({
|
|
191
|
+
free: {
|
|
192
|
+
tier: 'free',
|
|
193
|
+
label: 'Free',
|
|
194
|
+
summary: 'Build against the real engine without a card.',
|
|
195
|
+
monthlyMinimumUsd: 0,
|
|
196
|
+
hardCapOps: 1_000_000,
|
|
197
|
+
hardCapOpsPerDay: 100_000,
|
|
198
|
+
storageGib: 1,
|
|
199
|
+
maxConcurrentConnections: 25,
|
|
200
|
+
contractPriced: false,
|
|
201
|
+
features: [],
|
|
202
|
+
},
|
|
203
|
+
scale: {
|
|
204
|
+
tier: 'scale',
|
|
205
|
+
label: 'Scale',
|
|
206
|
+
summary: 'Production traffic, metered above a monthly floor.',
|
|
207
|
+
monthlyMinimumUsd: 99,
|
|
208
|
+
hardCapOps: null,
|
|
209
|
+
hardCapOpsPerDay: null,
|
|
210
|
+
storageGib: 50,
|
|
211
|
+
maxConcurrentConnections: 1_000,
|
|
212
|
+
contractPriced: false,
|
|
213
|
+
features: ['auditExport'],
|
|
214
|
+
},
|
|
215
|
+
enterprise: {
|
|
216
|
+
tier: 'enterprise',
|
|
217
|
+
label: 'Enterprise',
|
|
218
|
+
summary: 'Committed volume, private networking, and an uptime guarantee.',
|
|
219
|
+
monthlyMinimumUsd: 2_000,
|
|
220
|
+
hardCapOps: null,
|
|
221
|
+
hardCapOpsPerDay: null,
|
|
222
|
+
storageGib: null,
|
|
223
|
+
maxConcurrentConnections: null,
|
|
224
|
+
contractPriced: true,
|
|
225
|
+
features: ['sso', 'auditExport', 'cmek', 'privateNetworking', 'customCaps'],
|
|
226
|
+
},
|
|
227
|
+
});
|
|
228
|
+
/** The tiers in the order they are presented, cheapest first. */
|
|
229
|
+
export const PLAN_ORDER = ['free', 'scale', 'enterprise'];
|
|
230
|
+
/** Round to whole cents. Money that is not rounded at the boundary is money
|
|
231
|
+
* that disagrees with the invoice by a fraction nobody can explain. */
|
|
232
|
+
function roundUsd(usd) {
|
|
233
|
+
return Math.round(usd * 100) / 100;
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* What a month of `ops` costs at the rate card, before any floor is applied.
|
|
237
|
+
* Marginal across brackets: the first 50 million are charged at the first rate
|
|
238
|
+
* whatever the total turns out to be.
|
|
239
|
+
*/
|
|
240
|
+
export function usdForOps(ops) {
|
|
241
|
+
if (!Number.isFinite(ops) || ops <= 0)
|
|
242
|
+
return 0;
|
|
243
|
+
let remaining = ops;
|
|
244
|
+
let previousCeiling = 0;
|
|
245
|
+
let usd = 0;
|
|
246
|
+
for (const bracket of OPS_RATE_CARD) {
|
|
247
|
+
const span = bracket.throughOps === null
|
|
248
|
+
? Number.POSITIVE_INFINITY
|
|
249
|
+
: bracket.throughOps - previousCeiling;
|
|
250
|
+
const charged = Math.min(remaining, span);
|
|
251
|
+
usd += (charged / 1_000_000) * bracket.usdPerMillionOps;
|
|
252
|
+
remaining -= charged;
|
|
253
|
+
if (remaining <= 0)
|
|
254
|
+
break;
|
|
255
|
+
if (bracket.throughOps !== null)
|
|
256
|
+
previousCeiling = bracket.throughOps;
|
|
257
|
+
}
|
|
258
|
+
return roundUsd(usd);
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* The inverse: how many operations a given spend buys at the rate card. This is
|
|
262
|
+
* what turns a floor into the allowance a tier advertises, which is why the
|
|
263
|
+
* allowance can never drift from the floor.
|
|
264
|
+
*/
|
|
265
|
+
export function opsForUsd(usd) {
|
|
266
|
+
if (!Number.isFinite(usd) || usd <= 0)
|
|
267
|
+
return 0;
|
|
268
|
+
let remaining = usd;
|
|
269
|
+
let previousCeiling = 0;
|
|
270
|
+
let ops = 0;
|
|
271
|
+
for (const bracket of OPS_RATE_CARD) {
|
|
272
|
+
const span = bracket.throughOps === null
|
|
273
|
+
? Number.POSITIVE_INFINITY
|
|
274
|
+
: bracket.throughOps - previousCeiling;
|
|
275
|
+
if (bracket.usdPerMillionOps === 0)
|
|
276
|
+
return Number.POSITIVE_INFINITY;
|
|
277
|
+
const spanCost = (span / 1_000_000) * bracket.usdPerMillionOps;
|
|
278
|
+
if (remaining <= spanCost) {
|
|
279
|
+
return Math.floor(ops + (remaining / bracket.usdPerMillionOps) * 1_000_000);
|
|
280
|
+
}
|
|
281
|
+
ops += span;
|
|
282
|
+
remaining -= spanCost;
|
|
283
|
+
if (bracket.throughOps !== null)
|
|
284
|
+
previousCeiling = bracket.throughOps;
|
|
285
|
+
}
|
|
286
|
+
return Math.floor(ops);
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* The operations a tier includes, as shown on the pricing page. A capped tier
|
|
290
|
+
* shows its cap; a metered tier shows what its floor covers, computed from the
|
|
291
|
+
* floor rather than stored beside it. `null` where the terms are contractual.
|
|
292
|
+
*/
|
|
293
|
+
export function monthlyOpsAllowance(tier) {
|
|
294
|
+
const plan = PLANS[tier];
|
|
295
|
+
if (plan.hardCapOps !== null)
|
|
296
|
+
return plan.hardCapOps;
|
|
297
|
+
if (plan.contractPriced || plan.monthlyMinimumUsd === null)
|
|
298
|
+
return null;
|
|
299
|
+
return opsForUsd(plan.monthlyMinimumUsd);
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* The invoice for a month: the floor, or the metered usage, whichever is
|
|
303
|
+
* greater. A capped tier is never billed above its floor because the cap is
|
|
304
|
+
* enforced before the usage exists. `null` where the terms are contractual.
|
|
305
|
+
*/
|
|
306
|
+
export function monthlyBillUsd(tier, ops) {
|
|
307
|
+
const plan = PLANS[tier];
|
|
308
|
+
if (plan.contractPriced || plan.monthlyMinimumUsd === null)
|
|
309
|
+
return null;
|
|
310
|
+
if (plan.hardCapOps !== null)
|
|
311
|
+
return plan.monthlyMinimumUsd;
|
|
312
|
+
return roundUsd(Math.max(plan.monthlyMinimumUsd, usdForOps(ops)));
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* The daily operations cap for a tier: the typed default the quota gate falls
|
|
316
|
+
* back to when no `plan_limit` row sets one. `null` means the tier is metered
|
|
317
|
+
* rather than stopped.
|
|
318
|
+
*/
|
|
319
|
+
export function dailyOpsCapForTier(tier) {
|
|
320
|
+
return PLANS[tier].hardCapOpsPerDay;
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* The concurrent-connection cap for a tier: the typed default the Hub's
|
|
324
|
+
* resolver falls back to when no `plan_limit` override row exists. `null` means
|
|
325
|
+
* negotiated, which the Hub reads as its configured floor.
|
|
326
|
+
*/
|
|
327
|
+
export function connectionCapForTier(tier) {
|
|
328
|
+
return PLANS[tier].maxConcurrentConnections;
|
|
329
|
+
}
|
|
330
|
+
//# sourceMappingURL=pricing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pricing.js","sourceRoot":"","sources":["../src/pricing.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functionalUpdate.d.ts","sourceRoot":"","sources":["../../src/resources/functionalUpdate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAKL,mBAAmB,EACpB,MAAM,cAAc,CAAC;AAEtB;;;;GAIG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAC5B,OAAO,EAAE,CAAC,KACP,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;AAE5E,kEAAkE;AAClE,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,iEAAiE;IACjE,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED,2EAA2E;AAC3E,eAAO,MAAM,0BAA0B,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"functionalUpdate.d.ts","sourceRoot":"","sources":["../../src/resources/functionalUpdate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAKL,mBAAmB,EACpB,MAAM,cAAc,CAAC;AAEtB;;;;GAIG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAC5B,OAAO,EAAE,CAAC,KACP,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;AAE5E,kEAAkE;AAClE,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,iEAAiE;IACjE,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED,2EAA2E;AAC3E,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAa7C;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAM5D;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC,EAAE,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,SAAS,EAAE,MAAM,OAAO,CAAC;QAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1F;;;;;OAKG;IACH,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;CAC9D;AAED;;;;GAIG;AACH,wBAAsB,yBAAyB,CAAC,CAAC,EAAE,CAAC,EAClD,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EACxB,OAAO,EAAE,iBAAiB,GAAG,SAAS,EACtC,SAAS,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,GAClC,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAoCxB;AAID,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
|
|
@@ -23,6 +23,14 @@
|
|
|
23
23
|
import { AbloError, AbloNotFoundError, AbloStaleContextError, AbloClaimedError, AbloContentionError, } from '../errors.js';
|
|
24
24
|
/** Reconcile rounds before a hot row is declared permanently contended. */
|
|
25
25
|
export const DEFAULT_CONTENTION_RETRIES = 16;
|
|
26
|
+
const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
27
|
+
/**
|
|
28
|
+
* Jittered backoff so N reconcilers retrying at once don't lock-step straight
|
|
29
|
+
* back into the same collision. Bounded; grows mildly with the attempt.
|
|
30
|
+
*/
|
|
31
|
+
function backoffMs(attempt) {
|
|
32
|
+
return 60 + attempt * 40 + Math.floor(Math.random() * 60);
|
|
33
|
+
}
|
|
26
34
|
/**
|
|
27
35
|
* Reports whether a thrown error means "another writer moved the row — re-read
|
|
28
36
|
* and retry" rather than a genuine failure to surface. These are the
|
|
@@ -39,14 +47,6 @@ export function isReconcilableConflict(err) {
|
|
|
39
47
|
}
|
|
40
48
|
return false;
|
|
41
49
|
}
|
|
42
|
-
const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
43
|
-
/**
|
|
44
|
-
* Jittered backoff so N reconcilers retrying at once don't lock-step straight
|
|
45
|
-
* back into the same collision. Bounded; grows mildly with the attempt.
|
|
46
|
-
*/
|
|
47
|
-
function backoffMs(attempt) {
|
|
48
|
-
return 60 + attempt * 40 + Math.floor(Math.random() * 60);
|
|
49
|
-
}
|
|
50
50
|
/**
|
|
51
51
|
* Run the read-fresh → compute → compare-and-swap → reconcile loop. Shared by
|
|
52
52
|
* both transports so the guarantee is provably identical. Returns the write's
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functionalUpdate.js","sourceRoot":"","sources":["../../src/resources/functionalUpdate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAuBtB,2EAA2E;AAC3E,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAE7C
|
|
1
|
+
{"version":3,"file":"functionalUpdate.js","sourceRoot":"","sources":["../../src/resources/functionalUpdate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAuBtB,2EAA2E;AAC3E,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAE7C,MAAM,KAAK,GAAG,CAAC,EAAU,EAAiB,EAAE,CAC1C,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAEpD;;;GAGG;AACH,SAAS,SAAS,CAAC,OAAe;IAChC,OAAO,EAAE,GAAG,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAY;IACjD,IAAI,GAAG,YAAY,qBAAqB;QAAE,OAAO,IAAI,CAAC;IACtD,IAAI,GAAG,YAAY,gBAAgB,EAAE,CAAC;QACpC,OAAO,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,CAAC;IAClE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAqBD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,OAAwB,EACxB,OAAsC,EACtC,SAAmC;IAEnC,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,0BAA0B,CAAC;IAC/D,IAAI,YAAqB,CAAC;IAE1B,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC;QACpD,IAAI,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,SAAS,CACjB,aAAa,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,EAAE,gCAAgC,EAC5E,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAC3B,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,CAAC;QACpD,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,iBAAiB,CACzB,iBAAiB,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,EAAE,6BAA6B;gBAC3E,mCAAmC,EACrC,CAAC,SAAS,CAAC,EAAE,CAAC,CACf,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,SAAS,CAAC,CAAC,wCAAwC;QAE7E,IAAI,CAAC;YACH,OAAO,MAAM,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC;gBAAE,MAAM,GAAG,CAAC,CAAC,+BAA+B;YAC5E,YAAY,GAAG,GAAG,CAAC;YACnB,IAAI,OAAO,GAAG,OAAO;gBAAE,MAAM,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,MAAM,IAAI,mBAAmB,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,OAAO,GAAG,CAAC,EAAE;QACxE,KAAK,EAAE,YAAY;KACpB,CAAC,CAAC;AACL,CAAC;AAED,4EAA4E;AAC5E,sEAAsE;AACtE,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
|
package/dist/schema/index.d.ts
CHANGED
|
@@ -31,9 +31,9 @@ export { syncDeltaActionSchema, wireDeltaDataSchema, participantRefSchema, syncD
|
|
|
31
31
|
export { model, scopeKindOf, LoadStrategy, DEFAULT_LOAD_STRATEGY, loadsAtBootstrap, type ModelDef, type ModelOptions, type PersistOptions, type RelationRecord, type GrantsRef, type ConflictAxis, } from './model.js';
|
|
32
32
|
export { coordination, humansOverwrite, humansReject, humansNotify, agentsOverwrite, agentsReject, agentsNotify, systemOverwrite, systemReject, systemNotify, type ConflictRule, } from './coordination.js';
|
|
33
33
|
export { mutable, readOnly, type SugarOptions } from './sugar.js';
|
|
34
|
-
export { defineSchema, composeIdentitySyncGroups, type Schema, type SchemaRecord, type Model, type Row, type InferCreate, type InferRow, type InferModelNames, type BaseModelFields, type InsertValue, type UpsertValue, type UpdateValue, type DeleteId, type DefineSchemaOptions, type Casing, type CasingConvention, type CasingFn, composeEntitySyncGroups, intersectRequestedWithAllowed, type IdentityRole, type IdentityContext, type IdentityRoleSource, type EntityRole, type EntityContext, type EntityRoleSource, type RoleSource, type RoleContext, type SyncGroup, type SyncGroupInput, identityRole, entityRole, extractIdentityIds, extractEntityIds, syncGroup, syncGroupSchema, syncGroupInputSchema, isSyncGroupInput, identityRoleSchema, entityRoleSchema, roleSchema, roleSourceSchema, scopeSchema, grantsRefSchema, groupsInputSchema, type GroupsInput, type SessionSettings, type SessionSettingSource, RESERVED_SESSION_SETTINGS, } from './schema.js';
|
|
34
|
+
export { defineSchema, composeIdentitySyncGroups, type Schema, type SchemaRecord, type Model, type Row, type InferCreate, type InferRow, type InferModelNames, type BaseModelFields, type InsertValue, type UpsertValue, type UpdateValue, type DeleteId, type DefineSchemaOptions, type Casing, type CasingConvention, type CasingFn, composeEntitySyncGroups, intersectRequestedWithAllowed, type IdentityRole, type IdentityContext, type IdentityRoleSource, type EntityRole, type EntityContext, type EntityRoleSource, type RoleSource, type RoleContext, type SyncGroup, type SyncGroupRef, type SyncGroupInput, identityRole, entityRole, extractIdentityIds, extractEntityIds, syncGroup, syncGroupSchema, syncGroupRefSchema, syncGroupInputSchema, isSyncGroupInput, identityRoleSchema, entityRoleSchema, roleSchema, roleSourceSchema, scopeSchema, grantsRefSchema, groupsInputSchema, type GroupsInput, type SessionSettings, type SessionSettingSource, RESERVED_SESSION_SETTINGS, } from './schema.js';
|
|
35
35
|
export { serializeSchema, parseSchema, toSchemaJSON, fromSchemaJSON, schemaHash, modelHash, type SchemaJSON, type ModelJSON, type RelationJSON, } from './serialize.js';
|
|
36
|
-
export { selectModels, omitModels } from './select.js';
|
|
36
|
+
export { selectModels, omitModels, omittedModelError } from './select.js';
|
|
37
37
|
export { generateProvisionPlan, generateMigrationPlan, appSchemaName, camelToSnake, snakeToCamel, q, sqlType, type ProvisionPlan, type MigrationPlan, } from './ddl.js';
|
|
38
38
|
export { PG_LOCK_NOT_AVAILABLE, resolveDdlLockTimeout, resolveDdlMaxLockAttempts, ddlLockRetryBackoffMs, type DdlLockEnv, } from './ddlLock.js';
|
|
39
39
|
export { diffSchema, classifyMigration, classifyCast, isAutoApplicable, isBlockerResolved, unresolvedBlockers, type BackfillValue, type MigrationStep, type FieldChanges, type FieldColumnChange, type FieldTypeChange, type NullabilityChange, type EnumValuesChange, type IndexChange, type CastSafety, type FieldType, type RenameHints, type MigrationSignal, type MigrationClassification, type WarningCode, type BlockerCode, } from './diff.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"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"}
|
package/dist/schema/index.js
CHANGED
|
@@ -56,11 +56,11 @@ export { coordination, humansOverwrite, humansReject, humansNotify, agentsOverwr
|
|
|
56
56
|
// sensible defaults for everything else.
|
|
57
57
|
export { mutable, readOnly } from './sugar.js';
|
|
58
58
|
// Schema definition + type inference
|
|
59
|
-
export { defineSchema, composeIdentitySyncGroups, composeEntitySyncGroups, intersectRequestedWithAllowed, identityRole, entityRole, extractIdentityIds, extractEntityIds, syncGroup, syncGroupSchema, syncGroupInputSchema, isSyncGroupInput, identityRoleSchema, entityRoleSchema, roleSchema, roleSourceSchema, scopeSchema, grantsRefSchema, groupsInputSchema, RESERVED_SESSION_SETTINGS, } from './schema.js';
|
|
59
|
+
export { defineSchema, composeIdentitySyncGroups, composeEntitySyncGroups, intersectRequestedWithAllowed, identityRole, entityRole, extractIdentityIds, extractEntityIds, syncGroup, syncGroupSchema, syncGroupRefSchema, syncGroupInputSchema, isSyncGroupInput, identityRoleSchema, entityRoleSchema, roleSchema, roleSourceSchema, scopeSchema, grantsRefSchema, groupsInputSchema, RESERVED_SESSION_SETTINGS, } from './schema.js';
|
|
60
60
|
// Schema ⇄ JSON — serialize a schema for transport and rebuild it on the far side.
|
|
61
61
|
export { serializeSchema, parseSchema, toSchemaJSON, fromSchemaJSON, schemaHash, modelHash, } from './serialize.js';
|
|
62
62
|
// Schema projection — derive an app's subset from one canonical schema.
|
|
63
|
-
export { selectModels, omitModels } from './select.js';
|
|
63
|
+
export { selectModels, omitModels, omittedModelError } from './select.js';
|
|
64
64
|
// Schema → Postgres DDL — shared by the host implementation and the command-line tools.
|
|
65
65
|
export { generateProvisionPlan, generateMigrationPlan, appSchemaName, camelToSnake, snakeToCamel, q, sqlType, } from './ddl.js';
|
|
66
66
|
// Safe-DDL locking knobs (lock_timeout plus a bounded retry on lock contention),
|
package/dist/schema/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,qEAAqE;AACrE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,2DAA2D;AAC3D,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAqC,MAAM,YAAY,CAAC;AAE7F,+EAA+E;AAC/E,6EAA6E;AAC7E,kCAAkC;AAClC,OAAO,EACL,cAAc,EACd,UAAU,GAIX,MAAM,eAAe,CAAC;AAEvB,oBAAoB;AACpB,OAAO,EAAE,QAAQ,EAAuC,MAAM,eAAe,CAAC;AAE9E,iFAAiF;AACjF,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,aAAa,EACb,kBAAkB,GAInB,MAAM,cAAc,CAAC;AAEtB,6EAA6E;AAC7E,8EAA8E;AAC9E,OAAO,EACL,eAAe,EACf,iBAAiB,GAElB,MAAM,gBAAgB,CAAC;AAExB,qFAAqF;AACrF,sCAAsC;AACtC,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,GAOvB,MAAM,wBAAwB,CAAC;AAEhC,+EAA+E;AAC/E,mFAAmF;AACnF,iDAAiD;AACjD,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,GAOtB,MAAM,kBAAkB,CAAC;AAE1B,gBAAgB;AAChB,OAAO,EACL,KAAK,EACL,WAAW;AACX,8EAA8E;AAC9E,yEAAyE;AACzE,qEAAqE;AACrE,YAAY,EACZ,qBAAqB,EACrB,gBAAgB,GAOjB,MAAM,YAAY,CAAC;AAEpB,kFAAkF;AAClF,gDAAgD;AAChD,OAAO,EACL,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,YAAY,GAEb,MAAM,mBAAmB,CAAC;AAE3B,oFAAoF;AACpF,gFAAgF;AAChF,yCAAyC;AACzC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAqB,MAAM,YAAY,CAAC;AAElE,qCAAqC;AACrC,OAAO,EACL,YAAY,EACZ,yBAAyB,EAiBzB,uBAAuB,EACvB,6BAA6B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"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"}
|
package/dist/schema/roles.d.ts
CHANGED
|
@@ -27,6 +27,25 @@ import { z } from 'zod';
|
|
|
27
27
|
* {@link syncGroup}. Because the brand is an intersection it's still assignable
|
|
28
28
|
* *to* `string`, so existing `string[]` plumbing keeps working unchanged.
|
|
29
29
|
*/
|
|
30
|
+
/**
|
|
31
|
+
* The `kind:id` shape itself, unbranded — what a CALLER writes.
|
|
32
|
+
*
|
|
33
|
+
* Input and output want different strictness from one format, so the format is
|
|
34
|
+
* declared once here and viewed two ways. This view rejects `'nonsense'` at
|
|
35
|
+
* compile time (no colon ⇒ matches no group) while still accepting
|
|
36
|
+
* `` `org:${orgId}` `` written inline, which is the whole point of
|
|
37
|
+
* {@link SyncGroupInput}. Requiring the constructor on an input field buys no
|
|
38
|
+
* safety this does not already give and costs every call site a helper import.
|
|
39
|
+
*/
|
|
40
|
+
export declare const syncGroupRefSchema: z.ZodTemplateLiteral<`${string}:${string}`>;
|
|
41
|
+
export type SyncGroupRef = z.infer<typeof syncGroupRefSchema>;
|
|
42
|
+
/**
|
|
43
|
+
* The same format, branded — what the SERVER hands back.
|
|
44
|
+
*
|
|
45
|
+
* The brand earns its keep on the way out, where Ablo is the author: a consumer
|
|
46
|
+
* that receives a `SyncGroup` knows it was minted, and a raw string cannot
|
|
47
|
+
* masquerade as one.
|
|
48
|
+
*/
|
|
30
49
|
export declare const syncGroupSchema: z.core.$ZodBranded<z.ZodTemplateLiteral<`${string}:${string}`>, "SyncGroup", "out">;
|
|
31
50
|
export type SyncGroup = z.infer<typeof syncGroupSchema>;
|
|
32
51
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roles.d.ts","sourceRoot":"","sources":["../../src/schema/roles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH;;;;;GAKG;AACH,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"roles.d.ts","sourceRoot":"","sources":["../../src/schema/roles.ts"],"names":[],"mappings":"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"}
|
package/dist/schema/roles.js
CHANGED
|
@@ -28,9 +28,29 @@ import { z } from 'zod';
|
|
|
28
28
|
* {@link syncGroup}. Because the brand is an intersection it's still assignable
|
|
29
29
|
* *to* `string`, so existing `string[]` plumbing keeps working unchanged.
|
|
30
30
|
*/
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
/**
|
|
32
|
+
* The `kind:id` shape itself, unbranded — what a CALLER writes.
|
|
33
|
+
*
|
|
34
|
+
* Input and output want different strictness from one format, so the format is
|
|
35
|
+
* declared once here and viewed two ways. This view rejects `'nonsense'` at
|
|
36
|
+
* compile time (no colon ⇒ matches no group) while still accepting
|
|
37
|
+
* `` `org:${orgId}` `` written inline, which is the whole point of
|
|
38
|
+
* {@link SyncGroupInput}. Requiring the constructor on an input field buys no
|
|
39
|
+
* safety this does not already give and costs every call site a helper import.
|
|
40
|
+
*/
|
|
41
|
+
export const syncGroupRefSchema = z.templateLiteral([
|
|
42
|
+
z.string().regex(/^[a-z][a-z0-9_]*$/),
|
|
43
|
+
':',
|
|
44
|
+
z.string().min(1),
|
|
45
|
+
]);
|
|
46
|
+
/**
|
|
47
|
+
* The same format, branded — what the SERVER hands back.
|
|
48
|
+
*
|
|
49
|
+
* The brand earns its keep on the way out, where Ablo is the author: a consumer
|
|
50
|
+
* that receives a `SyncGroup` knows it was minted, and a raw string cannot
|
|
51
|
+
* masquerade as one.
|
|
52
|
+
*/
|
|
53
|
+
export const syncGroupSchema = syncGroupRefSchema.brand();
|
|
34
54
|
/**
|
|
35
55
|
* Mint a sync-group string. The single place the `kind:id` convention lives —
|
|
36
56
|
* if the wire format ever changes (structured columns, a different separator),
|
package/dist/schema/roles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roles.js","sourceRoot":"","sources":["../../src/schema/roles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"roles.js","sourceRoot":"","sources":["../../src/schema/roles.ts"],"names":[],"mappings":"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"}
|
package/dist/schema/schema.d.ts
CHANGED
|
@@ -24,7 +24,7 @@ import type { ModelDef, RelationRecord } from './model.js';
|
|
|
24
24
|
import type { RelationDef } from './relation.js';
|
|
25
25
|
import type { IdentityRole } from './roles.js';
|
|
26
26
|
import { type FieldRef } from './fieldRef.js';
|
|
27
|
-
export { type IdentityRole, type IdentityRoleSource, type IdentityContext, type EntityRole, type EntityRoleSource, type EntityContext, type RoleSource, type RoleContext, type SyncGroup, type SyncGroupInput, identityRole, entityRole, extractIdentityIds, extractEntityIds, composeIdentitySyncGroups, composeEntitySyncGroups, intersectRequestedWithAllowed, syncGroup, syncGroupSchema, syncGroupInputSchema, isSyncGroupInput, identityRoleSchema, entityRoleSchema, roleSchema, roleSourceSchema, scopeSchema, grantsRefSchema, groupsInputSchema, type GroupsInput, } from './roles.js';
|
|
27
|
+
export { type IdentityRole, type IdentityRoleSource, type IdentityContext, type EntityRole, type EntityRoleSource, type EntityContext, type RoleSource, type RoleContext, type SyncGroup, type SyncGroupRef, type SyncGroupInput, identityRole, entityRole, extractIdentityIds, extractEntityIds, composeIdentitySyncGroups, composeEntitySyncGroups, intersectRequestedWithAllowed, syncGroup, syncGroupSchema, syncGroupRefSchema, syncGroupInputSchema, isSyncGroupInput, identityRoleSchema, entityRoleSchema, roleSchema, roleSourceSchema, scopeSchema, grantsRefSchema, groupsInputSchema, type GroupsInput, } from './roles.js';
|
|
28
28
|
/** The set of built-in casing conventions supported by `defineSchema`. */
|
|
29
29
|
export type CasingConvention = 'snake_case' | 'camelCase';
|
|
30
30
|
/** Plug point for custom conventions (e.g. mixed legacy databases). */
|
|
@@ -199,6 +199,18 @@ export interface Schema<S extends SchemaRecord = SchemaRecord> {
|
|
|
199
199
|
* stamping it never perturbs `schemaHash`.
|
|
200
200
|
*/
|
|
201
201
|
readonly sourceSchemaHash?: string;
|
|
202
|
+
/**
|
|
203
|
+
* Set only on a projection produced by `selectModels`/`omitModels`: the
|
|
204
|
+
* source-schema model keys the projection dropped, sorted. Clients bound to a
|
|
205
|
+
* projection use this to answer an access to a left-out model with a real
|
|
206
|
+
* error naming the model and the fix, instead of `undefined` and a TypeError
|
|
207
|
+
* three frames later. The distinction matters because an app can compile
|
|
208
|
+
* against the full source schema while running a projection, so the type
|
|
209
|
+
* system never sees the gap. Absent on a schema authored directly, where an
|
|
210
|
+
* unknown property is a typo the types already catch. Excluded from
|
|
211
|
+
* `toSchemaJSON`, so stamping it never perturbs `schemaHash`.
|
|
212
|
+
*/
|
|
213
|
+
readonly omittedModels?: readonly string[];
|
|
202
214
|
}
|
|
203
215
|
/**
|
|
204
216
|
* Infer the full model type from a schema.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/schema/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAMxD,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,gBAAgB,EAChB,yBAAyB,EACzB,uBAAuB,EACvB,6BAA6B,EAC7B,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,KAAK,WAAW,GACjB,MAAM,YAAY,CAAC;AAYpB,0EAA0E;AAC1E,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,WAAW,CAAC;AAE1D,uEAAuE;AACvE,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;AAEnD,2DAA2D;AAC3D,MAAM,MAAM,MAAM,GAAG,gBAAgB,GAAG,QAAQ,CAAC;AAoBjD;;;;;;;GAOG;AACH,MAAM,MAAM,oBAAoB,GAC5B,OAAO,GACP,WAAW,GACX,aAAa,GACb,WAAW,GACX,eAAe,GACf,iBAAiB,CAAC;AAEtB;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC;AAE7E;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAAS,MAAM,EAYtD,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEzB;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IAEjD;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC;CAC5C;AAID,kDAAkD;AAClD,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAEpD;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB;;;;;;iBAM3B,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,0EAMd,CAAC;AAEX,gDAAgD;AAChD,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE/D;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,8DAA8D;IAC9D,YAAY,IAAI,MAAM,CAAC;IACvB,qEAAqE;IACrE,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,mDAAmD;AACnD,MAAM,WAAW,MAAM,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY;IAC3D,gCAAgC;IAChC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAEnB;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,CAAC,MAAM,KAAK,CAAC,GAChE;YACE,QAAQ,EAAE,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,MAAM,CAAC,GACzC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;SACjB,GACD,KAAK;KACV,CAAC;IAEF,6CAA6C;IAC7C,QAAQ,CAAC,UAAU,EAAE;QACnB,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,CAAC,MAAM,KAAK,CAAC,GACvD,CAAC,CAAC,SAAS,CAAC,KAAK,GAAG,OAAO,gBAAgB,CAAC,KAAK,CAAC,GAClD,KAAK;KACV,CAAC;IAEF;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,EAAE,SAAS,YAAY,EAAE,CAAC;IAEhD;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAE1C;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/schema/schema.ts"],"names":[],"mappings":"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"}
|