@nexys/user-management-client 0.1.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/README.md +81 -0
- package/dist/endpoint.d.ts +51 -0
- package/dist/endpoint.d.ts.map +1 -0
- package/dist/endpoint.js +65 -0
- package/dist/endpoint.js.map +1 -0
- package/dist/endpoints/admin-audit.d.ts +38 -0
- package/dist/endpoints/admin-audit.d.ts.map +1 -0
- package/dist/endpoints/admin-audit.js +17 -0
- package/dist/endpoints/admin-audit.js.map +1 -0
- package/dist/endpoints/admin-keys.d.ts +23 -0
- package/dist/endpoints/admin-keys.d.ts.map +1 -0
- package/dist/endpoints/admin-keys.js +20 -0
- package/dist/endpoints/admin-keys.js.map +1 -0
- package/dist/endpoints/admin-users.d.ts +56 -0
- package/dist/endpoints/admin-users.d.ts.map +1 -0
- package/dist/endpoints/admin-users.js +60 -0
- package/dist/endpoints/admin-users.js.map +1 -0
- package/dist/endpoints/auth.d.ts +93 -0
- package/dist/endpoints/auth.d.ts.map +1 -0
- package/dist/endpoints/auth.js +82 -0
- package/dist/endpoints/auth.js.map +1 -0
- package/dist/endpoints/health.d.ts +33 -0
- package/dist/endpoints/health.d.ts.map +1 -0
- package/dist/endpoints/health.js +20 -0
- package/dist/endpoints/health.js.map +1 -0
- package/dist/endpoints/index.d.ts +9 -0
- package/dist/endpoints/index.d.ts.map +1 -0
- package/dist/endpoints/index.js +9 -0
- package/dist/endpoints/index.js.map +1 -0
- package/dist/endpoints/me.d.ts +17 -0
- package/dist/endpoints/me.d.ts.map +1 -0
- package/dist/endpoints/me.js +35 -0
- package/dist/endpoints/me.js.map +1 -0
- package/dist/endpoints/refresh-tokens.d.ts +13 -0
- package/dist/endpoints/refresh-tokens.d.ts.map +1 -0
- package/dist/endpoints/refresh-tokens.js +20 -0
- package/dist/endpoints/refresh-tokens.js.map +1 -0
- package/dist/endpoints/tenants.d.ts +184 -0
- package/dist/endpoints/tenants.d.ts.map +1 -0
- package/dist/endpoints/tenants.js +182 -0
- package/dist/endpoints/tenants.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/result.d.ts +36 -0
- package/dist/result.d.ts.map +1 -0
- package/dist/result.js +21 -0
- package/dist/result.js.map +1 -0
- package/dist/types.d.ts +179 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +7 -0
- package/dist/types.js.map +1 -0
- package/package.json +26 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { Endpoint } from "../endpoint.js";
|
|
2
|
+
import type { ApiError } from "../result.js";
|
|
3
|
+
export declare const health: Endpoint<void, {
|
|
4
|
+
ok: boolean;
|
|
5
|
+
}, ApiError>;
|
|
6
|
+
export interface AuthHealth {
|
|
7
|
+
ok: boolean;
|
|
8
|
+
/** Server crate version (Cargo `version`) — baked in at compile time. */
|
|
9
|
+
version: string;
|
|
10
|
+
/** UTC ISO-8601 build timestamp seeded by CI via `BUILD_DATE`;
|
|
11
|
+
* `"unknown"` outside CI. */
|
|
12
|
+
date: string;
|
|
13
|
+
/** Build commit SHA. `null` in dev builds where `GIT_SHA` was unset. */
|
|
14
|
+
sha: string | null;
|
|
15
|
+
/** Release tag, set only on tagged builds. */
|
|
16
|
+
tag: string | null;
|
|
17
|
+
startedAt: string;
|
|
18
|
+
uptimeSeconds: number;
|
|
19
|
+
}
|
|
20
|
+
export declare const authHealth: Endpoint<void, AuthHealth, ApiError>;
|
|
21
|
+
export interface JwksKey {
|
|
22
|
+
kid: string;
|
|
23
|
+
kty: string;
|
|
24
|
+
use?: string;
|
|
25
|
+
alg?: string;
|
|
26
|
+
crv?: string;
|
|
27
|
+
x?: string;
|
|
28
|
+
[k: string]: unknown;
|
|
29
|
+
}
|
|
30
|
+
export declare const jwks: Endpoint<void, {
|
|
31
|
+
keys: JwksKey[];
|
|
32
|
+
}, ApiError>;
|
|
33
|
+
//# sourceMappingURL=health.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/endpoints/health.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAG7C,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE;IAAE,EAAE,EAAE,OAAO,CAAA;CAAE,EAAE,QAAQ,CAK5D,CAAC;AAEF,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,OAAO,CAAC;IACZ,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAC;IAChB;kCAC8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,8CAA8C;IAC9C,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAK3D,CAAC;AAEF,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,CAAC,CAAC,EAAE,MAAM,CAAC;IAEX,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,OAAO,EAAE,CAAA;CAAE,EAAE,QAAQ,CAK9D,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { parseApiError } from "../result.js";
|
|
2
|
+
export const health = {
|
|
3
|
+
method: "GET",
|
|
4
|
+
path: () => "/health",
|
|
5
|
+
parseOutput: (data) => data,
|
|
6
|
+
parseError: parseApiError,
|
|
7
|
+
};
|
|
8
|
+
export const authHealth = {
|
|
9
|
+
method: "GET",
|
|
10
|
+
path: () => "/api/auth/health",
|
|
11
|
+
parseOutput: (data) => data,
|
|
12
|
+
parseError: parseApiError,
|
|
13
|
+
};
|
|
14
|
+
export const jwks = {
|
|
15
|
+
method: "GET",
|
|
16
|
+
path: () => "/api/auth/jwks",
|
|
17
|
+
parseOutput: (data) => data,
|
|
18
|
+
parseError: parseApiError,
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=health.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/endpoints/health.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,CAAC,MAAM,MAAM,GAA8C;IAC/D,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS;IACrB,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAuB;IAC9C,UAAU,EAAE,aAAa;CAC1B,CAAC;AAiBF,MAAM,CAAC,MAAM,UAAU,GAAyC;IAC9D,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,GAAG,EAAE,CAAC,kBAAkB;IAC9B,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAkB;IACzC,UAAU,EAAE,aAAa;CAC1B,CAAC;AAaF,MAAM,CAAC,MAAM,IAAI,GAAkD;IACjE,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,GAAG,EAAE,CAAC,gBAAgB;IAC5B,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAA2B;IAClD,UAAU,EAAE,aAAa;CAC1B,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from "./auth.js";
|
|
2
|
+
export * from "./me.js";
|
|
3
|
+
export * from "./refresh-tokens.js";
|
|
4
|
+
export * from "./admin-users.js";
|
|
5
|
+
export * from "./admin-audit.js";
|
|
6
|
+
export * from "./admin-keys.js";
|
|
7
|
+
export * from "./health.js";
|
|
8
|
+
export * from "./tenants.js";
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/endpoints/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from "./auth.js";
|
|
2
|
+
export * from "./me.js";
|
|
3
|
+
export * from "./refresh-tokens.js";
|
|
4
|
+
export * from "./admin-users.js";
|
|
5
|
+
export * from "./admin-audit.js";
|
|
6
|
+
export * from "./admin-keys.js";
|
|
7
|
+
export * from "./health.js";
|
|
8
|
+
export * from "./tenants.js";
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/endpoints/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Endpoint } from "../endpoint.js";
|
|
2
|
+
import type { ApiError } from "../result.js";
|
|
3
|
+
import type { MeResponse, TokenMintResponse, TokenRefreshResponse } from "../types.js";
|
|
4
|
+
export declare const me: Endpoint<void, MeResponse, ApiError>;
|
|
5
|
+
export declare const updateProfile: Endpoint<{
|
|
6
|
+
name?: string;
|
|
7
|
+
image?: string | null;
|
|
8
|
+
}, {
|
|
9
|
+
ok: true;
|
|
10
|
+
}, ApiError>;
|
|
11
|
+
export declare const mintToken: Endpoint<void, TokenMintResponse, ApiError>;
|
|
12
|
+
export declare const refreshToken: Endpoint<{
|
|
13
|
+
refreshToken: string;
|
|
14
|
+
}, TokenRefreshResponse, ApiError>;
|
|
15
|
+
/** Cookie-based refresh — no body needed, the httpOnly cookie carries the token. */
|
|
16
|
+
export declare const refreshViaCookie: Endpoint<void, TokenRefreshResponse, ApiError>;
|
|
17
|
+
//# sourceMappingURL=me.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"me.d.ts","sourceRoot":"","sources":["../../src/endpoints/me.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,KAAK,EACV,UAAU,EACV,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,EAAE,EAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAKnD,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,QAAQ,CAClC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EACxC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,EACZ,QAAQ,CAOT,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,EAAE,QAAQ,CAKjE,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,QAAQ,CACjC;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,EACxB,oBAAoB,EACpB,QAAQ,CAOT,CAAC;AAEF,oFAAoF;AACpF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,IAAI,EAAE,oBAAoB,EAAE,QAAQ,CAMzE,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { parseApiError } from "../result.js";
|
|
2
|
+
export const me = {
|
|
3
|
+
method: "GET",
|
|
4
|
+
path: () => "/api/me",
|
|
5
|
+
parseOutput: (data) => data,
|
|
6
|
+
parseError: parseApiError,
|
|
7
|
+
};
|
|
8
|
+
export const updateProfile = {
|
|
9
|
+
method: "PATCH",
|
|
10
|
+
path: () => "/api/me",
|
|
11
|
+
body: (input) => input,
|
|
12
|
+
parseOutput: () => ({ ok: true }),
|
|
13
|
+
parseError: parseApiError,
|
|
14
|
+
};
|
|
15
|
+
export const mintToken = {
|
|
16
|
+
method: "GET",
|
|
17
|
+
path: () => "/api/auth/token",
|
|
18
|
+
parseOutput: (data) => data,
|
|
19
|
+
parseError: parseApiError,
|
|
20
|
+
};
|
|
21
|
+
export const refreshToken = {
|
|
22
|
+
method: "POST",
|
|
23
|
+
path: () => "/api/auth/refresh",
|
|
24
|
+
body: (input) => input,
|
|
25
|
+
parseOutput: (data) => data,
|
|
26
|
+
parseError: parseApiError,
|
|
27
|
+
};
|
|
28
|
+
/** Cookie-based refresh — no body needed, the httpOnly cookie carries the token. */
|
|
29
|
+
export const refreshViaCookie = {
|
|
30
|
+
method: "POST",
|
|
31
|
+
path: () => "/api/auth/refresh",
|
|
32
|
+
parseOutput: (data) => data,
|
|
33
|
+
parseError: parseApiError,
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=me.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"me.js","sourceRoot":"","sources":["../../src/endpoints/me.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAO7C,MAAM,CAAC,MAAM,EAAE,GAAyC;IACtD,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS;IACrB,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAkB;IACzC,UAAU,EAAE,aAAa;CAC1B,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAItB;IACF,MAAM,EAAE,OAAO;IACf,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS;IACrB,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK;IACtB,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACjC,UAAU,EAAE,aAAa;CAC1B,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAgD;IACpE,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,GAAG,EAAE,CAAC,iBAAiB;IAC7B,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAyB;IAChD,UAAU,EAAE,aAAa;CAC1B,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAIrB;IACF,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,GAAG,EAAE,CAAC,mBAAmB;IAC/B,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK;IACtB,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAA4B;IACnD,UAAU,EAAE,aAAa;CAC1B,CAAC;AAEF,oFAAoF;AACpF,MAAM,CAAC,MAAM,gBAAgB,GAC3B;IACE,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,GAAG,EAAE,CAAC,mBAAmB;IAC/B,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAA4B;IACnD,UAAU,EAAE,aAAa;CAC1B,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Endpoint } from "../endpoint.js";
|
|
2
|
+
import type { ApiError } from "../result.js";
|
|
3
|
+
import type { RefreshToken } from "../types.js";
|
|
4
|
+
export declare const listRefreshTokens: Endpoint<void, RefreshToken[], ApiError>;
|
|
5
|
+
export declare const revokeRefreshToken: Endpoint<{
|
|
6
|
+
id: string;
|
|
7
|
+
}, {
|
|
8
|
+
ok: true;
|
|
9
|
+
}, ApiError>;
|
|
10
|
+
export declare const revokeAllRefreshTokens: Endpoint<void, {
|
|
11
|
+
revoked: number;
|
|
12
|
+
}, ApiError>;
|
|
13
|
+
//# sourceMappingURL=refresh-tokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refresh-tokens.d.ts","sourceRoot":"","sources":["../../src/endpoints/refresh-tokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,QAAQ,CAKtE,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,EAAE,QAAQ,CAK/E,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,QAAQ,CAKhF,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { parseApiError } from "../result.js";
|
|
2
|
+
export const listRefreshTokens = {
|
|
3
|
+
method: "GET",
|
|
4
|
+
path: () => "/api/me/refresh-tokens",
|
|
5
|
+
parseOutput: (data) => (data ?? []),
|
|
6
|
+
parseError: parseApiError,
|
|
7
|
+
};
|
|
8
|
+
export const revokeRefreshToken = {
|
|
9
|
+
method: "DELETE",
|
|
10
|
+
path: ({ id }) => `/api/me/refresh-tokens/${encodeURIComponent(id)}`,
|
|
11
|
+
parseOutput: () => ({ ok: true }),
|
|
12
|
+
parseError: parseApiError,
|
|
13
|
+
};
|
|
14
|
+
export const revokeAllRefreshTokens = {
|
|
15
|
+
method: "DELETE",
|
|
16
|
+
path: () => "/api/me/refresh-tokens",
|
|
17
|
+
parseOutput: (data) => (data ?? { revoked: 0 }),
|
|
18
|
+
parseError: parseApiError,
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=refresh-tokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refresh-tokens.js","sourceRoot":"","sources":["../../src/endpoints/refresh-tokens.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C,MAAM,CAAC,MAAM,iBAAiB,GAA6C;IACzE,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,GAAG,EAAE,CAAC,wBAAwB;IACpC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,CAAmB;IACrD,UAAU,EAAE,aAAa;CAC1B,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAqD;IAClF,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,0BAA0B,kBAAkB,CAAC,EAAE,CAAC,EAAE;IACpE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACjC,UAAU,EAAE,aAAa;CAC1B,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAkD;IACnF,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,GAAG,EAAE,CAAC,wBAAwB;IACpC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAwB;IACtE,UAAU,EAAE,aAAa;CAC1B,CAAC"}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import type { Endpoint } from "../endpoint.js";
|
|
2
|
+
import type { ApiError } from "../result.js";
|
|
3
|
+
import type { FullOrganization, Invitation, MemberDetail, MyTenant, RoleRow, TenantRole, TenantRow, UserStatus } from "../types.js";
|
|
4
|
+
export type CheckTenantResponse = {
|
|
5
|
+
exists: false;
|
|
6
|
+
} | {
|
|
7
|
+
exists: true;
|
|
8
|
+
id: string;
|
|
9
|
+
name: string;
|
|
10
|
+
slug: string;
|
|
11
|
+
};
|
|
12
|
+
/** Public — no auth required. Check if a tenant exists by slug/name. */
|
|
13
|
+
export declare const checkTenant: Endpoint<{
|
|
14
|
+
name: string;
|
|
15
|
+
}, CheckTenantResponse, ApiError>;
|
|
16
|
+
export declare const listMyTenants: Endpoint<void, {
|
|
17
|
+
tenants: MyTenant[];
|
|
18
|
+
}, ApiError>;
|
|
19
|
+
export declare const adminListTenants: Endpoint<void, {
|
|
20
|
+
tenants: TenantRow[];
|
|
21
|
+
}, ApiError>;
|
|
22
|
+
export declare const createTenant: Endpoint<{
|
|
23
|
+
name: string;
|
|
24
|
+
slug?: string;
|
|
25
|
+
}, TenantRow, ApiError>;
|
|
26
|
+
export declare const setActiveTenant: Endpoint<{
|
|
27
|
+
organizationId: string | null;
|
|
28
|
+
}, {
|
|
29
|
+
session: {
|
|
30
|
+
activeOrganizationId: string | null;
|
|
31
|
+
};
|
|
32
|
+
}, ApiError>;
|
|
33
|
+
export declare const getFullTenant: Endpoint<{
|
|
34
|
+
organizationId?: string;
|
|
35
|
+
}, FullOrganization, ApiError>;
|
|
36
|
+
export declare const inviteMember: Endpoint<{
|
|
37
|
+
email: string;
|
|
38
|
+
role: TenantRole;
|
|
39
|
+
organizationId: string;
|
|
40
|
+
}, Invitation, ApiError>;
|
|
41
|
+
export declare const acceptInvitation: Endpoint<{
|
|
42
|
+
invitationId: string;
|
|
43
|
+
}, {
|
|
44
|
+
memberId: string;
|
|
45
|
+
organizationId: string;
|
|
46
|
+
role: TenantRole;
|
|
47
|
+
}, ApiError>;
|
|
48
|
+
export declare const updateMemberRole: Endpoint<{
|
|
49
|
+
memberId: string;
|
|
50
|
+
role: TenantRole;
|
|
51
|
+
organizationId: string;
|
|
52
|
+
}, {
|
|
53
|
+
ok: true;
|
|
54
|
+
}, ApiError>;
|
|
55
|
+
export declare const removeMember: Endpoint<{
|
|
56
|
+
memberId: string;
|
|
57
|
+
organizationId: string;
|
|
58
|
+
}, {
|
|
59
|
+
ok: true;
|
|
60
|
+
}, ApiError>;
|
|
61
|
+
export declare const adminDeleteTenant: Endpoint<{
|
|
62
|
+
id: string;
|
|
63
|
+
}, {
|
|
64
|
+
ok: true;
|
|
65
|
+
}, ApiError>;
|
|
66
|
+
export declare const deleteTenant: Endpoint<{
|
|
67
|
+
id: string;
|
|
68
|
+
}, {
|
|
69
|
+
ok: true;
|
|
70
|
+
}, ApiError>;
|
|
71
|
+
export declare const listTenantRoles: Endpoint<{
|
|
72
|
+
orgId: string;
|
|
73
|
+
}, {
|
|
74
|
+
roles: RoleRow[];
|
|
75
|
+
}, ApiError>;
|
|
76
|
+
export declare const createTenantRole: Endpoint<{
|
|
77
|
+
orgId: string;
|
|
78
|
+
name: string;
|
|
79
|
+
description?: string;
|
|
80
|
+
}, RoleRow, ApiError>;
|
|
81
|
+
export declare const deleteTenantRole: Endpoint<{
|
|
82
|
+
orgId: string;
|
|
83
|
+
roleId: string;
|
|
84
|
+
}, {
|
|
85
|
+
ok: true;
|
|
86
|
+
}, ApiError>;
|
|
87
|
+
export declare const addTenantMember: Endpoint<{
|
|
88
|
+
orgId: string;
|
|
89
|
+
email: string;
|
|
90
|
+
role?: TenantRole;
|
|
91
|
+
}, {
|
|
92
|
+
id: string;
|
|
93
|
+
userId: string;
|
|
94
|
+
email: string;
|
|
95
|
+
name: string;
|
|
96
|
+
role: TenantRole;
|
|
97
|
+
}, ApiError>;
|
|
98
|
+
export declare const getTenantMember: Endpoint<{
|
|
99
|
+
orgId: string;
|
|
100
|
+
userId: string;
|
|
101
|
+
}, MemberDetail, ApiError>;
|
|
102
|
+
export declare const getTenantMemberRoles: Endpoint<{
|
|
103
|
+
orgId: string;
|
|
104
|
+
userId: string;
|
|
105
|
+
}, {
|
|
106
|
+
roles: RoleRow[];
|
|
107
|
+
}, ApiError>;
|
|
108
|
+
export declare const getTenantMemberPermissions: Endpoint<{
|
|
109
|
+
orgId: string;
|
|
110
|
+
userId: string;
|
|
111
|
+
}, {
|
|
112
|
+
permissions: string[];
|
|
113
|
+
}, ApiError>;
|
|
114
|
+
export declare const getTenantMemberAuthMethods: Endpoint<{
|
|
115
|
+
orgId: string;
|
|
116
|
+
userId: string;
|
|
117
|
+
}, {
|
|
118
|
+
methods: {
|
|
119
|
+
provider: string;
|
|
120
|
+
createdAt: string;
|
|
121
|
+
}[];
|
|
122
|
+
}, ApiError>;
|
|
123
|
+
export declare const assignTenantMemberRole: Endpoint<{
|
|
124
|
+
orgId: string;
|
|
125
|
+
userId: string;
|
|
126
|
+
roleId: string;
|
|
127
|
+
}, {
|
|
128
|
+
ok: true;
|
|
129
|
+
}, ApiError>;
|
|
130
|
+
export declare const unassignTenantMemberRole: Endpoint<{
|
|
131
|
+
orgId: string;
|
|
132
|
+
userId: string;
|
|
133
|
+
roleId: string;
|
|
134
|
+
}, {
|
|
135
|
+
ok: true;
|
|
136
|
+
}, ApiError>;
|
|
137
|
+
export declare const updateMemberStatus: Endpoint<{
|
|
138
|
+
orgId: string;
|
|
139
|
+
userId: string;
|
|
140
|
+
status: UserStatus;
|
|
141
|
+
}, {
|
|
142
|
+
ok: true;
|
|
143
|
+
status: UserStatus;
|
|
144
|
+
}, ApiError>;
|
|
145
|
+
export declare const addMemberAuthMethod: Endpoint<{
|
|
146
|
+
orgId: string;
|
|
147
|
+
userId: string;
|
|
148
|
+
provider: string;
|
|
149
|
+
accountId?: string;
|
|
150
|
+
password?: string;
|
|
151
|
+
}, {
|
|
152
|
+
ok: true;
|
|
153
|
+
id: string;
|
|
154
|
+
}, ApiError>;
|
|
155
|
+
export declare const removeMemberAuthMethod: Endpoint<{
|
|
156
|
+
orgId: string;
|
|
157
|
+
userId: string;
|
|
158
|
+
methodId: string;
|
|
159
|
+
}, {
|
|
160
|
+
ok: true;
|
|
161
|
+
}, ApiError>;
|
|
162
|
+
export interface RefreshTokenInfo {
|
|
163
|
+
id: string;
|
|
164
|
+
ipAddress: string | null;
|
|
165
|
+
userAgent: string | null;
|
|
166
|
+
createdAt: string;
|
|
167
|
+
expiresAt: string;
|
|
168
|
+
revokedAt: string | null;
|
|
169
|
+
lastUsedAt: string | null;
|
|
170
|
+
}
|
|
171
|
+
export declare const listMemberTokens: Endpoint<{
|
|
172
|
+
orgId: string;
|
|
173
|
+
userId: string;
|
|
174
|
+
}, {
|
|
175
|
+
tokens: RefreshTokenInfo[];
|
|
176
|
+
}, ApiError>;
|
|
177
|
+
export declare const revokeMemberToken: Endpoint<{
|
|
178
|
+
orgId: string;
|
|
179
|
+
userId: string;
|
|
180
|
+
tokenId: string;
|
|
181
|
+
}, {
|
|
182
|
+
ok: true;
|
|
183
|
+
}, ApiError>;
|
|
184
|
+
//# sourceMappingURL=tenants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tenants.d.ts","sourceRoot":"","sources":["../../src/endpoints/tenants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import { parseApiError } from "../result.js";
|
|
2
|
+
/** Public — no auth required. Check if a tenant exists by slug/name. */
|
|
3
|
+
export const checkTenant = {
|
|
4
|
+
method: "GET",
|
|
5
|
+
path: () => "/api/tenants/check",
|
|
6
|
+
query: (input) => ({ name: input.name }),
|
|
7
|
+
parseOutput: (data) => data,
|
|
8
|
+
parseError: parseApiError,
|
|
9
|
+
};
|
|
10
|
+
export const listMyTenants = {
|
|
11
|
+
method: "GET",
|
|
12
|
+
path: () => "/api/auth/organization/list",
|
|
13
|
+
parseOutput: (data) => data,
|
|
14
|
+
parseError: parseApiError,
|
|
15
|
+
};
|
|
16
|
+
export const adminListTenants = {
|
|
17
|
+
method: "GET",
|
|
18
|
+
path: () => "/api/admin/tenants",
|
|
19
|
+
parseOutput: (data) => data,
|
|
20
|
+
parseError: parseApiError,
|
|
21
|
+
};
|
|
22
|
+
export const createTenant = {
|
|
23
|
+
method: "POST",
|
|
24
|
+
path: () => "/api/auth/organization/create",
|
|
25
|
+
body: (input) => input,
|
|
26
|
+
parseOutput: (data) => data,
|
|
27
|
+
parseError: parseApiError,
|
|
28
|
+
};
|
|
29
|
+
export const setActiveTenant = {
|
|
30
|
+
method: "POST",
|
|
31
|
+
path: () => "/api/auth/organization/set-active",
|
|
32
|
+
body: (input) => input,
|
|
33
|
+
parseOutput: (data) => data,
|
|
34
|
+
parseError: parseApiError,
|
|
35
|
+
};
|
|
36
|
+
export const getFullTenant = {
|
|
37
|
+
method: "GET",
|
|
38
|
+
path: () => "/api/auth/organization/get-full-organization",
|
|
39
|
+
query: (input) => ({ organizationId: input.organizationId }),
|
|
40
|
+
parseOutput: (data) => data,
|
|
41
|
+
parseError: parseApiError,
|
|
42
|
+
};
|
|
43
|
+
export const inviteMember = {
|
|
44
|
+
method: "POST",
|
|
45
|
+
path: () => "/api/auth/organization/invite-member",
|
|
46
|
+
body: (input) => input,
|
|
47
|
+
parseOutput: (data) => data,
|
|
48
|
+
parseError: parseApiError,
|
|
49
|
+
};
|
|
50
|
+
export const acceptInvitation = {
|
|
51
|
+
method: "POST",
|
|
52
|
+
path: () => "/api/auth/organization/accept-invitation",
|
|
53
|
+
body: (input) => input,
|
|
54
|
+
parseOutput: (data) => data,
|
|
55
|
+
parseError: parseApiError,
|
|
56
|
+
};
|
|
57
|
+
export const updateMemberRole = {
|
|
58
|
+
method: "POST",
|
|
59
|
+
path: () => "/api/auth/organization/update-member-role",
|
|
60
|
+
body: (input) => input,
|
|
61
|
+
parseOutput: () => ({ ok: true }),
|
|
62
|
+
parseError: parseApiError,
|
|
63
|
+
};
|
|
64
|
+
export const removeMember = {
|
|
65
|
+
method: "POST",
|
|
66
|
+
path: () => "/api/auth/organization/remove-member",
|
|
67
|
+
body: (input) => input,
|
|
68
|
+
parseOutput: () => ({ ok: true }),
|
|
69
|
+
parseError: parseApiError,
|
|
70
|
+
};
|
|
71
|
+
export const adminDeleteTenant = {
|
|
72
|
+
method: "DELETE",
|
|
73
|
+
path: (input) => `/api/admin/tenants/${input.id}`,
|
|
74
|
+
parseOutput: () => ({ ok: true }),
|
|
75
|
+
parseError: parseApiError,
|
|
76
|
+
};
|
|
77
|
+
export const deleteTenant = {
|
|
78
|
+
method: "DELETE",
|
|
79
|
+
path: (input) => `/api/tenants/${input.id}`,
|
|
80
|
+
parseOutput: () => ({ ok: true }),
|
|
81
|
+
parseError: parseApiError,
|
|
82
|
+
};
|
|
83
|
+
export const listTenantRoles = {
|
|
84
|
+
method: "GET",
|
|
85
|
+
path: (input) => `/api/tenants/${input.orgId}/roles`,
|
|
86
|
+
parseOutput: (data) => data,
|
|
87
|
+
parseError: parseApiError,
|
|
88
|
+
};
|
|
89
|
+
export const createTenantRole = {
|
|
90
|
+
method: "POST",
|
|
91
|
+
path: (input) => `/api/tenants/${input.orgId}/roles`,
|
|
92
|
+
body: (input) => ({ name: input.name, description: input.description }),
|
|
93
|
+
parseOutput: (data) => data,
|
|
94
|
+
parseError: parseApiError,
|
|
95
|
+
};
|
|
96
|
+
export const deleteTenantRole = {
|
|
97
|
+
method: "DELETE",
|
|
98
|
+
path: (input) => `/api/tenants/${input.orgId}/roles/${input.roleId}`,
|
|
99
|
+
parseOutput: () => ({ ok: true }),
|
|
100
|
+
parseError: parseApiError,
|
|
101
|
+
};
|
|
102
|
+
export const addTenantMember = {
|
|
103
|
+
method: "POST",
|
|
104
|
+
path: (input) => `/api/tenants/${input.orgId}/members`,
|
|
105
|
+
body: (input) => ({ email: input.email, role: input.role ?? "member" }),
|
|
106
|
+
parseOutput: (data) => data,
|
|
107
|
+
parseError: parseApiError,
|
|
108
|
+
};
|
|
109
|
+
export const getTenantMember = {
|
|
110
|
+
method: "GET",
|
|
111
|
+
path: (input) => `/api/tenants/${input.orgId}/members/${input.userId}`,
|
|
112
|
+
parseOutput: (data) => data,
|
|
113
|
+
parseError: parseApiError,
|
|
114
|
+
};
|
|
115
|
+
export const getTenantMemberRoles = {
|
|
116
|
+
method: "GET",
|
|
117
|
+
path: (input) => `/api/tenants/${input.orgId}/members/${input.userId}/roles`,
|
|
118
|
+
parseOutput: (data) => data,
|
|
119
|
+
parseError: parseApiError,
|
|
120
|
+
};
|
|
121
|
+
export const getTenantMemberPermissions = {
|
|
122
|
+
method: "GET",
|
|
123
|
+
path: (input) => `/api/tenants/${input.orgId}/members/${input.userId}/permissions`,
|
|
124
|
+
parseOutput: (data) => data,
|
|
125
|
+
parseError: parseApiError,
|
|
126
|
+
};
|
|
127
|
+
export const getTenantMemberAuthMethods = {
|
|
128
|
+
method: "GET",
|
|
129
|
+
path: (input) => `/api/tenants/${input.orgId}/members/${input.userId}/auth-methods`,
|
|
130
|
+
parseOutput: (data) => data,
|
|
131
|
+
parseError: parseApiError,
|
|
132
|
+
};
|
|
133
|
+
export const assignTenantMemberRole = {
|
|
134
|
+
method: "POST",
|
|
135
|
+
path: (input) => `/api/tenants/${input.orgId}/members/${input.userId}/roles`,
|
|
136
|
+
body: (input) => ({ roleId: input.roleId }),
|
|
137
|
+
parseOutput: () => ({ ok: true }),
|
|
138
|
+
parseError: parseApiError,
|
|
139
|
+
};
|
|
140
|
+
export const unassignTenantMemberRole = {
|
|
141
|
+
method: "DELETE",
|
|
142
|
+
path: (input) => `/api/tenants/${input.orgId}/members/${input.userId}/roles/${input.roleId}`,
|
|
143
|
+
parseOutput: () => ({ ok: true }),
|
|
144
|
+
parseError: parseApiError,
|
|
145
|
+
};
|
|
146
|
+
export const updateMemberStatus = {
|
|
147
|
+
method: "PATCH",
|
|
148
|
+
path: (input) => `/api/tenants/${input.orgId}/members/${input.userId}/status`,
|
|
149
|
+
body: (input) => ({ status: input.status }),
|
|
150
|
+
parseOutput: (data) => data,
|
|
151
|
+
parseError: parseApiError,
|
|
152
|
+
};
|
|
153
|
+
export const addMemberAuthMethod = {
|
|
154
|
+
method: "POST",
|
|
155
|
+
path: (input) => `/api/tenants/${input.orgId}/members/${input.userId}/auth-methods`,
|
|
156
|
+
body: (input) => ({
|
|
157
|
+
provider: input.provider,
|
|
158
|
+
...(input.accountId ? { accountId: input.accountId } : {}),
|
|
159
|
+
...(input.password ? { password: input.password } : {}),
|
|
160
|
+
}),
|
|
161
|
+
parseOutput: (data) => data,
|
|
162
|
+
parseError: parseApiError,
|
|
163
|
+
};
|
|
164
|
+
export const removeMemberAuthMethod = {
|
|
165
|
+
method: "DELETE",
|
|
166
|
+
path: (input) => `/api/tenants/${input.orgId}/members/${input.userId}/auth-methods/${input.methodId}`,
|
|
167
|
+
parseOutput: () => ({ ok: true }),
|
|
168
|
+
parseError: parseApiError,
|
|
169
|
+
};
|
|
170
|
+
export const listMemberTokens = {
|
|
171
|
+
method: "GET",
|
|
172
|
+
path: (input) => `/api/tenants/${input.orgId}/members/${input.userId}/tokens`,
|
|
173
|
+
parseOutput: (data) => data,
|
|
174
|
+
parseError: parseApiError,
|
|
175
|
+
};
|
|
176
|
+
export const revokeMemberToken = {
|
|
177
|
+
method: "DELETE",
|
|
178
|
+
path: (input) => `/api/tenants/${input.orgId}/members/${input.userId}/tokens/${input.tokenId}`,
|
|
179
|
+
parseOutput: () => ({ ok: true }),
|
|
180
|
+
parseError: parseApiError,
|
|
181
|
+
};
|
|
182
|
+
//# sourceMappingURL=tenants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tenants.js","sourceRoot":"","sources":["../../src/endpoints/tenants.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { createClient, type ClientConfig, type Endpoint, type EndpointError, type EndpointInput, type EndpointOutput, type Method, type UmClient, } from "./endpoint.js";
|
|
2
|
+
export { err, ok, parseApiError, type ApiError, type NetworkError, type Result, } from "./result.js";
|
|
3
|
+
export * from "./endpoints/index.js";
|
|
4
|
+
export type * from "./types.js";
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,MAAM,EACX,KAAK,QAAQ,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,GAAG,EACH,EAAE,EACF,aAAa,EACb,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,MAAM,GACZ,MAAM,aAAa,CAAC;AAGrB,cAAc,sBAAsB,CAAC;AAGrC,mBAAmB,YAAY,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,OAAO,EACL,YAAY,GAQb,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,GAAG,EACH,EAAE,EACF,aAAa,GAId,MAAM,aAAa,CAAC;AAErB,mDAAmD;AACnD,cAAc,sBAAsB,CAAC"}
|
package/dist/result.d.ts
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Result + error types. Endpoints never throw — `call` collapses
|
|
3
|
+
* thrown exceptions into `{ kind: "network" }` and HTTP errors into
|
|
4
|
+
* whatever shape `endpoint.parseError` produces.
|
|
5
|
+
*/
|
|
6
|
+
export type Result<T, E> = {
|
|
7
|
+
ok: true;
|
|
8
|
+
data: T;
|
|
9
|
+
} | {
|
|
10
|
+
ok: false;
|
|
11
|
+
error: E;
|
|
12
|
+
};
|
|
13
|
+
export type NetworkError = {
|
|
14
|
+
kind: "network";
|
|
15
|
+
message: string;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Default HTTP error envelope mirroring the rust server's
|
|
19
|
+
* `{ code, message }` shape. Individual endpoints can narrow this
|
|
20
|
+
* with a discriminated union when they want callers to switch on
|
|
21
|
+
* specific codes (e.g. sign-in's INVALID_EMAIL_OR_PASSWORD).
|
|
22
|
+
*/
|
|
23
|
+
export type ApiError = {
|
|
24
|
+
kind: "http";
|
|
25
|
+
status: number;
|
|
26
|
+
code: string | undefined;
|
|
27
|
+
message: string;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Lift a JSON error body into `ApiError`. Tolerates non-JSON
|
|
31
|
+
* (data === null) and missing fields.
|
|
32
|
+
*/
|
|
33
|
+
export declare const parseApiError: (status: number, data: unknown) => ApiError;
|
|
34
|
+
export declare const ok: <T>(data: T) => Result<T, never>;
|
|
35
|
+
export declare const err: <E>(error: E) => Result<never, E>;
|
|
36
|
+
//# sourceMappingURL=result.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../src/result.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC;AAE3E,MAAM,MAAM,YAAY,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhE;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAI,QAAQ,MAAM,EAAE,MAAM,OAAO,KAAG,QAQ7D,CAAC;AAEF,eAAO,MAAM,EAAE,GAAI,CAAC,EAAE,MAAM,CAAC,KAAG,MAAM,CAAC,CAAC,EAAE,KAAK,CAAyB,CAAC;AACzE,eAAO,MAAM,GAAG,GAAI,CAAC,EAAE,OAAO,CAAC,KAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAA2B,CAAC"}
|