@absolutejs/billing 0.3.2 → 0.4.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/index.d.ts +23 -2
- package/dist/index.js +15 -5
- package/dist/index.js.map +3 -3
- package/dist/manifest.js +12 -4
- package/dist/manifest.js.map +3 -3
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -22,8 +22,15 @@
|
|
|
22
22
|
* old usage snapshot through a new plan without touching any
|
|
23
23
|
* vendor SDK.
|
|
24
24
|
*/
|
|
25
|
-
/**
|
|
25
|
+
/**
|
|
26
|
+
* An integer amount in a plan's sub-units. 1,000,000 (micros) by default, but
|
|
27
|
+
* a plan may choose a finer denomination — see `Plan.denomination`.
|
|
28
|
+
*/
|
|
26
29
|
export type Micros = number;
|
|
30
|
+
/** Sub-units per currency unit when a plan does not say otherwise. */
|
|
31
|
+
export declare const DEFAULT_DENOMINATION = 1000000;
|
|
32
|
+
/** Nanos — the denomination token-priced APIs need. */
|
|
33
|
+
export declare const NANO_DENOMINATION = 1000000000;
|
|
27
34
|
/**
|
|
28
35
|
* Round a fractional micros value to an integer. The substrate uses
|
|
29
36
|
* **truncation** (banker's-style would surprise callers expecting
|
|
@@ -83,6 +90,17 @@ export type PricedDimension = {
|
|
|
83
90
|
export type Plan = {
|
|
84
91
|
/** Human label for the invoice (`'pro'`, `'enterprise'`, etc.). */
|
|
85
92
|
name: string;
|
|
93
|
+
/**
|
|
94
|
+
* Sub-units per currency unit. Defaults to 1,000,000 (micros).
|
|
95
|
+
*
|
|
96
|
+
* Micros are too coarse for token-priced APIs: at $0.16 per million
|
|
97
|
+
* embedding tokens a five-token call costs $0.0000008, which truncates to
|
|
98
|
+
* ZERO in micros — so a plan priced in micros systematically under-bills
|
|
99
|
+
* its cheapest calls. Set `1_000_000_000` to price in nanos, or any other
|
|
100
|
+
* power of ten the vendor's rate card needs. Every `*Micros` field on the
|
|
101
|
+
* plan and the invoice is denominated in these sub-units.
|
|
102
|
+
*/
|
|
103
|
+
denomination?: number;
|
|
86
104
|
/** Optional flat base fee charged once per invoice period. */
|
|
87
105
|
basePriceMicros?: Micros;
|
|
88
106
|
/**
|
|
@@ -145,6 +163,8 @@ export type Invoice = {
|
|
|
145
163
|
tenant: string;
|
|
146
164
|
plan: string;
|
|
147
165
|
currency: string;
|
|
166
|
+
/** Sub-units per currency unit these amounts are in (default micros). */
|
|
167
|
+
denomination: number;
|
|
148
168
|
period: InvoicePeriod;
|
|
149
169
|
lineItems: LineItem[];
|
|
150
170
|
/** Sum of all `lineItems[].amountMicros`. */
|
|
@@ -169,7 +189,8 @@ export declare const computeInvoice: ({ plan, tenant, period, usage, currency, }
|
|
|
169
189
|
* — no Intl side effects. For locales / advanced formatting, pipe
|
|
170
190
|
* through `Intl.NumberFormat` yourself.
|
|
171
191
|
*/
|
|
172
|
-
export declare const formatMicros: (amount: Micros, currency: string, { minorUnits }?: {
|
|
192
|
+
export declare const formatMicros: (amount: Micros, currency: string, { denomination, minorUnits, }?: {
|
|
193
|
+
denomination?: number;
|
|
173
194
|
minorUnits?: number;
|
|
174
195
|
}) => string;
|
|
175
196
|
export { readProviderBalances, type ProviderBalance, type ProviderBalanceConfig, type ProviderBalanceKind, type ProviderBalanceStatus, type BraveUsageSnapshot, type EmbeddingUsageSnapshot, } from "./balances";
|
package/dist/index.js
CHANGED
|
@@ -380,6 +380,8 @@ var readProviderBalances = async (config) => {
|
|
|
380
380
|
};
|
|
381
381
|
|
|
382
382
|
// src/index.ts
|
|
383
|
+
var DEFAULT_DENOMINATION = 1e6;
|
|
384
|
+
var NANO_DENOMINATION = 1e9;
|
|
383
385
|
var roundMicros = (value, rounding) => {
|
|
384
386
|
if (rounding === "truncate")
|
|
385
387
|
return Math.trunc(value);
|
|
@@ -503,23 +505,29 @@ var computeInvoice = ({
|
|
|
503
505
|
});
|
|
504
506
|
totalMicros = floor;
|
|
505
507
|
}
|
|
508
|
+
const denomination = plan.denomination ?? DEFAULT_DENOMINATION;
|
|
506
509
|
const invoice = {
|
|
507
510
|
currency: currency ?? plan.currency ?? "usd",
|
|
511
|
+
denomination,
|
|
508
512
|
lineItems,
|
|
509
513
|
period,
|
|
510
514
|
plan: plan.name,
|
|
511
515
|
tenant,
|
|
512
516
|
totalMicros,
|
|
513
|
-
totalUnits: totalMicros /
|
|
517
|
+
totalUnits: totalMicros / denomination
|
|
514
518
|
};
|
|
515
519
|
if (plan.metadata !== undefined)
|
|
516
520
|
invoice.metadata = plan.metadata;
|
|
517
521
|
return invoice;
|
|
518
522
|
};
|
|
519
|
-
var formatMicros = (amount, currency, {
|
|
523
|
+
var formatMicros = (amount, currency, {
|
|
524
|
+
denomination = DEFAULT_DENOMINATION,
|
|
525
|
+
minorUnits = 2
|
|
526
|
+
} = {}) => {
|
|
520
527
|
const sign = amount < 0 ? "-" : "";
|
|
521
528
|
const abs = Math.abs(amount);
|
|
522
|
-
const
|
|
529
|
+
const exponent = Math.round(Math.log10(denomination));
|
|
530
|
+
const wholeMicrosPerMinor = 10 ** (exponent - minorUnits);
|
|
523
531
|
const minorTotal = Math.round(abs / wholeMicrosPerMinor);
|
|
524
532
|
const divisor = 10 ** minorUnits;
|
|
525
533
|
const whole = Math.trunc(minorTotal / divisor);
|
|
@@ -534,8 +542,10 @@ export {
|
|
|
534
542
|
readProviderBalances,
|
|
535
543
|
formatMicros,
|
|
536
544
|
createPlan,
|
|
537
|
-
computeInvoice
|
|
545
|
+
computeInvoice,
|
|
546
|
+
NANO_DENOMINATION,
|
|
547
|
+
DEFAULT_DENOMINATION
|
|
538
548
|
};
|
|
539
549
|
|
|
540
|
-
//# debugId=
|
|
550
|
+
//# debugId=D50F9899A29C0CBA64756E2164756E21
|
|
541
551
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
"sources": ["../src/balances.ts", "../src/index.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"/**\n * Provider balances — read each upstream vendor's OWN reported balance / quota /\n * spend from their billing-or-usage API, normalized to one shape. The inverse of\n * `computeInvoice`: that prices YOUR usage into an invoice; this reads what the\n * vendors you pay say you have left (or have spent). Useful for an ops dashboard\n * that reconciles your own metering against vendor truth.\n *\n * These are free reporting endpoints — they run no model and incur no per-call\n * charge (just rate limits). Pure + dependency-free: pass credentials in, get\n * snapshots out. One provider failing never affects the others.\n *\n * Coverage by what each vendor exposes:\n * - balance ($ left): Twilio, Deepgram\n * - quota (units left): ElevenLabs (chars), Apollo (calls/day), Brave (queries)\n * - cost ($ spent): Anthropic, OpenAI — no balance API exists, only spend\n *\n * Brave has no API at all; the host app captures rate-limit headers off its own\n * search calls and passes the latest snapshot in (`config.brave`).\n */\n\nconst FETCH_TIMEOUT_MS = 6000;\n// The LLM providers' org cost-report endpoints are slow (OpenAI's regularly\n// takes ~6s); give them a generous timeout since the result is cached.\nconst COST_FETCH_TIMEOUT_MS = 20_000;\nconst MS_PER_SECOND = 1000;\nconst MS_PER_DAY = 86_400_000;\nconst MILLION = 1_000_000;\nconst THOUSAND = 1000;\nconst COST_WINDOW_DAYS = 30;\n\nexport type ProviderBalanceKind = \"balance\" | \"quota\" | \"cost\" | \"none\";\nexport type ProviderBalanceStatus = \"ok\" | \"unconfigured\" | \"error\";\n\nexport type ProviderBalance = {\n /** Human summary line, e.g. \"$42.10 left\" or \"1.2M / 2M chars\". */\n detail: string;\n checkedAt: string;\n kind: ProviderBalanceKind;\n label: string;\n /** The vendor's spend/limit when known; null when not exposed. */\n limit: number | null;\n /** Caveat for the tile (e.g. \"no balance API — Admin key needed\"). */\n note: string | null;\n provider: string;\n /** Remaining balance/quota for kind balance|quota; null otherwise. */\n remaining: number | null;\n resetDate: string | null;\n status: ProviderBalanceStatus;\n /** Vendor plan/tier where exposed (ElevenLabs \"pro\", Twilio \"Full\"); else null. */\n tier: string | null;\n unit: string;\n used: number | null;\n};\n\n/** Rate-limit snapshot the host app captures off its own Brave search responses\n * (Brave has no usage API). The 30-day-window header is `monthly*`. */\nexport type BraveUsageSnapshot = {\n capturedAt: string;\n monthlyLimit: number | null;\n monthlyRemaining: number | null;\n resetSeconds: number | null;\n};\n\n/**\n * Per-provider credentials. Include a provider's key to get its tile; omit it to\n * skip the provider entirely. A present-but-empty credential yields an\n * \"unconfigured\" tile (so a dashboard can show every provider it cares about and\n * label the ones missing a key).\n */\n/** Embedding consumption the host measured itself, against the plan's cap.\n * Vector vendors meter tokens per month and simply refuse once spent, so\n * this is the number that predicts an outage. */\nexport type EmbeddingUsageSnapshot = {\n capturedAt: string;\n /** True when the provider is currently refusing embeddings. */\n exhausted?: boolean;\n monthlyTokenLimit: number;\n resetDate?: string | null;\n tokensUsed: number;\n};\n\nexport type ProviderBalanceConfig = {\n anthropic?: { adminKey: string };\n apollo?: { apiKey: string };\n brave?: BraveUsageSnapshot | null;\n /** Host-supplied embedding usage. Pinecone exposes no usage API to an\n * ordinary key, so — like Brave — the app reports what it metered. */\n pinecone?: EmbeddingUsageSnapshot | null;\n deepgram?: { apiKey: string };\n elevenlabs?: { apiKey: string };\n openai?: { adminKey: string };\n twilio?: { accountSid: string; authToken: string };\n};\n\nconst nowIso = () => new Date().toISOString();\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n typeof value === \"object\" && value !== null;\n\nconst numberOf = (value: unknown) =>\n typeof value === \"number\" && Number.isFinite(value) ? value : null;\n\nconst usd = (amount: number) => `$${amount.toFixed(2)}`;\n\nconst compact = (value: number) => {\n if (value >= MILLION) return `${(value / MILLION).toFixed(1)}M`;\n if (value >= THOUSAND) return `${(value / THOUSAND).toFixed(0)}K`;\n\n return String(value);\n};\n\nconst base = (provider: string, label: string) => {\n const result: ProviderBalance = {\n checkedAt: nowIso(),\n detail: \"\",\n kind: \"none\",\n label,\n limit: null,\n note: null,\n provider,\n remaining: null,\n resetDate: null,\n status: \"error\",\n tier: null,\n unit: \"\",\n used: null,\n };\n\n return result;\n};\n\nconst unconfigured = (provider: string, label: string, note: string) => {\n const result: ProviderBalance = {\n ...base(provider, label),\n note,\n status: \"unconfigured\",\n };\n\n return result;\n};\n\nconst errored = (provider: string, label: string, message: string) => {\n const result: ProviderBalance = {\n ...base(provider, label),\n detail: \"Couldn't reach provider\",\n note: message,\n };\n\n return result;\n};\n\nconst fetchJson = async (\n url: string,\n headers: Record<string, string>,\n opts: { method?: string; timeoutMs?: number } = {},\n) => {\n const controller = new AbortController();\n const timer = setTimeout(\n () => controller.abort(),\n opts.timeoutMs ?? FETCH_TIMEOUT_MS,\n );\n try {\n const response = await fetch(url, {\n headers,\n method: opts.method ?? \"GET\",\n signal: controller.signal,\n });\n if (!response.ok) {\n // Surface the vendor's own error text (truncated) so the tile is\n // actionable — e.g. Deepgram's \"needs the billing:read scope\".\n const body = await response.text().catch(() => \"\");\n const snippet = body.replace(/\\s+/g, \" \").trim().slice(0, 160);\n throw new Error(\n snippet\n ? `HTTP ${response.status}: ${snippet}`\n : `HTTP ${response.status}`,\n );\n }\n const json: unknown = await response.json();\n\n return json;\n } finally {\n clearTimeout(timer);\n }\n};\n\n// --- Twilio: real account balance + plan type -----------------------------\nconst twilioBalance = async (creds: {\n accountSid: string;\n authToken: string;\n}) => {\n if (!creds.accountSid || !creds.authToken) {\n return unconfigured(\"twilio\", \"Twilio\", \"Twilio credentials unset\");\n }\n try {\n const auth = Buffer.from(`${creds.accountSid}:${creds.authToken}`).toString(\n \"base64\",\n );\n const headers: Record<string, string> = { Authorization: `Basic ${auth}` };\n const [data, account] = await Promise.all([\n fetchJson(\n `https://api.twilio.com/2010-04-01/Accounts/${creds.accountSid}/Balance.json`,\n headers,\n ),\n fetchJson(\n `https://api.twilio.com/2010-04-01/Accounts/${creds.accountSid}.json`,\n headers,\n ),\n ]);\n const balance = isRecord(data) ? numberOf(Number(data.balance)) : null;\n const currency =\n isRecord(data) && typeof data.currency === \"string\"\n ? data.currency\n : \"USD\";\n const accountType =\n isRecord(account) && typeof account.type === \"string\"\n ? account.type\n : null;\n if (balance === null) throw new Error(\"no balance field\");\n const result: ProviderBalance = {\n ...base(\"twilio\", \"Twilio\"),\n detail: `${currency} ${balance.toFixed(2)} left`,\n kind: \"balance\",\n remaining: balance,\n status: \"ok\",\n tier: accountType,\n unit: currency,\n };\n\n return result;\n } catch (error) {\n return errored(\"twilio\", \"Twilio\", String(error));\n }\n};\n\n// --- Deepgram: real $ balance summed across projects ----------------------\nconst extractProjectIds = (projects: unknown) => {\n const list =\n isRecord(projects) && Array.isArray(projects.projects)\n ? projects.projects\n : [];\n\n return list\n .map((proj) =>\n isRecord(proj) && typeof proj.project_id === \"string\"\n ? proj.project_id\n : null,\n )\n .filter((id): id is string => id !== null);\n};\n\nconst sumBalances = (balances: unknown) => {\n const rows =\n isRecord(balances) && Array.isArray(balances.balances)\n ? balances.balances\n : [];\n\n return rows.reduce<number>(\n (total, row) => total + (isRecord(row) ? (numberOf(row.amount) ?? 0) : 0),\n 0,\n );\n};\n\nconst fetchDeepgramTotal = async (headers: Record<string, string>) => {\n const projects = await fetchJson(\n \"https://api.deepgram.com/v1/projects\",\n headers,\n );\n let total = 0;\n for (const projectId of extractProjectIds(projects)) {\n // eslint-disable-next-line no-await-in-loop -- a couple of projects at most\n const balances = await fetchJson(\n `https://api.deepgram.com/v1/projects/${projectId}/balances`,\n headers,\n );\n total += sumBalances(balances);\n }\n\n return total;\n};\n\nconst deepgramBalance = async (creds: { apiKey: string }) => {\n if (!creds.apiKey)\n return unconfigured(\"deepgram\", \"Deepgram\", \"API key unset\");\n try {\n const total = await fetchDeepgramTotal({\n Authorization: `Token ${creds.apiKey}`,\n });\n const result: ProviderBalance = {\n ...base(\"deepgram\", \"Deepgram\"),\n detail: `${usd(total)} left`,\n kind: \"balance\",\n remaining: total,\n status: \"ok\",\n unit: \"USD\",\n };\n\n return result;\n } catch (error) {\n return errored(\"deepgram\", \"Deepgram\", String(error));\n }\n};\n\n// --- ElevenLabs: real character quota used / limit + tier -----------------\nconst elevenLabsBalance = async (creds: { apiKey: string }) => {\n if (!creds.apiKey)\n return unconfigured(\"elevenlabs\", \"ElevenLabs\", \"API key unset\");\n try {\n const data = await fetchJson(\n \"https://api.elevenlabs.io/v1/user/subscription\",\n {\n \"xi-api-key\": creds.apiKey,\n },\n );\n const usedChars = isRecord(data) ? numberOf(data.character_count) : null;\n const limitChars = isRecord(data) ? numberOf(data.character_limit) : null;\n if (usedChars === null || limitChars === null) {\n throw new Error(\"no character fields\");\n }\n const resetUnix = isRecord(data)\n ? numberOf(data.next_character_count_reset_unix)\n : null;\n const tier =\n isRecord(data) && typeof data.tier === \"string\" ? data.tier : null;\n const remaining = Math.max(0, limitChars - usedChars);\n const result: ProviderBalance = {\n ...base(\"elevenlabs\", \"ElevenLabs\"),\n detail: `${compact(remaining)} / ${compact(limitChars)} chars left`,\n kind: \"quota\",\n limit: limitChars,\n remaining,\n resetDate: resetUnix\n ? new Date(resetUnix * MS_PER_SECOND).toISOString()\n : null,\n status: \"ok\",\n tier,\n unit: \"characters\",\n used: usedChars,\n };\n\n return result;\n } catch (error) {\n return errored(\"elevenlabs\", \"ElevenLabs\", String(error));\n }\n};\n\n// --- Apollo: real per-endpoint API quota (master key required) ------------\nconst pickBusiestDayQuota = (data: unknown) => {\n let consumed = 0;\n let limit = 0;\n if (!isRecord(data)) return { consumed, limit };\n for (const value of Object.values(data)) {\n const day = isRecord(value) && isRecord(value.day) ? value.day : null;\n if (!day) continue;\n const dayLimit = numberOf(day.limit) ?? 0;\n if (dayLimit <= limit) continue;\n limit = dayLimit;\n consumed = numberOf(day.consumed) ?? 0;\n }\n\n return { consumed, limit };\n};\n\nconst apolloResult = (consumed: number, limit: number) => {\n if (limit === 0) {\n const noQuota: ProviderBalance = {\n ...base(\"apollo\", \"Apollo\"),\n detail: \"Reached Apollo (no day quota in response)\",\n note: \"If usage stats 403, the key must be an Apollo master key.\",\n status: \"ok\",\n };\n\n return noQuota;\n }\n const result: ProviderBalance = {\n ...base(\"apollo\", \"Apollo\"),\n detail: `${Math.max(0, limit - consumed)} / ${limit} calls left today`,\n kind: \"quota\",\n limit,\n remaining: Math.max(0, limit - consumed),\n status: \"ok\",\n unit: \"calls\",\n used: consumed,\n };\n\n return result;\n};\n\nconst apolloBalance = async (creds: { apiKey: string }) => {\n if (!creds.apiKey) return unconfigured(\"apollo\", \"Apollo\", \"API key unset\");\n try {\n // POST (not GET) per Apollo's API; needs the master key.\n const data = await fetchJson(\n \"https://api.apollo.io/api/v1/usage_stats/api_usage_stats\",\n { \"Content-Type\": \"application/json\", \"X-Api-Key\": creds.apiKey },\n { method: \"POST\" },\n );\n const { consumed, limit } = pickBusiestDayQuota(data);\n\n return apolloResult(consumed, limit);\n } catch (error) {\n return errored(\n \"apollo\",\n \"Apollo\",\n `${error} — usage stats need the Apollo master key`,\n );\n }\n};\n\n// --- Pinecone: no usage API for an ordinary key; same host-snapshot shape --\nconst compactTokens = (tokens: number) => {\n const MILLION = 1_000_000;\n const THOUSAND = 1000;\n if (tokens >= MILLION) return `${(tokens / MILLION).toFixed(1)}M`;\n\n return `${Math.round(tokens / THOUSAND)}k`;\n};\n\nconst pineconeBalance = (snap: EmbeddingUsageSnapshot | null | undefined) => {\n if (!snap) {\n return unconfigured(\n \"pinecone\",\n \"Pinecone embeddings\",\n \"No embedding usage reported yet — the host supplies this from its own metering.\",\n );\n }\n const remaining = Math.max(0, snap.monthlyTokenLimit - snap.tokensUsed);\n const quota: ProviderBalance = {\n ...base(\"pinecone\", \"Pinecone embeddings\"),\n checkedAt: snap.capturedAt,\n detail: snap.exhausted\n ? `${compactTokens(snap.tokensUsed)} / ${compactTokens(snap.monthlyTokenLimit)} tokens — quota spent, embeddings refused`\n : `${compactTokens(snap.tokensUsed)} / ${compactTokens(snap.monthlyTokenLimit)} tokens this month`,\n kind: \"quota\",\n limit: snap.monthlyTokenLimit,\n note: \"Counted from the host's own metering — Pinecone exposes no usage API.\",\n remaining,\n resetDate: snap.resetDate ?? null,\n status: \"ok\",\n unit: \"tokens\",\n used: snap.tokensUsed,\n };\n\n return quota;\n};\n\n// --- Brave: no API; read the snapshot the host captured off its own calls --\nconst braveBalance = (snap: BraveUsageSnapshot | null | undefined) => {\n if (!snap) {\n return unconfigured(\n \"brave\",\n \"Brave Search\",\n \"No usage captured yet — appears after the next web search.\",\n );\n }\n if (snap.monthlyLimit && snap.monthlyLimit > 0) {\n const remaining = snap.monthlyRemaining ?? 0;\n const quota: ProviderBalance = {\n ...base(\"brave\", \"Brave Search\"),\n checkedAt: snap.capturedAt,\n detail: `${remaining} / ${snap.monthlyLimit} queries left this month`,\n kind: \"quota\",\n limit: snap.monthlyLimit,\n remaining,\n status: \"ok\",\n unit: \"queries\",\n used: snap.monthlyLimit - remaining,\n };\n\n return quota;\n }\n const metered: ProviderBalance = {\n ...base(\"brave\", \"Brave Search\"),\n checkedAt: snap.capturedAt,\n detail: \"Metered · pay-as-you-go\",\n note: \"No prepaid cap — billed per query; the host's spend cap is the ceiling.\",\n status: \"ok\",\n tier: \"metered\",\n };\n\n return metered;\n};\n\nconst costWindowStart = () => Date.now() - COST_WINDOW_DAYS * MS_PER_DAY;\n\n// --- OpenAI: real spend (no balance API). Needs an sk-admin- Admin key. ----\nconst sumOpenAiCosts = (data: unknown) => {\n const buckets = isRecord(data) && Array.isArray(data.data) ? data.data : [];\n\n return buckets.reduce<number>((total, bucket) => {\n const results =\n isRecord(bucket) && Array.isArray(bucket.results) ? bucket.results : [];\n const bucketSum = results.reduce<number>((sub, row) => {\n const amount = isRecord(row) && isRecord(row.amount) ? row.amount : null;\n const value = amount ? Number(amount.value) : NaN;\n\n return sub + (Number.isFinite(value) ? value : 0);\n }, 0);\n\n return total + bucketSum;\n }, 0);\n};\n\nconst openaiBalance = async (creds: { adminKey: string }) => {\n if (!creds.adminKey) {\n return unconfigured(\n \"openai\",\n \"OpenAI\",\n \"No balance API. Provide an sk-admin- Admin key to show real spend.\",\n );\n }\n try {\n const startTime = Math.floor(costWindowStart() / MS_PER_SECOND);\n const data = await fetchJson(\n `https://api.openai.com/v1/organization/costs?start_time=${startTime}&limit=${COST_WINDOW_DAYS + 1}`,\n { Authorization: `Bearer ${creds.adminKey}` },\n { timeoutMs: COST_FETCH_TIMEOUT_MS },\n );\n const result: ProviderBalance = {\n ...base(\"openai\", \"OpenAI\"),\n detail: `${usd(sumOpenAiCosts(data))} spent (30d)`,\n kind: \"cost\",\n note: \"No balance API — real provider-reported spend, not balance.\",\n status: \"ok\",\n };\n\n return result;\n } catch (error) {\n return errored(\"openai\", \"OpenAI\", String(error));\n }\n};\n\n// --- Anthropic: real spend (no balance API). Needs an sk-ant-admin key. ----\nconst sumAnthropicCosts = (data: unknown) => {\n const buckets = isRecord(data) && Array.isArray(data.data) ? data.data : [];\n\n return buckets.reduce<number>((total, bucket) => {\n const results =\n isRecord(bucket) && Array.isArray(bucket.results) ? bucket.results : [];\n const bucketSum = results.reduce<number>((sub, row) => {\n if (!isRecord(row)) return sub;\n const raw = row.amount ?? row.cost ?? row.value;\n const value = Number(isRecord(raw) ? (raw.value ?? raw.amount) : raw);\n\n return sub + (Number.isFinite(value) ? value : 0);\n }, 0);\n\n return total + bucketSum;\n }, 0);\n};\n\nconst anthropicBalance = async (creds: { adminKey: string }) => {\n if (!creds.adminKey) {\n return unconfigured(\n \"anthropic\",\n \"Anthropic\",\n \"No balance API. Provide an sk-ant-admin Admin key to show real spend.\",\n );\n }\n try {\n const startedAt = new Date(costWindowStart()).toISOString();\n const data = await fetchJson(\n `https://api.anthropic.com/v1/organizations/cost_report?starting_at=${startedAt}`,\n { \"anthropic-version\": \"2023-06-01\", \"x-api-key\": creds.adminKey },\n { timeoutMs: COST_FETCH_TIMEOUT_MS },\n );\n const result: ProviderBalance = {\n ...base(\"anthropic\", \"Anthropic\"),\n detail: `${usd(sumAnthropicCosts(data))} spent (30d)`,\n kind: \"cost\",\n note: \"No balance API — real provider-reported spend, not balance.\",\n status: \"ok\",\n };\n\n return result;\n } catch (error) {\n return errored(\n \"anthropic\",\n \"Anthropic\",\n `${error} — needs an sk-ant-admin Admin key (a regular API key won't work).`,\n );\n }\n};\n\n/**\n * Read every configured provider's real balance/quota/spend in parallel. Only\n * providers present in `config` produce a tile. Each runs independently — one\n * failing returns an \"error\" tile, never rejects the whole call. Stateless: the\n * caller owns any caching (these are free reporting calls, ~1/min is plenty).\n */\nexport const readProviderBalances = async (\n config: ProviderBalanceConfig,\n): Promise<ProviderBalance[]> => {\n const jobs: Array<Promise<ProviderBalance>> = [];\n if (config.twilio) jobs.push(twilioBalance(config.twilio));\n if (config.deepgram) jobs.push(deepgramBalance(config.deepgram));\n if (config.elevenlabs) jobs.push(elevenLabsBalance(config.elevenlabs));\n if (config.apollo) jobs.push(apolloBalance(config.apollo));\n if (\"brave\" in config) jobs.push(Promise.resolve(braveBalance(config.brave)));\n if (\"pinecone\" in config) {\n jobs.push(Promise.resolve(pineconeBalance(config.pinecone)));\n }\n if (config.anthropic) jobs.push(anthropicBalance(config.anthropic));\n if (config.openai) jobs.push(openaiBalance(config.openai));\n\n return Promise.all(jobs);\n};\n",
|
|
6
|
-
"/**\n * @absolutejs/billing — cost-model substrate for the AbsoluteJS PaaS.\n *\n * Two pieces:\n *\n * - `createPlan(...)` — declarative pricing config: optional flat\n * base fee + per-dimension unit prices, with optional graduated\n * tiers and free-tier allowances per dimension.\n *\n * - `computeInvoice({ plan, period, tenant, usage, currency? })`\n * — pure function that turns a `@absolutejs/metering`-shaped\n * `Usage` snapshot (or any record of metered numbers) into an\n * `Invoice` of line items + total. All money math is done in\n * integer **micros** (1 micro = 1/1,000,000 of a currency unit\n * — the same denomination Stripe uses internally) so float\n * drift is structurally impossible.\n *\n * Invoice sinks (push to Stripe, post to QuickBooks, mail a PDF)\n * live OUTSIDE this package, in `@absolutejs/billing-adapters/*`.\n * Keeping the substrate pure means the control plane can preview\n * invoices, run dry-run \"would-charge\" projections, and replay an\n * old usage snapshot through a new plan without touching any\n * vendor SDK.\n */\n\n// =============================================================================\n// Money primitives\n// =============================================================================\n\n/** Integer micros — 1,000,000 micros = 1 unit of the currency. */\nexport type Micros = number;\n\n/**\n * Round a fractional micros value to an integer. The substrate uses\n * **truncation** (banker's-style would surprise callers expecting\n * \"$0.0009 → $0.00\" not \"$0.0009 → $0.001\"). Plans override per-plan.\n */\nexport type Rounding = \"truncate\" | \"round-half-up\";\n\nconst roundMicros = (value: number, rounding: Rounding): Micros => {\n if (rounding === \"truncate\") return Math.trunc(value);\n return Math.round(value);\n};\n\n// =============================================================================\n// Pricing config\n// =============================================================================\n\n/**\n * One step in a graduated-tier price table. `upTo` is the inclusive\n * upper bound (in metered units, NOT micros) for this band.\n * `perUnitMicros` is what the customer pays per single metered unit\n * within this band. The last entry must have `upTo: Infinity` to\n * cover any overflow.\n */\nexport type PricingTier = {\n upTo: number;\n perUnitMicros: number;\n};\n\n/**\n * Per-dimension pricing. Three shapes:\n *\n * - Flat per-unit: `{ perUnitMicros: 200, unit: 1024 * 1024 }`\n * charges 200 micros ($0.0002) per MB of usage.\n *\n * - Tiered: `{ tiers: [...], unit: 1 }` charges per the first\n * matching `PricingTier` band.\n *\n * - Custom: `{ price: (quantity) => micros, unit: 1 }` — escape\n * hatch for surge / caps / non-monotonic pricing. The substrate\n * stays pure; you ship whatever function you want.\n *\n * `freeTier` is subtracted from the metered quantity BEFORE pricing\n * — the conventional \"first N units free\" rule.\n *\n * `unit` is the metered-unit denominator: 1 means \"price per single\n * metered unit\", 1024*1024 means \"price per MB when quantity is in\n * bytes.\" Default 1.\n *\n * `label` overrides the line-item display name.\n */\nexport type PricedDimension = {\n label?: string;\n freeTier?: number;\n unit?: number;\n} & (\n | { perUnitMicros: number; tiers?: never; price?: never }\n | { tiers: PricingTier[]; perUnitMicros?: never; price?: never }\n | {\n price: (chargedQuantity: number) => Micros;\n perUnitMicros?: never;\n tiers?: never;\n }\n);\n\nexport type Plan = {\n /** Human label for the invoice (`'pro'`, `'enterprise'`, etc.). */\n name: string;\n /** Optional flat base fee charged once per invoice period. */\n basePriceMicros?: Micros;\n /**\n * Dimensions priced from usage. Keys must match keys on the\n * `usage` record passed to `computeInvoice`. Anything not listed\n * is ignored.\n */\n pricedDimensions: Record<string, PricedDimension>;\n /** Default currency for invoices generated from this plan. */\n currency?: string;\n /** Rounding strategy applied per line item. Default `'truncate'`. */\n rounding?: Rounding;\n /**\n * Minimum charge (in micros) — if the computed total is below\n * this floor, the invoice total is raised to the floor and a\n * single `'minimum-charge-adjustment'` line item captures the\n * difference. Defaults to 0 (no floor).\n */\n minimumChargeMicros?: Micros;\n /** Arbitrary plan-level metadata that flows through to invoices. */\n metadata?: Record<string, string>;\n};\n\nexport const createPlan = (plan: Plan): Plan => {\n for (const [key, dim] of Object.entries(plan.pricedDimensions)) {\n if (dim.tiers !== undefined) {\n if (dim.tiers.length === 0) {\n throw new Error(`billing: dimension '${key}' has no tiers`);\n }\n const last = dim.tiers[dim.tiers.length - 1];\n if (last !== undefined && Number.isFinite(last.upTo)) {\n throw new Error(\n `billing: dimension '${key}' final tier must have upTo: Infinity`,\n );\n }\n let prev = 0;\n for (let i = 0; i < dim.tiers.length; i += 1) {\n const tier = dim.tiers[i]!;\n if (tier.upTo < prev) {\n throw new Error(\n `billing: dimension '${key}' tier #${i} upTo (${tier.upTo}) must be >= previous (${prev})`,\n );\n }\n prev = tier.upTo;\n }\n }\n }\n return plan;\n};\n\n// =============================================================================\n// Invoice shape\n// =============================================================================\n\nexport type LineItem = {\n /**\n * Stable key for the line item. For priced dimensions it's the\n * usage-record key (`'requests'`, `'cpuMs'`, etc.). For the base\n * fee it's `'base'`. For minimum-charge top-up it's\n * `'minimum-charge-adjustment'`.\n */\n key: string;\n /** Human-readable label. */\n label: string;\n /** Metered units BEFORE applying free tier. 0 for the base fee. */\n quantity: number;\n /** Metered units AFTER applying free tier (what's actually charged). */\n chargedQuantity: number;\n /** Free-tier units subtracted from `quantity`. */\n freeTier?: number;\n /** Charge for this line in integer micros. */\n amountMicros: Micros;\n /**\n * Tier-by-tier breakdown when graduated pricing was used. Each\n * entry: `{ tierIndex, unitsInTier, perUnitMicros, amountMicros }`.\n */\n tierBreakdown?: Array<{\n tierIndex: number;\n unitsInTier: number;\n perUnitMicros: number;\n amountMicros: Micros;\n }>;\n};\n\nexport type InvoicePeriod = {\n /** Inclusive period start (`Date.now()` ms). */\n start: number;\n /** Exclusive period end. */\n end: number;\n};\n\nexport type Invoice = {\n tenant: string;\n plan: string;\n currency: string;\n period: InvoicePeriod;\n lineItems: LineItem[];\n /** Sum of all `lineItems[].amountMicros`. */\n totalMicros: Micros;\n /** Convenience: `totalMicros / 1_000_000` as a number. */\n totalUnits: number;\n /** Plan-level metadata copied through unchanged. */\n metadata?: Record<string, string>;\n};\n\n// =============================================================================\n// Pricing math\n// =============================================================================\n\ntype ComputeDimensionInput = {\n quantity: number;\n dim: PricedDimension;\n rounding: Rounding;\n};\n\ntype ComputeDimensionResult = {\n amountMicros: Micros;\n chargedQuantity: number;\n tierBreakdown?: LineItem[\"tierBreakdown\"];\n};\n\nconst computeDimension = ({\n quantity,\n dim,\n rounding,\n}: ComputeDimensionInput): ComputeDimensionResult => {\n const free = dim.freeTier ?? 0;\n const charged = Math.max(0, quantity - free);\n const unit = dim.unit ?? 1;\n const chargedUnits = unit === 1 ? charged : charged / unit;\n\n if (dim.perUnitMicros !== undefined) {\n const amountMicros = roundMicros(\n chargedUnits * dim.perUnitMicros,\n rounding,\n );\n return { amountMicros, chargedQuantity: charged };\n }\n\n if (dim.price !== undefined) {\n const amountMicros = roundMicros(dim.price(charged), rounding);\n return { amountMicros, chargedQuantity: charged };\n }\n\n // Tiered pricing — walk tiers, allocate chargedUnits into bands.\n const tierBreakdown: NonNullable<LineItem[\"tierBreakdown\"]> = [];\n let remaining = chargedUnits;\n let bandFloor = 0;\n let totalMicros = 0;\n for (let i = 0; i < dim.tiers!.length && remaining > 0; i += 1) {\n const tier = dim.tiers![i]!;\n const bandWidth = tier.upTo - bandFloor;\n const unitsInTier = Math.min(remaining, bandWidth);\n if (unitsInTier > 0) {\n const tierMicros = roundMicros(\n unitsInTier * tier.perUnitMicros,\n rounding,\n );\n tierBreakdown.push({\n amountMicros: tierMicros,\n perUnitMicros: tier.perUnitMicros,\n tierIndex: i,\n unitsInTier,\n });\n totalMicros += tierMicros;\n }\n remaining -= unitsInTier;\n bandFloor = tier.upTo;\n }\n return {\n amountMicros: totalMicros,\n chargedQuantity: charged,\n tierBreakdown,\n };\n};\n\n// =============================================================================\n// computeInvoice — pure\n// =============================================================================\n\nexport type ComputeInvoiceInput = {\n plan: Plan;\n tenant: string;\n period: InvoicePeriod;\n /** Metered numbers keyed by the same names as `plan.pricedDimensions`. */\n usage: Record<string, number>;\n /** Override the plan's currency (e.g. for tenant-local invoicing). */\n currency?: string;\n};\n\nexport const computeInvoice = ({\n plan,\n tenant,\n period,\n usage,\n currency,\n}: ComputeInvoiceInput): Invoice => {\n const rounding = plan.rounding ?? \"truncate\";\n const lineItems: LineItem[] = [];\n\n if (plan.basePriceMicros !== undefined && plan.basePriceMicros > 0) {\n lineItems.push({\n amountMicros: plan.basePriceMicros,\n chargedQuantity: 1,\n key: \"base\",\n label: `${plan.name} base fee`,\n quantity: 1,\n });\n }\n\n for (const [key, dim] of Object.entries(plan.pricedDimensions)) {\n const quantity = usage[key] ?? 0;\n if (!Number.isFinite(quantity) || quantity < 0) continue;\n const result = computeDimension({ dim, quantity, rounding });\n if (result.amountMicros === 0 && result.chargedQuantity === 0) continue;\n const item: LineItem = {\n amountMicros: result.amountMicros,\n chargedQuantity: result.chargedQuantity,\n key,\n label: dim.label ?? key,\n quantity,\n };\n if (dim.freeTier !== undefined) item.freeTier = dim.freeTier;\n if (result.tierBreakdown !== undefined && result.tierBreakdown.length > 0) {\n item.tierBreakdown = result.tierBreakdown;\n }\n lineItems.push(item);\n }\n\n let totalMicros = lineItems.reduce((sum, item) => sum + item.amountMicros, 0);\n\n const floor = plan.minimumChargeMicros ?? 0;\n if (floor > 0 && totalMicros < floor) {\n const gap = floor - totalMicros;\n lineItems.push({\n amountMicros: gap,\n chargedQuantity: 1,\n key: \"minimum-charge-adjustment\",\n label: \"Minimum charge adjustment\",\n quantity: 1,\n });\n totalMicros = floor;\n }\n\n const invoice: Invoice = {\n currency: currency ?? plan.currency ?? \"usd\",\n lineItems,\n period,\n plan: plan.name,\n tenant,\n totalMicros,\n totalUnits: totalMicros / 1_000_000,\n };\n if (plan.metadata !== undefined) invoice.metadata = plan.metadata;\n return invoice;\n};\n\n// =============================================================================\n// Display helpers\n// =============================================================================\n\n/**\n * Format an integer micros amount as a human currency string. Pure\n * — no Intl side effects. For locales / advanced formatting, pipe\n * through `Intl.NumberFormat` yourself.\n */\nexport const formatMicros = (\n amount: Micros,\n currency: string,\n { minorUnits = 2 }: { minorUnits?: number } = {},\n): string => {\n const sign = amount < 0 ? \"-\" : \"\";\n const abs = Math.abs(amount);\n const wholeMicrosPerMinor = 10 ** (6 - minorUnits);\n const minorTotal = Math.round(abs / wholeMicrosPerMinor);\n const divisor = 10 ** minorUnits;\n const whole = Math.trunc(minorTotal / divisor);\n const upper = currency.toUpperCase();\n if (minorUnits === 0) return `${sign}${whole} ${upper}`;\n const fraction = minorTotal % divisor;\n const fractionStr = fraction.toString().padStart(minorUnits, \"0\");\n return `${sign}${whole}.${fractionStr} ${upper}`;\n};\n\n// Provider balances — read upstream vendors' real balance/quota/spend (the\n// inverse of computeInvoice). See ./balances.\nexport {\n readProviderBalances,\n type ProviderBalance,\n type ProviderBalanceConfig,\n type ProviderBalanceKind,\n type ProviderBalanceStatus,\n type BraveUsageSnapshot,\n type EmbeddingUsageSnapshot,\n} from \"./balances\";\n"
|
|
6
|
+
"/**\n * @absolutejs/billing — cost-model substrate for the AbsoluteJS PaaS.\n *\n * Two pieces:\n *\n * - `createPlan(...)` — declarative pricing config: optional flat\n * base fee + per-dimension unit prices, with optional graduated\n * tiers and free-tier allowances per dimension.\n *\n * - `computeInvoice({ plan, period, tenant, usage, currency? })`\n * — pure function that turns a `@absolutejs/metering`-shaped\n * `Usage` snapshot (or any record of metered numbers) into an\n * `Invoice` of line items + total. All money math is done in\n * integer **micros** (1 micro = 1/1,000,000 of a currency unit\n * — the same denomination Stripe uses internally) so float\n * drift is structurally impossible.\n *\n * Invoice sinks (push to Stripe, post to QuickBooks, mail a PDF)\n * live OUTSIDE this package, in `@absolutejs/billing-adapters/*`.\n * Keeping the substrate pure means the control plane can preview\n * invoices, run dry-run \"would-charge\" projections, and replay an\n * old usage snapshot through a new plan without touching any\n * vendor SDK.\n */\n\n// =============================================================================\n// Money primitives\n// =============================================================================\n\n/**\n * An integer amount in a plan's sub-units. 1,000,000 (micros) by default, but\n * a plan may choose a finer denomination — see `Plan.denomination`.\n */\nexport type Micros = number;\n\n/** Sub-units per currency unit when a plan does not say otherwise. */\nexport const DEFAULT_DENOMINATION = 1_000_000;\n\n/** Nanos — the denomination token-priced APIs need. */\nexport const NANO_DENOMINATION = 1_000_000_000;\n\n/**\n * Round a fractional micros value to an integer. The substrate uses\n * **truncation** (banker's-style would surprise callers expecting\n * \"$0.0009 → $0.00\" not \"$0.0009 → $0.001\"). Plans override per-plan.\n */\nexport type Rounding = \"truncate\" | \"round-half-up\";\n\nconst roundMicros = (value: number, rounding: Rounding): Micros => {\n if (rounding === \"truncate\") return Math.trunc(value);\n return Math.round(value);\n};\n\n// =============================================================================\n// Pricing config\n// =============================================================================\n\n/**\n * One step in a graduated-tier price table. `upTo` is the inclusive\n * upper bound (in metered units, NOT micros) for this band.\n * `perUnitMicros` is what the customer pays per single metered unit\n * within this band. The last entry must have `upTo: Infinity` to\n * cover any overflow.\n */\nexport type PricingTier = {\n upTo: number;\n perUnitMicros: number;\n};\n\n/**\n * Per-dimension pricing. Three shapes:\n *\n * - Flat per-unit: `{ perUnitMicros: 200, unit: 1024 * 1024 }`\n * charges 200 micros ($0.0002) per MB of usage.\n *\n * - Tiered: `{ tiers: [...], unit: 1 }` charges per the first\n * matching `PricingTier` band.\n *\n * - Custom: `{ price: (quantity) => micros, unit: 1 }` — escape\n * hatch for surge / caps / non-monotonic pricing. The substrate\n * stays pure; you ship whatever function you want.\n *\n * `freeTier` is subtracted from the metered quantity BEFORE pricing\n * — the conventional \"first N units free\" rule.\n *\n * `unit` is the metered-unit denominator: 1 means \"price per single\n * metered unit\", 1024*1024 means \"price per MB when quantity is in\n * bytes.\" Default 1.\n *\n * `label` overrides the line-item display name.\n */\nexport type PricedDimension = {\n label?: string;\n freeTier?: number;\n unit?: number;\n} & (\n | { perUnitMicros: number; tiers?: never; price?: never }\n | { tiers: PricingTier[]; perUnitMicros?: never; price?: never }\n | {\n price: (chargedQuantity: number) => Micros;\n perUnitMicros?: never;\n tiers?: never;\n }\n);\n\nexport type Plan = {\n /** Human label for the invoice (`'pro'`, `'enterprise'`, etc.). */\n name: string;\n /**\n * Sub-units per currency unit. Defaults to 1,000,000 (micros).\n *\n * Micros are too coarse for token-priced APIs: at $0.16 per million\n * embedding tokens a five-token call costs $0.0000008, which truncates to\n * ZERO in micros — so a plan priced in micros systematically under-bills\n * its cheapest calls. Set `1_000_000_000` to price in nanos, or any other\n * power of ten the vendor's rate card needs. Every `*Micros` field on the\n * plan and the invoice is denominated in these sub-units.\n */\n denomination?: number;\n /** Optional flat base fee charged once per invoice period. */\n basePriceMicros?: Micros;\n /**\n * Dimensions priced from usage. Keys must match keys on the\n * `usage` record passed to `computeInvoice`. Anything not listed\n * is ignored.\n */\n pricedDimensions: Record<string, PricedDimension>;\n /** Default currency for invoices generated from this plan. */\n currency?: string;\n /** Rounding strategy applied per line item. Default `'truncate'`. */\n rounding?: Rounding;\n /**\n * Minimum charge (in micros) — if the computed total is below\n * this floor, the invoice total is raised to the floor and a\n * single `'minimum-charge-adjustment'` line item captures the\n * difference. Defaults to 0 (no floor).\n */\n minimumChargeMicros?: Micros;\n /** Arbitrary plan-level metadata that flows through to invoices. */\n metadata?: Record<string, string>;\n};\n\nexport const createPlan = (plan: Plan): Plan => {\n for (const [key, dim] of Object.entries(plan.pricedDimensions)) {\n if (dim.tiers !== undefined) {\n if (dim.tiers.length === 0) {\n throw new Error(`billing: dimension '${key}' has no tiers`);\n }\n const last = dim.tiers[dim.tiers.length - 1];\n if (last !== undefined && Number.isFinite(last.upTo)) {\n throw new Error(\n `billing: dimension '${key}' final tier must have upTo: Infinity`,\n );\n }\n let prev = 0;\n for (let i = 0; i < dim.tiers.length; i += 1) {\n const tier = dim.tiers[i]!;\n if (tier.upTo < prev) {\n throw new Error(\n `billing: dimension '${key}' tier #${i} upTo (${tier.upTo}) must be >= previous (${prev})`,\n );\n }\n prev = tier.upTo;\n }\n }\n }\n return plan;\n};\n\n// =============================================================================\n// Invoice shape\n// =============================================================================\n\nexport type LineItem = {\n /**\n * Stable key for the line item. For priced dimensions it's the\n * usage-record key (`'requests'`, `'cpuMs'`, etc.). For the base\n * fee it's `'base'`. For minimum-charge top-up it's\n * `'minimum-charge-adjustment'`.\n */\n key: string;\n /** Human-readable label. */\n label: string;\n /** Metered units BEFORE applying free tier. 0 for the base fee. */\n quantity: number;\n /** Metered units AFTER applying free tier (what's actually charged). */\n chargedQuantity: number;\n /** Free-tier units subtracted from `quantity`. */\n freeTier?: number;\n /** Charge for this line in integer micros. */\n amountMicros: Micros;\n /**\n * Tier-by-tier breakdown when graduated pricing was used. Each\n * entry: `{ tierIndex, unitsInTier, perUnitMicros, amountMicros }`.\n */\n tierBreakdown?: Array<{\n tierIndex: number;\n unitsInTier: number;\n perUnitMicros: number;\n amountMicros: Micros;\n }>;\n};\n\nexport type InvoicePeriod = {\n /** Inclusive period start (`Date.now()` ms). */\n start: number;\n /** Exclusive period end. */\n end: number;\n};\n\nexport type Invoice = {\n tenant: string;\n plan: string;\n currency: string;\n /** Sub-units per currency unit these amounts are in (default micros). */\n denomination: number;\n period: InvoicePeriod;\n lineItems: LineItem[];\n /** Sum of all `lineItems[].amountMicros`. */\n totalMicros: Micros;\n /** Convenience: `totalMicros / 1_000_000` as a number. */\n totalUnits: number;\n /** Plan-level metadata copied through unchanged. */\n metadata?: Record<string, string>;\n};\n\n// =============================================================================\n// Pricing math\n// =============================================================================\n\ntype ComputeDimensionInput = {\n quantity: number;\n dim: PricedDimension;\n rounding: Rounding;\n};\n\ntype ComputeDimensionResult = {\n amountMicros: Micros;\n chargedQuantity: number;\n tierBreakdown?: LineItem[\"tierBreakdown\"];\n};\n\nconst computeDimension = ({\n quantity,\n dim,\n rounding,\n}: ComputeDimensionInput): ComputeDimensionResult => {\n const free = dim.freeTier ?? 0;\n const charged = Math.max(0, quantity - free);\n const unit = dim.unit ?? 1;\n const chargedUnits = unit === 1 ? charged : charged / unit;\n\n if (dim.perUnitMicros !== undefined) {\n const amountMicros = roundMicros(\n chargedUnits * dim.perUnitMicros,\n rounding,\n );\n return { amountMicros, chargedQuantity: charged };\n }\n\n if (dim.price !== undefined) {\n const amountMicros = roundMicros(dim.price(charged), rounding);\n return { amountMicros, chargedQuantity: charged };\n }\n\n // Tiered pricing — walk tiers, allocate chargedUnits into bands.\n const tierBreakdown: NonNullable<LineItem[\"tierBreakdown\"]> = [];\n let remaining = chargedUnits;\n let bandFloor = 0;\n let totalMicros = 0;\n for (let i = 0; i < dim.tiers!.length && remaining > 0; i += 1) {\n const tier = dim.tiers![i]!;\n const bandWidth = tier.upTo - bandFloor;\n const unitsInTier = Math.min(remaining, bandWidth);\n if (unitsInTier > 0) {\n const tierMicros = roundMicros(\n unitsInTier * tier.perUnitMicros,\n rounding,\n );\n tierBreakdown.push({\n amountMicros: tierMicros,\n perUnitMicros: tier.perUnitMicros,\n tierIndex: i,\n unitsInTier,\n });\n totalMicros += tierMicros;\n }\n remaining -= unitsInTier;\n bandFloor = tier.upTo;\n }\n return {\n amountMicros: totalMicros,\n chargedQuantity: charged,\n tierBreakdown,\n };\n};\n\n// =============================================================================\n// computeInvoice — pure\n// =============================================================================\n\nexport type ComputeInvoiceInput = {\n plan: Plan;\n tenant: string;\n period: InvoicePeriod;\n /** Metered numbers keyed by the same names as `plan.pricedDimensions`. */\n usage: Record<string, number>;\n /** Override the plan's currency (e.g. for tenant-local invoicing). */\n currency?: string;\n};\n\nexport const computeInvoice = ({\n plan,\n tenant,\n period,\n usage,\n currency,\n}: ComputeInvoiceInput): Invoice => {\n const rounding = plan.rounding ?? \"truncate\";\n const lineItems: LineItem[] = [];\n\n if (plan.basePriceMicros !== undefined && plan.basePriceMicros > 0) {\n lineItems.push({\n amountMicros: plan.basePriceMicros,\n chargedQuantity: 1,\n key: \"base\",\n label: `${plan.name} base fee`,\n quantity: 1,\n });\n }\n\n for (const [key, dim] of Object.entries(plan.pricedDimensions)) {\n const quantity = usage[key] ?? 0;\n if (!Number.isFinite(quantity) || quantity < 0) continue;\n const result = computeDimension({ dim, quantity, rounding });\n if (result.amountMicros === 0 && result.chargedQuantity === 0) continue;\n const item: LineItem = {\n amountMicros: result.amountMicros,\n chargedQuantity: result.chargedQuantity,\n key,\n label: dim.label ?? key,\n quantity,\n };\n if (dim.freeTier !== undefined) item.freeTier = dim.freeTier;\n if (result.tierBreakdown !== undefined && result.tierBreakdown.length > 0) {\n item.tierBreakdown = result.tierBreakdown;\n }\n lineItems.push(item);\n }\n\n let totalMicros = lineItems.reduce((sum, item) => sum + item.amountMicros, 0);\n\n const floor = plan.minimumChargeMicros ?? 0;\n if (floor > 0 && totalMicros < floor) {\n const gap = floor - totalMicros;\n lineItems.push({\n amountMicros: gap,\n chargedQuantity: 1,\n key: \"minimum-charge-adjustment\",\n label: \"Minimum charge adjustment\",\n quantity: 1,\n });\n totalMicros = floor;\n }\n\n const denomination = plan.denomination ?? DEFAULT_DENOMINATION;\n const invoice: Invoice = {\n currency: currency ?? plan.currency ?? \"usd\",\n denomination,\n lineItems,\n period,\n plan: plan.name,\n tenant,\n totalMicros,\n totalUnits: totalMicros / denomination,\n };\n if (plan.metadata !== undefined) invoice.metadata = plan.metadata;\n return invoice;\n};\n\n// =============================================================================\n// Display helpers\n// =============================================================================\n\n/**\n * Format an integer micros amount as a human currency string. Pure\n * — no Intl side effects. For locales / advanced formatting, pipe\n * through `Intl.NumberFormat` yourself.\n */\nexport const formatMicros = (\n amount: Micros,\n currency: string,\n {\n denomination = DEFAULT_DENOMINATION,\n minorUnits = 2,\n }: { denomination?: number; minorUnits?: number } = {},\n): string => {\n const sign = amount < 0 ? \"-\" : \"\";\n const abs = Math.abs(amount);\n const exponent = Math.round(Math.log10(denomination));\n const wholeMicrosPerMinor = 10 ** (exponent - minorUnits);\n const minorTotal = Math.round(abs / wholeMicrosPerMinor);\n const divisor = 10 ** minorUnits;\n const whole = Math.trunc(minorTotal / divisor);\n const upper = currency.toUpperCase();\n if (minorUnits === 0) return `${sign}${whole} ${upper}`;\n const fraction = minorTotal % divisor;\n const fractionStr = fraction.toString().padStart(minorUnits, \"0\");\n return `${sign}${whole}.${fractionStr} ${upper}`;\n};\n\n// Provider balances — read upstream vendors' real balance/quota/spend (the\n// inverse of computeInvoice). See ./balances.\nexport {\n readProviderBalances,\n type ProviderBalance,\n type ProviderBalanceConfig,\n type ProviderBalanceKind,\n type ProviderBalanceStatus,\n type BraveUsageSnapshot,\n type EmbeddingUsageSnapshot,\n} from \"./balances\";\n"
|
|
7
7
|
],
|
|
8
|
-
"mappings": "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",
|
|
9
|
-
"debugId": "
|
|
8
|
+
"mappings": ";;;;;;;;;;;;;;;;;AAoBA,IAAM,mBAAmB;AAGzB,IAAM,wBAAwB;AAC9B,IAAM,gBAAgB;AACtB,IAAM,aAAa;AACnB,IAAM,UAAU;AAChB,IAAM,WAAW;AACjB,IAAM,mBAAmB;AAkEzB,IAAM,SAAS,MAAM,IAAI,KAAK,EAAE,YAAY;AAE5C,IAAM,WAAW,CAAC,UAChB,OAAO,UAAU,YAAY,UAAU;AAEzC,IAAM,WAAW,CAAC,UAChB,OAAO,UAAU,YAAY,OAAO,SAAS,KAAK,IAAI,QAAQ;AAEhE,IAAM,MAAM,CAAC,WAAmB,IAAI,OAAO,QAAQ,CAAC;AAEpD,IAAM,UAAU,CAAC,UAAkB;AAAA,EACjC,IAAI,SAAS;AAAA,IAAS,OAAO,IAAI,QAAQ,SAAS,QAAQ,CAAC;AAAA,EAC3D,IAAI,SAAS;AAAA,IAAU,OAAO,IAAI,QAAQ,UAAU,QAAQ,CAAC;AAAA,EAE7D,OAAO,OAAO,KAAK;AAAA;AAGrB,IAAM,OAAO,CAAC,UAAkB,UAAkB;AAAA,EAChD,MAAM,SAA0B;AAAA,IAC9B,WAAW,OAAO;AAAA,IAClB,QAAQ;AAAA,IACR,MAAM;AAAA,IACN;AAAA,IACA,OAAO;AAAA,IACP,MAAM;AAAA,IACN;AAAA,IACA,WAAW;AAAA,IACX,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AAAA,EAEA,OAAO;AAAA;AAGT,IAAM,eAAe,CAAC,UAAkB,OAAe,SAAiB;AAAA,EACtE,MAAM,SAA0B;AAAA,OAC3B,KAAK,UAAU,KAAK;AAAA,IACvB;AAAA,IACA,QAAQ;AAAA,EACV;AAAA,EAEA,OAAO;AAAA;AAGT,IAAM,UAAU,CAAC,UAAkB,OAAe,YAAoB;AAAA,EACpE,MAAM,SAA0B;AAAA,OAC3B,KAAK,UAAU,KAAK;AAAA,IACvB,QAAQ;AAAA,IACR,MAAM;AAAA,EACR;AAAA,EAEA,OAAO;AAAA;AAGT,IAAM,YAAY,OAChB,KACA,SACA,OAAgD,CAAC,MAC9C;AAAA,EACH,MAAM,aAAa,IAAI;AAAA,EACvB,MAAM,QAAQ,WACZ,MAAM,WAAW,MAAM,GACvB,KAAK,aAAa,gBACpB;AAAA,EACA,IAAI;AAAA,IACF,MAAM,WAAW,MAAM,MAAM,KAAK;AAAA,MAChC;AAAA,MACA,QAAQ,KAAK,UAAU;AAAA,MACvB,QAAQ,WAAW;AAAA,IACrB,CAAC;AAAA,IACD,IAAI,CAAC,SAAS,IAAI;AAAA,MAGhB,MAAM,OAAO,MAAM,SAAS,KAAK,EAAE,MAAM,MAAM,EAAE;AAAA,MACjD,MAAM,UAAU,KAAK,QAAQ,QAAQ,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG;AAAA,MAC7D,MAAM,IAAI,MACR,UACI,QAAQ,SAAS,WAAW,YAC5B,QAAQ,SAAS,QACvB;AAAA,IACF;AAAA,IACA,MAAM,OAAgB,MAAM,SAAS,KAAK;AAAA,IAE1C,OAAO;AAAA,YACP;AAAA,IACA,aAAa,KAAK;AAAA;AAAA;AAKtB,IAAM,gBAAgB,OAAO,UAGvB;AAAA,EACJ,IAAI,CAAC,MAAM,cAAc,CAAC,MAAM,WAAW;AAAA,IACzC,OAAO,aAAa,UAAU,UAAU,0BAA0B;AAAA,EACpE;AAAA,EACA,IAAI;AAAA,IACF,MAAM,OAAO,OAAO,KAAK,GAAG,MAAM,cAAc,MAAM,WAAW,EAAE,SACjE,QACF;AAAA,IACA,MAAM,UAAkC,EAAE,eAAe,SAAS,OAAO;AAAA,IACzE,OAAO,MAAM,WAAW,MAAM,QAAQ,IAAI;AAAA,MACxC,UACE,8CAA8C,MAAM,2BACpD,OACF;AAAA,MACA,UACE,8CAA8C,MAAM,mBACpD,OACF;AAAA,IACF,CAAC;AAAA,IACD,MAAM,UAAU,SAAS,IAAI,IAAI,SAAS,OAAO,KAAK,OAAO,CAAC,IAAI;AAAA,IAClE,MAAM,WACJ,SAAS,IAAI,KAAK,OAAO,KAAK,aAAa,WACvC,KAAK,WACL;AAAA,IACN,MAAM,cACJ,SAAS,OAAO,KAAK,OAAO,QAAQ,SAAS,WACzC,QAAQ,OACR;AAAA,IACN,IAAI,YAAY;AAAA,MAAM,MAAM,IAAI,MAAM,kBAAkB;AAAA,IACxD,MAAM,SAA0B;AAAA,SAC3B,KAAK,UAAU,QAAQ;AAAA,MAC1B,QAAQ,GAAG,YAAY,QAAQ,QAAQ,CAAC;AAAA,MACxC,MAAM;AAAA,MACN,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IAEA,OAAO;AAAA,IACP,OAAO,OAAO;AAAA,IACd,OAAO,QAAQ,UAAU,UAAU,OAAO,KAAK,CAAC;AAAA;AAAA;AAKpD,IAAM,oBAAoB,CAAC,aAAsB;AAAA,EAC/C,MAAM,OACJ,SAAS,QAAQ,KAAK,MAAM,QAAQ,SAAS,QAAQ,IACjD,SAAS,WACT,CAAC;AAAA,EAEP,OAAO,KACJ,IAAI,CAAC,SACJ,SAAS,IAAI,KAAK,OAAO,KAAK,eAAe,WACzC,KAAK,aACL,IACN,EACC,OAAO,CAAC,OAAqB,OAAO,IAAI;AAAA;AAG7C,IAAM,cAAc,CAAC,aAAsB;AAAA,EACzC,MAAM,OACJ,SAAS,QAAQ,KAAK,MAAM,QAAQ,SAAS,QAAQ,IACjD,SAAS,WACT,CAAC;AAAA,EAEP,OAAO,KAAK,OACV,CAAC,OAAO,QAAQ,SAAS,SAAS,GAAG,IAAK,SAAS,IAAI,MAAM,KAAK,IAAK,IACvE,CACF;AAAA;AAGF,IAAM,qBAAqB,OAAO,YAAoC;AAAA,EACpE,MAAM,WAAW,MAAM,UACrB,wCACA,OACF;AAAA,EACA,IAAI,QAAQ;AAAA,EACZ,WAAW,aAAa,kBAAkB,QAAQ,GAAG;AAAA,IAEnD,MAAM,WAAW,MAAM,UACrB,wCAAwC,sBACxC,OACF;AAAA,IACA,SAAS,YAAY,QAAQ;AAAA,EAC/B;AAAA,EAEA,OAAO;AAAA;AAGT,IAAM,kBAAkB,OAAO,UAA8B;AAAA,EAC3D,IAAI,CAAC,MAAM;AAAA,IACT,OAAO,aAAa,YAAY,YAAY,eAAe;AAAA,EAC7D,IAAI;AAAA,IACF,MAAM,QAAQ,MAAM,mBAAmB;AAAA,MACrC,eAAe,SAAS,MAAM;AAAA,IAChC,CAAC;AAAA,IACD,MAAM,SAA0B;AAAA,SAC3B,KAAK,YAAY,UAAU;AAAA,MAC9B,QAAQ,GAAG,IAAI,KAAK;AAAA,MACpB,MAAM;AAAA,MACN,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,MAAM;AAAA,IACR;AAAA,IAEA,OAAO;AAAA,IACP,OAAO,OAAO;AAAA,IACd,OAAO,QAAQ,YAAY,YAAY,OAAO,KAAK,CAAC;AAAA;AAAA;AAKxD,IAAM,oBAAoB,OAAO,UAA8B;AAAA,EAC7D,IAAI,CAAC,MAAM;AAAA,IACT,OAAO,aAAa,cAAc,cAAc,eAAe;AAAA,EACjE,IAAI;AAAA,IACF,MAAM,OAAO,MAAM,UACjB,kDACA;AAAA,MACE,cAAc,MAAM;AAAA,IACtB,CACF;AAAA,IACA,MAAM,YAAY,SAAS,IAAI,IAAI,SAAS,KAAK,eAAe,IAAI;AAAA,IACpE,MAAM,aAAa,SAAS,IAAI,IAAI,SAAS,KAAK,eAAe,IAAI;AAAA,IACrE,IAAI,cAAc,QAAQ,eAAe,MAAM;AAAA,MAC7C,MAAM,IAAI,MAAM,qBAAqB;AAAA,IACvC;AAAA,IACA,MAAM,YAAY,SAAS,IAAI,IAC3B,SAAS,KAAK,+BAA+B,IAC7C;AAAA,IACJ,MAAM,OACJ,SAAS,IAAI,KAAK,OAAO,KAAK,SAAS,WAAW,KAAK,OAAO;AAAA,IAChE,MAAM,YAAY,KAAK,IAAI,GAAG,aAAa,SAAS;AAAA,IACpD,MAAM,SAA0B;AAAA,SAC3B,KAAK,cAAc,YAAY;AAAA,MAClC,QAAQ,GAAG,QAAQ,SAAS,OAAO,QAAQ,UAAU;AAAA,MACrD,MAAM;AAAA,MACN,OAAO;AAAA,MACP;AAAA,MACA,WAAW,YACP,IAAI,KAAK,YAAY,aAAa,EAAE,YAAY,IAChD;AAAA,MACJ,QAAQ;AAAA,MACR;AAAA,MACA,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IAEA,OAAO;AAAA,IACP,OAAO,OAAO;AAAA,IACd,OAAO,QAAQ,cAAc,cAAc,OAAO,KAAK,CAAC;AAAA;AAAA;AAK5D,IAAM,sBAAsB,CAAC,SAAkB;AAAA,EAC7C,IAAI,WAAW;AAAA,EACf,IAAI,QAAQ;AAAA,EACZ,IAAI,CAAC,SAAS,IAAI;AAAA,IAAG,OAAO,EAAE,UAAU,MAAM;AAAA,EAC9C,WAAW,SAAS,OAAO,OAAO,IAAI,GAAG;AAAA,IACvC,MAAM,MAAM,SAAS,KAAK,KAAK,SAAS,MAAM,GAAG,IAAI,MAAM,MAAM;AAAA,IACjE,IAAI,CAAC;AAAA,MAAK;AAAA,IACV,MAAM,WAAW,SAAS,IAAI,KAAK,KAAK;AAAA,IACxC,IAAI,YAAY;AAAA,MAAO;AAAA,IACvB,QAAQ;AAAA,IACR,WAAW,SAAS,IAAI,QAAQ,KAAK;AAAA,EACvC;AAAA,EAEA,OAAO,EAAE,UAAU,MAAM;AAAA;AAG3B,IAAM,eAAe,CAAC,UAAkB,UAAkB;AAAA,EACxD,IAAI,UAAU,GAAG;AAAA,IACf,MAAM,UAA2B;AAAA,SAC5B,KAAK,UAAU,QAAQ;AAAA,MAC1B,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,QAAQ;AAAA,IACV;AAAA,IAEA,OAAO;AAAA,EACT;AAAA,EACA,MAAM,SAA0B;AAAA,OAC3B,KAAK,UAAU,QAAQ;AAAA,IAC1B,QAAQ,GAAG,KAAK,IAAI,GAAG,QAAQ,QAAQ,OAAO;AAAA,IAC9C,MAAM;AAAA,IACN;AAAA,IACA,WAAW,KAAK,IAAI,GAAG,QAAQ,QAAQ;AAAA,IACvC,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AAAA,EAEA,OAAO;AAAA;AAGT,IAAM,gBAAgB,OAAO,UAA8B;AAAA,EACzD,IAAI,CAAC,MAAM;AAAA,IAAQ,OAAO,aAAa,UAAU,UAAU,eAAe;AAAA,EAC1E,IAAI;AAAA,IAEF,MAAM,OAAO,MAAM,UACjB,4DACA,EAAE,gBAAgB,oBAAoB,aAAa,MAAM,OAAO,GAChE,EAAE,QAAQ,OAAO,CACnB;AAAA,IACA,QAAQ,UAAU,UAAU,oBAAoB,IAAI;AAAA,IAEpD,OAAO,aAAa,UAAU,KAAK;AAAA,IACnC,OAAO,OAAO;AAAA,IACd,OAAO,QACL,UACA,UACA,GAAG,qDACL;AAAA;AAAA;AAKJ,IAAM,gBAAgB,CAAC,WAAmB;AAAA,EACxC,MAAM,WAAU;AAAA,EAChB,MAAM,YAAW;AAAA,EACjB,IAAI,UAAU;AAAA,IAAS,OAAO,IAAI,SAAS,UAAS,QAAQ,CAAC;AAAA,EAE7D,OAAO,GAAG,KAAK,MAAM,SAAS,SAAQ;AAAA;AAGxC,IAAM,kBAAkB,CAAC,SAAoD;AAAA,EAC3E,IAAI,CAAC,MAAM;AAAA,IACT,OAAO,aACL,YACA,uBACA,sFACF;AAAA,EACF;AAAA,EACA,MAAM,YAAY,KAAK,IAAI,GAAG,KAAK,oBAAoB,KAAK,UAAU;AAAA,EACtE,MAAM,QAAyB;AAAA,OAC1B,KAAK,YAAY,qBAAqB;AAAA,IACzC,WAAW,KAAK;AAAA,IAChB,QAAQ,KAAK,YACT,GAAG,cAAc,KAAK,UAAU,OAAO,cAAc,KAAK,iBAAiB,oDAC3E,GAAG,cAAc,KAAK,UAAU,OAAO,cAAc,KAAK,iBAAiB;AAAA,IAC/E,MAAM;AAAA,IACN,OAAO,KAAK;AAAA,IACZ,MAAM;AAAA,IACN;AAAA,IACA,WAAW,KAAK,aAAa;AAAA,IAC7B,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,MAAM,KAAK;AAAA,EACb;AAAA,EAEA,OAAO;AAAA;AAIT,IAAM,eAAe,CAAC,SAAgD;AAAA,EACpE,IAAI,CAAC,MAAM;AAAA,IACT,OAAO,aACL,SACA,gBACA,iEACF;AAAA,EACF;AAAA,EACA,IAAI,KAAK,gBAAgB,KAAK,eAAe,GAAG;AAAA,IAC9C,MAAM,YAAY,KAAK,oBAAoB;AAAA,IAC3C,MAAM,QAAyB;AAAA,SAC1B,KAAK,SAAS,cAAc;AAAA,MAC/B,WAAW,KAAK;AAAA,MAChB,QAAQ,GAAG,eAAe,KAAK;AAAA,MAC/B,MAAM;AAAA,MACN,OAAO,KAAK;AAAA,MACZ;AAAA,MACA,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,MAAM,KAAK,eAAe;AAAA,IAC5B;AAAA,IAEA,OAAO;AAAA,EACT;AAAA,EACA,MAAM,UAA2B;AAAA,OAC5B,KAAK,SAAS,cAAc;AAAA,IAC/B,WAAW,KAAK;AAAA,IAChB,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,MAAM;AAAA,EACR;AAAA,EAEA,OAAO;AAAA;AAGT,IAAM,kBAAkB,MAAM,KAAK,IAAI,IAAI,mBAAmB;AAG9D,IAAM,iBAAiB,CAAC,SAAkB;AAAA,EACxC,MAAM,UAAU,SAAS,IAAI,KAAK,MAAM,QAAQ,KAAK,IAAI,IAAI,KAAK,OAAO,CAAC;AAAA,EAE1E,OAAO,QAAQ,OAAe,CAAC,OAAO,WAAW;AAAA,IAC/C,MAAM,UACJ,SAAS,MAAM,KAAK,MAAM,QAAQ,OAAO,OAAO,IAAI,OAAO,UAAU,CAAC;AAAA,IACxE,MAAM,YAAY,QAAQ,OAAe,CAAC,KAAK,QAAQ;AAAA,MACrD,MAAM,SAAS,SAAS,GAAG,KAAK,SAAS,IAAI,MAAM,IAAI,IAAI,SAAS;AAAA,MACpE,MAAM,QAAQ,SAAS,OAAO,OAAO,KAAK,IAAI;AAAA,MAE9C,OAAO,OAAO,OAAO,SAAS,KAAK,IAAI,QAAQ;AAAA,OAC9C,CAAC;AAAA,IAEJ,OAAO,QAAQ;AAAA,KACd,CAAC;AAAA;AAGN,IAAM,gBAAgB,OAAO,UAAgC;AAAA,EAC3D,IAAI,CAAC,MAAM,UAAU;AAAA,IACnB,OAAO,aACL,UACA,UACA,oEACF;AAAA,EACF;AAAA,EACA,IAAI;AAAA,IACF,MAAM,YAAY,KAAK,MAAM,gBAAgB,IAAI,aAAa;AAAA,IAC9D,MAAM,OAAO,MAAM,UACjB,2DAA2D,mBAAmB,mBAAmB,KACjG,EAAE,eAAe,UAAU,MAAM,WAAW,GAC5C,EAAE,WAAW,sBAAsB,CACrC;AAAA,IACA,MAAM,SAA0B;AAAA,SAC3B,KAAK,UAAU,QAAQ;AAAA,MAC1B,QAAQ,GAAG,IAAI,eAAe,IAAI,CAAC;AAAA,MACnC,MAAM;AAAA,MACN,MAAM;AAAA,MACN,QAAQ;AAAA,IACV;AAAA,IAEA,OAAO;AAAA,IACP,OAAO,OAAO;AAAA,IACd,OAAO,QAAQ,UAAU,UAAU,OAAO,KAAK,CAAC;AAAA;AAAA;AAKpD,IAAM,oBAAoB,CAAC,SAAkB;AAAA,EAC3C,MAAM,UAAU,SAAS,IAAI,KAAK,MAAM,QAAQ,KAAK,IAAI,IAAI,KAAK,OAAO,CAAC;AAAA,EAE1E,OAAO,QAAQ,OAAe,CAAC,OAAO,WAAW;AAAA,IAC/C,MAAM,UACJ,SAAS,MAAM,KAAK,MAAM,QAAQ,OAAO,OAAO,IAAI,OAAO,UAAU,CAAC;AAAA,IACxE,MAAM,YAAY,QAAQ,OAAe,CAAC,KAAK,QAAQ;AAAA,MACrD,IAAI,CAAC,SAAS,GAAG;AAAA,QAAG,OAAO;AAAA,MAC3B,MAAM,MAAM,IAAI,UAAU,IAAI,QAAQ,IAAI;AAAA,MAC1C,MAAM,QAAQ,OAAO,SAAS,GAAG,IAAK,IAAI,SAAS,IAAI,SAAU,GAAG;AAAA,MAEpE,OAAO,OAAO,OAAO,SAAS,KAAK,IAAI,QAAQ;AAAA,OAC9C,CAAC;AAAA,IAEJ,OAAO,QAAQ;AAAA,KACd,CAAC;AAAA;AAGN,IAAM,mBAAmB,OAAO,UAAgC;AAAA,EAC9D,IAAI,CAAC,MAAM,UAAU;AAAA,IACnB,OAAO,aACL,aACA,aACA,uEACF;AAAA,EACF;AAAA,EACA,IAAI;AAAA,IACF,MAAM,YAAY,IAAI,KAAK,gBAAgB,CAAC,EAAE,YAAY;AAAA,IAC1D,MAAM,OAAO,MAAM,UACjB,sEAAsE,aACtE,EAAE,qBAAqB,cAAc,aAAa,MAAM,SAAS,GACjE,EAAE,WAAW,sBAAsB,CACrC;AAAA,IACA,MAAM,SAA0B;AAAA,SAC3B,KAAK,aAAa,WAAW;AAAA,MAChC,QAAQ,GAAG,IAAI,kBAAkB,IAAI,CAAC;AAAA,MACtC,MAAM;AAAA,MACN,MAAM;AAAA,MACN,QAAQ;AAAA,IACV;AAAA,IAEA,OAAO;AAAA,IACP,OAAO,OAAO;AAAA,IACd,OAAO,QACL,aACA,aACA,GAAG,8EACL;AAAA;AAAA;AAUG,IAAM,uBAAuB,OAClC,WAC+B;AAAA,EAC/B,MAAM,OAAwC,CAAC;AAAA,EAC/C,IAAI,OAAO;AAAA,IAAQ,KAAK,KAAK,cAAc,OAAO,MAAM,CAAC;AAAA,EACzD,IAAI,OAAO;AAAA,IAAU,KAAK,KAAK,gBAAgB,OAAO,QAAQ,CAAC;AAAA,EAC/D,IAAI,OAAO;AAAA,IAAY,KAAK,KAAK,kBAAkB,OAAO,UAAU,CAAC;AAAA,EACrE,IAAI,OAAO;AAAA,IAAQ,KAAK,KAAK,cAAc,OAAO,MAAM,CAAC;AAAA,EACzD,IAAI,WAAW;AAAA,IAAQ,KAAK,KAAK,QAAQ,QAAQ,aAAa,OAAO,KAAK,CAAC,CAAC;AAAA,EAC5E,IAAI,cAAc,QAAQ;AAAA,IACxB,KAAK,KAAK,QAAQ,QAAQ,gBAAgB,OAAO,QAAQ,CAAC,CAAC;AAAA,EAC7D;AAAA,EACA,IAAI,OAAO;AAAA,IAAW,KAAK,KAAK,iBAAiB,OAAO,SAAS,CAAC;AAAA,EAClE,IAAI,OAAO;AAAA,IAAQ,KAAK,KAAK,cAAc,OAAO,MAAM,CAAC;AAAA,EAEzD,OAAO,QAAQ,IAAI,IAAI;AAAA;;;ACzjBlB,IAAM,uBAAuB;AAG7B,IAAM,oBAAoB;AASjC,IAAM,cAAc,CAAC,OAAe,aAA+B;AAAA,EACjE,IAAI,aAAa;AAAA,IAAY,OAAO,KAAK,MAAM,KAAK;AAAA,EACpD,OAAO,KAAK,MAAM,KAAK;AAAA;AA4FlB,IAAM,aAAa,CAAC,SAAqB;AAAA,EAC9C,YAAY,KAAK,QAAQ,OAAO,QAAQ,KAAK,gBAAgB,GAAG;AAAA,IAC9D,IAAI,IAAI,UAAU,WAAW;AAAA,MAC3B,IAAI,IAAI,MAAM,WAAW,GAAG;AAAA,QAC1B,MAAM,IAAI,MAAM,uBAAuB,mBAAmB;AAAA,MAC5D;AAAA,MACA,MAAM,OAAO,IAAI,MAAM,IAAI,MAAM,SAAS;AAAA,MAC1C,IAAI,SAAS,aAAa,OAAO,SAAS,KAAK,IAAI,GAAG;AAAA,QACpD,MAAM,IAAI,MACR,uBAAuB,0CACzB;AAAA,MACF;AAAA,MACA,IAAI,OAAO;AAAA,MACX,SAAS,IAAI,EAAG,IAAI,IAAI,MAAM,QAAQ,KAAK,GAAG;AAAA,QAC5C,MAAM,OAAO,IAAI,MAAM;AAAA,QACvB,IAAI,KAAK,OAAO,MAAM;AAAA,UACpB,MAAM,IAAI,MACR,uBAAuB,cAAc,WAAW,KAAK,8BAA8B,OACrF;AAAA,QACF;AAAA,QACA,OAAO,KAAK;AAAA,MACd;AAAA,IACF;AAAA,EACF;AAAA,EACA,OAAO;AAAA;AA4ET,IAAM,mBAAmB;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,MACmD;AAAA,EACnD,MAAM,OAAO,IAAI,YAAY;AAAA,EAC7B,MAAM,UAAU,KAAK,IAAI,GAAG,WAAW,IAAI;AAAA,EAC3C,MAAM,OAAO,IAAI,QAAQ;AAAA,EACzB,MAAM,eAAe,SAAS,IAAI,UAAU,UAAU;AAAA,EAEtD,IAAI,IAAI,kBAAkB,WAAW;AAAA,IACnC,MAAM,eAAe,YACnB,eAAe,IAAI,eACnB,QACF;AAAA,IACA,OAAO,EAAE,cAAc,iBAAiB,QAAQ;AAAA,EAClD;AAAA,EAEA,IAAI,IAAI,UAAU,WAAW;AAAA,IAC3B,MAAM,eAAe,YAAY,IAAI,MAAM,OAAO,GAAG,QAAQ;AAAA,IAC7D,OAAO,EAAE,cAAc,iBAAiB,QAAQ;AAAA,EAClD;AAAA,EAGA,MAAM,gBAAwD,CAAC;AAAA,EAC/D,IAAI,YAAY;AAAA,EAChB,IAAI,YAAY;AAAA,EAChB,IAAI,cAAc;AAAA,EAClB,SAAS,IAAI,EAAG,IAAI,IAAI,MAAO,UAAU,YAAY,GAAG,KAAK,GAAG;AAAA,IAC9D,MAAM,OAAO,IAAI,MAAO;AAAA,IACxB,MAAM,YAAY,KAAK,OAAO;AAAA,IAC9B,MAAM,cAAc,KAAK,IAAI,WAAW,SAAS;AAAA,IACjD,IAAI,cAAc,GAAG;AAAA,MACnB,MAAM,aAAa,YACjB,cAAc,KAAK,eACnB,QACF;AAAA,MACA,cAAc,KAAK;AAAA,QACjB,cAAc;AAAA,QACd,eAAe,KAAK;AAAA,QACpB,WAAW;AAAA,QACX;AAAA,MACF,CAAC;AAAA,MACD,eAAe;AAAA,IACjB;AAAA,IACA,aAAa;AAAA,IACb,YAAY,KAAK;AAAA,EACnB;AAAA,EACA,OAAO;AAAA,IACL,cAAc;AAAA,IACd,iBAAiB;AAAA,IACjB;AAAA,EACF;AAAA;AAiBK,IAAM,iBAAiB;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,MACkC;AAAA,EAClC,MAAM,WAAW,KAAK,YAAY;AAAA,EAClC,MAAM,YAAwB,CAAC;AAAA,EAE/B,IAAI,KAAK,oBAAoB,aAAa,KAAK,kBAAkB,GAAG;AAAA,IAClE,UAAU,KAAK;AAAA,MACb,cAAc,KAAK;AAAA,MACnB,iBAAiB;AAAA,MACjB,KAAK;AAAA,MACL,OAAO,GAAG,KAAK;AAAA,MACf,UAAU;AAAA,IACZ,CAAC;AAAA,EACH;AAAA,EAEA,YAAY,KAAK,QAAQ,OAAO,QAAQ,KAAK,gBAAgB,GAAG;AAAA,IAC9D,MAAM,WAAW,MAAM,QAAQ;AAAA,IAC/B,IAAI,CAAC,OAAO,SAAS,QAAQ,KAAK,WAAW;AAAA,MAAG;AAAA,IAChD,MAAM,SAAS,iBAAiB,EAAE,KAAK,UAAU,SAAS,CAAC;AAAA,IAC3D,IAAI,OAAO,iBAAiB,KAAK,OAAO,oBAAoB;AAAA,MAAG;AAAA,IAC/D,MAAM,OAAiB;AAAA,MACrB,cAAc,OAAO;AAAA,MACrB,iBAAiB,OAAO;AAAA,MACxB;AAAA,MACA,OAAO,IAAI,SAAS;AAAA,MACpB;AAAA,IACF;AAAA,IACA,IAAI,IAAI,aAAa;AAAA,MAAW,KAAK,WAAW,IAAI;AAAA,IACpD,IAAI,OAAO,kBAAkB,aAAa,OAAO,cAAc,SAAS,GAAG;AAAA,MACzE,KAAK,gBAAgB,OAAO;AAAA,IAC9B;AAAA,IACA,UAAU,KAAK,IAAI;AAAA,EACrB;AAAA,EAEA,IAAI,cAAc,UAAU,OAAO,CAAC,KAAK,SAAS,MAAM,KAAK,cAAc,CAAC;AAAA,EAE5E,MAAM,QAAQ,KAAK,uBAAuB;AAAA,EAC1C,IAAI,QAAQ,KAAK,cAAc,OAAO;AAAA,IACpC,MAAM,MAAM,QAAQ;AAAA,IACpB,UAAU,KAAK;AAAA,MACb,cAAc;AAAA,MACd,iBAAiB;AAAA,MACjB,KAAK;AAAA,MACL,OAAO;AAAA,MACP,UAAU;AAAA,IACZ,CAAC;AAAA,IACD,cAAc;AAAA,EAChB;AAAA,EAEA,MAAM,eAAe,KAAK,gBAAgB;AAAA,EAC1C,MAAM,UAAmB;AAAA,IACvB,UAAU,YAAY,KAAK,YAAY;AAAA,IACvC;AAAA,IACA;AAAA,IACA;AAAA,IACA,MAAM,KAAK;AAAA,IACX;AAAA,IACA;AAAA,IACA,YAAY,cAAc;AAAA,EAC5B;AAAA,EACA,IAAI,KAAK,aAAa;AAAA,IAAW,QAAQ,WAAW,KAAK;AAAA,EACzD,OAAO;AAAA;AAYF,IAAM,eAAe,CAC1B,QACA;AAAA,EAEE,eAAe;AAAA,EACf,aAAa;AAAA,IACqC,CAAC,MAC1C;AAAA,EACX,MAAM,OAAO,SAAS,IAAI,MAAM;AAAA,EAChC,MAAM,MAAM,KAAK,IAAI,MAAM;AAAA,EAC3B,MAAM,WAAW,KAAK,MAAM,KAAK,MAAM,YAAY,CAAC;AAAA,EACpD,MAAM,sBAAsB,OAAO,WAAW;AAAA,EAC9C,MAAM,aAAa,KAAK,MAAM,MAAM,mBAAmB;AAAA,EACvD,MAAM,UAAU,MAAM;AAAA,EACtB,MAAM,QAAQ,KAAK,MAAM,aAAa,OAAO;AAAA,EAC7C,MAAM,QAAQ,SAAS,YAAY;AAAA,EACnC,IAAI,eAAe;AAAA,IAAG,OAAO,GAAG,OAAO,SAAS;AAAA,EAChD,MAAM,WAAW,aAAa;AAAA,EAC9B,MAAM,cAAc,SAAS,SAAS,EAAE,SAAS,YAAY,GAAG;AAAA,EAChE,OAAO,GAAG,OAAO,SAAS,eAAe;AAAA;",
|
|
9
|
+
"debugId": "D50F9899A29C0CBA64756E2164756E21",
|
|
10
10
|
"names": []
|
|
11
11
|
}
|
package/dist/manifest.js
CHANGED
|
@@ -380,6 +380,8 @@ var readProviderBalances = async (config) => {
|
|
|
380
380
|
};
|
|
381
381
|
|
|
382
382
|
// src/index.ts
|
|
383
|
+
var DEFAULT_DENOMINATION = 1e6;
|
|
384
|
+
var NANO_DENOMINATION = 1e9;
|
|
383
385
|
var roundMicros = (value, rounding) => {
|
|
384
386
|
if (rounding === "truncate")
|
|
385
387
|
return Math.trunc(value);
|
|
@@ -503,23 +505,29 @@ var computeInvoice = ({
|
|
|
503
505
|
});
|
|
504
506
|
totalMicros = floor;
|
|
505
507
|
}
|
|
508
|
+
const denomination = plan.denomination ?? DEFAULT_DENOMINATION;
|
|
506
509
|
const invoice = {
|
|
507
510
|
currency: currency ?? plan.currency ?? "usd",
|
|
511
|
+
denomination,
|
|
508
512
|
lineItems,
|
|
509
513
|
period,
|
|
510
514
|
plan: plan.name,
|
|
511
515
|
tenant,
|
|
512
516
|
totalMicros,
|
|
513
|
-
totalUnits: totalMicros /
|
|
517
|
+
totalUnits: totalMicros / denomination
|
|
514
518
|
};
|
|
515
519
|
if (plan.metadata !== undefined)
|
|
516
520
|
invoice.metadata = plan.metadata;
|
|
517
521
|
return invoice;
|
|
518
522
|
};
|
|
519
|
-
var formatMicros = (amount, currency, {
|
|
523
|
+
var formatMicros = (amount, currency, {
|
|
524
|
+
denomination = DEFAULT_DENOMINATION,
|
|
525
|
+
minorUnits = 2
|
|
526
|
+
} = {}) => {
|
|
520
527
|
const sign = amount < 0 ? "-" : "";
|
|
521
528
|
const abs = Math.abs(amount);
|
|
522
|
-
const
|
|
529
|
+
const exponent = Math.round(Math.log10(denomination));
|
|
530
|
+
const wholeMicrosPerMinor = 10 ** (exponent - minorUnits);
|
|
523
531
|
const minorTotal = Math.round(abs / wholeMicrosPerMinor);
|
|
524
532
|
const divisor = 10 ** minorUnits;
|
|
525
533
|
const whole = Math.trunc(minorTotal / divisor);
|
|
@@ -3447,5 +3455,5 @@ export {
|
|
|
3447
3455
|
manifest
|
|
3448
3456
|
};
|
|
3449
3457
|
|
|
3450
|
-
//# debugId=
|
|
3458
|
+
//# debugId=FB56701BA9401D2A64756E2164756E21
|
|
3451
3459
|
//# sourceMappingURL=manifest.js.map
|
package/dist/manifest.js.map
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"sources": ["../src/balances.ts", "../src/index.ts", "../node_modules/@sinclair/typebox/build/esm/value/guard/guard.mjs", "../node_modules/@sinclair/typebox/build/esm/system/policy.mjs", "../node_modules/@sinclair/typebox/build/esm/type/guard/value.mjs", "../node_modules/@sinclair/typebox/build/esm/type/create/immutable.mjs", "../node_modules/@sinclair/typebox/build/esm/type/clone/value.mjs", "../node_modules/@sinclair/typebox/build/esm/type/create/type.mjs", "../node_modules/@sinclair/typebox/build/esm/type/symbols/symbols.mjs", "../node_modules/@sinclair/typebox/build/esm/type/unsafe/unsafe.mjs", "../node_modules/@sinclair/typebox/build/esm/type/error/error.mjs", "../node_modules/@sinclair/typebox/build/esm/type/mapped/mapped-result.mjs", "../node_modules/@sinclair/typebox/build/esm/type/discard/discard.mjs", "../node_modules/@sinclair/typebox/build/esm/type/array/array.mjs", "../node_modules/@sinclair/typebox/build/esm/type/async-iterator/async-iterator.mjs", "../node_modules/@sinclair/typebox/build/esm/type/constructor/constructor.mjs", "../node_modules/@sinclair/typebox/build/esm/type/function/function.mjs", "../node_modules/@sinclair/typebox/build/esm/type/computed/computed.mjs", "../node_modules/@sinclair/typebox/build/esm/type/never/never.mjs", "../node_modules/@sinclair/typebox/build/esm/type/guard/kind.mjs", "../node_modules/@sinclair/typebox/build/esm/type/optional/optional.mjs", "../node_modules/@sinclair/typebox/build/esm/type/optional/optional-from-mapped-result.mjs", "../node_modules/@sinclair/typebox/build/esm/type/intersect/intersect-create.mjs", "../node_modules/@sinclair/typebox/build/esm/type/intersect/intersect-evaluated.mjs", "../node_modules/@sinclair/typebox/build/esm/type/intersect/intersect.mjs", "../node_modules/@sinclair/typebox/build/esm/type/union/union-create.mjs", "../node_modules/@sinclair/typebox/build/esm/type/union/union-evaluated.mjs", "../node_modules/@sinclair/typebox/build/esm/type/union/union.mjs", "../node_modules/@sinclair/typebox/build/esm/type/template-literal/parse.mjs", "../node_modules/@sinclair/typebox/build/esm/type/template-literal/finite.mjs", "../node_modules/@sinclair/typebox/build/esm/type/template-literal/generate.mjs", "../node_modules/@sinclair/typebox/build/esm/type/literal/literal.mjs", "../node_modules/@sinclair/typebox/build/esm/type/boolean/boolean.mjs", "../node_modules/@sinclair/typebox/build/esm/type/bigint/bigint.mjs", "../node_modules/@sinclair/typebox/build/esm/type/number/number.mjs", "../node_modules/@sinclair/typebox/build/esm/type/string/string.mjs", "../node_modules/@sinclair/typebox/build/esm/type/template-literal/syntax.mjs", "../node_modules/@sinclair/typebox/build/esm/type/patterns/patterns.mjs", "../node_modules/@sinclair/typebox/build/esm/type/template-literal/pattern.mjs", "../node_modules/@sinclair/typebox/build/esm/type/template-literal/union.mjs", "../node_modules/@sinclair/typebox/build/esm/type/template-literal/template-literal.mjs", "../node_modules/@sinclair/typebox/build/esm/type/indexed/indexed-property-keys.mjs", "../node_modules/@sinclair/typebox/build/esm/type/indexed/indexed-from-mapped-result.mjs", "../node_modules/@sinclair/typebox/build/esm/type/indexed/indexed.mjs", "../node_modules/@sinclair/typebox/build/esm/type/indexed/indexed-from-mapped-key.mjs", "../node_modules/@sinclair/typebox/build/esm/type/iterator/iterator.mjs", "../node_modules/@sinclair/typebox/build/esm/type/object/object.mjs", "../node_modules/@sinclair/typebox/build/esm/type/promise/promise.mjs", "../node_modules/@sinclair/typebox/build/esm/type/readonly/readonly.mjs", "../node_modules/@sinclair/typebox/build/esm/type/readonly/readonly-from-mapped-result.mjs", "../node_modules/@sinclair/typebox/build/esm/type/tuple/tuple.mjs", "../node_modules/@sinclair/typebox/build/esm/type/sets/set.mjs", "../node_modules/@sinclair/typebox/build/esm/type/mapped/mapped.mjs", "../node_modules/@sinclair/typebox/build/esm/type/ref/ref.mjs", "../node_modules/@sinclair/typebox/build/esm/type/keyof/keyof-property-keys.mjs", "../node_modules/@sinclair/typebox/build/esm/type/keyof/keyof.mjs", "../node_modules/@sinclair/typebox/build/esm/type/keyof/keyof-from-mapped-result.mjs", "../node_modules/@sinclair/typebox/build/esm/type/any/any.mjs", "../node_modules/@sinclair/typebox/build/esm/type/unknown/unknown.mjs", "../node_modules/@sinclair/typebox/build/esm/type/guard/type.mjs", "../node_modules/@sinclair/typebox/build/esm/type/extends/extends-check.mjs", "../node_modules/@sinclair/typebox/build/esm/type/extends/extends-from-mapped-result.mjs", "../node_modules/@sinclair/typebox/build/esm/type/extends/extends.mjs", "../node_modules/@sinclair/typebox/build/esm/type/extends/extends-from-mapped-key.mjs", "../node_modules/@sinclair/typebox/build/esm/type/clone/type.mjs", "../node_modules/@sinclair/typebox/build/esm/type/argument/argument.mjs", "../node_modules/@sinclair/typebox/build/esm/type/awaited/awaited.mjs", "../node_modules/@sinclair/typebox/build/esm/type/composite/composite.mjs", "../node_modules/@sinclair/typebox/build/esm/type/date/date.mjs", "../node_modules/@sinclair/typebox/build/esm/type/null/null.mjs", "../node_modules/@sinclair/typebox/build/esm/type/symbol/symbol.mjs", "../node_modules/@sinclair/typebox/build/esm/type/undefined/undefined.mjs", "../node_modules/@sinclair/typebox/build/esm/type/uint8array/uint8array.mjs", "../node_modules/@sinclair/typebox/build/esm/type/const/const.mjs", "../node_modules/@sinclair/typebox/build/esm/type/constructor-parameters/constructor-parameters.mjs", "../node_modules/@sinclair/typebox/build/esm/type/enum/enum.mjs", "../node_modules/@sinclair/typebox/build/esm/type/exclude/exclude-from-template-literal.mjs", "../node_modules/@sinclair/typebox/build/esm/type/exclude/exclude.mjs", "../node_modules/@sinclair/typebox/build/esm/type/exclude/exclude-from-mapped-result.mjs", "../node_modules/@sinclair/typebox/build/esm/type/extract/extract-from-template-literal.mjs", "../node_modules/@sinclair/typebox/build/esm/type/extract/extract.mjs", "../node_modules/@sinclair/typebox/build/esm/type/extract/extract-from-mapped-result.mjs", "../node_modules/@sinclair/typebox/build/esm/type/instance-type/instance-type.mjs", "../node_modules/@sinclair/typebox/build/esm/type/readonly-optional/readonly-optional.mjs", "../node_modules/@sinclair/typebox/build/esm/type/record/record.mjs", "../node_modules/@sinclair/typebox/build/esm/type/instantiate/instantiate.mjs", "../node_modules/@sinclair/typebox/build/esm/type/integer/integer.mjs", "../node_modules/@sinclair/typebox/build/esm/type/intrinsic/intrinsic-from-mapped-key.mjs", "../node_modules/@sinclair/typebox/build/esm/type/intrinsic/intrinsic.mjs", "../node_modules/@sinclair/typebox/build/esm/type/intrinsic/capitalize.mjs", "../node_modules/@sinclair/typebox/build/esm/type/intrinsic/lowercase.mjs", "../node_modules/@sinclair/typebox/build/esm/type/intrinsic/uncapitalize.mjs", "../node_modules/@sinclair/typebox/build/esm/type/intrinsic/uppercase.mjs", "../node_modules/@sinclair/typebox/build/esm/type/omit/omit-from-mapped-result.mjs", "../node_modules/@sinclair/typebox/build/esm/type/omit/omit.mjs", "../node_modules/@sinclair/typebox/build/esm/type/omit/omit-from-mapped-key.mjs", "../node_modules/@sinclair/typebox/build/esm/type/pick/pick-from-mapped-result.mjs", "../node_modules/@sinclair/typebox/build/esm/type/pick/pick.mjs", "../node_modules/@sinclair/typebox/build/esm/type/pick/pick-from-mapped-key.mjs", "../node_modules/@sinclair/typebox/build/esm/type/partial/partial.mjs", "../node_modules/@sinclair/typebox/build/esm/type/partial/partial-from-mapped-result.mjs", "../node_modules/@sinclair/typebox/build/esm/type/required/required.mjs", "../node_modules/@sinclair/typebox/build/esm/type/required/required-from-mapped-result.mjs", "../node_modules/@sinclair/typebox/build/esm/type/module/compute.mjs", "../node_modules/@sinclair/typebox/build/esm/type/module/module.mjs", "../node_modules/@sinclair/typebox/build/esm/type/not/not.mjs", "../node_modules/@sinclair/typebox/build/esm/type/parameters/parameters.mjs", "../node_modules/@sinclair/typebox/build/esm/type/recursive/recursive.mjs", "../node_modules/@sinclair/typebox/build/esm/type/regexp/regexp.mjs", "../node_modules/@sinclair/typebox/build/esm/type/rest/rest.mjs", "../node_modules/@sinclair/typebox/build/esm/type/return-type/return-type.mjs", "../node_modules/@sinclair/typebox/build/esm/type/transform/transform.mjs", "../node_modules/@sinclair/typebox/build/esm/type/void/void.mjs", "../node_modules/@sinclair/typebox/build/esm/type/type/index.mjs", "../node_modules/@absolutejs/manifest/dist/index.js", "../src/manifest.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"/**\n * Provider balances — read each upstream vendor's OWN reported balance / quota /\n * spend from their billing-or-usage API, normalized to one shape. The inverse of\n * `computeInvoice`: that prices YOUR usage into an invoice; this reads what the\n * vendors you pay say you have left (or have spent). Useful for an ops dashboard\n * that reconciles your own metering against vendor truth.\n *\n * These are free reporting endpoints — they run no model and incur no per-call\n * charge (just rate limits). Pure + dependency-free: pass credentials in, get\n * snapshots out. One provider failing never affects the others.\n *\n * Coverage by what each vendor exposes:\n * - balance ($ left): Twilio, Deepgram\n * - quota (units left): ElevenLabs (chars), Apollo (calls/day), Brave (queries)\n * - cost ($ spent): Anthropic, OpenAI — no balance API exists, only spend\n *\n * Brave has no API at all; the host app captures rate-limit headers off its own\n * search calls and passes the latest snapshot in (`config.brave`).\n */\n\nconst FETCH_TIMEOUT_MS = 6000;\n// The LLM providers' org cost-report endpoints are slow (OpenAI's regularly\n// takes ~6s); give them a generous timeout since the result is cached.\nconst COST_FETCH_TIMEOUT_MS = 20_000;\nconst MS_PER_SECOND = 1000;\nconst MS_PER_DAY = 86_400_000;\nconst MILLION = 1_000_000;\nconst THOUSAND = 1000;\nconst COST_WINDOW_DAYS = 30;\n\nexport type ProviderBalanceKind = \"balance\" | \"quota\" | \"cost\" | \"none\";\nexport type ProviderBalanceStatus = \"ok\" | \"unconfigured\" | \"error\";\n\nexport type ProviderBalance = {\n /** Human summary line, e.g. \"$42.10 left\" or \"1.2M / 2M chars\". */\n detail: string;\n checkedAt: string;\n kind: ProviderBalanceKind;\n label: string;\n /** The vendor's spend/limit when known; null when not exposed. */\n limit: number | null;\n /** Caveat for the tile (e.g. \"no balance API — Admin key needed\"). */\n note: string | null;\n provider: string;\n /** Remaining balance/quota for kind balance|quota; null otherwise. */\n remaining: number | null;\n resetDate: string | null;\n status: ProviderBalanceStatus;\n /** Vendor plan/tier where exposed (ElevenLabs \"pro\", Twilio \"Full\"); else null. */\n tier: string | null;\n unit: string;\n used: number | null;\n};\n\n/** Rate-limit snapshot the host app captures off its own Brave search responses\n * (Brave has no usage API). The 30-day-window header is `monthly*`. */\nexport type BraveUsageSnapshot = {\n capturedAt: string;\n monthlyLimit: number | null;\n monthlyRemaining: number | null;\n resetSeconds: number | null;\n};\n\n/**\n * Per-provider credentials. Include a provider's key to get its tile; omit it to\n * skip the provider entirely. A present-but-empty credential yields an\n * \"unconfigured\" tile (so a dashboard can show every provider it cares about and\n * label the ones missing a key).\n */\n/** Embedding consumption the host measured itself, against the plan's cap.\n * Vector vendors meter tokens per month and simply refuse once spent, so\n * this is the number that predicts an outage. */\nexport type EmbeddingUsageSnapshot = {\n capturedAt: string;\n /** True when the provider is currently refusing embeddings. */\n exhausted?: boolean;\n monthlyTokenLimit: number;\n resetDate?: string | null;\n tokensUsed: number;\n};\n\nexport type ProviderBalanceConfig = {\n anthropic?: { adminKey: string };\n apollo?: { apiKey: string };\n brave?: BraveUsageSnapshot | null;\n /** Host-supplied embedding usage. Pinecone exposes no usage API to an\n * ordinary key, so — like Brave — the app reports what it metered. */\n pinecone?: EmbeddingUsageSnapshot | null;\n deepgram?: { apiKey: string };\n elevenlabs?: { apiKey: string };\n openai?: { adminKey: string };\n twilio?: { accountSid: string; authToken: string };\n};\n\nconst nowIso = () => new Date().toISOString();\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n typeof value === \"object\" && value !== null;\n\nconst numberOf = (value: unknown) =>\n typeof value === \"number\" && Number.isFinite(value) ? value : null;\n\nconst usd = (amount: number) => `$${amount.toFixed(2)}`;\n\nconst compact = (value: number) => {\n if (value >= MILLION) return `${(value / MILLION).toFixed(1)}M`;\n if (value >= THOUSAND) return `${(value / THOUSAND).toFixed(0)}K`;\n\n return String(value);\n};\n\nconst base = (provider: string, label: string) => {\n const result: ProviderBalance = {\n checkedAt: nowIso(),\n detail: \"\",\n kind: \"none\",\n label,\n limit: null,\n note: null,\n provider,\n remaining: null,\n resetDate: null,\n status: \"error\",\n tier: null,\n unit: \"\",\n used: null,\n };\n\n return result;\n};\n\nconst unconfigured = (provider: string, label: string, note: string) => {\n const result: ProviderBalance = {\n ...base(provider, label),\n note,\n status: \"unconfigured\",\n };\n\n return result;\n};\n\nconst errored = (provider: string, label: string, message: string) => {\n const result: ProviderBalance = {\n ...base(provider, label),\n detail: \"Couldn't reach provider\",\n note: message,\n };\n\n return result;\n};\n\nconst fetchJson = async (\n url: string,\n headers: Record<string, string>,\n opts: { method?: string; timeoutMs?: number } = {},\n) => {\n const controller = new AbortController();\n const timer = setTimeout(\n () => controller.abort(),\n opts.timeoutMs ?? FETCH_TIMEOUT_MS,\n );\n try {\n const response = await fetch(url, {\n headers,\n method: opts.method ?? \"GET\",\n signal: controller.signal,\n });\n if (!response.ok) {\n // Surface the vendor's own error text (truncated) so the tile is\n // actionable — e.g. Deepgram's \"needs the billing:read scope\".\n const body = await response.text().catch(() => \"\");\n const snippet = body.replace(/\\s+/g, \" \").trim().slice(0, 160);\n throw new Error(\n snippet\n ? `HTTP ${response.status}: ${snippet}`\n : `HTTP ${response.status}`,\n );\n }\n const json: unknown = await response.json();\n\n return json;\n } finally {\n clearTimeout(timer);\n }\n};\n\n// --- Twilio: real account balance + plan type -----------------------------\nconst twilioBalance = async (creds: {\n accountSid: string;\n authToken: string;\n}) => {\n if (!creds.accountSid || !creds.authToken) {\n return unconfigured(\"twilio\", \"Twilio\", \"Twilio credentials unset\");\n }\n try {\n const auth = Buffer.from(`${creds.accountSid}:${creds.authToken}`).toString(\n \"base64\",\n );\n const headers: Record<string, string> = { Authorization: `Basic ${auth}` };\n const [data, account] = await Promise.all([\n fetchJson(\n `https://api.twilio.com/2010-04-01/Accounts/${creds.accountSid}/Balance.json`,\n headers,\n ),\n fetchJson(\n `https://api.twilio.com/2010-04-01/Accounts/${creds.accountSid}.json`,\n headers,\n ),\n ]);\n const balance = isRecord(data) ? numberOf(Number(data.balance)) : null;\n const currency =\n isRecord(data) && typeof data.currency === \"string\"\n ? data.currency\n : \"USD\";\n const accountType =\n isRecord(account) && typeof account.type === \"string\"\n ? account.type\n : null;\n if (balance === null) throw new Error(\"no balance field\");\n const result: ProviderBalance = {\n ...base(\"twilio\", \"Twilio\"),\n detail: `${currency} ${balance.toFixed(2)} left`,\n kind: \"balance\",\n remaining: balance,\n status: \"ok\",\n tier: accountType,\n unit: currency,\n };\n\n return result;\n } catch (error) {\n return errored(\"twilio\", \"Twilio\", String(error));\n }\n};\n\n// --- Deepgram: real $ balance summed across projects ----------------------\nconst extractProjectIds = (projects: unknown) => {\n const list =\n isRecord(projects) && Array.isArray(projects.projects)\n ? projects.projects\n : [];\n\n return list\n .map((proj) =>\n isRecord(proj) && typeof proj.project_id === \"string\"\n ? proj.project_id\n : null,\n )\n .filter((id): id is string => id !== null);\n};\n\nconst sumBalances = (balances: unknown) => {\n const rows =\n isRecord(balances) && Array.isArray(balances.balances)\n ? balances.balances\n : [];\n\n return rows.reduce<number>(\n (total, row) => total + (isRecord(row) ? (numberOf(row.amount) ?? 0) : 0),\n 0,\n );\n};\n\nconst fetchDeepgramTotal = async (headers: Record<string, string>) => {\n const projects = await fetchJson(\n \"https://api.deepgram.com/v1/projects\",\n headers,\n );\n let total = 0;\n for (const projectId of extractProjectIds(projects)) {\n // eslint-disable-next-line no-await-in-loop -- a couple of projects at most\n const balances = await fetchJson(\n `https://api.deepgram.com/v1/projects/${projectId}/balances`,\n headers,\n );\n total += sumBalances(balances);\n }\n\n return total;\n};\n\nconst deepgramBalance = async (creds: { apiKey: string }) => {\n if (!creds.apiKey)\n return unconfigured(\"deepgram\", \"Deepgram\", \"API key unset\");\n try {\n const total = await fetchDeepgramTotal({\n Authorization: `Token ${creds.apiKey}`,\n });\n const result: ProviderBalance = {\n ...base(\"deepgram\", \"Deepgram\"),\n detail: `${usd(total)} left`,\n kind: \"balance\",\n remaining: total,\n status: \"ok\",\n unit: \"USD\",\n };\n\n return result;\n } catch (error) {\n return errored(\"deepgram\", \"Deepgram\", String(error));\n }\n};\n\n// --- ElevenLabs: real character quota used / limit + tier -----------------\nconst elevenLabsBalance = async (creds: { apiKey: string }) => {\n if (!creds.apiKey)\n return unconfigured(\"elevenlabs\", \"ElevenLabs\", \"API key unset\");\n try {\n const data = await fetchJson(\n \"https://api.elevenlabs.io/v1/user/subscription\",\n {\n \"xi-api-key\": creds.apiKey,\n },\n );\n const usedChars = isRecord(data) ? numberOf(data.character_count) : null;\n const limitChars = isRecord(data) ? numberOf(data.character_limit) : null;\n if (usedChars === null || limitChars === null) {\n throw new Error(\"no character fields\");\n }\n const resetUnix = isRecord(data)\n ? numberOf(data.next_character_count_reset_unix)\n : null;\n const tier =\n isRecord(data) && typeof data.tier === \"string\" ? data.tier : null;\n const remaining = Math.max(0, limitChars - usedChars);\n const result: ProviderBalance = {\n ...base(\"elevenlabs\", \"ElevenLabs\"),\n detail: `${compact(remaining)} / ${compact(limitChars)} chars left`,\n kind: \"quota\",\n limit: limitChars,\n remaining,\n resetDate: resetUnix\n ? new Date(resetUnix * MS_PER_SECOND).toISOString()\n : null,\n status: \"ok\",\n tier,\n unit: \"characters\",\n used: usedChars,\n };\n\n return result;\n } catch (error) {\n return errored(\"elevenlabs\", \"ElevenLabs\", String(error));\n }\n};\n\n// --- Apollo: real per-endpoint API quota (master key required) ------------\nconst pickBusiestDayQuota = (data: unknown) => {\n let consumed = 0;\n let limit = 0;\n if (!isRecord(data)) return { consumed, limit };\n for (const value of Object.values(data)) {\n const day = isRecord(value) && isRecord(value.day) ? value.day : null;\n if (!day) continue;\n const dayLimit = numberOf(day.limit) ?? 0;\n if (dayLimit <= limit) continue;\n limit = dayLimit;\n consumed = numberOf(day.consumed) ?? 0;\n }\n\n return { consumed, limit };\n};\n\nconst apolloResult = (consumed: number, limit: number) => {\n if (limit === 0) {\n const noQuota: ProviderBalance = {\n ...base(\"apollo\", \"Apollo\"),\n detail: \"Reached Apollo (no day quota in response)\",\n note: \"If usage stats 403, the key must be an Apollo master key.\",\n status: \"ok\",\n };\n\n return noQuota;\n }\n const result: ProviderBalance = {\n ...base(\"apollo\", \"Apollo\"),\n detail: `${Math.max(0, limit - consumed)} / ${limit} calls left today`,\n kind: \"quota\",\n limit,\n remaining: Math.max(0, limit - consumed),\n status: \"ok\",\n unit: \"calls\",\n used: consumed,\n };\n\n return result;\n};\n\nconst apolloBalance = async (creds: { apiKey: string }) => {\n if (!creds.apiKey) return unconfigured(\"apollo\", \"Apollo\", \"API key unset\");\n try {\n // POST (not GET) per Apollo's API; needs the master key.\n const data = await fetchJson(\n \"https://api.apollo.io/api/v1/usage_stats/api_usage_stats\",\n { \"Content-Type\": \"application/json\", \"X-Api-Key\": creds.apiKey },\n { method: \"POST\" },\n );\n const { consumed, limit } = pickBusiestDayQuota(data);\n\n return apolloResult(consumed, limit);\n } catch (error) {\n return errored(\n \"apollo\",\n \"Apollo\",\n `${error} — usage stats need the Apollo master key`,\n );\n }\n};\n\n// --- Pinecone: no usage API for an ordinary key; same host-snapshot shape --\nconst compactTokens = (tokens: number) => {\n const MILLION = 1_000_000;\n const THOUSAND = 1000;\n if (tokens >= MILLION) return `${(tokens / MILLION).toFixed(1)}M`;\n\n return `${Math.round(tokens / THOUSAND)}k`;\n};\n\nconst pineconeBalance = (snap: EmbeddingUsageSnapshot | null | undefined) => {\n if (!snap) {\n return unconfigured(\n \"pinecone\",\n \"Pinecone embeddings\",\n \"No embedding usage reported yet — the host supplies this from its own metering.\",\n );\n }\n const remaining = Math.max(0, snap.monthlyTokenLimit - snap.tokensUsed);\n const quota: ProviderBalance = {\n ...base(\"pinecone\", \"Pinecone embeddings\"),\n checkedAt: snap.capturedAt,\n detail: snap.exhausted\n ? `${compactTokens(snap.tokensUsed)} / ${compactTokens(snap.monthlyTokenLimit)} tokens — quota spent, embeddings refused`\n : `${compactTokens(snap.tokensUsed)} / ${compactTokens(snap.monthlyTokenLimit)} tokens this month`,\n kind: \"quota\",\n limit: snap.monthlyTokenLimit,\n note: \"Counted from the host's own metering — Pinecone exposes no usage API.\",\n remaining,\n resetDate: snap.resetDate ?? null,\n status: \"ok\",\n unit: \"tokens\",\n used: snap.tokensUsed,\n };\n\n return quota;\n};\n\n// --- Brave: no API; read the snapshot the host captured off its own calls --\nconst braveBalance = (snap: BraveUsageSnapshot | null | undefined) => {\n if (!snap) {\n return unconfigured(\n \"brave\",\n \"Brave Search\",\n \"No usage captured yet — appears after the next web search.\",\n );\n }\n if (snap.monthlyLimit && snap.monthlyLimit > 0) {\n const remaining = snap.monthlyRemaining ?? 0;\n const quota: ProviderBalance = {\n ...base(\"brave\", \"Brave Search\"),\n checkedAt: snap.capturedAt,\n detail: `${remaining} / ${snap.monthlyLimit} queries left this month`,\n kind: \"quota\",\n limit: snap.monthlyLimit,\n remaining,\n status: \"ok\",\n unit: \"queries\",\n used: snap.monthlyLimit - remaining,\n };\n\n return quota;\n }\n const metered: ProviderBalance = {\n ...base(\"brave\", \"Brave Search\"),\n checkedAt: snap.capturedAt,\n detail: \"Metered · pay-as-you-go\",\n note: \"No prepaid cap — billed per query; the host's spend cap is the ceiling.\",\n status: \"ok\",\n tier: \"metered\",\n };\n\n return metered;\n};\n\nconst costWindowStart = () => Date.now() - COST_WINDOW_DAYS * MS_PER_DAY;\n\n// --- OpenAI: real spend (no balance API). Needs an sk-admin- Admin key. ----\nconst sumOpenAiCosts = (data: unknown) => {\n const buckets = isRecord(data) && Array.isArray(data.data) ? data.data : [];\n\n return buckets.reduce<number>((total, bucket) => {\n const results =\n isRecord(bucket) && Array.isArray(bucket.results) ? bucket.results : [];\n const bucketSum = results.reduce<number>((sub, row) => {\n const amount = isRecord(row) && isRecord(row.amount) ? row.amount : null;\n const value = amount ? Number(amount.value) : NaN;\n\n return sub + (Number.isFinite(value) ? value : 0);\n }, 0);\n\n return total + bucketSum;\n }, 0);\n};\n\nconst openaiBalance = async (creds: { adminKey: string }) => {\n if (!creds.adminKey) {\n return unconfigured(\n \"openai\",\n \"OpenAI\",\n \"No balance API. Provide an sk-admin- Admin key to show real spend.\",\n );\n }\n try {\n const startTime = Math.floor(costWindowStart() / MS_PER_SECOND);\n const data = await fetchJson(\n `https://api.openai.com/v1/organization/costs?start_time=${startTime}&limit=${COST_WINDOW_DAYS + 1}`,\n { Authorization: `Bearer ${creds.adminKey}` },\n { timeoutMs: COST_FETCH_TIMEOUT_MS },\n );\n const result: ProviderBalance = {\n ...base(\"openai\", \"OpenAI\"),\n detail: `${usd(sumOpenAiCosts(data))} spent (30d)`,\n kind: \"cost\",\n note: \"No balance API — real provider-reported spend, not balance.\",\n status: \"ok\",\n };\n\n return result;\n } catch (error) {\n return errored(\"openai\", \"OpenAI\", String(error));\n }\n};\n\n// --- Anthropic: real spend (no balance API). Needs an sk-ant-admin key. ----\nconst sumAnthropicCosts = (data: unknown) => {\n const buckets = isRecord(data) && Array.isArray(data.data) ? data.data : [];\n\n return buckets.reduce<number>((total, bucket) => {\n const results =\n isRecord(bucket) && Array.isArray(bucket.results) ? bucket.results : [];\n const bucketSum = results.reduce<number>((sub, row) => {\n if (!isRecord(row)) return sub;\n const raw = row.amount ?? row.cost ?? row.value;\n const value = Number(isRecord(raw) ? (raw.value ?? raw.amount) : raw);\n\n return sub + (Number.isFinite(value) ? value : 0);\n }, 0);\n\n return total + bucketSum;\n }, 0);\n};\n\nconst anthropicBalance = async (creds: { adminKey: string }) => {\n if (!creds.adminKey) {\n return unconfigured(\n \"anthropic\",\n \"Anthropic\",\n \"No balance API. Provide an sk-ant-admin Admin key to show real spend.\",\n );\n }\n try {\n const startedAt = new Date(costWindowStart()).toISOString();\n const data = await fetchJson(\n `https://api.anthropic.com/v1/organizations/cost_report?starting_at=${startedAt}`,\n { \"anthropic-version\": \"2023-06-01\", \"x-api-key\": creds.adminKey },\n { timeoutMs: COST_FETCH_TIMEOUT_MS },\n );\n const result: ProviderBalance = {\n ...base(\"anthropic\", \"Anthropic\"),\n detail: `${usd(sumAnthropicCosts(data))} spent (30d)`,\n kind: \"cost\",\n note: \"No balance API — real provider-reported spend, not balance.\",\n status: \"ok\",\n };\n\n return result;\n } catch (error) {\n return errored(\n \"anthropic\",\n \"Anthropic\",\n `${error} — needs an sk-ant-admin Admin key (a regular API key won't work).`,\n );\n }\n};\n\n/**\n * Read every configured provider's real balance/quota/spend in parallel. Only\n * providers present in `config` produce a tile. Each runs independently — one\n * failing returns an \"error\" tile, never rejects the whole call. Stateless: the\n * caller owns any caching (these are free reporting calls, ~1/min is plenty).\n */\nexport const readProviderBalances = async (\n config: ProviderBalanceConfig,\n): Promise<ProviderBalance[]> => {\n const jobs: Array<Promise<ProviderBalance>> = [];\n if (config.twilio) jobs.push(twilioBalance(config.twilio));\n if (config.deepgram) jobs.push(deepgramBalance(config.deepgram));\n if (config.elevenlabs) jobs.push(elevenLabsBalance(config.elevenlabs));\n if (config.apollo) jobs.push(apolloBalance(config.apollo));\n if (\"brave\" in config) jobs.push(Promise.resolve(braveBalance(config.brave)));\n if (\"pinecone\" in config) {\n jobs.push(Promise.resolve(pineconeBalance(config.pinecone)));\n }\n if (config.anthropic) jobs.push(anthropicBalance(config.anthropic));\n if (config.openai) jobs.push(openaiBalance(config.openai));\n\n return Promise.all(jobs);\n};\n",
|
|
6
|
-
"/**\n * @absolutejs/billing — cost-model substrate for the AbsoluteJS PaaS.\n *\n * Two pieces:\n *\n * - `createPlan(...)` — declarative pricing config: optional flat\n * base fee + per-dimension unit prices, with optional graduated\n * tiers and free-tier allowances per dimension.\n *\n * - `computeInvoice({ plan, period, tenant, usage, currency? })`\n * — pure function that turns a `@absolutejs/metering`-shaped\n * `Usage` snapshot (or any record of metered numbers) into an\n * `Invoice` of line items + total. All money math is done in\n * integer **micros** (1 micro = 1/1,000,000 of a currency unit\n * — the same denomination Stripe uses internally) so float\n * drift is structurally impossible.\n *\n * Invoice sinks (push to Stripe, post to QuickBooks, mail a PDF)\n * live OUTSIDE this package, in `@absolutejs/billing-adapters/*`.\n * Keeping the substrate pure means the control plane can preview\n * invoices, run dry-run \"would-charge\" projections, and replay an\n * old usage snapshot through a new plan without touching any\n * vendor SDK.\n */\n\n// =============================================================================\n// Money primitives\n// =============================================================================\n\n/** Integer micros — 1,000,000 micros = 1 unit of the currency. */\nexport type Micros = number;\n\n/**\n * Round a fractional micros value to an integer. The substrate uses\n * **truncation** (banker's-style would surprise callers expecting\n * \"$0.0009 → $0.00\" not \"$0.0009 → $0.001\"). Plans override per-plan.\n */\nexport type Rounding = \"truncate\" | \"round-half-up\";\n\nconst roundMicros = (value: number, rounding: Rounding): Micros => {\n if (rounding === \"truncate\") return Math.trunc(value);\n return Math.round(value);\n};\n\n// =============================================================================\n// Pricing config\n// =============================================================================\n\n/**\n * One step in a graduated-tier price table. `upTo` is the inclusive\n * upper bound (in metered units, NOT micros) for this band.\n * `perUnitMicros` is what the customer pays per single metered unit\n * within this band. The last entry must have `upTo: Infinity` to\n * cover any overflow.\n */\nexport type PricingTier = {\n upTo: number;\n perUnitMicros: number;\n};\n\n/**\n * Per-dimension pricing. Three shapes:\n *\n * - Flat per-unit: `{ perUnitMicros: 200, unit: 1024 * 1024 }`\n * charges 200 micros ($0.0002) per MB of usage.\n *\n * - Tiered: `{ tiers: [...], unit: 1 }` charges per the first\n * matching `PricingTier` band.\n *\n * - Custom: `{ price: (quantity) => micros, unit: 1 }` — escape\n * hatch for surge / caps / non-monotonic pricing. The substrate\n * stays pure; you ship whatever function you want.\n *\n * `freeTier` is subtracted from the metered quantity BEFORE pricing\n * — the conventional \"first N units free\" rule.\n *\n * `unit` is the metered-unit denominator: 1 means \"price per single\n * metered unit\", 1024*1024 means \"price per MB when quantity is in\n * bytes.\" Default 1.\n *\n * `label` overrides the line-item display name.\n */\nexport type PricedDimension = {\n label?: string;\n freeTier?: number;\n unit?: number;\n} & (\n | { perUnitMicros: number; tiers?: never; price?: never }\n | { tiers: PricingTier[]; perUnitMicros?: never; price?: never }\n | {\n price: (chargedQuantity: number) => Micros;\n perUnitMicros?: never;\n tiers?: never;\n }\n);\n\nexport type Plan = {\n /** Human label for the invoice (`'pro'`, `'enterprise'`, etc.). */\n name: string;\n /** Optional flat base fee charged once per invoice period. */\n basePriceMicros?: Micros;\n /**\n * Dimensions priced from usage. Keys must match keys on the\n * `usage` record passed to `computeInvoice`. Anything not listed\n * is ignored.\n */\n pricedDimensions: Record<string, PricedDimension>;\n /** Default currency for invoices generated from this plan. */\n currency?: string;\n /** Rounding strategy applied per line item. Default `'truncate'`. */\n rounding?: Rounding;\n /**\n * Minimum charge (in micros) — if the computed total is below\n * this floor, the invoice total is raised to the floor and a\n * single `'minimum-charge-adjustment'` line item captures the\n * difference. Defaults to 0 (no floor).\n */\n minimumChargeMicros?: Micros;\n /** Arbitrary plan-level metadata that flows through to invoices. */\n metadata?: Record<string, string>;\n};\n\nexport const createPlan = (plan: Plan): Plan => {\n for (const [key, dim] of Object.entries(plan.pricedDimensions)) {\n if (dim.tiers !== undefined) {\n if (dim.tiers.length === 0) {\n throw new Error(`billing: dimension '${key}' has no tiers`);\n }\n const last = dim.tiers[dim.tiers.length - 1];\n if (last !== undefined && Number.isFinite(last.upTo)) {\n throw new Error(\n `billing: dimension '${key}' final tier must have upTo: Infinity`,\n );\n }\n let prev = 0;\n for (let i = 0; i < dim.tiers.length; i += 1) {\n const tier = dim.tiers[i]!;\n if (tier.upTo < prev) {\n throw new Error(\n `billing: dimension '${key}' tier #${i} upTo (${tier.upTo}) must be >= previous (${prev})`,\n );\n }\n prev = tier.upTo;\n }\n }\n }\n return plan;\n};\n\n// =============================================================================\n// Invoice shape\n// =============================================================================\n\nexport type LineItem = {\n /**\n * Stable key for the line item. For priced dimensions it's the\n * usage-record key (`'requests'`, `'cpuMs'`, etc.). For the base\n * fee it's `'base'`. For minimum-charge top-up it's\n * `'minimum-charge-adjustment'`.\n */\n key: string;\n /** Human-readable label. */\n label: string;\n /** Metered units BEFORE applying free tier. 0 for the base fee. */\n quantity: number;\n /** Metered units AFTER applying free tier (what's actually charged). */\n chargedQuantity: number;\n /** Free-tier units subtracted from `quantity`. */\n freeTier?: number;\n /** Charge for this line in integer micros. */\n amountMicros: Micros;\n /**\n * Tier-by-tier breakdown when graduated pricing was used. Each\n * entry: `{ tierIndex, unitsInTier, perUnitMicros, amountMicros }`.\n */\n tierBreakdown?: Array<{\n tierIndex: number;\n unitsInTier: number;\n perUnitMicros: number;\n amountMicros: Micros;\n }>;\n};\n\nexport type InvoicePeriod = {\n /** Inclusive period start (`Date.now()` ms). */\n start: number;\n /** Exclusive period end. */\n end: number;\n};\n\nexport type Invoice = {\n tenant: string;\n plan: string;\n currency: string;\n period: InvoicePeriod;\n lineItems: LineItem[];\n /** Sum of all `lineItems[].amountMicros`. */\n totalMicros: Micros;\n /** Convenience: `totalMicros / 1_000_000` as a number. */\n totalUnits: number;\n /** Plan-level metadata copied through unchanged. */\n metadata?: Record<string, string>;\n};\n\n// =============================================================================\n// Pricing math\n// =============================================================================\n\ntype ComputeDimensionInput = {\n quantity: number;\n dim: PricedDimension;\n rounding: Rounding;\n};\n\ntype ComputeDimensionResult = {\n amountMicros: Micros;\n chargedQuantity: number;\n tierBreakdown?: LineItem[\"tierBreakdown\"];\n};\n\nconst computeDimension = ({\n quantity,\n dim,\n rounding,\n}: ComputeDimensionInput): ComputeDimensionResult => {\n const free = dim.freeTier ?? 0;\n const charged = Math.max(0, quantity - free);\n const unit = dim.unit ?? 1;\n const chargedUnits = unit === 1 ? charged : charged / unit;\n\n if (dim.perUnitMicros !== undefined) {\n const amountMicros = roundMicros(\n chargedUnits * dim.perUnitMicros,\n rounding,\n );\n return { amountMicros, chargedQuantity: charged };\n }\n\n if (dim.price !== undefined) {\n const amountMicros = roundMicros(dim.price(charged), rounding);\n return { amountMicros, chargedQuantity: charged };\n }\n\n // Tiered pricing — walk tiers, allocate chargedUnits into bands.\n const tierBreakdown: NonNullable<LineItem[\"tierBreakdown\"]> = [];\n let remaining = chargedUnits;\n let bandFloor = 0;\n let totalMicros = 0;\n for (let i = 0; i < dim.tiers!.length && remaining > 0; i += 1) {\n const tier = dim.tiers![i]!;\n const bandWidth = tier.upTo - bandFloor;\n const unitsInTier = Math.min(remaining, bandWidth);\n if (unitsInTier > 0) {\n const tierMicros = roundMicros(\n unitsInTier * tier.perUnitMicros,\n rounding,\n );\n tierBreakdown.push({\n amountMicros: tierMicros,\n perUnitMicros: tier.perUnitMicros,\n tierIndex: i,\n unitsInTier,\n });\n totalMicros += tierMicros;\n }\n remaining -= unitsInTier;\n bandFloor = tier.upTo;\n }\n return {\n amountMicros: totalMicros,\n chargedQuantity: charged,\n tierBreakdown,\n };\n};\n\n// =============================================================================\n// computeInvoice — pure\n// =============================================================================\n\nexport type ComputeInvoiceInput = {\n plan: Plan;\n tenant: string;\n period: InvoicePeriod;\n /** Metered numbers keyed by the same names as `plan.pricedDimensions`. */\n usage: Record<string, number>;\n /** Override the plan's currency (e.g. for tenant-local invoicing). */\n currency?: string;\n};\n\nexport const computeInvoice = ({\n plan,\n tenant,\n period,\n usage,\n currency,\n}: ComputeInvoiceInput): Invoice => {\n const rounding = plan.rounding ?? \"truncate\";\n const lineItems: LineItem[] = [];\n\n if (plan.basePriceMicros !== undefined && plan.basePriceMicros > 0) {\n lineItems.push({\n amountMicros: plan.basePriceMicros,\n chargedQuantity: 1,\n key: \"base\",\n label: `${plan.name} base fee`,\n quantity: 1,\n });\n }\n\n for (const [key, dim] of Object.entries(plan.pricedDimensions)) {\n const quantity = usage[key] ?? 0;\n if (!Number.isFinite(quantity) || quantity < 0) continue;\n const result = computeDimension({ dim, quantity, rounding });\n if (result.amountMicros === 0 && result.chargedQuantity === 0) continue;\n const item: LineItem = {\n amountMicros: result.amountMicros,\n chargedQuantity: result.chargedQuantity,\n key,\n label: dim.label ?? key,\n quantity,\n };\n if (dim.freeTier !== undefined) item.freeTier = dim.freeTier;\n if (result.tierBreakdown !== undefined && result.tierBreakdown.length > 0) {\n item.tierBreakdown = result.tierBreakdown;\n }\n lineItems.push(item);\n }\n\n let totalMicros = lineItems.reduce((sum, item) => sum + item.amountMicros, 0);\n\n const floor = plan.minimumChargeMicros ?? 0;\n if (floor > 0 && totalMicros < floor) {\n const gap = floor - totalMicros;\n lineItems.push({\n amountMicros: gap,\n chargedQuantity: 1,\n key: \"minimum-charge-adjustment\",\n label: \"Minimum charge adjustment\",\n quantity: 1,\n });\n totalMicros = floor;\n }\n\n const invoice: Invoice = {\n currency: currency ?? plan.currency ?? \"usd\",\n lineItems,\n period,\n plan: plan.name,\n tenant,\n totalMicros,\n totalUnits: totalMicros / 1_000_000,\n };\n if (plan.metadata !== undefined) invoice.metadata = plan.metadata;\n return invoice;\n};\n\n// =============================================================================\n// Display helpers\n// =============================================================================\n\n/**\n * Format an integer micros amount as a human currency string. Pure\n * — no Intl side effects. For locales / advanced formatting, pipe\n * through `Intl.NumberFormat` yourself.\n */\nexport const formatMicros = (\n amount: Micros,\n currency: string,\n { minorUnits = 2 }: { minorUnits?: number } = {},\n): string => {\n const sign = amount < 0 ? \"-\" : \"\";\n const abs = Math.abs(amount);\n const wholeMicrosPerMinor = 10 ** (6 - minorUnits);\n const minorTotal = Math.round(abs / wholeMicrosPerMinor);\n const divisor = 10 ** minorUnits;\n const whole = Math.trunc(minorTotal / divisor);\n const upper = currency.toUpperCase();\n if (minorUnits === 0) return `${sign}${whole} ${upper}`;\n const fraction = minorTotal % divisor;\n const fractionStr = fraction.toString().padStart(minorUnits, \"0\");\n return `${sign}${whole}.${fractionStr} ${upper}`;\n};\n\n// Provider balances — read upstream vendors' real balance/quota/spend (the\n// inverse of computeInvoice). See ./balances.\nexport {\n readProviderBalances,\n type ProviderBalance,\n type ProviderBalanceConfig,\n type ProviderBalanceKind,\n type ProviderBalanceStatus,\n type BraveUsageSnapshot,\n type EmbeddingUsageSnapshot,\n} from \"./balances\";\n",
|
|
6
|
+
"/**\n * @absolutejs/billing — cost-model substrate for the AbsoluteJS PaaS.\n *\n * Two pieces:\n *\n * - `createPlan(...)` — declarative pricing config: optional flat\n * base fee + per-dimension unit prices, with optional graduated\n * tiers and free-tier allowances per dimension.\n *\n * - `computeInvoice({ plan, period, tenant, usage, currency? })`\n * — pure function that turns a `@absolutejs/metering`-shaped\n * `Usage` snapshot (or any record of metered numbers) into an\n * `Invoice` of line items + total. All money math is done in\n * integer **micros** (1 micro = 1/1,000,000 of a currency unit\n * — the same denomination Stripe uses internally) so float\n * drift is structurally impossible.\n *\n * Invoice sinks (push to Stripe, post to QuickBooks, mail a PDF)\n * live OUTSIDE this package, in `@absolutejs/billing-adapters/*`.\n * Keeping the substrate pure means the control plane can preview\n * invoices, run dry-run \"would-charge\" projections, and replay an\n * old usage snapshot through a new plan without touching any\n * vendor SDK.\n */\n\n// =============================================================================\n// Money primitives\n// =============================================================================\n\n/**\n * An integer amount in a plan's sub-units. 1,000,000 (micros) by default, but\n * a plan may choose a finer denomination — see `Plan.denomination`.\n */\nexport type Micros = number;\n\n/** Sub-units per currency unit when a plan does not say otherwise. */\nexport const DEFAULT_DENOMINATION = 1_000_000;\n\n/** Nanos — the denomination token-priced APIs need. */\nexport const NANO_DENOMINATION = 1_000_000_000;\n\n/**\n * Round a fractional micros value to an integer. The substrate uses\n * **truncation** (banker's-style would surprise callers expecting\n * \"$0.0009 → $0.00\" not \"$0.0009 → $0.001\"). Plans override per-plan.\n */\nexport type Rounding = \"truncate\" | \"round-half-up\";\n\nconst roundMicros = (value: number, rounding: Rounding): Micros => {\n if (rounding === \"truncate\") return Math.trunc(value);\n return Math.round(value);\n};\n\n// =============================================================================\n// Pricing config\n// =============================================================================\n\n/**\n * One step in a graduated-tier price table. `upTo` is the inclusive\n * upper bound (in metered units, NOT micros) for this band.\n * `perUnitMicros` is what the customer pays per single metered unit\n * within this band. The last entry must have `upTo: Infinity` to\n * cover any overflow.\n */\nexport type PricingTier = {\n upTo: number;\n perUnitMicros: number;\n};\n\n/**\n * Per-dimension pricing. Three shapes:\n *\n * - Flat per-unit: `{ perUnitMicros: 200, unit: 1024 * 1024 }`\n * charges 200 micros ($0.0002) per MB of usage.\n *\n * - Tiered: `{ tiers: [...], unit: 1 }` charges per the first\n * matching `PricingTier` band.\n *\n * - Custom: `{ price: (quantity) => micros, unit: 1 }` — escape\n * hatch for surge / caps / non-monotonic pricing. The substrate\n * stays pure; you ship whatever function you want.\n *\n * `freeTier` is subtracted from the metered quantity BEFORE pricing\n * — the conventional \"first N units free\" rule.\n *\n * `unit` is the metered-unit denominator: 1 means \"price per single\n * metered unit\", 1024*1024 means \"price per MB when quantity is in\n * bytes.\" Default 1.\n *\n * `label` overrides the line-item display name.\n */\nexport type PricedDimension = {\n label?: string;\n freeTier?: number;\n unit?: number;\n} & (\n | { perUnitMicros: number; tiers?: never; price?: never }\n | { tiers: PricingTier[]; perUnitMicros?: never; price?: never }\n | {\n price: (chargedQuantity: number) => Micros;\n perUnitMicros?: never;\n tiers?: never;\n }\n);\n\nexport type Plan = {\n /** Human label for the invoice (`'pro'`, `'enterprise'`, etc.). */\n name: string;\n /**\n * Sub-units per currency unit. Defaults to 1,000,000 (micros).\n *\n * Micros are too coarse for token-priced APIs: at $0.16 per million\n * embedding tokens a five-token call costs $0.0000008, which truncates to\n * ZERO in micros — so a plan priced in micros systematically under-bills\n * its cheapest calls. Set `1_000_000_000` to price in nanos, or any other\n * power of ten the vendor's rate card needs. Every `*Micros` field on the\n * plan and the invoice is denominated in these sub-units.\n */\n denomination?: number;\n /** Optional flat base fee charged once per invoice period. */\n basePriceMicros?: Micros;\n /**\n * Dimensions priced from usage. Keys must match keys on the\n * `usage` record passed to `computeInvoice`. Anything not listed\n * is ignored.\n */\n pricedDimensions: Record<string, PricedDimension>;\n /** Default currency for invoices generated from this plan. */\n currency?: string;\n /** Rounding strategy applied per line item. Default `'truncate'`. */\n rounding?: Rounding;\n /**\n * Minimum charge (in micros) — if the computed total is below\n * this floor, the invoice total is raised to the floor and a\n * single `'minimum-charge-adjustment'` line item captures the\n * difference. Defaults to 0 (no floor).\n */\n minimumChargeMicros?: Micros;\n /** Arbitrary plan-level metadata that flows through to invoices. */\n metadata?: Record<string, string>;\n};\n\nexport const createPlan = (plan: Plan): Plan => {\n for (const [key, dim] of Object.entries(plan.pricedDimensions)) {\n if (dim.tiers !== undefined) {\n if (dim.tiers.length === 0) {\n throw new Error(`billing: dimension '${key}' has no tiers`);\n }\n const last = dim.tiers[dim.tiers.length - 1];\n if (last !== undefined && Number.isFinite(last.upTo)) {\n throw new Error(\n `billing: dimension '${key}' final tier must have upTo: Infinity`,\n );\n }\n let prev = 0;\n for (let i = 0; i < dim.tiers.length; i += 1) {\n const tier = dim.tiers[i]!;\n if (tier.upTo < prev) {\n throw new Error(\n `billing: dimension '${key}' tier #${i} upTo (${tier.upTo}) must be >= previous (${prev})`,\n );\n }\n prev = tier.upTo;\n }\n }\n }\n return plan;\n};\n\n// =============================================================================\n// Invoice shape\n// =============================================================================\n\nexport type LineItem = {\n /**\n * Stable key for the line item. For priced dimensions it's the\n * usage-record key (`'requests'`, `'cpuMs'`, etc.). For the base\n * fee it's `'base'`. For minimum-charge top-up it's\n * `'minimum-charge-adjustment'`.\n */\n key: string;\n /** Human-readable label. */\n label: string;\n /** Metered units BEFORE applying free tier. 0 for the base fee. */\n quantity: number;\n /** Metered units AFTER applying free tier (what's actually charged). */\n chargedQuantity: number;\n /** Free-tier units subtracted from `quantity`. */\n freeTier?: number;\n /** Charge for this line in integer micros. */\n amountMicros: Micros;\n /**\n * Tier-by-tier breakdown when graduated pricing was used. Each\n * entry: `{ tierIndex, unitsInTier, perUnitMicros, amountMicros }`.\n */\n tierBreakdown?: Array<{\n tierIndex: number;\n unitsInTier: number;\n perUnitMicros: number;\n amountMicros: Micros;\n }>;\n};\n\nexport type InvoicePeriod = {\n /** Inclusive period start (`Date.now()` ms). */\n start: number;\n /** Exclusive period end. */\n end: number;\n};\n\nexport type Invoice = {\n tenant: string;\n plan: string;\n currency: string;\n /** Sub-units per currency unit these amounts are in (default micros). */\n denomination: number;\n period: InvoicePeriod;\n lineItems: LineItem[];\n /** Sum of all `lineItems[].amountMicros`. */\n totalMicros: Micros;\n /** Convenience: `totalMicros / 1_000_000` as a number. */\n totalUnits: number;\n /** Plan-level metadata copied through unchanged. */\n metadata?: Record<string, string>;\n};\n\n// =============================================================================\n// Pricing math\n// =============================================================================\n\ntype ComputeDimensionInput = {\n quantity: number;\n dim: PricedDimension;\n rounding: Rounding;\n};\n\ntype ComputeDimensionResult = {\n amountMicros: Micros;\n chargedQuantity: number;\n tierBreakdown?: LineItem[\"tierBreakdown\"];\n};\n\nconst computeDimension = ({\n quantity,\n dim,\n rounding,\n}: ComputeDimensionInput): ComputeDimensionResult => {\n const free = dim.freeTier ?? 0;\n const charged = Math.max(0, quantity - free);\n const unit = dim.unit ?? 1;\n const chargedUnits = unit === 1 ? charged : charged / unit;\n\n if (dim.perUnitMicros !== undefined) {\n const amountMicros = roundMicros(\n chargedUnits * dim.perUnitMicros,\n rounding,\n );\n return { amountMicros, chargedQuantity: charged };\n }\n\n if (dim.price !== undefined) {\n const amountMicros = roundMicros(dim.price(charged), rounding);\n return { amountMicros, chargedQuantity: charged };\n }\n\n // Tiered pricing — walk tiers, allocate chargedUnits into bands.\n const tierBreakdown: NonNullable<LineItem[\"tierBreakdown\"]> = [];\n let remaining = chargedUnits;\n let bandFloor = 0;\n let totalMicros = 0;\n for (let i = 0; i < dim.tiers!.length && remaining > 0; i += 1) {\n const tier = dim.tiers![i]!;\n const bandWidth = tier.upTo - bandFloor;\n const unitsInTier = Math.min(remaining, bandWidth);\n if (unitsInTier > 0) {\n const tierMicros = roundMicros(\n unitsInTier * tier.perUnitMicros,\n rounding,\n );\n tierBreakdown.push({\n amountMicros: tierMicros,\n perUnitMicros: tier.perUnitMicros,\n tierIndex: i,\n unitsInTier,\n });\n totalMicros += tierMicros;\n }\n remaining -= unitsInTier;\n bandFloor = tier.upTo;\n }\n return {\n amountMicros: totalMicros,\n chargedQuantity: charged,\n tierBreakdown,\n };\n};\n\n// =============================================================================\n// computeInvoice — pure\n// =============================================================================\n\nexport type ComputeInvoiceInput = {\n plan: Plan;\n tenant: string;\n period: InvoicePeriod;\n /** Metered numbers keyed by the same names as `plan.pricedDimensions`. */\n usage: Record<string, number>;\n /** Override the plan's currency (e.g. for tenant-local invoicing). */\n currency?: string;\n};\n\nexport const computeInvoice = ({\n plan,\n tenant,\n period,\n usage,\n currency,\n}: ComputeInvoiceInput): Invoice => {\n const rounding = plan.rounding ?? \"truncate\";\n const lineItems: LineItem[] = [];\n\n if (plan.basePriceMicros !== undefined && plan.basePriceMicros > 0) {\n lineItems.push({\n amountMicros: plan.basePriceMicros,\n chargedQuantity: 1,\n key: \"base\",\n label: `${plan.name} base fee`,\n quantity: 1,\n });\n }\n\n for (const [key, dim] of Object.entries(plan.pricedDimensions)) {\n const quantity = usage[key] ?? 0;\n if (!Number.isFinite(quantity) || quantity < 0) continue;\n const result = computeDimension({ dim, quantity, rounding });\n if (result.amountMicros === 0 && result.chargedQuantity === 0) continue;\n const item: LineItem = {\n amountMicros: result.amountMicros,\n chargedQuantity: result.chargedQuantity,\n key,\n label: dim.label ?? key,\n quantity,\n };\n if (dim.freeTier !== undefined) item.freeTier = dim.freeTier;\n if (result.tierBreakdown !== undefined && result.tierBreakdown.length > 0) {\n item.tierBreakdown = result.tierBreakdown;\n }\n lineItems.push(item);\n }\n\n let totalMicros = lineItems.reduce((sum, item) => sum + item.amountMicros, 0);\n\n const floor = plan.minimumChargeMicros ?? 0;\n if (floor > 0 && totalMicros < floor) {\n const gap = floor - totalMicros;\n lineItems.push({\n amountMicros: gap,\n chargedQuantity: 1,\n key: \"minimum-charge-adjustment\",\n label: \"Minimum charge adjustment\",\n quantity: 1,\n });\n totalMicros = floor;\n }\n\n const denomination = plan.denomination ?? DEFAULT_DENOMINATION;\n const invoice: Invoice = {\n currency: currency ?? plan.currency ?? \"usd\",\n denomination,\n lineItems,\n period,\n plan: plan.name,\n tenant,\n totalMicros,\n totalUnits: totalMicros / denomination,\n };\n if (plan.metadata !== undefined) invoice.metadata = plan.metadata;\n return invoice;\n};\n\n// =============================================================================\n// Display helpers\n// =============================================================================\n\n/**\n * Format an integer micros amount as a human currency string. Pure\n * — no Intl side effects. For locales / advanced formatting, pipe\n * through `Intl.NumberFormat` yourself.\n */\nexport const formatMicros = (\n amount: Micros,\n currency: string,\n {\n denomination = DEFAULT_DENOMINATION,\n minorUnits = 2,\n }: { denomination?: number; minorUnits?: number } = {},\n): string => {\n const sign = amount < 0 ? \"-\" : \"\";\n const abs = Math.abs(amount);\n const exponent = Math.round(Math.log10(denomination));\n const wholeMicrosPerMinor = 10 ** (exponent - minorUnits);\n const minorTotal = Math.round(abs / wholeMicrosPerMinor);\n const divisor = 10 ** minorUnits;\n const whole = Math.trunc(minorTotal / divisor);\n const upper = currency.toUpperCase();\n if (minorUnits === 0) return `${sign}${whole} ${upper}`;\n const fraction = minorTotal % divisor;\n const fractionStr = fraction.toString().padStart(minorUnits, \"0\");\n return `${sign}${whole}.${fractionStr} ${upper}`;\n};\n\n// Provider balances — read upstream vendors' real balance/quota/spend (the\n// inverse of computeInvoice). See ./balances.\nexport {\n readProviderBalances,\n type ProviderBalance,\n type ProviderBalanceConfig,\n type ProviderBalanceKind,\n type ProviderBalanceStatus,\n type BraveUsageSnapshot,\n type EmbeddingUsageSnapshot,\n} from \"./balances\";\n",
|
|
7
7
|
"// --------------------------------------------------------------------------\n// Iterators\n// --------------------------------------------------------------------------\n/** Returns true if this value is an async iterator */\nexport function IsAsyncIterator(value) {\n return IsObject(value) && globalThis.Symbol.asyncIterator in value;\n}\n/** Returns true if this value is an iterator */\nexport function IsIterator(value) {\n return IsObject(value) && globalThis.Symbol.iterator in value;\n}\n// --------------------------------------------------------------------------\n// Object Instances\n// --------------------------------------------------------------------------\n/** Returns true if this value is not an instance of a class */\nexport function IsStandardObject(value) {\n return IsObject(value) && (globalThis.Object.getPrototypeOf(value) === Object.prototype || globalThis.Object.getPrototypeOf(value) === null);\n}\n/** Returns true if this value is an instance of a class */\nexport function IsInstanceObject(value) {\n return IsObject(value) && !IsArray(value) && IsFunction(value.constructor) && value.constructor.name !== 'Object';\n}\n// --------------------------------------------------------------------------\n// JavaScript\n// --------------------------------------------------------------------------\n/** Returns true if this value is a Promise */\nexport function IsPromise(value) {\n return value instanceof globalThis.Promise;\n}\n/** Returns true if this value is a Date */\nexport function IsDate(value) {\n return value instanceof Date && globalThis.Number.isFinite(value.getTime());\n}\n/** Returns true if this value is an instance of Map<K, T> */\nexport function IsMap(value) {\n return value instanceof globalThis.Map;\n}\n/** Returns true if this value is an instance of Set<T> */\nexport function IsSet(value) {\n return value instanceof globalThis.Set;\n}\n/** Returns true if this value is RegExp */\nexport function IsRegExp(value) {\n return value instanceof globalThis.RegExp;\n}\n/** Returns true if this value is a typed array */\nexport function IsTypedArray(value) {\n return globalThis.ArrayBuffer.isView(value);\n}\n/** Returns true if the value is a Int8Array */\nexport function IsInt8Array(value) {\n return value instanceof globalThis.Int8Array;\n}\n/** Returns true if the value is a Uint8Array */\nexport function IsUint8Array(value) {\n return value instanceof globalThis.Uint8Array;\n}\n/** Returns true if the value is a Uint8ClampedArray */\nexport function IsUint8ClampedArray(value) {\n return value instanceof globalThis.Uint8ClampedArray;\n}\n/** Returns true if the value is a Int16Array */\nexport function IsInt16Array(value) {\n return value instanceof globalThis.Int16Array;\n}\n/** Returns true if the value is a Uint16Array */\nexport function IsUint16Array(value) {\n return value instanceof globalThis.Uint16Array;\n}\n/** Returns true if the value is a Int32Array */\nexport function IsInt32Array(value) {\n return value instanceof globalThis.Int32Array;\n}\n/** Returns true if the value is a Uint32Array */\nexport function IsUint32Array(value) {\n return value instanceof globalThis.Uint32Array;\n}\n/** Returns true if the value is a Float32Array */\nexport function IsFloat32Array(value) {\n return value instanceof globalThis.Float32Array;\n}\n/** Returns true if the value is a Float64Array */\nexport function IsFloat64Array(value) {\n return value instanceof globalThis.Float64Array;\n}\n/** Returns true if the value is a BigInt64Array */\nexport function IsBigInt64Array(value) {\n return value instanceof globalThis.BigInt64Array;\n}\n/** Returns true if the value is a BigUint64Array */\nexport function IsBigUint64Array(value) {\n return value instanceof globalThis.BigUint64Array;\n}\n// --------------------------------------------------------------------------\n// PropertyKey\n// --------------------------------------------------------------------------\n/** Returns true if this value has this property key */\nexport function HasPropertyKey(value, key) {\n return key in value;\n}\n// --------------------------------------------------------------------------\n// Standard\n// --------------------------------------------------------------------------\n/** Returns true of this value is an object type */\nexport function IsObject(value) {\n return value !== null && typeof value === 'object';\n}\n/** Returns true if this value is an array, but not a typed array */\nexport function IsArray(value) {\n return globalThis.Array.isArray(value) && !globalThis.ArrayBuffer.isView(value);\n}\n/** Returns true if this value is an undefined */\nexport function IsUndefined(value) {\n return value === undefined;\n}\n/** Returns true if this value is an null */\nexport function IsNull(value) {\n return value === null;\n}\n/** Returns true if this value is an boolean */\nexport function IsBoolean(value) {\n return typeof value === 'boolean';\n}\n/** Returns true if this value is an number */\nexport function IsNumber(value) {\n return typeof value === 'number';\n}\n/** Returns true if this value is an integer */\nexport function IsInteger(value) {\n return globalThis.Number.isInteger(value);\n}\n/** Returns true if this value is bigint */\nexport function IsBigInt(value) {\n return typeof value === 'bigint';\n}\n/** Returns true if this value is string */\nexport function IsString(value) {\n return typeof value === 'string';\n}\n/** Returns true if this value is a function */\nexport function IsFunction(value) {\n return typeof value === 'function';\n}\n/** Returns true if this value is a symbol */\nexport function IsSymbol(value) {\n return typeof value === 'symbol';\n}\n/** Returns true if this value is a value type such as number, string, boolean */\nexport function IsValueType(value) {\n // prettier-ignore\n return (IsBigInt(value) ||\n IsBoolean(value) ||\n IsNull(value) ||\n IsNumber(value) ||\n IsString(value) ||\n IsSymbol(value) ||\n IsUndefined(value));\n}\n",
|
|
8
8
|
"import { IsObject, IsArray, IsNumber, IsUndefined } from '../value/guard/index.mjs';\nexport var TypeSystemPolicy;\n(function (TypeSystemPolicy) {\n // ------------------------------------------------------------------\n // TypeSystemPolicy: Instancing\n // ------------------------------------------------------------------\n /**\n * Configures the instantiation behavior of TypeBox types. The `default` option assigns raw JavaScript\n * references for embedded types, which may cause side effects if type properties are explicitly updated\n * outside the TypeBox type builder. The `clone` option creates copies of any shared types upon creation,\n * preventing unintended side effects. The `freeze` option applies `Object.freeze()` to the type, making\n * it fully readonly and immutable. Implementations should use `default` whenever possible, as it is the\n * fastest way to instantiate types. The default setting is `default`.\n */\n TypeSystemPolicy.InstanceMode = 'default';\n // ------------------------------------------------------------------\n // TypeSystemPolicy: Checking\n // ------------------------------------------------------------------\n /** Sets whether TypeBox should assert optional properties using the TypeScript `exactOptionalPropertyTypes` assertion policy. The default is `false` */\n TypeSystemPolicy.ExactOptionalPropertyTypes = false;\n /** Sets whether arrays should be treated as a kind of objects. The default is `false` */\n TypeSystemPolicy.AllowArrayObject = false;\n /** Sets whether `NaN` or `Infinity` should be treated as valid numeric values. The default is `false` */\n TypeSystemPolicy.AllowNaN = false;\n /** Sets whether `null` should validate for void types. The default is `false` */\n TypeSystemPolicy.AllowNullVoid = false;\n /** Checks this value using the ExactOptionalPropertyTypes policy */\n function IsExactOptionalProperty(value, key) {\n return TypeSystemPolicy.ExactOptionalPropertyTypes ? key in value : value[key] !== undefined;\n }\n TypeSystemPolicy.IsExactOptionalProperty = IsExactOptionalProperty;\n /** Checks this value using the AllowArrayObjects policy */\n function IsObjectLike(value) {\n const isObject = IsObject(value);\n return TypeSystemPolicy.AllowArrayObject ? isObject : isObject && !IsArray(value);\n }\n TypeSystemPolicy.IsObjectLike = IsObjectLike;\n /** Checks this value as a record using the AllowArrayObjects policy */\n function IsRecordLike(value) {\n return IsObjectLike(value) && !(value instanceof Date) && !(value instanceof Uint8Array);\n }\n TypeSystemPolicy.IsRecordLike = IsRecordLike;\n /** Checks this value using the AllowNaN policy */\n function IsNumberLike(value) {\n return TypeSystemPolicy.AllowNaN ? IsNumber(value) : Number.isFinite(value);\n }\n TypeSystemPolicy.IsNumberLike = IsNumberLike;\n /** Checks this value using the AllowVoidNull policy */\n function IsVoidLike(value) {\n const isUndefined = IsUndefined(value);\n return TypeSystemPolicy.AllowNullVoid ? isUndefined || value === null : isUndefined;\n }\n TypeSystemPolicy.IsVoidLike = IsVoidLike;\n})(TypeSystemPolicy || (TypeSystemPolicy = {}));\n",
|
|
9
9
|
"// --------------------------------------------------------------------------\n// PropertyKey\n// --------------------------------------------------------------------------\n/** Returns true if this value has this property key */\nexport function HasPropertyKey(value, key) {\n return key in value;\n}\n// --------------------------------------------------------------------------\n// Object Instances\n// --------------------------------------------------------------------------\n/** Returns true if this value is an async iterator */\nexport function IsAsyncIterator(value) {\n return IsObject(value) && !IsArray(value) && !IsUint8Array(value) && Symbol.asyncIterator in value;\n}\n/** Returns true if this value is an array */\nexport function IsArray(value) {\n return Array.isArray(value);\n}\n/** Returns true if this value is bigint */\nexport function IsBigInt(value) {\n return typeof value === 'bigint';\n}\n/** Returns true if this value is a boolean */\nexport function IsBoolean(value) {\n return typeof value === 'boolean';\n}\n/** Returns true if this value is a Date object */\nexport function IsDate(value) {\n return value instanceof globalThis.Date;\n}\n/** Returns true if this value is a function */\nexport function IsFunction(value) {\n return typeof value === 'function';\n}\n/** Returns true if this value is an iterator */\nexport function IsIterator(value) {\n return IsObject(value) && !IsArray(value) && !IsUint8Array(value) && Symbol.iterator in value;\n}\n/** Returns true if this value is null */\nexport function IsNull(value) {\n return value === null;\n}\n/** Returns true if this value is number */\nexport function IsNumber(value) {\n return typeof value === 'number';\n}\n/** Returns true if this value is an object */\nexport function IsObject(value) {\n return typeof value === 'object' && value !== null;\n}\n/** Returns true if this value is RegExp */\nexport function IsRegExp(value) {\n return value instanceof globalThis.RegExp;\n}\n/** Returns true if this value is string */\nexport function IsString(value) {\n return typeof value === 'string';\n}\n/** Returns true if this value is symbol */\nexport function IsSymbol(value) {\n return typeof value === 'symbol';\n}\n/** Returns true if this value is a Uint8Array */\nexport function IsUint8Array(value) {\n return value instanceof globalThis.Uint8Array;\n}\n/** Returns true if this value is undefined */\nexport function IsUndefined(value) {\n return value === undefined;\n}\n",
|
|
@@ -119,7 +119,7 @@
|
|
|
119
119
|
"// @bun\n// src/defineManifest.ts\nvar defineImplementation = () => (implementation) => {\n const defined = implementation;\n return defined;\n};\nvar defineManifest = () => (manifest) => manifest;\n// src/tools.ts\nvar literal = (value) => value;\nvar RUNTIME_KIND = literal(\"runtime\");\nvar WORKSPACE_KIND = literal(\"workspace\");\nvar toolFactory = () => {\n function runtime(definition) {\n return { kind: RUNTIME_KIND, ...definition };\n }\n function workspace(definition) {\n return { kind: WORKSPACE_KIND, ...definition };\n }\n return { runtime, workspace };\n};\n// src/bridges.ts\nimport { Value } from \"@sinclair/typebox/value\";\n\n// src/security.ts\nvar HEX_RADIX = 16;\nvar effectful = (authorization) => authorization.effects.some((effect) => effect !== \"read\");\nvar hasAnyEffect = (authorization, effects) => effects.some((effect) => authorization.effects.includes(effect));\nvar inputFields = (tool) => {\n const properties = Reflect.get(tool.input, \"properties\");\n if (typeof properties !== \"object\" || properties === null)\n return new Set;\n return new Set(Object.keys(properties));\n};\nvar issue = (toolName, code, message, severity = \"error\") => ({ code, message, severity, toolName });\nvar boundFields = (authorization) => [\n ...authorization.destinationFields ?? [],\n ...authorization.idempotency?.mode === \"field\" ? [authorization.idempotency.field] : [],\n ...authorization.resource?.idField ? [authorization.resource.idField] : [],\n ...authorization.resource?.ownerIdField ? [authorization.resource.ownerIdField] : [],\n ...authorization.resource?.tenantIdField ? [authorization.resource.tenantIdField] : [],\n ...authorization.spend ? [authorization.spend.amountMinorField, authorization.spend.currencyField] : []\n];\nvar authorizedToolIssues = (manifest, toolName, tool, authorization) => {\n const issues = [];\n const isEffectful = effectful(authorization);\n const fields = inputFields(tool);\n if (authorization.audience !== \"public\" && (authorization.requiredScopes?.length ?? 0) === 0)\n issues.push(issue(toolName, \"scope_missing\", \"Non-public tools must declare at least one required scope.\"));\n if (authorization.audience === \"public\" && (isEffectful || authorization.approval !== \"never\"))\n issues.push(issue(toolName, \"public_effect_forbidden\", \"Public tools must be read-only and explicitly require no approval.\"));\n if (isEffectful && authorization.idempotency === undefined)\n issues.push(issue(toolName, \"idempotency_missing\", \"Effectful tools must declare how idempotency is bound.\"));\n if (isEffectful && authorization.reversible === undefined)\n issues.push(issue(toolName, \"reversibility_missing\", \"Effectful tools must explicitly declare whether they are reversible.\"));\n if (authorization.reversible === true && !authorization.compensatingTool)\n issues.push(issue(toolName, \"compensation_invalid\", \"Reversible tools must name their compensating tool.\"));\n if (authorization.reversible === false && authorization.compensatingTool)\n issues.push(issue(toolName, \"compensation_invalid\", \"An irreversible tool cannot declare a compensating tool.\"));\n if (authorization.compensatingTool && manifest.tools?.[authorization.compensatingTool] === undefined)\n issues.push(issue(toolName, \"compensation_invalid\", `Compensating tool \"${authorization.compensatingTool}\" is not declared by this manifest.`));\n if (hasAnyEffect(authorization, [\"external-network\", \"send\"]) && (authorization.destinations?.length ?? 0) === 0 && (authorization.destinationFields?.length ?? 0) === 0)\n issues.push(issue(toolName, \"destination_binding_missing\", \"Network and send effects must bind a fixed destination class or validated input field.\"));\n if (hasAnyEffect(authorization, [\"delete\", \"purchase\", \"transfer\", \"write\"]) && authorization.resource === undefined)\n issues.push(issue(toolName, \"resource_binding_missing\", \"Write, delete, purchase, and transfer effects must declare their resource binding.\"));\n if (authorization.effects.includes(\"purchase\") && !authorization.spend)\n issues.push(issue(toolName, \"spend_binding_missing\", \"Purchase effects must bind amount and currency fields.\"));\n if (hasAnyEffect(authorization, [\"delete\", \"purchase\", \"transfer\"]) && tool.annotations?.destructiveHint !== true)\n issues.push(issue(toolName, \"destructive_hint_missing\", \"Delete, purchase, and transfer effects must be visibly marked destructive.\"));\n if (!isEffectful && tool.annotations?.readOnlyHint !== true)\n issues.push(issue(toolName, \"read_only_hint_invalid\", \"Read-only authorization must be paired with readOnlyHint: true.\"));\n if (isEffectful && tool.annotations?.readOnlyHint === true)\n issues.push(issue(toolName, \"read_only_hint_invalid\", \"Effectful tools cannot advertise readOnlyHint: true.\"));\n for (const field of boundFields(authorization))\n if (!fields.has(field))\n issues.push(issue(toolName, \"field_binding_invalid\", `Authorization field \"${field}\" is not present in the tool input schema.`));\n if (authorization.idempotency?.mode === \"resource\" && !authorization.resource?.idField)\n issues.push(issue(toolName, \"idempotency_missing\", \"Resource idempotency requires a resource idField.\"));\n return issues;\n};\nvar inspectManifestSecurity = (manifest) => {\n const tools = Object.entries(manifest.tools ?? {}).map(([toolName, tool]) => {\n if (manifest.contract === 1) {\n const issues3 = [\n issue(toolName, \"legacy_tool_omitted\", \"Contract-1 tools are omitted from remote AI and MCP bridges.\", \"warning\")\n ];\n return {\n approval: null,\n audience: null,\n effects: [],\n issues: issues3,\n remotelyCallable: false,\n status: \"legacy-omitted\",\n toolName\n };\n }\n if (!tool.authorization) {\n const issues3 = [\n issue(toolName, \"tool_authorization_missing\", \"Contract-2 tools must declare authorization metadata.\")\n ];\n return {\n approval: null,\n audience: null,\n effects: [],\n issues: issues3,\n remotelyCallable: false,\n status: \"invalid\",\n toolName\n };\n }\n const issues2 = authorizedToolIssues(manifest, toolName, tool, tool.authorization);\n return {\n approval: tool.authorization.approval,\n audience: tool.authorization.audience,\n effects: tool.authorization.effects,\n issues: issues2,\n remotelyCallable: issues2.length === 0,\n status: issues2.length === 0 ? \"guarded\" : \"invalid\",\n toolName\n };\n });\n const issues = tools.flatMap((tool) => tool.issues);\n return {\n issues,\n readyForRemoteTools: tools.every((tool) => tool.remotelyCallable),\n tools\n };\n};\nvar canonicalJson = (value) => {\n if (value === null || typeof value === \"boolean\" || typeof value === \"string\")\n return JSON.stringify(value);\n if (typeof value === \"number\") {\n if (!Number.isFinite(value))\n throw new Error(\"Tool input must be finite JSON\");\n return JSON.stringify(value);\n }\n if (Array.isArray(value))\n return `[${value.map((item) => canonicalJson(item)).join(\",\")}]`;\n if (typeof value === \"object\") {\n const entries = Object.entries(value).filter(([, item]) => item !== undefined);\n return `{${entries.sort(([left], [right]) => left.localeCompare(right)).map(([key, item]) => `${JSON.stringify(key)}:${canonicalJson(item)}`).join(\",\")}}`;\n }\n throw new Error(\"Tool input must be JSON serializable\");\n};\nvar digestToolInput = async (value) => {\n const bytes = new TextEncoder().encode(canonicalJson(value));\n const digest = new Uint8Array(await crypto.subtle.digest(\"SHA-256\", bytes));\n const hex = [...digest].map((byte) => byte.toString(HEX_RADIX).padStart(2, \"0\")).join(\"\");\n return `sha256:${hex}`;\n};\n\n// src/bridges.ts\nvar MAX_REPORTED_ERRORS = 3;\nvar checkInput = (toolName, schema, args) => {\n const withDefaults = Value.Default(schema, Value.Clone(args ?? {}));\n if (Value.Check(schema, withDefaults)) {\n const passed = { ok: true, value: withDefaults };\n return passed;\n }\n const errors = [...Value.Errors(schema, withDefaults)].slice(0, MAX_REPORTED_ERRORS).map((error) => `${error.path || \"/\"}: ${error.message}`).join(\"; \");\n const failed = {\n message: `Invalid input for tool \"${toolName}\": ${errors}`,\n ok: false\n };\n return failed;\n};\nvar grantsCapabilities = (capabilities, workspace) => capabilities.every((capability) => capability === \"read\" || workspace[capability] !== undefined);\nvar freezeInput = (value) => {\n if (typeof value !== \"object\" || value === null || Object.isFrozen(value))\n return value;\n for (const item of Object.values(value))\n freezeInput(item);\n return Object.freeze(value);\n};\nvar bindTools = (manifest, bindings) => {\n const { enforce, runtime, workspace } = bindings;\n const enforceInvocation = async (name, tool, args, invoke) => {\n const checked = checkInput(name, tool.input, args);\n if (!checked.ok)\n return checked.message;\n if (manifest.contract !== 2 || !tool.authorization || !enforce)\n return \"Tool execution enforcement is not configured\";\n const input = freezeInput(checked.value);\n let active = true;\n let executed = false;\n const execute = () => {\n if (!active)\n throw new Error(\"Tool execution closure expired after enforcement\");\n if (executed)\n throw new Error(\"Tool execution closure is single-use\");\n executed = true;\n return invoke(input);\n };\n try {\n return await enforce({\n args: input,\n authorization: tool.authorization,\n inputDigest: await digestToolInput(input),\n packageName: manifest.identity.name,\n toolName: name\n }, execute);\n } finally {\n active = false;\n }\n };\n const bindInvoke = (name, tool) => {\n if (tool.kind === \"runtime\") {\n if (runtime === undefined)\n return;\n return (args) => tool.handler(args, runtime);\n }\n if (workspace === undefined || !grantsCapabilities(tool.capabilities, workspace))\n return;\n return (args) => tool.handler(args, workspace);\n };\n return Object.entries(manifest.tools ?? {}).flatMap(([name, tool]) => {\n if (manifest.contract !== 2 || !tool.authorization || !enforce)\n return [];\n const invoke = bindInvoke(name, tool);\n if (invoke === undefined)\n return [];\n const bound = {\n annotations: tool.annotations,\n authorization: tool.authorization,\n description: tool.description,\n input: tool.input,\n name,\n invoke: (args) => enforceInvocation(name, tool, args, invoke)\n };\n return [bound];\n });\n};\nvar toAIToolMap = (manifest, bindings) => {\n const tools = Object.fromEntries(bindTools(manifest, bindings).map((tool) => [\n tool.name,\n {\n annotations: tool.annotations,\n authorization: tool.authorization,\n description: tool.description,\n handler: tool.invoke,\n input: tool.input\n }\n ]));\n return tools;\n};\nvar toMcpToolRegistry = (manifest, bindings) => {\n const tools = Object.fromEntries(bindTools(manifest, bindings).map((tool) => [\n tool.name,\n {\n annotations: tool.annotations,\n authorization: tool.authorization,\n ...\"x-coaz-mapping\" in tool.input ? { coaz: true } : {},\n description: tool.description,\n handler: tool.invoke,\n inputSchema: tool.input\n }\n ]));\n return tools;\n};\n// src/cards.ts\nvar DEFAULT_CREDENTIAL_CARD_TITLE = \"Configure credentials\";\nvar toCredentialCardKey = (requirement, isSet) => {\n const { description, docsUrl, key, secret } = requirement;\n const entry = {\n isSet: isSet(key),\n key,\n secret: secret !== false\n };\n if (description)\n entry.label = description;\n if (docsUrl)\n entry.docsUrl = docsUrl;\n return entry;\n};\nvar envRequirementsToCredentialCard = (requirements, isSet, options) => {\n const spec = {\n keys: requirements.map((requirement) => toCredentialCardKey(requirement, isSet)),\n title: options?.title ?? DEFAULT_CREDENTIAL_CARD_TITLE\n };\n if (options?.cardId)\n spec.cardId = options.cardId;\n return spec;\n};\n// src/discovery.ts\nvar words = (value) => value.toLowerCase().split(/[^a-z0-9@._/-]+/u).filter((item) => item.length > 1);\nvar authorization = (value) => ({\n approval: value?.approval ?? null,\n audience: value?.audience ?? null,\n destinations: [...value?.destinations ?? []],\n effects: [...value?.effects ?? []],\n idempotency: value?.idempotency ?? null,\n requiredScopes: [...value?.requiredScopes ?? []],\n resourceType: value?.resource?.type ?? null,\n reversible: value?.reversible ?? null\n});\nvar manifestsToAgentCatalogJsonLd = (manifests, options = {}) => ({\n \"@context\": \"https://schema.org\",\n \"@id\": options.id,\n \"@type\": \"ItemList\",\n itemListElement: manifests.map(manifestToAgentCatalogEntry).sort((left, right) => left.id.localeCompare(right.id)).map((item, index) => ({ \"@type\": \"ListItem\", item, position: index + 1 })),\n name: options.name ?? \"Agent capability catalog\"\n});\nvar manifestsToAgentsText = (manifests) => manifests.map(manifestToAgentCatalogEntry).sort((left, right) => left.id.localeCompare(right.id)).map((entry) => `## ${entry.name}\n${entry.description}\nIntents: ${entry.intents.join(\", \") || \"none\"}\nProtocols: ${entry.protocols.join(\", \") || \"none\"}\nTools: ${entry.tools.map(({ name }) => name).join(\", \") || \"none\"}\nDocs: ${entry.docsUrl ?? entry.url ?? \"not published\"}`).join(`\n\n`);\nvar manifestToAgentCatalogEntry = (manifest) => {\n const tools = Object.entries(manifest.tools ?? {}).map(([name, tool]) => ({\n ...authorization(tool.authorization),\n coaz: \"x-coaz-mapping\" in tool.input,\n description: tool.description,\n name\n }));\n const contracts = [\n ...Object.values(manifest.slots ?? {}).map(({ contract }) => contract),\n ...(manifest.implements ?? []).map(({ contract }) => contract)\n ].sort();\n const derivedKeywords = [\n ...words(manifest.identity.name),\n ...words(manifest.identity.tagline),\n ...words(manifest.identity.description ?? \"\"),\n ...tools.flatMap((tool) => [\n ...words(tool.name),\n ...words(tool.description),\n ...tool.effects\n ]),\n ...contracts\n ];\n return {\n \"@type\": \"SoftwareApplication\",\n category: manifest.identity.category,\n contracts,\n description: manifest.identity.description ?? manifest.identity.tagline,\n ...manifest.identity.docsUrl ? { docsUrl: manifest.identity.docsUrl } : {},\n id: manifest.identity.name,\n intents: [\n ...new Set(manifest.discovery?.intents ?? tools.map(({ name }) => name))\n ].sort(),\n keywords: [\n ...new Set([...manifest.discovery?.keywords ?? [], ...derivedKeywords])\n ].sort(),\n name: manifest.identity.name,\n protocols: [...new Set(manifest.discovery?.protocols ?? [])].sort(),\n tools,\n ...manifest.discovery?.url ? { url: manifest.discovery.url } : {},\n ...manifest.discovery?.certificationUrl ? { certificationUrl: manifest.discovery.certificationUrl } : {}\n };\n};\n// src/schema.ts\nimport { Type } from \"@sinclair/typebox\";\n\n// src/types.ts\nvar TOOL_NAME_PATTERN = /^[a-z][a-z0-9_]{0,63}$/;\n\n// src/schema.ts\nvar envRequirement = Type.Object({\n description: Type.String(),\n docsUrl: Type.Optional(Type.String()),\n example: Type.Optional(Type.String()),\n key: Type.String({ pattern: \"^[A-Z][A-Z0-9_]*$\" }),\n optional: Type.Optional(Type.Boolean()),\n secret: Type.Optional(Type.Boolean()),\n when: Type.Optional(Type.String())\n});\nvar wiringImport = Type.Object({\n from: Type.String(),\n names: Type.Array(Type.String()),\n typeOnly: Type.Optional(Type.Boolean())\n});\nvar wiringSnippet = Type.Object({\n code: Type.String(),\n imports: Type.Array(wiringImport),\n placement: Type.Optional(Type.Union([\n Type.Literal(\"client-entry\"),\n Type.Literal(\"module-scope\"),\n Type.Literal(\"server-boundary\"),\n Type.Literal(\"server-factory\"),\n Type.Literal(\"server-plugin\")\n ]))\n});\nvar clientFrameworks = [\n \"angular\",\n \"client\",\n \"react\",\n \"svelte\",\n \"vue\"\n];\nvar wiringRecipe = Type.Object({\n client: Type.Optional(Type.Partial(Type.Object(Object.fromEntries(clientFrameworks.map((framework) => [framework, wiringSnippet]))))),\n description: Type.Optional(Type.String()),\n id: Type.String({ minLength: 1 }),\n server: Type.Optional(wiringSnippet),\n title: Type.String()\n});\nvar adapterSlot = Type.Object({\n configPath: Type.String({ minLength: 1 }),\n contract: Type.String({ pattern: \"^[a-z0-9-]+/[a-z0-9-]+$\" }),\n description: Type.String(),\n known: Type.Optional(Type.Array(Type.String())),\n required: Type.Optional(Type.Boolean())\n});\nvar jsonSchemaObject = Type.Record(Type.String(), Type.Unknown());\nvar peerRequirement = Type.Object({\n name: Type.String(),\n range: Type.String(),\n reason: Type.Optional(Type.String())\n});\nvar serviceRequirement = Type.Object({\n description: Type.String(),\n id: Type.String(),\n optional: Type.Optional(Type.Boolean())\n});\nvar manifestRequirements = Type.Object({\n env: Type.Optional(Type.Array(envRequirement)),\n peers: Type.Optional(Type.Array(peerRequirement)),\n services: Type.Optional(Type.Array(serviceRequirement))\n});\nvar adapterImplementation = Type.Object({\n contract: Type.String({ pattern: \"^[a-z0-9-]+/[a-z0-9-]+$\" }),\n factory: Type.String({ minLength: 1 }),\n from: Type.String({ minLength: 1 }),\n requires: Type.Optional(manifestRequirements),\n settings: Type.Optional(jsonSchemaObject),\n title: Type.String(),\n wiring: wiringSnippet\n});\nvar lifecycleStep = Type.Object({\n command: Type.Optional(Type.String()),\n docsUrl: Type.Optional(Type.String()),\n id: Type.String({ minLength: 1 }),\n idempotent: Type.Optional(Type.Boolean()),\n kind: Type.Union([\n Type.Literal(\"migration\"),\n Type.Literal(\"post-install\"),\n Type.Literal(\"verify\")\n ]),\n title: Type.String(),\n when: Type.Union([\n Type.Literal(\"after-install\"),\n Type.Literal(\"after-upgrade\"),\n Type.Literal(\"before-first-run\"),\n Type.Literal(\"manual\")\n ])\n});\nvar toolAnnotations = Type.Object({\n destructiveHint: Type.Optional(Type.Boolean()),\n idempotentHint: Type.Optional(Type.Boolean()),\n openWorldHint: Type.Optional(Type.Boolean()),\n readOnlyHint: Type.Optional(Type.Boolean()),\n title: Type.Optional(Type.String())\n});\nvar toolAuthorization = Type.Object({\n approval: Type.Union([\n Type.Literal(\"always\"),\n Type.Literal(\"never\"),\n Type.Literal(\"policy\")\n ]),\n audience: Type.Union([\n Type.Literal(\"admin\"),\n Type.Literal(\"authenticated\"),\n Type.Literal(\"owner\"),\n Type.Literal(\"public\")\n ]),\n compensatingTool: Type.Optional(Type.String({ pattern: TOOL_NAME_PATTERN.source })),\n destinationFields: Type.Optional(Type.Array(Type.String({ minLength: 1 }), { minItems: 1 })),\n destinations: Type.Optional(Type.Array(Type.String({ minLength: 1 }), { minItems: 1 })),\n effects: Type.Array(Type.String({ minLength: 1 }), { minItems: 1 }),\n idempotency: Type.Optional(Type.Union([\n Type.Object({\n field: Type.String({ minLength: 1 }),\n mode: Type.Literal(\"field\")\n }),\n Type.Object({ mode: Type.Literal(\"host\") }),\n Type.Object({ mode: Type.Literal(\"resource\") })\n ])),\n requiredScopes: Type.Optional(Type.Array(Type.String({ minLength: 1 }), { minItems: 1 })),\n resource: Type.Optional(Type.Object({\n idField: Type.Optional(Type.String({ minLength: 1 })),\n ownerIdField: Type.Optional(Type.String({ minLength: 1 })),\n tenantIdField: Type.Optional(Type.String({ minLength: 1 })),\n type: Type.String({ minLength: 1 })\n })),\n reversible: Type.Optional(Type.Boolean()),\n spend: Type.Optional(Type.Object({\n amountMinorField: Type.String({ minLength: 1 }),\n currencyField: Type.String({ minLength: 1 }),\n maximumAmountMinor: Type.Optional(Type.Integer({ minimum: 0 }))\n }))\n});\nvar serializedTool = Type.Object({\n annotations: Type.Optional(toolAnnotations),\n authorization: Type.Optional(toolAuthorization),\n capabilities: Type.Optional(Type.Array(Type.Union([\n Type.Literal(\"exec\"),\n Type.Literal(\"glob\"),\n Type.Literal(\"read\"),\n Type.Literal(\"write\")\n ]))),\n description: Type.String(),\n input: jsonSchemaObject,\n kind: Type.Union([Type.Literal(\"runtime\"), Type.Literal(\"workspace\")])\n});\nvar manifestSchema = Type.Object({\n contract: Type.Union([Type.Literal(1), Type.Literal(2)]),\n discovery: Type.Optional(Type.Object({\n audiences: Type.Optional(Type.Array(Type.String({ minLength: 1 }))),\n certificationUrl: Type.Optional(Type.String()),\n intents: Type.Optional(Type.Array(Type.String({ minLength: 1 }))),\n keywords: Type.Optional(Type.Array(Type.String({ minLength: 1 }))),\n protocols: Type.Optional(Type.Array(Type.String({ minLength: 1 }))),\n url: Type.Optional(Type.String())\n })),\n identity: Type.Object({\n accent: Type.Optional(Type.String({ pattern: \"^#[0-9a-fA-F]{3,8}$\" })),\n category: Type.String({ minLength: 1 }),\n description: Type.Optional(Type.String()),\n docsUrl: Type.Optional(Type.String()),\n logo: Type.Optional(Type.Object({\n svg: Type.Optional(Type.String()),\n url: Type.Optional(Type.String())\n })),\n name: Type.String({\n pattern: \"^(@[a-z0-9-~][a-z0-9-._~]*/)?[a-z0-9-~][a-z0-9-._~]*$\"\n }),\n tagline: Type.String({ minLength: 1 })\n }),\n implements: Type.Optional(Type.Array(adapterImplementation)),\n lifecycle: Type.Optional(Type.Array(lifecycleStep)),\n presets: Type.Optional(Type.Array(Type.Object({\n description: Type.Optional(Type.String()),\n id: Type.String({ minLength: 1 }),\n title: Type.String(),\n values: Type.Record(Type.String(), Type.Unknown())\n }))),\n requires: Type.Optional(manifestRequirements),\n settings: jsonSchemaObject,\n slots: Type.Optional(Type.Record(Type.String(), adapterSlot)),\n tools: Type.Optional(Type.Record(Type.String({ pattern: TOOL_NAME_PATTERN.source }), serializedTool)),\n wiring: Type.Array(wiringRecipe)\n});\nvar serializeManifest = (manifest) => {\n const { __config, tools, ...rest } = manifest;\n return {\n ...rest,\n ...tools === undefined ? {} : {\n tools: Object.fromEntries(Object.entries(tools).map(([name, tool]) => [\n name,\n {\n ...tool.annotations === undefined ? {} : { annotations: tool.annotations },\n ...tool.authorization === undefined ? {} : { authorization: tool.authorization },\n ...tool.kind === \"workspace\" ? { capabilities: tool.capabilities } : {},\n description: tool.description,\n input: tool.input,\n kind: tool.kind\n }\n ]))\n }\n };\n};\n// src/load.ts\nimport { Value as Value2 } from \"@sinclair/typebox/value\";\nvar MAX_REPORTED_ERRORS2 = 5;\nvar isManifestShaped = (value) => typeof value === \"object\" && value !== null;\nvar invalid = (details) => {\n const result = {\n details,\n error: \"manifest_invalid\",\n ok: false\n };\n return result;\n};\nvar missing = (details) => {\n const result = {\n details,\n error: \"manifest_missing\",\n ok: false\n };\n return result;\n};\nvar validate = (candidate, source) => {\n if (!isManifestShaped(candidate))\n return missing(`${source} did not export a manifest object`);\n const projected = serializeManifest(candidate);\n if (Value2.Check(manifestSchema, projected)) {\n if (candidate.contract === 1 && Object.values(candidate.tools ?? {}).some((tool) => tool.authorization !== undefined))\n return invalid(\"tool authorization metadata requires manifest contract 2\");\n const badToolKey = Object.keys(candidate.tools ?? {}).find((key) => !TOOL_NAME_PATTERN.test(key));\n if (badToolKey !== undefined)\n return invalid(`tool key \"${badToolKey}\" must match ${TOOL_NAME_PATTERN} (snake_case, no dots \\u2014 hosts namespace it)`);\n const security = inspectManifestSecurity(candidate);\n const securityErrors = security.issues.filter((issue2) => issue2.severity === \"error\");\n if (securityErrors.length > 0)\n return invalid(securityErrors.slice(0, MAX_REPORTED_ERRORS2).map((issue2) => `tool \"${issue2.toolName}\": ${issue2.message}`).join(\"; \"));\n const result = { manifest: candidate, ok: true };\n return result;\n }\n const details = [...Value2.Errors(manifestSchema, projected)].slice(0, MAX_REPORTED_ERRORS2).map((error) => `${error.path || \"/\"}: ${error.message}`).join(\"; \");\n return invalid(details);\n};\nvar loadManifest = async (specifier) => {\n let imported;\n try {\n imported = await (specifier.includes(\"://\") || specifier.endsWith(\"/manifest\") ? import(specifier) : import(`${specifier}/manifest`));\n } catch (error) {\n return missing(error instanceof Error ? error.message : String(error));\n }\n return validate(resolveManifestExport(imported), specifier);\n};\nvar resolveManifestExport = (moduleOrManifest) => {\n if (typeof moduleOrManifest !== \"object\" || moduleOrManifest === null)\n return moduleOrManifest;\n if (\"contract\" in moduleOrManifest)\n return moduleOrManifest;\n return Reflect.get(moduleOrManifest, \"manifest\") ?? Reflect.get(moduleOrManifest, \"default\");\n};\nvar validateManifest = (candidate) => validate(resolveManifestExport(candidate), \"manifest\");\n// src/packagePolicy.ts\nvar EXACT_VERSION = /^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$/;\nvar isRecord = (value) => typeof value === \"object\" && value !== null && !Array.isArray(value);\nvar hasExternal = (build, specifier) => [\n `--external ${specifier}`,\n `--external '${specifier}'`,\n `--external \"${specifier}\"`,\n `--external=${specifier}`,\n `--external='${specifier}'`,\n `--external=\"${specifier}\"`\n].some((candidate) => build.includes(candidate));\nvar parseStringList = (value, optional = false) => {\n if (value === undefined && optional)\n return [];\n if (!Array.isArray(value) || !value.every((specifier) => typeof specifier === \"string\" && specifier.length > 0))\n return;\n return value;\n};\nvar parsedPolicy = (runtime, value, issues) => {\n if (!isRecord(value)) {\n issues.push({\n code: \"invalid_policy\",\n message: `absolutejs.runtimePeers[\"${runtime}\"] must be an object`,\n runtime\n });\n return;\n }\n const { artifactImports, buildExternals, optional, range, tested } = value;\n const artifactImportList = parseStringList(artifactImports);\n const externalList = parseStringList(buildExternals, true);\n if (runtime.length === 0 || typeof range !== \"string\" || range.length === 0 || typeof tested !== \"string\" || !EXACT_VERSION.test(tested) || optional !== undefined && typeof optional !== \"boolean\" || artifactImportList === undefined || externalList === undefined || new Set(artifactImportList).size !== artifactImportList.length || new Set(externalList).size !== externalList.length) {\n issues.push({\n code: \"invalid_policy\",\n message: `absolutejs.runtimePeers[\"${runtime}\"] requires a non-empty range, exact tested version, optional boolean, explicit unique artifactImports, and unique buildExternals`,\n runtime\n });\n return;\n }\n return {\n artifactImports: artifactImportList,\n buildExternals: externalList,\n optional: optional === true,\n range,\n tested\n };\n};\nvar hasArtifactImport = (artifacts, specifier) => Object.values(artifacts).some((contents) => contents.includes(`\"${specifier}\"`) || contents.includes(`'${specifier}'`));\nvar validateDeclaredRuntime = (packageJson, runtime, policy, issues) => {\n if (packageJson.dependencies?.[runtime] !== undefined)\n issues.push({\n code: \"dependency_conflict\",\n message: `${runtime} is host-owned and must not appear in dependencies`,\n runtime\n });\n if (packageJson.peerDependencies?.[runtime] !== policy.range)\n issues.push({\n code: \"peer_range_mismatch\",\n message: `${runtime} peer range must be exactly \"${policy.range}\"`,\n runtime\n });\n if (packageJson.devDependencies?.[runtime] !== policy.tested)\n issues.push({\n code: \"dev_dependency_mismatch\",\n message: `${runtime} dev dependency must be exactly \"${policy.tested}\"`,\n runtime\n });\n const declaredOptional = packageJson.peerDependenciesMeta?.[runtime]?.optional === true;\n if (declaredOptional !== policy.optional)\n issues.push({\n code: \"optional_mismatch\",\n message: `${runtime} peer optionality must be ${String(policy.optional)}`,\n runtime\n });\n const build = packageJson.scripts?.build ?? \"\";\n for (const specifier of policy.buildExternals ?? [])\n if (!hasExternal(build, specifier))\n issues.push({\n code: \"external_missing\",\n message: `build must externalize ${specifier} for host-owned runtime ${runtime}`,\n runtime\n });\n};\nvar validatePackageRuntimePolicy = (packageJson) => {\n const configured = packageJson.absolutejs?.runtimePeers;\n const issues = [];\n let runtimePeers;\n if (configured === undefined)\n runtimePeers = {};\n else if (isRecord(configured))\n runtimePeers = configured;\n else\n issues.push({\n code: \"invalid_policy\",\n message: \"absolutejs.runtimePeers must be an object\"\n });\n for (const runtime of Object.keys(packageJson.peerDependencies ?? {}))\n if (runtimePeers?.[runtime] === undefined)\n issues.push({\n code: \"unclassified_peer\",\n message: `${runtime} is a peer dependency and must be classified in absolutejs.runtimePeers`,\n runtime\n });\n for (const [runtime, value] of Object.entries(runtimePeers ?? {})) {\n const policy = parsedPolicy(runtime, value, issues);\n if (policy)\n validateDeclaredRuntime(packageJson, runtime, policy, issues);\n }\n return issues.length === 0 ? { issues: [], ok: true } : { issues, ok: false };\n};\nvar validatePackageArtifactPolicy = (packageJson, artifacts) => {\n const packagePolicy = validatePackageRuntimePolicy(packageJson);\n if (!packagePolicy.ok)\n return packagePolicy;\n const configured = packageJson.absolutejs?.runtimePeers;\n if (!isRecord(configured))\n return packagePolicy;\n const issues = [];\n for (const [runtime, value] of Object.entries(configured)) {\n const policy = parsedPolicy(runtime, value, issues);\n if (!policy)\n continue;\n for (const specifier of policy.artifactImports)\n if (!hasArtifactImport(artifacts, specifier))\n issues.push({\n code: \"artifact_import_missing\",\n message: `built JavaScript must retain an import of ${specifier} for host-owned runtime ${runtime}`,\n runtime\n });\n }\n return issues.length === 0 ? { issues: [], ok: true } : { issues, ok: false };\n};\nexport {\n validatePackageRuntimePolicy,\n validatePackageArtifactPolicy,\n validateManifest,\n toolFactory,\n toMcpToolRegistry,\n toAIToolMap,\n serializeManifest,\n resolveManifestExport,\n manifestsToAgentsText,\n manifestsToAgentCatalogJsonLd,\n manifestToAgentCatalogEntry,\n manifestSchema,\n loadManifest,\n inspectManifestSecurity,\n envRequirementsToCredentialCard,\n digestToolInput,\n defineManifest,\n defineImplementation,\n TOOL_NAME_PATTERN\n};\n\n//# debugId=8009D22535851E1064756E2164756E21\n//# sourceMappingURL=index.js.map\n",
|
|
120
120
|
"import { defineManifest, toolFactory } from \"@absolutejs/manifest\";\nimport { Type } from \"@sinclair/typebox\";\nimport { computeInvoice, readProviderBalances } from \"./index\";\nimport type { Plan, ProviderBalanceConfig } from \"./index\";\n\nconst MS_PER_DAY = 86_400_000;\nconst DEFAULT_PREVIEW_DAYS = 30;\nconst MAX_PREVIEW_DAYS = 366;\n\n/* Billing has no factory config: it is a pure cost-model library. The app\n * declares a Plan with createPlan and prices usage with computeInvoice.\n * TRuntime is the v1 composite-runtime convention: the app's plan plus the\n * (optional) provider-balances credential config the host wired from env. */\ntype BillingRuntime = {\n plan: Plan;\n balances?: ProviderBalanceConfig;\n};\n\nconst tool = toolFactory<BillingRuntime>();\n\nexport const manifest = defineManifest<Record<never, never>, BillingRuntime>()({\n contract: 2,\n identity: {\n accent: \"#f59e0b\",\n category: \"commerce\",\n description:\n \"Pure cost-model substrate: `createPlan` declares a priced product (base fee, per-dimension unit prices, graduated tiers, free-tier allowances, minimum charge) and `computeInvoice` turns a usage snapshot into invoice line items — all money math in integer micros, so float drift is structurally impossible. `readProviderBalances` reads what the vendors YOU pay (Anthropic, OpenAI, Twilio, Deepgram, ElevenLabs, Apollo) say you have left or have spent, so a dashboard can reconcile your own metering against vendor truth.\",\n docsUrl: \"https://github.com/absolutejs/billing\",\n name: \"@absolutejs/billing\",\n tagline: \"Price your product and turn usage into invoices.\",\n },\n requires: {\n env: [\n {\n description:\n \"Anthropic Admin API key — only needed for provider-balance reporting (spend, not balance: Anthropic exposes cost only)\",\n docsUrl: \"https://console.anthropic.com/settings/admin-keys\",\n example: \"sk-ant-admin-xxxxxxxxx\",\n key: \"ANTHROPIC_ADMIN_KEY\",\n optional: true,\n secret: true,\n },\n {\n description:\n \"OpenAI organization Admin key — only needed for provider-balance reporting (spend, not balance: OpenAI exposes cost only)\",\n docsUrl: \"https://platform.openai.com/settings/organization/admin-keys\",\n example: \"sk-admin-xxxxxxxxx\",\n key: \"OPENAI_ADMIN_KEY\",\n optional: true,\n secret: true,\n },\n ],\n },\n settings: Type.Object({}),\n tools: {\n explain_plan: tool.runtime({\n annotations: { readOnlyHint: true },\n authorization: {\n approval: \"never\",\n audience: \"authenticated\",\n effects: [\"read\"],\n requiredScopes: [\"billing:read\"],\n },\n description:\n \"Describe the app's pricing plan: base fee, per-dimension unit prices or tier tables, free-tier allowances, rounding, and minimum charge. Amounts are integer micros (1,000,000 micros = 1 currency unit). Custom function-priced dimensions are reported as 'custom'.\",\n handler: (_input, { plan }) => {\n const dimensions = Object.entries(plan.pricedDimensions).map(\n ([key, dim]) => ({\n freeTier: dim.freeTier,\n key,\n label: dim.label ?? key,\n pricing:\n dim.perUnitMicros !== undefined\n ? { perUnitMicros: dim.perUnitMicros }\n : dim.tiers !== undefined\n ? { tiers: dim.tiers }\n : \"custom\",\n unit: dim.unit ?? 1,\n }),\n );\n\n return JSON.stringify({\n basePriceMicros: plan.basePriceMicros ?? 0,\n currency: plan.currency ?? \"usd\",\n dimensions,\n minimumChargeMicros: plan.minimumChargeMicros ?? 0,\n name: plan.name,\n rounding: plan.rounding ?? \"truncate\",\n });\n },\n input: Type.Object({}),\n }),\n preview_invoice: tool.runtime({\n annotations: { idempotentHint: true, readOnlyHint: true },\n authorization: {\n approval: \"never\",\n audience: \"owner\",\n effects: [\"read\"],\n requiredScopes: [\"billing:preview\"],\n resource: {\n idField: \"tenant\",\n tenantIdField: \"tenant\",\n type: \"billing-preview\",\n },\n },\n description:\n \"Dry-run an invoice: price a usage snapshot through the app's plan and return the line items and total in integer micros. Pure math — nothing is charged or stored. Usage keys must match the plan's priced dimensions.\",\n handler: ({ periodDays, tenant, usage }, { plan }) => {\n const end = Date.now();\n const invoice = computeInvoice({\n period: {\n end,\n start: end - (periodDays ?? DEFAULT_PREVIEW_DAYS) * MS_PER_DAY,\n },\n plan,\n tenant: tenant ?? \"preview\",\n usage,\n });\n\n return JSON.stringify(invoice);\n },\n input: Type.Object({\n periodDays: Type.Optional(\n Type.Integer({\n description:\n \"Length of the invoice period ending now, in days (default 30).\",\n maximum: MAX_PREVIEW_DAYS,\n minimum: 1,\n }),\n ),\n tenant: Type.Optional(\n Type.String({\n description: \"Tenant id to stamp on the preview invoice.\",\n }),\n ),\n usage: Type.Record(Type.String(), Type.Number({ minimum: 0 }), {\n description:\n 'Metered quantities keyed by dimension name, e.g. {\"requests\": 120000}.',\n }),\n }),\n }),\n provider_balances: tool.runtime({\n annotations: { idempotentHint: true, openWorldHint: true },\n authorization: {\n approval: \"policy\",\n audience: \"admin\",\n destinations: [\"configured-billing-provider\"],\n effects: [\"read\", \"external-network\"],\n idempotency: { mode: \"host\" },\n requiredScopes: [\"billing:providers:read\"],\n reversible: false,\n },\n description:\n \"Read each configured upstream vendor's OWN reported balance, quota, or spend (Anthropic/OpenAI report spend; Twilio/Deepgram report balance; ElevenLabs/Apollo report quota). Free reporting endpoints — no per-call charge. Reports only the providers the host wired credentials for.\",\n handler: async (_input, { balances }) =>\n balances === undefined\n ? \"no provider credentials are wired — wire a ProviderBalanceConfig (see the provider-balances recipe)\"\n : JSON.stringify(await readProviderBalances(balances)),\n input: Type.Object({}),\n }),\n },\n wiring: [\n {\n description:\n \"Dimension keys must match the keys of the usage snapshot you price with computeInvoice.\",\n id: \"default\",\n server: {\n code: [\n \"const plan = createPlan({\",\n \"\\tname: 'pro',\",\n \"\\tpricedDimensions: {\",\n \"\\t\\t// TODO: your priced dimensions, e.g.\",\n \"\\t\\trequests: { freeTier: 10_000, perUnitMicros: 200 }\",\n \"\\t}\",\n \"});\",\n ].join(\"\\n\"),\n imports: [{ from: \"@absolutejs/billing\", names: [\"createPlan\"] }],\n placement: \"module-scope\",\n },\n title: \"Declare your pricing plan\",\n },\n {\n description:\n \"Optional: read upstream vendors' own balance/quota/spend. Include only the providers you pay; each needs its credential in env.\",\n id: \"provider-balances\",\n server: {\n code: [\n \"const providerBalanceConfig = {\",\n \"\\tanthropic: { adminKey: ${env.ANTHROPIC_ADMIN_KEY} ?? '' },\",\n \"\\topenai: { adminKey: ${env.OPENAI_ADMIN_KEY} ?? '' }\",\n \"};\",\n ].join(\"\\n\"),\n imports: [],\n placement: \"module-scope\",\n },\n title: \"Wire vendor-balance credentials\",\n },\n ],\n});\n"
|
|
121
121
|
],
|
|
122
|
-
"mappings": "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",
|
|
123
|
-
"debugId": "
|
|
122
|
+
"mappings": "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",
|
|
123
|
+
"debugId": "FB56701BA9401D2A64756E2164756E21",
|
|
124
124
|
"names": []
|
|
125
125
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@absolutejs/billing",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Cost-model substrate for the AbsoluteJS PaaS. createPlan declares a priced product (base fee + per-dimension unit prices + tiered / free-tier rules); computeInvoice turns a @absolutejs/metering Usage snapshot into Invoice line items in integer micros (no float drift). Pluggable invoice sinks (Stripe / etc.) live in @absolutejs/billing-adapters/*.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|