@arnaudjnn/billing-tools 21.2.0 → 21.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.
Files changed (42) hide show
  1. package/dist/adapters/workos-org.d.ts +32 -1
  2. package/dist/adapters/workos-org.d.ts.map +1 -1
  3. package/dist/adapters/workos-org.js +79 -0
  4. package/dist/adapters/workos-org.js.map +1 -1
  5. package/dist/bound-api.d.ts +56 -0
  6. package/dist/bound-api.d.ts.map +1 -1
  7. package/dist/bound-api.js +52 -0
  8. package/dist/bound-api.js.map +1 -1
  9. package/dist/cli/commands.d.ts.map +1 -1
  10. package/dist/cli/commands.js +57 -1
  11. package/dist/cli/commands.js.map +1 -1
  12. package/dist/create-billing.d.ts +47 -0
  13. package/dist/create-billing.d.ts.map +1 -1
  14. package/dist/create-billing.js +2 -0
  15. package/dist/create-billing.js.map +1 -1
  16. package/dist/entries/tools.d.ts +1 -0
  17. package/dist/entries/tools.d.ts.map +1 -1
  18. package/dist/entries/tools.js +1 -0
  19. package/dist/entries/tools.js.map +1 -1
  20. package/dist/index.d.ts +2 -0
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +4 -0
  23. package/dist/index.js.map +1 -1
  24. package/dist/members.d.ts +96 -0
  25. package/dist/members.d.ts.map +1 -0
  26. package/dist/members.js +109 -0
  27. package/dist/members.js.map +1 -0
  28. package/dist/tools/keys.d.ts.map +1 -1
  29. package/dist/tools/keys.js +50 -1
  30. package/dist/tools/keys.js.map +1 -1
  31. package/dist/tools/members.d.ts +33 -0
  32. package/dist/tools/members.d.ts.map +1 -0
  33. package/dist/tools/members.js +245 -0
  34. package/dist/tools/members.js.map +1 -0
  35. package/dist/tools/register.d.ts +10 -1
  36. package/dist/tools/register.d.ts.map +1 -1
  37. package/dist/tools/register.js +23 -0
  38. package/dist/tools/register.js.map +1 -1
  39. package/dist/types.d.ts +38 -0
  40. package/dist/types.d.ts.map +1 -1
  41. package/dist/types.js.map +1 -1
  42. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- import { enforceAccess } from "../auth.js";
2
+ import { currentPrincipal, enforceAccess } from "../auth.js";
3
3
  import { sendMagicAuth, verifyMagicAuth } from "../magic-auth.js";
4
4
  import { ensureStripeCustomer, stripeConfigured } from "../billing.js";
