@hanzo/iam 0.1.0 → 0.2.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 +104 -35
- package/dist/billing.d.ts.map +1 -1
- package/dist/billing.js +89 -115
- package/dist/billing.js.map +1 -1
- package/dist/client.d.ts +7 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +19 -0
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +9 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -9
- package/dist/index.js.map +1 -1
- package/dist/nextauth.d.ts +56 -0
- package/dist/nextauth.d.ts.map +1 -0
- package/dist/nextauth.js +67 -0
- package/dist/nextauth.js.map +1 -0
- package/dist/react.d.ts +5 -1
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +47 -0
- package/dist/react.js.map +1 -1
- package/dist/types.d.ts +52 -5
- package/dist/types.d.ts.map +1 -1
- package/package.json +6 -2
- package/src/billing.ts +164 -197
- package/src/client.ts +36 -0
- package/src/index.ts +22 -10
- package/src/nextauth.ts +93 -0
- package/src/react.ts +61 -1
- package/src/types.ts +62 -10
package/dist/billing.d.ts
CHANGED
|
@@ -1,41 +1,110 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Billing client for Hanzo
|
|
2
|
+
* @hanzo/iam/billing — Billing client for Hanzo Commerce API.
|
|
3
|
+
*
|
|
4
|
+
* Canonical billing lives in commerce.js/billing. This provides the same
|
|
5
|
+
* client for convenience when @hanzo/iam is already installed.
|
|
6
|
+
* Both talk to Commerce API — one way to do billing.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* // Preferred:
|
|
11
|
+
* import { BillingClient } from 'commerce.js/billing'
|
|
12
|
+
*
|
|
13
|
+
* // Also works:
|
|
14
|
+
* import { BillingClient } from '@hanzo/iam/billing'
|
|
15
|
+
* ```
|
|
3
16
|
*/
|
|
4
|
-
|
|
5
|
-
|
|
17
|
+
export type CommerceConfig = {
|
|
18
|
+
/** Commerce API base URL (e.g. "https://commerce.hanzo.ai"). */
|
|
19
|
+
commerceUrl: string;
|
|
20
|
+
/** Optional IAM access token for authenticated requests. */
|
|
21
|
+
token?: string;
|
|
22
|
+
};
|
|
23
|
+
export type Balance = {
|
|
24
|
+
balance: number;
|
|
25
|
+
holds: number;
|
|
26
|
+
available: number;
|
|
27
|
+
};
|
|
28
|
+
export type Transaction = {
|
|
29
|
+
id?: string;
|
|
30
|
+
type: "hold" | "hold-removed" | "transfer" | "deposit" | "withdraw";
|
|
31
|
+
currency: string;
|
|
32
|
+
amount: number;
|
|
33
|
+
tags?: string[];
|
|
34
|
+
expiresAt?: string;
|
|
35
|
+
metadata?: Record<string, unknown>;
|
|
36
|
+
createdAt?: string;
|
|
37
|
+
};
|
|
38
|
+
export type Subscription = {
|
|
39
|
+
id?: string;
|
|
40
|
+
planId?: string;
|
|
41
|
+
userId?: string;
|
|
42
|
+
status?: string;
|
|
43
|
+
billingType?: string;
|
|
44
|
+
periodStart?: string;
|
|
45
|
+
periodEnd?: string;
|
|
46
|
+
createdAt?: string;
|
|
47
|
+
};
|
|
48
|
+
export type Plan = {
|
|
49
|
+
slug?: string;
|
|
50
|
+
name?: string;
|
|
51
|
+
description?: string;
|
|
52
|
+
price?: number;
|
|
53
|
+
currency?: string;
|
|
54
|
+
interval?: string;
|
|
55
|
+
metadata?: Record<string, unknown>;
|
|
56
|
+
};
|
|
57
|
+
export type Payment = {
|
|
58
|
+
id?: string;
|
|
59
|
+
orderId?: string;
|
|
60
|
+
amount?: number;
|
|
61
|
+
currency?: string;
|
|
62
|
+
status?: string;
|
|
63
|
+
captured?: boolean;
|
|
64
|
+
createdAt?: string;
|
|
65
|
+
};
|
|
66
|
+
export declare class BillingClient {
|
|
6
67
|
private readonly baseUrl;
|
|
7
|
-
private
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
constructor(config: IamConfig);
|
|
68
|
+
private token;
|
|
69
|
+
constructor(config: CommerceConfig);
|
|
70
|
+
setToken(token: string): void;
|
|
11
71
|
private request;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
72
|
+
getBalance(user: string, currency?: string, token?: string): Promise<Balance>;
|
|
73
|
+
getAllBalances(user: string, token?: string): Promise<Record<string, Balance>>;
|
|
74
|
+
addUsageRecord(record: {
|
|
75
|
+
user: string;
|
|
76
|
+
currency?: string;
|
|
77
|
+
amount: number;
|
|
78
|
+
model?: string;
|
|
79
|
+
provider?: string;
|
|
80
|
+
tokens?: number;
|
|
81
|
+
}, token?: string): Promise<Transaction>;
|
|
82
|
+
getUsageRecords(user: string, currency?: string, token?: string): Promise<Transaction[]>;
|
|
83
|
+
addDeposit(params: {
|
|
84
|
+
user: string;
|
|
85
|
+
currency?: string;
|
|
86
|
+
amount: number;
|
|
87
|
+
notes?: string;
|
|
88
|
+
tags?: string[];
|
|
89
|
+
expiresIn?: string;
|
|
90
|
+
}, token?: string): Promise<Transaction>;
|
|
91
|
+
grantStarterCredit(user: string, token?: string): Promise<Transaction>;
|
|
92
|
+
subscribe(params: {
|
|
93
|
+
planId: string;
|
|
94
|
+
userId: string;
|
|
95
|
+
}, token?: string): Promise<Subscription>;
|
|
96
|
+
getSubscription(id: string, token?: string): Promise<Subscription | null>;
|
|
97
|
+
cancelSubscription(id: string, token?: string): Promise<void>;
|
|
98
|
+
getPlans(token?: string): Promise<Plan[]>;
|
|
99
|
+
getPlan(id: string, token?: string): Promise<Plan | null>;
|
|
100
|
+
authorize(orderId: string, token?: string): Promise<Payment>;
|
|
101
|
+
capture(orderId: string, token?: string): Promise<Payment>;
|
|
102
|
+
charge(orderId: string, token?: string): Promise<Payment>;
|
|
103
|
+
refund(paymentId: string, token?: string): Promise<Payment>;
|
|
40
104
|
}
|
|
105
|
+
export declare class CommerceApiError extends Error {
|
|
106
|
+
readonly status: number;
|
|
107
|
+
constructor(status: number, message: string);
|
|
108
|
+
}
|
|
109
|
+
export { BillingClient as IamBillingClient };
|
|
41
110
|
//# sourceMappingURL=billing.d.ts.map
|
package/dist/billing.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billing.d.ts","sourceRoot":"","sources":["../src/billing.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"billing.d.ts","sourceRoot":"","sources":["../src/billing.ts"],"names":[],"mappings":"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"}
|
package/dist/billing.js
CHANGED
|
@@ -1,46 +1,47 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Billing client for Hanzo
|
|
2
|
+
* @hanzo/iam/billing — Billing client for Hanzo Commerce API.
|
|
3
|
+
*
|
|
4
|
+
* Canonical billing lives in commerce.js/billing. This provides the same
|
|
5
|
+
* client for convenience when @hanzo/iam is already installed.
|
|
6
|
+
* Both talk to Commerce API — one way to do billing.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* // Preferred:
|
|
11
|
+
* import { BillingClient } from 'commerce.js/billing'
|
|
12
|
+
*
|
|
13
|
+
* // Also works:
|
|
14
|
+
* import { BillingClient } from '@hanzo/iam/billing'
|
|
15
|
+
* ```
|
|
3
16
|
*/
|
|
4
17
|
const DEFAULT_TIMEOUT_MS = 10_000;
|
|
5
|
-
|
|
18
|
+
// ---------------------------------------------------------------------------
|
|
19
|
+
// Client
|
|
20
|
+
// ---------------------------------------------------------------------------
|
|
21
|
+
export class BillingClient {
|
|
6
22
|
baseUrl;
|
|
7
|
-
|
|
8
|
-
clientSecret;
|
|
9
|
-
orgName;
|
|
23
|
+
token;
|
|
10
24
|
constructor(config) {
|
|
11
|
-
this.baseUrl = config.
|
|
12
|
-
this.
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
// Internal HTTP helper
|
|
18
|
-
// -----------------------------------------------------------------------
|
|
25
|
+
this.baseUrl = config.commerceUrl.replace(/\/+$/, "");
|
|
26
|
+
this.token = config.token;
|
|
27
|
+
}
|
|
28
|
+
setToken(token) {
|
|
29
|
+
this.token = token;
|
|
30
|
+
}
|
|
19
31
|
async request(path, opts) {
|
|
20
32
|
const url = new URL(path, this.baseUrl);
|
|
21
33
|
if (opts?.params) {
|
|
22
|
-
for (const [k, v] of Object.entries(opts.params))
|
|
34
|
+
for (const [k, v] of Object.entries(opts.params))
|
|
23
35
|
url.searchParams.set(k, v);
|
|
24
|
-
}
|
|
25
36
|
}
|
|
26
37
|
const controller = new AbortController();
|
|
27
38
|
const timer = setTimeout(() => controller.abort(), DEFAULT_TIMEOUT_MS);
|
|
28
|
-
const headers = {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
34
|
-
if (opts?.body) {
|
|
39
|
+
const headers = { Accept: "application/json" };
|
|
40
|
+
const authToken = opts?.token ?? this.token;
|
|
41
|
+
if (authToken)
|
|
42
|
+
headers.Authorization = `Bearer ${authToken}`;
|
|
43
|
+
if (opts?.body)
|
|
35
44
|
headers["Content-Type"] = "application/json";
|
|
36
|
-
}
|
|
37
|
-
if (this.clientSecret && !opts?.token) {
|
|
38
|
-
const credentials = `${this.clientId}:${this.clientSecret}`;
|
|
39
|
-
const basic = typeof Buffer !== "undefined"
|
|
40
|
-
? Buffer.from(credentials).toString("base64")
|
|
41
|
-
: btoa(credentials);
|
|
42
|
-
headers.Authorization = `Basic ${basic}`;
|
|
43
|
-
}
|
|
44
45
|
try {
|
|
45
46
|
const res = await fetch(url.toString(), {
|
|
46
47
|
method: opts?.method ?? "GET",
|
|
@@ -50,7 +51,7 @@ export class IamBillingClient {
|
|
|
50
51
|
});
|
|
51
52
|
if (!res.ok) {
|
|
52
53
|
const text = await res.text().catch(() => "");
|
|
53
|
-
throw new
|
|
54
|
+
throw new CommerceApiError(res.status, `${res.statusText}: ${text}`.trim());
|
|
54
55
|
}
|
|
55
56
|
return (await res.json());
|
|
56
57
|
}
|
|
@@ -58,97 +59,70 @@ export class IamBillingClient {
|
|
|
58
59
|
clearTimeout(timer);
|
|
59
60
|
}
|
|
60
61
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
return
|
|
62
|
+
async getBalance(user, currency = "usd", token) {
|
|
63
|
+
return this.request("/api/v1/billing/balance", { params: { user, currency }, token });
|
|
64
|
+
}
|
|
65
|
+
async getAllBalances(user, token) {
|
|
66
|
+
return this.request("/api/v1/billing/balance/all", { params: { user }, token });
|
|
67
|
+
}
|
|
68
|
+
async addUsageRecord(record, token) {
|
|
69
|
+
return this.request("/api/v1/billing/usage", { method: "POST", body: record, token });
|
|
70
|
+
}
|
|
71
|
+
async getUsageRecords(user, currency = "usd", token) {
|
|
72
|
+
return this.request("/api/v1/billing/usage", { params: { user, currency }, token });
|
|
73
|
+
}
|
|
74
|
+
async addDeposit(params, token) {
|
|
75
|
+
return this.request("/api/v1/billing/deposit", { method: "POST", body: params, token });
|
|
76
|
+
}
|
|
77
|
+
async grantStarterCredit(user, token) {
|
|
78
|
+
return this.request("/api/v1/billing/credit", { method: "POST", body: { user }, token });
|
|
79
|
+
}
|
|
80
|
+
async subscribe(params, token) {
|
|
81
|
+
return this.request("/api/v1/subscribe", { method: "POST", body: params, token });
|
|
69
82
|
}
|
|
70
|
-
/** Get a specific subscription by ID ("owner/name" format). */
|
|
71
83
|
async getSubscription(id, token) {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
// -----------------------------------------------------------------------
|
|
83
|
-
/** Get all plans for an owner. */
|
|
84
|
+
try {
|
|
85
|
+
return await this.request(`/api/v1/subscribe/${id}`, { token });
|
|
86
|
+
}
|
|
87
|
+
catch {
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
async cancelSubscription(id, token) {
|
|
92
|
+
await this.request(`/api/v1/subscribe/${id}`, { method: "DELETE", token });
|
|
93
|
+
}
|
|
84
94
|
async getPlans(token) {
|
|
85
|
-
|
|
86
|
-
const resp = await this.request("/api/get-plans", { params: { owner }, token });
|
|
87
|
-
return resp.data ?? [];
|
|
95
|
+
return this.request("/api/v1/plan", { token });
|
|
88
96
|
}
|
|
89
|
-
/** Get a specific plan by ID. */
|
|
90
97
|
async getPlan(id, token) {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
}
|
|
94
|
-
// -----------------------------------------------------------------------
|
|
95
|
-
// Pricing
|
|
96
|
-
// -----------------------------------------------------------------------
|
|
97
|
-
/** Get all pricing configurations for an owner. */
|
|
98
|
-
async getPricings(token) {
|
|
99
|
-
const owner = this.orgName ?? "admin";
|
|
100
|
-
const resp = await this.request("/api/get-pricings", { params: { owner }, token });
|
|
101
|
-
return resp.data ?? [];
|
|
102
|
-
}
|
|
103
|
-
/** Get a specific pricing by ID. */
|
|
104
|
-
async getPricing(id, token) {
|
|
105
|
-
const resp = await this.request("/api/get-pricing", { params: { id }, token });
|
|
106
|
-
return resp.data ?? null;
|
|
107
|
-
}
|
|
108
|
-
// -----------------------------------------------------------------------
|
|
109
|
-
// Payments
|
|
110
|
-
// -----------------------------------------------------------------------
|
|
111
|
-
/** Get all payments for an owner. */
|
|
112
|
-
async getPayments(token) {
|
|
113
|
-
const owner = this.orgName ?? "admin";
|
|
114
|
-
const resp = await this.request("/api/get-payments", { params: { owner }, token });
|
|
115
|
-
return resp.data ?? [];
|
|
116
|
-
}
|
|
117
|
-
/** Get a specific payment by ID. */
|
|
118
|
-
async getPayment(id, token) {
|
|
119
|
-
const resp = await this.request("/api/get-payment", { params: { id }, token });
|
|
120
|
-
return resp.data ?? null;
|
|
121
|
-
}
|
|
122
|
-
// -----------------------------------------------------------------------
|
|
123
|
-
// Orders (if supported by IAM)
|
|
124
|
-
// -----------------------------------------------------------------------
|
|
125
|
-
/** Get all orders for an owner. */
|
|
126
|
-
async getOrders(token) {
|
|
127
|
-
const owner = this.orgName ?? "admin";
|
|
128
|
-
const resp = await this.request("/api/get-orders", { params: { owner }, token });
|
|
129
|
-
return resp.data ?? [];
|
|
130
|
-
}
|
|
131
|
-
/** Get a specific order by ID. */
|
|
132
|
-
async getOrder(id, token) {
|
|
133
|
-
const resp = await this.request("/api/get-order", { params: { id }, token });
|
|
134
|
-
return resp.data ?? null;
|
|
135
|
-
}
|
|
136
|
-
// -----------------------------------------------------------------------
|
|
137
|
-
// Convenience: check subscription status for an org
|
|
138
|
-
// -----------------------------------------------------------------------
|
|
139
|
-
/** Check if an org has an active subscription. */
|
|
140
|
-
async isSubscriptionActive(orgName, token) {
|
|
141
|
-
const subs = await this.getSubscriptions(token);
|
|
142
|
-
// Find subscription matching the org
|
|
143
|
-
const sub = subs.find((s) => s.owner === orgName && (s.state === "Active" || s.state === "active")) ?? null;
|
|
144
|
-
if (!sub) {
|
|
145
|
-
return { active: false, subscription: null, plan: null };
|
|
98
|
+
try {
|
|
99
|
+
return await this.request(`/api/v1/plan/${id}`, { token });
|
|
146
100
|
}
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
plan = await this.getPlan(sub.plan, token);
|
|
101
|
+
catch {
|
|
102
|
+
return null;
|
|
150
103
|
}
|
|
151
|
-
|
|
104
|
+
}
|
|
105
|
+
async authorize(orderId, token) {
|
|
106
|
+
return this.request(`/api/v1/authorize/${orderId}`, { method: "POST", token });
|
|
107
|
+
}
|
|
108
|
+
async capture(orderId, token) {
|
|
109
|
+
return this.request(`/api/v1/capture/${orderId}`, { method: "POST", token });
|
|
110
|
+
}
|
|
111
|
+
async charge(orderId, token) {
|
|
112
|
+
return this.request(`/api/v1/charge/${orderId}`, { method: "POST", token });
|
|
113
|
+
}
|
|
114
|
+
async refund(paymentId, token) {
|
|
115
|
+
return this.request(`/api/v1/refund/${paymentId}`, { method: "POST", token });
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
export class CommerceApiError extends Error {
|
|
119
|
+
status;
|
|
120
|
+
constructor(status, message) {
|
|
121
|
+
super(message);
|
|
122
|
+
this.name = "CommerceApiError";
|
|
123
|
+
this.status = status;
|
|
152
124
|
}
|
|
153
125
|
}
|
|
126
|
+
// Backwards-compatible alias
|
|
127
|
+
export { BillingClient as IamBillingClient };
|
|
154
128
|
//# sourceMappingURL=billing.js.map
|
package/dist/billing.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billing.js","sourceRoot":"","sources":["../src/billing.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"billing.js","sourceRoot":"","sources":["../src/billing.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Core HTTP client for Hanzo IAM (Casdoor) API.
|
|
3
3
|
*/
|
|
4
|
-
import type { IamConfig, IamUser, IamOrganization, OidcDiscovery, TokenResponse } from "./types.js";
|
|
4
|
+
import type { IamConfig, IamUser, IamOrganization, IamProject, OidcDiscovery, TokenResponse } from "./types.js";
|
|
5
5
|
export declare class IamClient {
|
|
6
6
|
private readonly baseUrl;
|
|
7
7
|
private readonly clientId;
|
|
@@ -40,6 +40,12 @@ export declare class IamClient {
|
|
|
40
40
|
getOrganization(id: string, token?: string): Promise<IamOrganization | null>;
|
|
41
41
|
/** Get organizations a user belongs to. */
|
|
42
42
|
getUserOrganizations(userId: string, token?: string): Promise<IamOrganization[]>;
|
|
43
|
+
/** List projects (for the configured owner). */
|
|
44
|
+
getProjects(token?: string): Promise<IamProject[]>;
|
|
45
|
+
/** Get a specific project by ID ("owner/name" format). */
|
|
46
|
+
getProject(id: string, token?: string): Promise<IamProject | null>;
|
|
47
|
+
/** Get all projects for an organization. */
|
|
48
|
+
getOrganizationProjects(organization: string, token?: string): Promise<IamProject[]>;
|
|
43
49
|
/** Make an arbitrary authenticated request to the IAM API. */
|
|
44
50
|
apiRequest<T = unknown>(path: string, opts?: {
|
|
45
51
|
method?: string;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,SAAS,EAET,OAAO,EACP,eAAe,EACf,aAAa,EACb,aAAa,EACd,MAAM,YAAY,CAAC;AAIpB,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,cAAc,CAA2D;gBAErE,MAAM,EAAE,SAAS;YAYf,OAAO;IAkEf,YAAY,IAAI,OAAO,CAAC,aAAa,CAAC;IAY5C,iDAAiD;IAC3C,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IASnC,2DAA2D;IACrD,mBAAmB,CAAC,MAAM,EAAE;QAChC,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;KAC9B,GAAG,OAAO,CAAC,MAAM,CAAC;IAenB,8CAA8C;IACxC,YAAY,CAAC,MAAM,EAAE;QACzB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,aAAa,CAAC;IAkC1B,+BAA+B;IACzB,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAkChE,gEAAgE;IAC1D,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAkBxD,gDAAgD;IAC1C,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAYtE,qDAAqD;IAC/C,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IASlE,mCAAmC;IAC7B,eAAe,CACnB,EAAE,EAAE,MAAM,EACV,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAQlC,2CAA2C;IACrC,oBAAoB,CACxB,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,EAAE,CAAC;IAiB7B,8DAA8D;IACxD,UAAU,CAAC,CAAC,GAAG,OAAO,EAC1B,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,GAC1F,OAAO,CAAC,CAAC,CAAC;CAGd;AAMD,qBAAa,WAAY,SAAQ,KAAK;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAK5C"}
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -217,6 +217,25 @@ export class IamClient {
|
|
|
217
217
|
return org ? [org] : [];
|
|
218
218
|
}
|
|
219
219
|
// -----------------------------------------------------------------------
|
|
220
|
+
// Project
|
|
221
|
+
// -----------------------------------------------------------------------
|
|
222
|
+
/** List projects (for the configured owner). */
|
|
223
|
+
async getProjects(token) {
|
|
224
|
+
const owner = this.orgName ?? "admin";
|
|
225
|
+
const resp = await this.request("/api/get-projects", { params: { owner }, token });
|
|
226
|
+
return resp.data ?? [];
|
|
227
|
+
}
|
|
228
|
+
/** Get a specific project by ID ("owner/name" format). */
|
|
229
|
+
async getProject(id, token) {
|
|
230
|
+
const resp = await this.request("/api/get-project", { params: { id }, token });
|
|
231
|
+
return resp.data ?? null;
|
|
232
|
+
}
|
|
233
|
+
/** Get all projects for an organization. */
|
|
234
|
+
async getOrganizationProjects(organization, token) {
|
|
235
|
+
const resp = await this.request("/api/get-organization-projects", { params: { organization }, token });
|
|
236
|
+
return resp.data ?? [];
|
|
237
|
+
}
|
|
238
|
+
// -----------------------------------------------------------------------
|
|
220
239
|
// Raw request (for extending)
|
|
221
240
|
// -----------------------------------------------------------------------
|
|
222
241
|
/** Make an arbitrary authenticated request to the IAM API. */
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,26 +1,27 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @hanzo/iam — TypeScript SDK for Hanzo IAM (
|
|
2
|
+
* @hanzo/iam — TypeScript SDK for Hanzo IAM (identity & access management).
|
|
3
|
+
*
|
|
4
|
+
* Handles: auth (OIDC, JWT, PKCE), users, organizations, projects.
|
|
5
|
+
* Billing is backed by Commerce — the BillingClient talks to Commerce API.
|
|
3
6
|
*
|
|
4
7
|
* @example
|
|
5
8
|
* ```ts
|
|
6
|
-
* import { IamClient,
|
|
9
|
+
* import { IamClient, BillingClient, validateToken } from "@hanzo/iam";
|
|
7
10
|
*
|
|
8
11
|
* const client = new IamClient({
|
|
9
12
|
* serverUrl: "https://iam.hanzo.ai",
|
|
10
13
|
* clientId: "my-app",
|
|
11
14
|
* });
|
|
12
15
|
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* serverUrl: "https://iam.hanzo.ai",
|
|
16
|
-
* clientId: "my-app",
|
|
16
|
+
* const billing = new BillingClient({
|
|
17
|
+
* commerceUrl: "https://commerce.hanzo.ai",
|
|
17
18
|
* });
|
|
18
19
|
* ```
|
|
19
20
|
*/
|
|
20
21
|
export { IamClient, IamApiError } from "./client.js";
|
|
22
|
+
export { BillingClient, IamBillingClient, CommerceApiError } from "./billing.js";
|
|
21
23
|
export { validateToken, clearJwksCache } from "./auth.js";
|
|
22
|
-
export { IamBillingClient } from "./billing.js";
|
|
23
24
|
export { BrowserIamSdk, type BrowserIamConfig } from "./browser.js";
|
|
24
25
|
export { generatePkceChallenge, generateState } from "./pkce.js";
|
|
25
|
-
export type { IamConfig, OidcDiscovery, TokenResponse, IamJwtClaims, IamUser, IamOrganization, IamSubscription, IamPlan, IamPricing, IamPayment, IamOrder, IamAuthResult, IamApiResponse, } from "./types.js";
|
|
26
|
+
export type { IamConfig, OidcDiscovery, TokenResponse, IamJwtClaims, IamUser, IamOrganization, IamProject, Subscription, Plan, Pricing, Payment, Order, UsageRecord, UsageSummary, IamSubscription, IamPlan, IamPricing, IamPayment, IamOrder, IamUsageRecord, IamUsageSummary, IamAuthResult, IamApiResponse, } from "./types.js";
|
|
26
27
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAIrD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGjF,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAG1D,OAAO,EAAE,aAAa,EAAE,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAMjE,YAAY,EACV,SAAS,EACT,aAAa,EACb,aAAa,EACb,YAAY,EACZ,OAAO,EACP,eAAe,EACf,UAAU,EACV,YAAY,EACZ,IAAI,EACJ,OAAO,EACP,OAAO,EACP,KAAK,EACL,WAAW,EACX,YAAY,EACZ,eAAe,EACf,OAAO,EACP,UAAU,EACV,UAAU,EACV,QAAQ,EACR,cAAc,EACd,eAAe,EACf,aAAa,EACb,cAAc,GACf,MAAM,YAAY,CAAC"}
|