@arnaudjnn/billing-tools 22.2.1 → 23.0.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/billing.d.ts +16 -1
- package/dist/billing.d.ts.map +1 -1
- package/dist/billing.js +47 -3
- package/dist/billing.js.map +1 -1
- package/dist/bound-api.d.ts +9 -14
- package/dist/bound-api.d.ts.map +1 -1
- package/dist/bound-api.js +7 -5
- package/dist/bound-api.js.map +1 -1
- package/dist/cli/commands.d.ts.map +1 -1
- package/dist/cli/commands.js +35 -53
- package/dist/cli/commands.js.map +1 -1
- package/dist/create-billing.d.ts +4 -12
- package/dist/create-billing.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/ladder.d.ts +48 -1
- package/dist/ladder.d.ts.map +1 -1
- package/dist/ladder.js.map +1 -1
- package/dist/plan-request.d.ts +34 -0
- package/dist/plan-request.d.ts.map +1 -1
- package/dist/plan-request.js +62 -1
- package/dist/plan-request.js.map +1 -1
- package/dist/tools/quotes.d.ts +4 -6
- package/dist/tools/quotes.d.ts.map +1 -1
- package/dist/tools/quotes.js +133 -174
- package/dist/tools/quotes.js.map +1 -1
- package/dist/tools/register.d.ts +2 -2
- package/dist/tools/register.d.ts.map +1 -1
- package/dist/tools/register.js +7 -7
- package/dist/tools/register.js.map +1 -1
- package/package.json +1 -1
- package/dist/credit-quotes.d.ts +0 -115
- package/dist/credit-quotes.d.ts.map +0 -1
- package/dist/credit-quotes.js +0 -123
- package/dist/credit-quotes.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/tools/register.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/tools/register.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arnaudjnn/billing-tools",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "23.0.0",
|
|
4
4
|
"description": "The get-paid engine for Stripe + WorkOS apps, for humans and AI agents. Drop-in API-key auth, credit + subscription billing, auth.md agent registration, and MPP machine payments, as MCP tools, a REST API, and a CLI. Framework-agnostic, storage-pluggable.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Arnaud Jeannin",
|
package/dist/credit-quotes.d.ts
DELETED
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
import type { BillingAdapter } from "./types.js";
|
|
2
|
-
import type { Notify } from "./notifications/index.js";
|
|
3
|
-
/**
|
|
4
|
-
* What the customer is asking for, and what a salesperson needs to answer it.
|
|
5
|
-
*
|
|
6
|
-
* NOT `CreditQuote` — that name is taken, by the tax estimate `quoteCreditPurchase` returns
|
|
7
|
-
* for a self-serve top-up. Two records called the same thing in one barrel is how somebody
|
|
8
|
-
* imports the wrong one and finds out at runtime; the same reason `plan-model`'s Quantity and
|
|
9
|
-
* `checkout`'s stayed distinct.
|
|
10
|
-
*/
|
|
11
|
-
export interface VolumeQuote {
|
|
12
|
-
id: string;
|
|
13
|
-
/** Who asked — an admin of the workspace. */
|
|
14
|
-
memberId: string;
|
|
15
|
-
createdAt: string;
|
|
16
|
-
status: "pending" | "approved" | "denied";
|
|
17
|
-
/**
|
|
18
|
-
* WHO to answer, when it is not simply the account they signed up with.
|
|
19
|
-
*
|
|
20
|
-
* A person's WorkOS email is whatever they registered with — a personal address as often
|
|
21
|
-
* as not — and the one thing a salesperson needs before anything else is a work address
|
|
22
|
-
* on the company's own domain. Their name matters for the same reason: an answer that
|
|
23
|
-
* opens "Ciao" beats one addressed to a workspace id.
|
|
24
|
-
*/
|
|
25
|
-
contact?: {
|
|
26
|
-
firstName: string;
|
|
27
|
-
lastName: string;
|
|
28
|
-
email: string;
|
|
29
|
-
};
|
|
30
|
-
/** How much they want. Credits when they think in credits. */
|
|
31
|
-
credits?: number;
|
|
32
|
-
/**
|
|
33
|
-
* What they actually said, when they do not.
|
|
34
|
-
*
|
|
35
|
-
* Buyers think in searches, documents or seats per month, not in credits — asking them to
|
|
36
|
-
* convert is asking them to price the product on our behalf. Stored as they said it, so a
|
|
37
|
-
* quote can be answered in the terms it was asked in.
|
|
38
|
-
*/
|
|
39
|
-
volume?: {
|
|
40
|
-
amount: number;
|
|
41
|
-
unit: string;
|
|
42
|
-
per: "month" | "year";
|
|
43
|
-
};
|
|
44
|
-
/** One purchase, or a commitment. Decides whether the answer is an invoice or a contract. */
|
|
45
|
-
term: "one_off" | "monthly" | "annual";
|
|
46
|
-
/** How many people. An Enterprise deal is seats × usage; the seats half is already known
|
|
47
|
-
* to the workspace, and this is what they expect to GROW to. */
|
|
48
|
-
seats?: number;
|
|
49
|
-
/** What they expect to pay, in minor units. Optional, and the single most useful field on
|
|
50
|
-
* the form: it anchors the negotiation and tells an operator whether the ask is a discount
|
|
51
|
-
* request or simply a big order. */
|
|
52
|
-
budgetMinor?: number;
|
|
53
|
-
/** ISO date. Urgency, and whether this can wait for a contract cycle. */
|
|
54
|
-
neededBy?: string;
|
|
55
|
-
/** Italian B2B is bank transfer against an invoice far more often than a card. */
|
|
56
|
-
paymentMethod: "invoice" | "card";
|
|
57
|
-
/** Procurement blocks payment without it, and it has to be on the invoice, not in an email. */
|
|
58
|
-
purchaseOrder?: string;
|
|
59
|
-
/** Why. The qualifying signal, and the first thing a human reads. */
|
|
60
|
-
note?: string;
|
|
61
|
-
/** What the operator decided. */
|
|
62
|
-
answer?: QuoteAnswer;
|
|
63
|
-
}
|
|
64
|
-
export interface QuoteAnswer {
|
|
65
|
-
credits: number;
|
|
66
|
-
amountMinor: number;
|
|
67
|
-
currency: string;
|
|
68
|
-
/** ISO date the quote stops being honoured. A price with no expiry is a price for ever. */
|
|
69
|
-
validUntil?: string;
|
|
70
|
-
invoiceId?: string;
|
|
71
|
-
invoiceUrl?: string;
|
|
72
|
-
note?: string;
|
|
73
|
-
at: string;
|
|
74
|
-
}
|
|
75
|
-
/** Every quote this workspace has asked for, newest first. */
|
|
76
|
-
export declare function listCreditQuotes(adapter: BillingAdapter, orgId: string): Promise<VolumeQuote[]>;
|
|
77
|
-
export type QuoteAsk = Omit<VolumeQuote, "id" | "memberId" | "createdAt" | "status" | "answer"> & {
|
|
78
|
-
id?: string;
|
|
79
|
-
now?: number;
|
|
80
|
-
};
|
|
81
|
-
/**
|
|
82
|
-
* File an ask. One open quote per workspace.
|
|
83
|
-
*
|
|
84
|
-
* Not per member, unlike the top-up: a quote is the WORKSPACE's commercial conversation, and
|
|
85
|
-
* two admins asking separately would put an operator in the position of answering the same
|
|
86
|
-
* customer twice with two prices.
|
|
87
|
-
*/
|
|
88
|
-
export declare function requestCreditQuote(adapter: BillingAdapter, orgId: string, input: QuoteAsk & {
|
|
89
|
-
memberId: string;
|
|
90
|
-
notify?: Notify;
|
|
91
|
-
}): Promise<{
|
|
92
|
-
ok: true;
|
|
93
|
-
quote: VolumeQuote;
|
|
94
|
-
} | {
|
|
95
|
-
ok: false;
|
|
96
|
-
reason: "already_pending" | "queue_full" | "nothing_asked";
|
|
97
|
-
pending?: VolumeQuote;
|
|
98
|
-
}>;
|
|
99
|
-
/** Record the operator's answer. The MONEY half is `sellCredits`; this is the record. */
|
|
100
|
-
export declare function answerCreditQuote(adapter: BillingAdapter, orgId: string, input: {
|
|
101
|
-
quoteId: string;
|
|
102
|
-
outcome: "approved" | "denied";
|
|
103
|
-
answer?: Omit<QuoteAnswer, "at"> & {
|
|
104
|
-
at?: string;
|
|
105
|
-
};
|
|
106
|
-
now?: number;
|
|
107
|
-
notify?: Notify;
|
|
108
|
-
}): Promise<{
|
|
109
|
-
ok: true;
|
|
110
|
-
quote: VolumeQuote;
|
|
111
|
-
} | {
|
|
112
|
-
ok: false;
|
|
113
|
-
reason: "not_found" | "queue_full";
|
|
114
|
-
}>;
|
|
115
|
-
//# sourceMappingURL=credit-quotes.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"credit-quotes.d.ts","sourceRoot":"","sources":["../src/credit-quotes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AA+BvD;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;IAE1C;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACjE,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAAA;KAAE,CAAC;IACjE,6FAA6F;IAC7F,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACvC;qEACiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;yCAEqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,aAAa,EAAE,SAAS,GAAG,MAAM,CAAC;IAClC,+FAA+F;IAC/F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,iCAAiC;IACjC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,2FAA2F;IAC3F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;CACZ;AAsDD,8DAA8D;AAC9D,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,WAAW,EAAE,CAAC,CAExB;AAED,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC,GAAG;IAChG,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,QAAQ,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACtD,OAAO,CACN;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,GAChC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,iBAAiB,GAAG,YAAY,GAAG,eAAe,CAAC;IAAC,OAAO,CAAC,EAAE,WAAW,CAAA;CAAE,CACnG,CAkCA;AAED,yFAAyF;AACzF,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE;IACL,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,UAAU,GAAG,QAAQ,CAAC;IAC/B,MAAM,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG;QAAE,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GACA,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,WAAW,GAAG,YAAY,CAAA;CAAE,CAAC,CA0B/F"}
|
package/dist/credit-quotes.js
DELETED
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
const QUOTES_KEY = "btCreditQuotes";
|
|
2
|
-
/** WorkOS metadata values are 600 chars. Same ceiling, same shedding discipline as the
|
|
3
|
-
* top-up queue and the plan-request queue. */
|
|
4
|
-
const VALUE_LIMIT = 600;
|
|
5
|
-
async function read(adapter, orgId) {
|
|
6
|
-
const md = (await adapter.getOrgMetadata?.(orgId)) ?? {};
|
|
7
|
-
try {
|
|
8
|
-
const parsed = JSON.parse(md[QUOTES_KEY] ?? "[]");
|
|
9
|
-
return Array.isArray(parsed) ? parsed : [];
|
|
10
|
-
}
|
|
11
|
-
catch {
|
|
12
|
-
return [];
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Fit the queue into one metadata value, shedding what costs least to lose:
|
|
17
|
-
* notes on settled quotes, then settled quotes, then notes on pending ones.
|
|
18
|
-
*
|
|
19
|
-
* A PENDING quote is never dropped. Somebody is waiting on a price, and losing the question
|
|
20
|
-
* means they wait for ever — so past that point the write fails and the caller is refused,
|
|
21
|
-
* which is the rule `plan-request.ts` arrived at the same way.
|
|
22
|
-
*/
|
|
23
|
-
function pack(list) {
|
|
24
|
-
const size = (l) => JSON.stringify(l).length;
|
|
25
|
-
const pendingFirst = [...list].sort((a, b) => Number(a.status !== "pending") - Number(b.status !== "pending"));
|
|
26
|
-
let kept = pendingFirst;
|
|
27
|
-
if (size(kept) <= VALUE_LIMIT)
|
|
28
|
-
return { kept, fits: true };
|
|
29
|
-
const strip = (q) => {
|
|
30
|
-
const { note: _n, purchaseOrder: _p, ...rest } = q;
|
|
31
|
-
return rest;
|
|
32
|
-
};
|
|
33
|
-
kept = kept.map((q) => (q.status === "pending" ? q : strip(q)));
|
|
34
|
-
while (size(kept) > VALUE_LIMIT) {
|
|
35
|
-
const settledAt = kept.map((q) => q.status !== "pending").lastIndexOf(true);
|
|
36
|
-
if (settledAt === -1)
|
|
37
|
-
break;
|
|
38
|
-
kept = kept.filter((_, i) => i !== settledAt);
|
|
39
|
-
}
|
|
40
|
-
if (size(kept) > VALUE_LIMIT)
|
|
41
|
-
kept = kept.map(strip);
|
|
42
|
-
return { kept, fits: size(kept) <= VALUE_LIMIT };
|
|
43
|
-
}
|
|
44
|
-
async function write(adapter, orgId, list) {
|
|
45
|
-
const { kept, fits } = pack(list);
|
|
46
|
-
if (!fits)
|
|
47
|
-
return false;
|
|
48
|
-
await adapter.setOrgMetadata?.(orgId, { [QUOTES_KEY]: JSON.stringify(kept) });
|
|
49
|
-
return true;
|
|
50
|
-
}
|
|
51
|
-
/** Every quote this workspace has asked for, newest first. */
|
|
52
|
-
export async function listCreditQuotes(adapter, orgId) {
|
|
53
|
-
return (await read(adapter, orgId)).sort((a, b) => b.createdAt.localeCompare(a.createdAt));
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* File an ask. One open quote per workspace.
|
|
57
|
-
*
|
|
58
|
-
* Not per member, unlike the top-up: a quote is the WORKSPACE's commercial conversation, and
|
|
59
|
-
* two admins asking separately would put an operator in the position of answering the same
|
|
60
|
-
* customer twice with two prices.
|
|
61
|
-
*/
|
|
62
|
-
export async function requestCreditQuote(adapter, orgId, input) {
|
|
63
|
-
const { memberId, notify, id, now, ...ask } = input;
|
|
64
|
-
// Something to go on. Volume is the richest answer and it is NOT required: a form that
|
|
65
|
-
// demands a credit figure from somebody who has not priced the product yet is a form
|
|
66
|
-
// that goes unfilled, and "twelve people, talk to me" is a perfectly good ask. What
|
|
67
|
-
// cannot be answered is a request that names no size, no volume and nobody.
|
|
68
|
-
if (!ask.credits && !ask.volume && !ask.seats && !ask.contact) {
|
|
69
|
-
return { ok: false, reason: "nothing_asked" };
|
|
70
|
-
}
|
|
71
|
-
const list = await read(adapter, orgId);
|
|
72
|
-
const open = list.find((q) => q.status === "pending");
|
|
73
|
-
if (open)
|
|
74
|
-
return { ok: false, reason: "already_pending", pending: open };
|
|
75
|
-
const quote = {
|
|
76
|
-
id: id ?? crypto.randomUUID(),
|
|
77
|
-
memberId,
|
|
78
|
-
createdAt: new Date(now ?? Date.now()).toISOString(),
|
|
79
|
-
status: "pending",
|
|
80
|
-
...ask,
|
|
81
|
-
...(ask.note ? { note: ask.note.slice(0, 280) } : {}),
|
|
82
|
-
};
|
|
83
|
-
if (!(await write(adapter, orgId, [...list, quote])))
|
|
84
|
-
return { ok: false, reason: "queue_full" };
|
|
85
|
-
// The operators, not the workspace's own admins: this is the one ask in the library whose
|
|
86
|
-
// audience is on our side of the transaction.
|
|
87
|
-
notify?.({
|
|
88
|
-
id: `quote-requested:${quote.id}`,
|
|
89
|
-
type: "quote.requested",
|
|
90
|
-
orgId,
|
|
91
|
-
to: [],
|
|
92
|
-
data: { quoteId: quote.id, member: { id: memberId, email: null }, quote },
|
|
93
|
-
});
|
|
94
|
-
return { ok: true, quote };
|
|
95
|
-
}
|
|
96
|
-
/** Record the operator's answer. The MONEY half is `sellCredits`; this is the record. */
|
|
97
|
-
export async function answerCreditQuote(adapter, orgId, input) {
|
|
98
|
-
const list = await read(adapter, orgId);
|
|
99
|
-
const found = list.find((q) => q.id === input.quoteId && q.status === "pending");
|
|
100
|
-
if (!found)
|
|
101
|
-
return { ok: false, reason: "not_found" };
|
|
102
|
-
const updated = {
|
|
103
|
-
...found,
|
|
104
|
-
status: input.outcome,
|
|
105
|
-
...(input.answer
|
|
106
|
-
? { answer: { ...input.answer, at: input.answer.at ?? new Date(input.now ?? Date.now()).toISOString() } }
|
|
107
|
-
: {}),
|
|
108
|
-
};
|
|
109
|
-
if (!(await write(adapter, orgId, list.map((q) => (q.id === updated.id ? updated : q))))) {
|
|
110
|
-
return { ok: false, reason: "queue_full" };
|
|
111
|
-
}
|
|
112
|
-
input.notify?.({
|
|
113
|
-
// The outcome is in the id: a denial is not a redelivery of an approval.
|
|
114
|
-
id: `quote-${input.outcome}:${updated.id}`,
|
|
115
|
-
type: "quote.resolved",
|
|
116
|
-
orgId,
|
|
117
|
-
to: [],
|
|
118
|
-
audience: { kind: "member", memberId: updated.memberId },
|
|
119
|
-
data: { quoteId: updated.id, member: { id: updated.memberId, email: null }, quote: updated },
|
|
120
|
-
});
|
|
121
|
-
return { ok: true, quote: updated };
|
|
122
|
-
}
|
|
123
|
-
//# sourceMappingURL=credit-quotes.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"credit-quotes.js","sourceRoot":"","sources":["../src/credit-quotes.ts"],"names":[],"mappings":"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"}
|