5
5
  export function registerKeyTools(server, adapter, config) {
@@ -57,6 +57,55 @@ Add the key to your config as: "Authorization": "Bearer <key>"`, {
57
57
  };
58
58
  }
59
59
  });
60
+ server.tool("create_api_key", `Creates an ADDITIONAL API key for the workspace you are already authenticated to, with a
61
+ name of your choosing. The value is shown once and never again.
62
+
63
+ Use this rather than get_api_key when you already hold a key: get_api_key is the
64
+ email-verification flow for a caller with none, and it names what it mints "API Key" — so a
65
+ workspace with several of them cannot tell from list_api_keys which is which, and cannot
66
+ safely revoke one. Free.`, {
67
+ name: z
68
+ .string()
69
+ .min(1)
70
+ .max(80)
71
+ .describe(`What this key is for — "CI", "staging worker". Shown by list_api_keys`),
72
+ }, async ({ name }) => {
73
+ // Not admin-gated, deliberately: whoever holds a key for this workspace can already do
74
+ // everything a new key could, so refusing them a second one protects nothing. What it
75
+ // DOES need is an existing key, which is what `enforceAccess` means here.
76
+ const auth = await enforceAccess(adapter);
77
+ if ("isError" in auth)
78
+ return auth;
79
+ try {
80
+ const key = await adapter.mintApiKey(auth.orgId, name.trim(), currentPrincipal()?.userId);
81
+ return {
82
+ content: [
83
+ {
84
+ type: "text",
85
+ text: JSON.stringify({
86
+ status: "ok",
87
+ id: key.id,
88
+ name: name.trim(),
89
+ api_key: key.value,
90
+ message: "This key is only shown once. Store it now.",
91
+ usage: { header: `Authorization: Bearer ${key.value}` },
92
+ }, null, 2),
93
+ },
94
+ ],
95
+ };
96
+ }
97
+ catch (e) {
98
+ return {
99
+ isError: true,
100
+ content: [
101
+ {
102
+ type: "text",
103
+ text: `Failed to create key: ${e instanceof Error ? e.message : String(e)}`,
104
+ },
105
+ ],
106
+ };
107
+ }
108
+ });
60
109
  server.tool("list_api_keys", `Lists the API keys for your workspace (obfuscated values, never the full key).
61
110
  Useful for finding stale keys to revoke. Free.`, {}, async () => {
62
111
  const auth = await enforceAccess(adapter);
@@ -1 +1 @@
1
- {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/tools/keys.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/tools/keys.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEvE,MAAM,UAAU,gBAAgB,CAC9B,MAAiB,EACjB,OAAuB,EACvB,MAAsB;IAEtB,MAAM,CAAC,IAAI,CACT,aAAa,EACb;;;+DAG2D,EAC3D;QACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QACxD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;KACvF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;gBAC3B,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;gCACE,MAAM,EAAE,WAAW;gCACnB,OAAO,EAAE,gDAAgD,KAAK,4EAA4E;6BAC3I,EACD,IAAI,EACJ,CAAC,CACF;yBACF;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAChD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,gBAAgB,EAAE,EAAE,CAAC;gBACvB,MAAM,oBAAoB,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC5E,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YAChE,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;4BACE,MAAM,EAAE,IAAI;4BACZ,OAAO,EACL,+FAA+F;4BACjG,OAAO,EAAE,GAAG,CAAC,KAAK;4BAClB,KAAK,EAAE,EAAE,MAAM,EAAE,yBAAyB,GAAG,CAAC,KAAK,EAAE,EAAE;yBACxD,EACD,IAAI,EACJ,CAAC,CACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,yBAAyB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;qBAC5E;iBACF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB;;;;;;yBAMqB,EACrB;QACE,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,EAAE,CAAC;aACP,QAAQ,CAAC,uEAAuE,CAAC;KACrF,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACjB,uFAAuF;QACvF,sFAAsF;QACtF,0EAA0E;QAC1E,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,SAAS,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,gBAAgB,EAAE,EAAE,MAAM,CAAC,CAAC;YAC1F,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;4BACE,MAAM,EAAE,IAAI;4BACZ,EAAE,EAAE,GAAG,CAAC,EAAE;4BACV,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;4BACjB,OAAO,EAAE,GAAG,CAAC,KAAK;4BAClB,OAAO,EAAE,4CAA4C;4BACrD,KAAK,EAAE,EAAE,MAAM,EAAE,yBAAyB,GAAG,CAAC,KAAK,EAAE,EAAE;yBACxD,EACD,IAAI,EACJ,CAAC,CACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,yBAAyB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;qBAC5E;iBACF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,eAAe,EACf;+CAC2C,EAC3C,EAAE,EACF,KAAK,IAAI,EAAE;QACT,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,SAAS,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnD,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aAC5F,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,wBAAwB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;iBACtG;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB;iDAC6C,EAC7C,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC,EAAE,EACpE,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;QACvB,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,SAAS,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YACnE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,UAAU,+BAA+B,EAAE,CAAC;iBAC7F,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aAC/F,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,yBAAyB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;iBACvG;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import type { InvitationService } from "../invitations.js";
3
+ import type { PlanCatalog } from "../plans.js";
4
+ import type { BillingAdapter } from "../types.js";
5
+ export interface MemberToolOptions {
6
+ plans?: PlanCatalog;
7
+ resolvePlan?: (orgId: string) => Promise<string | null>;
8
+ /** The invitation service (`createWorkOSInvitations`). Without it the three invitation
9
+ * tools do not register — there is nowhere to put the record. */
10
+ invitations?: InvitationService;
11
+ /** Roles this deployment invites into. Advertised in the tool description so an agent
12
+ * does not have to guess a slug, and validated, so it cannot invent one. */
13
+ roles?: readonly string[];
14
+ }
15
+ /**
16
+ * Register the member tools this adapter and this deployment can actually serve.
17
+ *
18
+ * Two gates, the same pair the seat and top-up groups use: the ADAPTER decides whether the
19
+ * question is answerable (`listMembers` to read, `setMemberRole`/`removeMember` to write) and
20
+ * the DEPLOYMENT decides whether invitations exist at all. A tool that could only ever answer
21
+ * "not supported" is the false statement this project keeps deleting.
22
+ */
23
+ export declare function registerMemberTools(server: McpServer, adapter: BillingAdapter, opts?: MemberToolOptions): void;
24
+ /**
25
+ * The workspace itself: what it is called, and stopping it.
26
+ *
27
+ * `closeWorkspace` has existed and been bound for a while and reached no tool, so the one
28
+ * operation with real money on the other side of it — a subscription that keeps charging a
29
+ * card for a workspace nobody can see — was the app's to remember to call. Renaming had no
30
+ * home at all.
31
+ */
32
+ export declare function registerWorkspaceTools(server: McpServer, adapter: BillingAdapter): void;
33
+ //# sourceMappingURL=members.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"members.d.ts","sourceRoot":"","sources":["../../src/tools/members.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAQ3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAoBlD,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACxD;sEACkE;IAClE,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC;iFAC6E;IAC7E,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3B;AAID;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,cAAc,EACvB,IAAI,GAAE,iBAAsB,QAqK7B;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,QAoEhF"}
@@ -0,0 +1,245 @@
1
+ import { z } from "zod";
2
+ import { enforceAccess, enforceAdmin } from "../auth.js";
3
+ import { closeWorkspace } from "../close-workspace.js";
4
+ import { changeMemberRole, inviteMember, listMembers, memberSeats, removeMember, } from "../members.js";
5
+ // WHO is in the workspace, as tools — the group that did not exist.
6
+ //
7
+ // Every other capability in this library reached three surfaces (a tool, the CLI, the bound
8
+ // API) and membership reached none, so a workspace could be billed, metered, capped, topped
9
+ // up and closed headlessly, and could not be given a second person. gtm-tools has no members
10
+ // UI and therefore no way at all; scartoffie had 721 lines of one, where the two rules that
11
+ // matter (`limits.members`, the last admin) were its own to remember.
12
+ //
13
+ // The rules are in `members.ts`, not here. These are the envelope: gate, call, and turn a
14
+ // `reason` into a sentence that says what to do instead.
15
+ function json(obj) {
16
+ return { content: [{ type: "text", text: JSON.stringify(obj, null, 2) }] };
17
+ }
18
+ function err(text) {
19
+ return { isError: true, content: [{ type: "text", text }] };
20
+ }
21
+ const DEFAULT_ROLES = ["admin", "member"];
22
+ /**
23
+ * Register the member tools this adapter and this deployment can actually serve.
24
+ *
25
+ * Two gates, the same pair the seat and top-up groups use: the ADAPTER decides whether the
26
+ * question is answerable (`listMembers` to read, `setMemberRole`/`removeMember` to write) and
27
+ * the DEPLOYMENT decides whether invitations exist at all. A tool that could only ever answer
28
+ * "not supported" is the false statement this project keeps deleting.
29
+ */
30
+ export function registerMemberTools(server, adapter, opts = {}) {
31
+ const roles = opts.roles ?? DEFAULT_ROLES;
32
+ const planFor = async (orgId) => opts.resolvePlan
33
+ ? await opts.resolvePlan(orgId)
34
+ : ((await adapter.getSubscription?.(orgId))?.plan ?? null);
35
+ if (adapter.listMembers || adapter.listMemberIds) {
36
+ server.tool("list_members", "List everyone in the workspace: user id, email, role, and status. Also reports how many " +
37
+ "seats the plan allows and how many are left, counting pending invitations.", {}, async () => {
38
+ // A READ, so member-visible like every other read in this library — "who is on my
39
+ // team" is not privileged information to somebody on that team.
40
+ const auth = await enforceAccess(adapter);
41
+ if ("isError" in auth)
42
+ return auth;
43
+ const [members, seats] = await Promise.all([
44
+ listMembers(adapter, auth.orgId),
45
+ memberSeats(adapter, auth.orgId, {
46
+ plans: opts.plans,
47
+ plan: await planFor(auth.orgId),
48
+ invitations: opts.invitations,
49
+ }),
50
+ ]);
51
+ return json({
52
+ members: members.map((m) => ({
53
+ member_id: m.userId,
54
+ email: m.email,
55
+ name: m.name,
56
+ role: m.roleSlug,
57
+ status: m.status,
58
+ })),
59
+ seats: {
60
+ active: seats.active,
61
+ pending_invitations: seats.pending,
62
+ limit: seats.limit,
63
+ remaining: seats.remaining,
64
+ },
65
+ });
66
+ });
67
+ }
68
+ if (opts.invitations) {
69
+ const invitations = opts.invitations;
70
+ server.tool("invite_member", `Invite somebody to the workspace by email. Roles: ${roles.join(", ")}. Refused when the ` +
71
+ "plan's member limit is already met by current members plus pending invitations.", {
72
+ email: z.string().email().describe("Who to invite"),
73
+ role: z
74
+ .enum(roles)
75
+ .optional()
76
+ .describe(`Role to grant. Defaults to "member"`),
77
+ }, async ({ email, role }) => {
78
+ const auth = await enforceAdmin(adapter, "invite_member");
79
+ if ("isError" in auth)
80
+ return auth;
81
+ const res = await inviteMember(adapter, auth.orgId, {
82
+ email,
83
+ roleSlug: role,
84
+ invitations,
85
+ plans: opts.plans,
86
+ plan: await planFor(auth.orgId),
87
+ });
88
+ if (!res.ok) {
89
+ // The refusal names the ceiling AND what it is made of: an owner who reads "10
90
+ // members" while seeing 7 people has 3 invitations they have forgotten about, and
91
+ // "the limit is 10" alone sends them looking for a bug.
92
+ return err(`This plan allows ${res.seats.limit} member(s): ${res.seats.active} active and ` +
93
+ `${res.seats.pending} invitation(s) already pending. Move up a plan (change_plan) ` +
94
+ `or revoke an invitation (list_invitations, revoke_invitation) first.`);
95
+ }
96
+ return json({
97
+ status: "invited",
98
+ invitation_id: res.invitation.id,
99
+ email: res.invitation.email,
100
+ role: res.invitation.roleSlug,
101
+ expires_at: res.invitation.expiresAt,
102
+ seats_remaining: res.seats.remaining === null ? null : res.seats.remaining - 1,
103
+ });
104
+ });
105
+ server.tool("list_invitations", "Invitations for this workspace and their state (pending, accepted, expired, revoked).", {}, async () => {
106
+ const auth = await enforceAccess(adapter);
107
+ if ("isError" in auth)
108
+ return auth;
109
+ const list = await invitations.list(auth.orgId);
110
+ return json({
111
+ invitations: list.map((i) => ({
112
+ invitation_id: i.id,
113
+ email: i.email,
114
+ role: i.roleSlug,
115
+ state: i.state,
116
+ created_at: i.createdAt,
117
+ expires_at: i.expiresAt,
118
+ })),
119
+ });
120
+ });
121
+ server.tool("revoke_invitation", "Cancel a pending invitation, freeing the seat it was holding.", {
122
+ invitation_id: z.string().describe("From list_invitations"),
123
+ }, async ({ invitation_id }) => {
124
+ const auth = await enforceAdmin(adapter, "revoke_invitation");
125
+ if ("isError" in auth)
126
+ return auth;
127
+ // Ownership is the service's: `revoke` takes the org and refuses an invitation that
128
+ // belongs to another one, so an id from a caller cannot reach across workspaces.
129
+ await invitations.revoke(auth.orgId, invitation_id);
130
+ return json({ status: "revoked", invitation_id });
131
+ });
132
+ }
133
+ if (adapter.setMemberRole) {
134
+ server.tool("change_member_role", `Move a member between roles (${roles.join(", ")}). Refuses to demote the last admin, ` +
135
+ "which would leave every admin-only action unreachable for everyone.", {
136
+ member_id: z.string().describe("WorkOS user id, from list_members"),
137
+ role: z.enum(roles).describe("The role to give them"),
138
+ }, async ({ member_id, role }) => {
139
+ const auth = await enforceAdmin(adapter, "change_member_role");
140
+ if ("isError" in auth)
141
+ return auth;
142
+ const res = await changeMemberRole(adapter, auth.orgId, member_id, role);
143
+ if (!res.ok)
144
+ return err(refusal(res.reason, member_id));
145
+ return json({ status: "role_changed", member_id, role: res.roleSlug });
146
+ });
147
+ }
148
+ if (adapter.removeMember) {
149
+ server.tool("remove_member", "Remove somebody from the workspace. Their seat assignment and any granted allowance " +
150
+ "for this workspace are cleared first. Refuses to remove the last admin.", {
151
+ member_id: z.string().describe("WorkOS user id, from list_members"),
152
+ }, async ({ member_id }) => {
153
+ const auth = await enforceAdmin(adapter, "remove_member");
154
+ if ("isError" in auth)
155
+ return auth;
156
+ const res = await removeMember(adapter, auth.orgId, member_id);
157
+ if (!res.ok)
158
+ return err(refusal(res.reason, member_id));
159
+ return json({ status: "removed", member_id, records_cleared: res.cleared });
160
+ });
161
+ }
162
+ }
163
+ /**
164
+ * The workspace itself: what it is called, and stopping it.
165
+ *
166
+ * `closeWorkspace` has existed and been bound for a while and reached no tool, so the one
167
+ * operation with real money on the other side of it — a subscription that keeps charging a
168
+ * card for a workspace nobody can see — was the app's to remember to call. Renaming had no
169
+ * home at all.
170
+ */
171
+ export function registerWorkspaceTools(server, adapter) {
172
+ if (adapter.renameOrg) {
173
+ server.tool("rename_workspace", "Rename the workspace. The name appears on invoices, in the members list, and wherever " +
174
+ "the workspace is chosen.", { name: z.string().min(1).max(120).describe("The new name") }, async ({ name }) => {
175
+ const auth = await enforceAdmin(adapter, "rename_workspace");
176
+ if ("isError" in auth)
177
+ return auth;
178
+ const from = (await adapter.getOrgName?.(auth.orgId)) ?? null;
179
+ await adapter.renameOrg(auth.orgId, name.trim());
180
+ return json({ status: "renamed", from, to: name.trim() });
181
+ });
182
+ }
183
+ server.tool("close_workspace", `Stop a workspace: cancel its billing, KEEP its invoices, and return each member's metadata
184
+ budget. Deleting the workspace itself is opt-in (delete_workspace), because the invoices are a
185
+ legal record and a deletion cannot be undone.
186
+
187
+ The ORDER is the point, and it is why this is one tool rather than three calls: if the billing
188
+ cannot be stopped, nothing is removed. A workspace still listed is a nuisance; a subscription
189
+ still charging a card for a workspace whose Stripe pointer has been destroyed is a customer's
190
+ money, indefinitely, with nothing to attribute it to.`, {
191
+ cancel_at: z
192
+ .enum(["now", "period_end"])
193
+ .optional()
194
+ .describe(`"now" (default) stops the billing immediately with no refund. "period_end" lets them ` +
195
+ `use what they paid for, and cannot be combined with delete_workspace`),
196
+ delete_workspace: z
197
+ .boolean()
198
+ .optional()
199
+ .describe("Remove the workspace after the billing is stopped. Default false"),
200
+ reason: z.string().max(200).optional().describe("Recorded on the Stripe customer"),
201
+ }, async ({ cancel_at, delete_workspace, reason }) => {
202
+ const auth = await enforceAdmin(adapter, "close_workspace");
203
+ if ("isError" in auth)
204
+ return auth;
205
+ try {
206
+ const res = await closeWorkspace(adapter, auth.orgId, {
207
+ ...(cancel_at ? { cancelAt: cancel_at } : {}),
208
+ // Default FALSE here, unlike the function's own default: a tool call is one line
209
+ // an agent can emit from a misread instruction, and the recoverable half of this
210
+ // (billing stopped, records kept) is the half worth doing by default.
211
+ deleteOrg: delete_workspace ?? false,
212
+ ...(reason ? { reason } : {}),
213
+ });
214
+ return json({
215
+ status: res.orgDeleted ? "closed_and_deleted" : "closed",
216
+ subscriptions_cancelled: res.cancelled,
217
+ ends_at: res.endsAt,
218
+ invoices_kept: res.invoicesKept,
219
+ members_cleared: res.membersCleared,
220
+ workspace_deleted: res.orgDeleted,
221
+ // Non-empty means finish by hand — the caller has to see it, not find it in a log.
222
+ warnings: res.warnings,
223
+ });
224
+ }
225
+ catch (e) {
226
+ return err(e instanceof Error ? e.message : String(e));
227
+ }
228
+ });
229
+ }
230
+ /** Each refusal says what to do instead — an agent told "last admin" and nothing else asks again. */
231
+ function refusal(reason, memberId) {
232
+ switch (reason) {
233
+ case "last_admin":
234
+ return (`${memberId} is the only admin left, so this would leave the workspace with none: every ` +
235
+ `admin-only action would then be refused for everyone. Promote somebody else first ` +
236
+ `(change_member_role), then try again.`);
237
+ case "not_a_member":
238
+ return `${memberId} is not a member of this workspace (see list_members).`;
239
+ case "unsupported":
240
+ return "This deployment's adapter cannot change memberships.";
241
+ default:
242
+ return `Refused: ${reason}.`;
243
+ }
244
+ }
245
+ //# sourceMappingURL=members.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"members.js","sourceRoot":"","sources":["../../src/tools/members.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,WAAW,EACX,YAAY,GACb,MAAM,eAAe,CAAC;AAIvB,oEAAoE;AACpE,EAAE;AACF,4FAA4F;AAC5F,4FAA4F;AAC5F,6FAA6F;AAC7F,4FAA4F;AAC5F,sEAAsE;AACtE,EAAE;AACF,0FAA0F;AAC1F,yDAAyD;AAEzD,SAAS,IAAI,CAAC,GAAY;IACxB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACtF,CAAC;AACD,SAAS,GAAG,CAAC,IAAY;IACvB,OAAO,EAAE,OAAO,EAAE,IAAa,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AAChF,CAAC;AAaD,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAU,CAAC;AAEnD;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAiB,EACjB,OAAuB,EACvB,OAA0B,EAAE;IAE5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,aAAa,CAAC;IAC1C,MAAM,OAAO,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE,CACtC,IAAI,CAAC,WAAW;QACd,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;QAC/B,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC;IAE/D,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QACjD,MAAM,CAAC,IAAI,CACT,cAAc,EACd,0FAA0F;YACxF,4EAA4E,EAC9E,EAAE,EACF,KAAK,IAAI,EAAE;YACT,kFAAkF;YAClF,gEAAgE;YAChE,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;YAC1C,IAAI,SAAS,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC;YACnC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACzC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC;gBAChC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE;oBAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;oBAC/B,WAAW,EAAE,IAAI,CAAC,WAAW;iBAC9B,CAAC;aACH,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;gBACV,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC3B,SAAS,EAAE,CAAC,CAAC,MAAM;oBACnB,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,IAAI,EAAE,CAAC,CAAC,QAAQ;oBAChB,MAAM,EAAE,CAAC,CAAC,MAAM;iBACjB,CAAC,CAAC;gBACH,KAAK,EAAE;oBACL,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,mBAAmB,EAAE,KAAK,CAAC,OAAO;oBAClC,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,SAAS,EAAE,KAAK,CAAC,SAAS;iBAC3B;aACF,CAAC,CAAC;QACL,CAAC,CACF,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAErC,MAAM,CAAC,IAAI,CACT,eAAe,EACf,qDAAqD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB;YACxF,iFAAiF,EACnF;YACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;YACnD,IAAI,EAAE,CAAC;iBACJ,IAAI,CAAC,KAA8B,CAAC;iBACpC,QAAQ,EAAE;iBACV,QAAQ,CAAC,qCAAqC,CAAC;SACnD,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;YACxB,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YAC1D,IAAI,SAAS,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC;YACnC,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE;gBAClD,KAAK;gBACL,QAAQ,EAAE,IAAI;gBACd,WAAW;gBACX,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;aAChC,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,+EAA+E;gBAC/E,kFAAkF;gBAClF,wDAAwD;gBACxD,OAAO,GAAG,CACR,oBAAoB,GAAG,CAAC,KAAK,CAAC,KAAK,eAAe,GAAG,CAAC,KAAK,CAAC,MAAM,cAAc;oBAC9E,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,+DAA+D;oBACnF,sEAAsE,CACzE,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC;gBACV,MAAM,EAAE,SAAS;gBACjB,aAAa,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE;gBAChC,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,KAAK;gBAC3B,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC,QAAQ;gBAC7B,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,SAAS;gBACpC,eAAe,EAAE,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC;aAC/E,CAAC,CAAC;QACL,CAAC,CACF,CAAC;QAEF,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,uFAAuF,EACvF,EAAE,EACF,KAAK,IAAI,EAAE;YACT,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;YAC1C,IAAI,SAAS,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC;YACnC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChD,OAAO,IAAI,CAAC;gBACV,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC5B,aAAa,EAAE,CAAC,CAAC,EAAE;oBACnB,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,IAAI,EAAE,CAAC,CAAC,QAAQ;oBAChB,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,UAAU,EAAE,CAAC,CAAC,SAAS;oBACvB,UAAU,EAAE,CAAC,CAAC,SAAS;iBACxB,CAAC,CAAC;aACJ,CAAC,CAAC;QACL,CAAC,CACF,CAAC;QAEF,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB,+DAA+D,EAC/D;YACE,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;SAC5D,EACD,KAAK,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE;YAC1B,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;YAC9D,IAAI,SAAS,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC;YACnC,oFAAoF;YACpF,iFAAiF;YACjF,MAAM,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;QACpD,CAAC,CACF,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CACT,oBAAoB,EACpB,gCAAgC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,uCAAuC;YACrF,qEAAqE,EACvE;YACE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YACnE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAA8B,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC;SAC/E,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE;YAC5B,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;YAC/D,IAAI,SAAS,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC;YACnC,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YACzE,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,OAAO,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;YACxD,OAAO,IAAI,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzE,CAAC,CACF,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CACT,eAAe,EACf,sFAAsF;YACpF,yEAAyE,EAC3E;YACE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;SACpE,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;YACtB,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YAC1D,IAAI,SAAS,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC;YACnC,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YAC/D,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,OAAO,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;YACxD,OAAO,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9E,CAAC,CACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAiB,EAAE,OAAuB;IAC/E,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,wFAAwF;YACtF,0BAA0B,EAC5B,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,EAC7D,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;YACjB,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;YAC7D,IAAI,SAAS,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC;YACnC,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC;YAC9D,MAAM,OAAO,CAAC,SAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAClD,OAAO,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC5D,CAAC,CACF,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB;;;;;;;sDAOkD,EAClD;QACE,SAAS,EAAE,CAAC;aACT,IAAI,CAAC,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;aAC3B,QAAQ,EAAE;aACV,QAAQ,CACP,uFAAuF;YACrF,sEAAsE,CACzE;QACH,gBAAgB,EAAE,CAAC;aAChB,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,kEAAkE,CAAC;QAC/E,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;KACnF,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,EAAE;QAChD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QAC5D,IAAI,SAAS,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE;gBACpD,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7C,iFAAiF;gBACjF,iFAAiF;gBACjF,sEAAsE;gBACtE,SAAS,EAAE,gBAAgB,IAAI,KAAK;gBACpC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9B,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;gBACV,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ;gBACxD,uBAAuB,EAAE,GAAG,CAAC,SAAS;gBACtC,OAAO,EAAE,GAAG,CAAC,MAAM;gBACnB,aAAa,EAAE,GAAG,CAAC,YAAY;gBAC/B,eAAe,EAAE,GAAG,CAAC,cAAc;gBACnC,iBAAiB,EAAE,GAAG,CAAC,UAAU;gBACjC,mFAAmF;gBACnF,QAAQ,EAAE,GAAG,CAAC,QAAQ;aACvB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,GAAG,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC;AAED,qGAAqG;AACrG,SAAS,OAAO,CAAC,MAAc,EAAE,QAAgB;IAC/C,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,YAAY;YACf,OAAO,CACL,GAAG,QAAQ,8EAA8E;gBACzF,oFAAoF;gBACpF,uCAAuC,CACxC,CAAC;QACJ,KAAK,cAAc;YACjB,OAAO,GAAG,QAAQ,wDAAwD,CAAC;QAC7E,KAAK,aAAa;YAChB,OAAO,sDAAsD,CAAC;QAChE;YACE,OAAO,YAAY,MAAM,GAAG,CAAC;IACjC,CAAC;AACH,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
2
  import type { BillingAdapter, BillingConfig } from "../types.js";
3
3
  import { type TopUpToolOptions } from "./billing.js";
4
+ import { type MemberToolOptions } from "./members.js";
4
5
  import { type SubscriptionToolOptions } from "./subscription.js";
5
6
  import { type PlanCatalog } from "../plans.js";
6
7
  import type { UsageLedger } from "../usage-ledger.js";
@@ -50,7 +51,15 @@ export interface RegisterBillingToolsOptions {
50
51
  * composite — self-consistent, but not necessarily what the app's own meter counts with.
51
52
  */
52
53
  usageLedger?: UsageLedger;
54
+ /**
55
+ * Membership: the invitation service, and which roles this deployment invites into.
56
+ *
57
+ * Absent still registers what the ADAPTER can answer (`list_members`, and the role/remove
58
+ * pair when it implements them) — the three invitation tools are the ones with nowhere to
59
+ * put a record without a service.
60
+ */
61
+ members?: MemberToolOptions;
53
62
  }
54
63
  export declare function registerBillingTools(server: McpServer, opts: RegisterBillingToolsOptions): void;
55
- export declare const BILLING_TOOL_NAMES: readonly ["get_api_key", "list_api_keys", "revoke_api_key", "get_credit_balance", "buy_credits", "preview_credit_purchase", "set_auto_reload", "get_spend_controls", "set_spend_controls", "get_billing_portal", "list_invoices", "view_invoice", "download_invoice", "list_plans", "get_usage", "get_usage_limits", "get_org_usage", "list_seats", "assign_seat_type", "list_top_up_requests", "request_top_up", "approve_top_up", "grant_top_up", "deny_top_up", "get_billing_profile", "set_billing_profile", "set_tax_id", "list_payment_methods", "set_default_payment_method", "remove_payment_method", "get_plan", "preview_plan_change", "change_plan", "cancel_plan", "request_plan_change", "request_seat_change", "resolve_plan_request"];
64
+ export declare const BILLING_TOOL_NAMES: readonly ["get_api_key", "list_api_keys", "create_api_key", "revoke_api_key", "get_credit_balance", "buy_credits", "preview_credit_purchase", "set_auto_reload", "get_spend_controls", "set_spend_controls", "get_billing_portal", "list_invoices", "view_invoice", "download_invoice", "list_plans", "list_members", "invite_member", "list_invitations", "revoke_invitation", "change_member_role", "remove_member", "rename_workspace", "close_workspace", "get_usage", "get_usage_limits", "get_org_usage", "list_seats", "assign_seat_type", "list_top_up_requests", "request_top_up", "approve_top_up", "grant_top_up", "deny_top_up", "get_billing_profile", "set_billing_profile", "set_tax_id", "list_payment_methods", "set_default_payment_method", "remove_payment_method", "get_plan", "preview_plan_change", "change_plan", "cancel_plan", "request_plan_change", "request_seat_change", "resolve_plan_request"];
56
65
  //# sourceMappingURL=register.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/tools/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjE,OAAO,EAA4B,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAG/E,OAAO,EAA6B,KAAK,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5F,OAAO,EAA2C,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,kBAAkB,CAAC;AAyB1B,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,QAkBpD;AAED,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,aAAa,CAAC;IACtB,uFAAuF;IACvF,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,uEAAuE;IACvE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;+EAC2E;IAC3E,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;sEAEkE;IAClE,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACxD;2DACuD;IACvD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;uCAEmC;IACnC,iBAAiB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;IACrE;gFAC4E;IAC5E,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACzC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAID,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,2BAA2B,QA+CxF;AA0DD,eAAO,MAAM,kBAAkB,stBAiDrB,CAAC"}
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/tools/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjE,OAAO,EAA4B,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAE/E,OAAO,EAA+C,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEnG,OAAO,EAA6B,KAAK,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5F,OAAO,EAA2C,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,kBAAkB,CAAC;AAyB1B,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,QAkBpD;AAED,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,aAAa,CAAC;IACtB,uFAAuF;IACvF,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,uEAAuE;IACvE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;+EAC2E;IAC3E,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;sEAEkE;IAClE,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACxD;2DACuD;IACvD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;uCAEmC;IACnC,iBAAiB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;IACrE;gFAC4E;IAC5E,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACzC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B;AAID,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,2BAA2B,QAqDxF;AA0DD,eAAO,MAAM,kBAAkB,g4BAiErB,CAAC"}
@@ -2,6 +2,7 @@ import { resolveConfig } from "../types.js";
2
2
  import { registerKeyTools } from "./keys.js";
3
3
  import { registerBillingOnlyTools } from "./billing.js";
4
4
  import { registerManagementTools } from "./management.js";
5
+ import { registerMemberTools, registerWorkspaceTools } from "./members.js";
5
6
  import { registerProfileTools } from "./profile.js";
6
7
  import { registerSubscriptionTools } from "./subscription.js";
7
8
  import { ensurePlans, normalizePlans, poolSizeOf } from "../plans.js";
@@ -70,6 +71,12 @@ export function registerBillingTools(server, opts) {
70
71
  : ((await opts.adapter.getSubscription?.(orgId))?.plan ?? opts.defaultPlan ?? null);
71
72
  registerBillingOnlyTools(server, opts.adapter, config, opts.toolCosts ?? {}, opts.plans, planFor, opts.topUp ?? {}, caps);
72
73
  registerManagementTools(server, opts.adapter, config, { plans: opts.plans, resolvePlan: opts.resolvePlan, usageLedger: opts.usageLedger }, caps);
74
+ registerMemberTools(server, opts.adapter, {
75
+ plans: opts.plans,
76
+ resolvePlan: opts.resolvePlan,
77
+ ...opts.members,
78
+ });
79
+ registerWorkspaceTools(server, opts.adapter);
73
80
  if (opts.profileTools !== false)
74
81
  registerProfileTools(server, opts.adapter);
75
82
  if (opts.plans) {
@@ -129,6 +136,7 @@ function registerPlanTools(server, plans, defaultPlan, currency) {
129
136
  export const BILLING_TOOL_NAMES = [
130
137
  "get_api_key",
131
138
  "list_api_keys",
139
+ "create_api_key",
132
140
  "revoke_api_key",
133
141
  "get_credit_balance",
134
142
  "buy_credits",
@@ -148,6 +156,21 @@ export const BILLING_TOOL_NAMES = [
148
156
  // surface test only checked that everything advertised was registered. It now
149
157
  // checks both directions.
150
158
  "list_plans",
159
+ // WHO is in the workspace (registerMemberTools). The group that reached no surface at
160
+ // all: a workspace could be billed, metered, capped and closed headlessly and could not
161
+ // be given a second person. Each is gated on the adapter being able to answer — and the
162
+ // three invitation tools on an invitation service being wired.
163
+ "list_members",
164
+ "invite_member",
165
+ "list_invitations",
166
+ "revoke_invitation",
167
+ "change_member_role",
168
+ "remove_member",
169
+ // The workspace itself (registerWorkspaceTools). `closeWorkspace` was bound and reachable
170
+ // from no tool, so the one operation with a recurring charge on the other side of getting
171
+ // it wrong was the app's to remember.
172
+ "rename_workspace",
173
+ "close_workspace",
151
174
  // Workspace-management tools (registerManagementTools).
152
175
  "get_usage",
153
176
  "get_usage_limits",
@@ -1 +1 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/tools/register.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAyB,MAAM,cAAc,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAgC,MAAM,mBAAmB,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAoB,MAAM,aAAa,CAAC;AAExF,OAAO,EACL,qBAAqB,EACrB,gBAAgB,GAEjB,MAAM,kBAAkB,CAAC;AAE1B,gFAAgF;AAChF,MAAM,gBAAgB,GACpB,wFAAwF,CAAC;AAE3F,SAAS,YAAY,CAAC,KAAc,EAAE,KAAK,GAAG,CAAC;IAC7C,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YACpD,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,SAAS,CAAC;QAC1D,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9E,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,2EAA2E;AAC3E,6EAA6E;AAC7E,0CAA0C;AAC1C,MAAM,UAAU,mBAAmB,CAAC,MAAiB;IACnD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAiC,CAAC;IACrE,MAA4D,CAAC,IAAI,GAAG,UAAU,GAAG,IAAe;QAC/F,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAC9B,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,IAAI,OAAO,EAAE,KAAK,UAAU,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACzD,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE,QAAiB,EAAE,KAAc,EAAE,EAAE;gBACxD,IAAI,CAAC;oBACH,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;gBAChF,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,wBAAwB,CAAC,CAAC;gBAC5D,CAAC;gBACD,OAAQ,EAA0C,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACtE,CAAC,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IACvB,CAAC,CAAC;AACJ,CAAC;AAgDD,+EAA+E;AAC/E,6EAA6E;AAC7E,MAAM,UAAU,oBAAoB,CAAC,MAAiB,EAAE,IAAiC;IACvF,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,IAAI,CAAC,cAAc,KAAK,KAAK;QAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC/D,iFAAiF;IACjF,+EAA+E;IAC/E,gFAAgF;IAChF,+EAA+E;IAC/E,6EAA6E;IAC7E,8DAA8D;IAC9D,MAAM,IAAI,GAAqB;QAC7B,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC;QACtE,GAAG,IAAI,CAAC,YAAY;KACrB,CAAC;IACF,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE,CACtC,IAAI,CAAC,WAAW;QACd,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;QAC/B,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC;IACxF,wBAAwB,CACtB,MAAM,EACN,IAAI,CAAC,OAAO,EACZ,MAAM,EACN,IAAI,CAAC,SAAS,IAAI,EAAE,EACpB,IAAI,CAAC,KAAK,EACV,OAAO,EACP,IAAI,CAAC,KAAK,IAAI,EAAE,EAChB,IAAI,CACL,CAAC;IACF,uBAAuB,CACrB,MAAM,EACN,IAAI,CAAC,OAAO,EACZ,MAAM,EACN,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,EACnF,IAAI,CACL,CAAC;IACF,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK;QAAE,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5E,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,gFAAgF;QAChF,4EAA4E;QAC5E,6EAA6E;QAC7E,8DAA8D;QAC9D,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QACzE,IAAI,IAAI,CAAC,iBAAiB,KAAK,KAAK,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACrF,yBAAyB,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,+EAA+E;AAC/E,SAAS,iBAAiB,CACxB,MAAiB,EACjB,KAAkB,EAClB,WAA+B,EAC/B,QAAgB;IAEhB,MAAM,CAAC,IAAI,CACT,YAAY,EACZ,6IAA6I,EAC7I,EAAE,EACF,KAAK,IAAI,EAAE;QACT,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,QAA8B,EAAE,QAAiB,EAAE,EAAE,CAClF,OAAO,CAAC,IAAI,CACV,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAC7E,IAAI,IAAI,CAAC;QACZ,wEAAwE;QACxE,0EAA0E;QAC1E,yEAAyE;QACzE,0EAA0E;QAC1E,uEAAuE;QACvE,MAAM,GAAG,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5C,IAAI,EAAE,CAAC,CAAC,GAAG;YACX,OAAO,EAAE,CAAC,CAAC,GAAG,KAAK,WAAW;YAC9B,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,CAAC,GAAG;YAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO;YACzB,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI;gBAC9B,CAAC,CAAC,EAAE,KAAK,EAAE,MAAe,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE;gBACpD,CAAC,CAAC,EAAE,KAAK,EAAE,UAAmB,EAAE,OAAO,EAAE,IAAI,EAAE;YACjD,UAAU,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAClC,GAAG,EAAE,CAAC,CAAC,GAAG;gBACV,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,CAAC,GAAG;gBAChC,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,GAAG,EAAE,CAAC,CAAC,GAAG;gBACV,gBAAgB,EAAE,CAAC,CAAC,eAAe;gBACnC,MAAM,EAAE;oBACN,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,OAAO,IAAI,IAAI,EAAE;oBAC3G,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,OAAO,IAAI,IAAI,EAAE;iBACzG;aACF,CAAC,CAAC;YACH,MAAM,EAAE,CAAC,CAAC,KAAK;gBACb,CAAC,CAAC;oBACE,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,OAAO,IAAI,IAAI,EAAE;oBACpG,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,OAAO,IAAI,IAAI,EAAE;iBAClG;gBACH,CAAC,CAAC,IAAI;SACT,CAAC,CAAC,CAAC;QACJ,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACjG,CAAC,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,aAAa;IACb,eAAe;IACf,gBAAgB;IAChB,oBAAoB;IACpB,aAAa;IACb,yBAAyB;IACzB,iBAAiB;IACjB,kFAAkF;IAClF,iFAAiF;IACjF,2BAA2B;IAC3B,oBAAoB;IACpB,oBAAoB;IACpB,oBAAoB;IACpB,eAAe;IACf,cAAc;IACd,kBAAkB;IAClB,+EAA+E;IAC/E,iFAAiF;IACjF,8EAA8E;IAC9E,0BAA0B;IAC1B,YAAY;IACZ,wDAAwD;IACxD,WAAW;IACX,kBAAkB;IAClB,eAAe;IACf,YAAY;IACZ,kBAAkB;IAClB,sBAAsB;IACtB,gBAAgB;IAChB,gBAAgB;IAChB,cAAc;IACd,aAAa;IACb,qDAAqD;IACrD,qBAAqB;IACrB,qBAAqB;IACrB,YAAY;IACZ,sBAAsB;IACtB,4BAA4B;IAC5B,uBAAuB;IACvB,yEAAyE;IACzE,UAAU;IACV,qBAAqB;IACrB,aAAa;IACb,aAAa;IACb,wEAAwE;IACxE,qBAAqB;IACrB,qBAAqB;IACrB,sBAAsB;CACd,CAAC"}
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/tools/register.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -136,10 +136,48 @@ export interface BillingAdapter {
136
136
  listMemberIds?(orgId: string): Promise<string[]>;
137
137
  /** Whether a user is an admin/owner of the org (gates auto-top-up + approvals). */
138
138
  isAdmin?(orgId: string, userId: string): Promise<boolean>;
139
+ /**
140
+ * Everyone in the workspace WITH their role — what `listMemberIds` cannot answer.
141
+ *
142
+ * The role is what the two membership rules turn on: a plan's member limit counts them,
143
+ * and "is this the last admin" cannot be asked at all without it. An adapter that
144
+ * implements this gets the member tools; one that does not keeps the seat tools and loses
145
+ * nothing else, because a tool that could only ever fail is worse than an absent one.
146
+ */
147
+ listMembers?(orgId: string): Promise<OrgMember[]>;
148
+ /** Move a member between roles. The last-admin rule is enforced above this, in
149
+ * `members.ts`, so every surface refuses identically. */
150
+ setMemberRole?(orgId: string, userId: string, roleSlug: string): Promise<void>;
151
+ /** Drop a membership. Called AFTER the member's own records are cleared — see
152
+ * `removeMember`, where the ordering and its reason live. */
153
+ removeMember?(orgId: string, userId: string): Promise<void>;
139
154
  /** Remove the workspace. Called LAST by `closeWorkspace`, never before its billing has
140
155
  * been stopped — the org holds the Stripe pointer, so deleting it first orphans the
141
156
  * subscription. Absent means the caller removes the org itself. */
142
157
  deleteOrg?(orgId: string): Promise<void>;
158
+ /** The workspace's display name, and how to change it. A name is what an invoice, a
159
+ * members list and a workspace switcher all show, so a headless caller that can create
160
+ * and close a workspace should be able to name it too. */
161
+ getOrgName?(orgId: string): Promise<string | null>;
162
+ renameOrg?(orgId: string, name: string): Promise<void>;
163
+ }
164
+ /**
165
+ * One person in a workspace, as the seam describes them.
166
+ *
167
+ * SDK-independent like every other DTO here (`BillingAdapter`, `ApiKeyInfo`): a non-WorkOS
168
+ * adapter has to be able to satisfy it. `roleSlug` is nullable because an adapter may be able
169
+ * to enumerate members without describing them — and a null role is what makes the last-admin
170
+ * rule refuse rather than guess.
171
+ */
172
+ export interface OrgMember {
173
+ userId: string;
174
+ email: string | null;
175
+ name: string | null;
176
+ /** `admin` gates the management tools. Null when the adapter cannot report it. */
177
+ roleSlug: string | null;
178
+ status: "active" | "inactive" | "pending";
179
+ /** ISO 8601, when the adapter knows it. */
180
+ createdAt?: string;
143
181
  }
144
182
  export interface BillingConfig {
145
183
  /** Welcome credit granted on first Stripe customer creation. Default 100. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAuB,MAAM,kBAAkB,CAAC;AA+YzE,sFAAsF;AACtF,SAAS,eAAe,CAAC,GAA0B;IACjD,IAAI,GAAG,EAAE,IAAI;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC;IAC/B,IAAI,GAAG,EAAE,SAAS;QAAE,OAAO,QAAQ,CAAC;IACpC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,CAAgB;IAC5C,yCAAyC;IACzC,EAAE;IACF,oFAAoF;IACpF,sFAAsF;IACtF,qFAAqF;IACrF,oFAAoF;IACpF,+DAA+D;IAC/D,EAAE;IACF,sFAAsF;IACtF,yFAAyF;IACzF,6EAA6E;IAC7E,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,IAAI,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACvE,IAAI,QAAQ,IAAI,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClF,MAAM,IAAI,KAAK,CACb,sBAAsB,QAAQ,mDAAmD;YAC/E,4EAA4E;YAC5E,qBAAqB,QAAQ,oDAAoD;YACjF,8EAA8E;YAC9E,2CAA2C,CAC9C,CAAC;IACJ,CAAC;IACD,OAAO;QACL,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,GAAG;QACjC,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,KAAK;QAC7B,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,eAAe,EAAE,CAAC,CAAC,eAAe,IAAI,EAAE;QACxC,aAAa,EAAE,CAAC,CAAC,aAAa,IAAI,EAAE;QACpC,GAAG,EAAE,CAAC,CAAC,GAAG;QACV,cAAc,EAAE,CAAC,CAAC,cAAc;QAChC,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,uFAAuF;QACvF,iFAAiF;QACjF,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,IAAI,OAAO,EAAE;QACjD,+EAA+E;QAC/E,qEAAqE;QACrE,UAAU,EAAE;YACV,cAAc,EAAE,CAAC,CAAC,UAAU,EAAE,cAAc,IAAI,IAAI;YACpD,QAAQ,EAAE,CAAC,CAAC,UAAU,EAAE,QAAQ,IAAI,KAAK;SAC1C;KACF,CAAC;AACJ,CAAC;AAED;;;;;;mDAMmD;AACnD,MAAM,UAAU,sBAAsB,CACpC,UAA0B,EAC1B,MAAM,GAAG,sBAAsB;IAE/B,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;SACvC,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;SAClC,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,MAAM,IAAI,GAAG,UAAU,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAuB,MAAM,kBAAkB,CAAC;AAsbzE,sFAAsF;AACtF,SAAS,eAAe,CAAC,GAA0B;IACjD,IAAI,GAAG,EAAE,IAAI;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC;IAC/B,IAAI,GAAG,EAAE,SAAS;QAAE,OAAO,QAAQ,CAAC;IACpC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,CAAgB;IAC5C,yCAAyC;IACzC,EAAE;IACF,oFAAoF;IACpF,sFAAsF;IACtF,qFAAqF;IACrF,oFAAoF;IACpF,+DAA+D;IAC/D,EAAE;IACF,sFAAsF;IACtF,yFAAyF;IACzF,6EAA6E;IAC7E,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,IAAI,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACvE,IAAI,QAAQ,IAAI,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClF,MAAM,IAAI,KAAK,CACb,sBAAsB,QAAQ,mDAAmD;YAC/E,4EAA4E;YAC5E,qBAAqB,QAAQ,oDAAoD;YACjF,8EAA8E;YAC9E,2CAA2C,CAC9C,CAAC;IACJ,CAAC;IACD,OAAO;QACL,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,GAAG;QACjC,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,KAAK;QAC7B,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,eAAe,EAAE,CAAC,CAAC,eAAe,IAAI,EAAE;QACxC,aAAa,EAAE,CAAC,CAAC,aAAa,IAAI,EAAE;QACpC,GAAG,EAAE,CAAC,CAAC,GAAG;QACV,cAAc,EAAE,CAAC,CAAC,cAAc;QAChC,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,uFAAuF;QACvF,iFAAiF;QACjF,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,IAAI,OAAO,EAAE;QACjD,+EAA+E;QAC/E,qEAAqE;QACrE,UAAU,EAAE;YACV,cAAc,EAAE,CAAC,CAAC,UAAU,EAAE,cAAc,IAAI,IAAI;YACpD,QAAQ,EAAE,CAAC,CAAC,UAAU,EAAE,QAAQ,IAAI,KAAK;SAC1C;KACF,CAAC;AACJ,CAAC;AAED;;;;;;mDAMmD;AACnD,MAAM,UAAU,sBAAsB,CACpC,UAA0B,EAC1B,MAAM,GAAG,sBAAsB;IAE/B,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;SACvC,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;SAClC,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,MAAM,IAAI,GAAG,UAAU,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arnaudjnn/billing-tools",
3
- "version": "21.2.0",
3
+ "version": "21.4.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",