@wacht/backend 1.0.0-beta.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 (131) hide show
  1. package/LICENSE.md +19 -0
  2. package/README.md +94 -0
  3. package/dist/api/ai.d.ts +157 -0
  4. package/dist/api/ai.d.ts.map +1 -0
  5. package/dist/api/ai.js +300 -0
  6. package/dist/api/ai.js.map +1 -0
  7. package/dist/api/analytics.d.ts +21 -0
  8. package/dist/api/analytics.d.ts.map +1 -0
  9. package/dist/api/analytics.js +40 -0
  10. package/dist/api/analytics.js.map +1 -0
  11. package/dist/api/api-keys.d.ts +43 -0
  12. package/dist/api/api-keys.d.ts.map +1 -0
  13. package/dist/api/api-keys.js +84 -0
  14. package/dist/api/api-keys.js.map +1 -0
  15. package/dist/api/gateway.d.ts +66 -0
  16. package/dist/api/gateway.d.ts.map +1 -0
  17. package/dist/api/gateway.js +177 -0
  18. package/dist/api/gateway.js.map +1 -0
  19. package/dist/api/health.d.ts +8 -0
  20. package/dist/api/health.d.ts.map +1 -0
  21. package/dist/api/health.js +12 -0
  22. package/dist/api/health.js.map +1 -0
  23. package/dist/api/invitations.d.ts +35 -0
  24. package/dist/api/invitations.d.ts.map +1 -0
  25. package/dist/api/invitations.js +76 -0
  26. package/dist/api/invitations.js.map +1 -0
  27. package/dist/api/notifications.d.ts +27 -0
  28. package/dist/api/notifications.d.ts.map +1 -0
  29. package/dist/api/notifications.js +56 -0
  30. package/dist/api/notifications.js.map +1 -0
  31. package/dist/api/organizations.d.ts +59 -0
  32. package/dist/api/organizations.d.ts.map +1 -0
  33. package/dist/api/organizations.js +125 -0
  34. package/dist/api/organizations.js.map +1 -0
  35. package/dist/api/segments.d.ts +64 -0
  36. package/dist/api/segments.d.ts.map +1 -0
  37. package/dist/api/segments.js +101 -0
  38. package/dist/api/segments.js.map +1 -0
  39. package/dist/api/settings.d.ts +98 -0
  40. package/dist/api/settings.d.ts.map +1 -0
  41. package/dist/api/settings.js +132 -0
  42. package/dist/api/settings.js.map +1 -0
  43. package/dist/api/users.d.ts +67 -0
  44. package/dist/api/users.d.ts.map +1 -0
  45. package/dist/api/users.js +135 -0
  46. package/dist/api/users.js.map +1 -0
  47. package/dist/api/utility.d.ts +9 -0
  48. package/dist/api/utility.d.ts.map +1 -0
  49. package/dist/api/utility.js +19 -0
  50. package/dist/api/utility.js.map +1 -0
  51. package/dist/api/webhooks.d.ts +106 -0
  52. package/dist/api/webhooks.d.ts.map +1 -0
  53. package/dist/api/webhooks.js +209 -0
  54. package/dist/api/webhooks.js.map +1 -0
  55. package/dist/api/workspaces.d.ts +57 -0
  56. package/dist/api/workspaces.d.ts.map +1 -0
  57. package/dist/api/workspaces.js +122 -0
  58. package/dist/api/workspaces.js.map +1 -0
  59. package/dist/client.d.ts +148 -0
  60. package/dist/client.d.ts.map +1 -0
  61. package/dist/client.js +299 -0
  62. package/dist/client.js.map +1 -0
  63. package/dist/error.d.ts +63 -0
  64. package/dist/error.d.ts.map +1 -0
  65. package/dist/error.js +117 -0
  66. package/dist/error.js.map +1 -0
  67. package/dist/index.d.ts +98 -0
  68. package/dist/index.d.ts.map +1 -0
  69. package/dist/index.js +116 -0
  70. package/dist/index.js.map +1 -0
  71. package/dist/jwt.d.ts +1 -0
  72. package/dist/jwt.d.ts.map +1 -0
  73. package/dist/jwt.js +2 -0
  74. package/dist/jwt.js.map +1 -0
  75. package/dist/models/ai.d.ts +218 -0
  76. package/dist/models/ai.d.ts.map +1 -0
  77. package/dist/models/ai.js +3 -0
  78. package/dist/models/ai.js.map +1 -0
  79. package/dist/models/analytics.d.ts +33 -0
  80. package/dist/models/analytics.d.ts.map +1 -0
  81. package/dist/models/analytics.js +3 -0
  82. package/dist/models/analytics.js.map +1 -0
  83. package/dist/models/api-key.d.ts +161 -0
  84. package/dist/models/api-key.d.ts.map +1 -0
  85. package/dist/models/api-key.js +3 -0
  86. package/dist/models/api-key.js.map +1 -0
  87. package/dist/models/b2b-settings.d.ts +54 -0
  88. package/dist/models/b2b-settings.d.ts.map +1 -0
  89. package/dist/models/b2b-settings.js +3 -0
  90. package/dist/models/b2b-settings.js.map +1 -0
  91. package/dist/models/deployment-restrictions.d.ts +60 -0
  92. package/dist/models/deployment-restrictions.d.ts.map +1 -0
  93. package/dist/models/deployment-restrictions.js +3 -0
  94. package/dist/models/deployment-restrictions.js.map +1 -0
  95. package/dist/models/index.d.ts +51 -0
  96. package/dist/models/index.d.ts.map +1 -0
  97. package/dist/models/index.js +32 -0
  98. package/dist/models/index.js.map +1 -0
  99. package/dist/models/jwt-template.d.ts +49 -0
  100. package/dist/models/jwt-template.d.ts.map +1 -0
  101. package/dist/models/jwt-template.js +3 -0
  102. package/dist/models/jwt-template.js.map +1 -0
  103. package/dist/models/notification.d.ts +58 -0
  104. package/dist/models/notification.d.ts.map +1 -0
  105. package/dist/models/notification.js +3 -0
  106. package/dist/models/notification.js.map +1 -0
  107. package/dist/models/organization.d.ts +93 -0
  108. package/dist/models/organization.d.ts.map +1 -0
  109. package/dist/models/organization.js +3 -0
  110. package/dist/models/organization.js.map +1 -0
  111. package/dist/models/segment.d.ts +44 -0
  112. package/dist/models/segment.d.ts.map +1 -0
  113. package/dist/models/segment.js +3 -0
  114. package/dist/models/segment.js.map +1 -0
  115. package/dist/models/user.d.ts +177 -0
  116. package/dist/models/user.d.ts.map +1 -0
  117. package/dist/models/user.js +3 -0
  118. package/dist/models/user.js.map +1 -0
  119. package/dist/models/webhook.d.ts +194 -0
  120. package/dist/models/webhook.d.ts.map +1 -0
  121. package/dist/models/webhook.js +3 -0
  122. package/dist/models/webhook.js.map +1 -0
  123. package/dist/models/workspace.d.ts +93 -0
  124. package/dist/models/workspace.d.ts.map +1 -0
  125. package/dist/models/workspace.js +3 -0
  126. package/dist/models/workspace.js.map +1 -0
  127. package/dist/server-auth.d.ts +84 -0
  128. package/dist/server-auth.d.ts.map +1 -0
  129. package/dist/server-auth.js +405 -0
  130. package/dist/server-auth.js.map +1 -0
  131. package/package.json +45 -0
@@ -0,0 +1,43 @@
1
+ import { type WachtClient, type ListOptions } from "../client";
2
+ import type { ApiAuthApp, CreateApiAuthAppRequest, UpdateApiAuthAppRequest, ApiKey, ApiKeyWithSecret, CreateApiKeyRequest, RevokeApiKeyRequest, RotateApiKeyRequest } from "../models";
3
+ /**
4
+ * List API auth apps
5
+ */
6
+ export declare function listApiAuthApps(options?: ListOptions & {
7
+ include_inactive?: boolean;
8
+ }, client?: WachtClient): Promise<ApiAuthApp[]>;
9
+ /**
10
+ * Get an API auth app by name
11
+ */
12
+ export declare function getApiAuthApp(appName: string, client?: WachtClient): Promise<ApiAuthApp>;
13
+ /**
14
+ * Create an API auth app
15
+ */
16
+ export declare function createApiAuthApp(request: CreateApiAuthAppRequest, client?: WachtClient): Promise<ApiAuthApp>;
17
+ /**
18
+ * Update an API auth app
19
+ */
20
+ export declare function updateApiAuthApp(appName: string, request: UpdateApiAuthAppRequest, client?: WachtClient): Promise<ApiAuthApp>;
21
+ /**
22
+ * Delete an API auth app
23
+ */
24
+ export declare function deleteApiAuthApp(appName: string, client?: WachtClient): Promise<void>;
25
+ /**
26
+ * List API keys for an app
27
+ */
28
+ export declare function listApiKeys(appName: string, options?: ListOptions & {
29
+ include_inactive?: boolean;
30
+ }, client?: WachtClient): Promise<ApiKey[]>;
31
+ /**
32
+ * Create an API key
33
+ */
34
+ export declare function createApiKey(appName: string, request: CreateApiKeyRequest, client?: WachtClient): Promise<ApiKeyWithSecret>;
35
+ /**
36
+ * Revoke an API key
37
+ */
38
+ export declare function revokeApiKey(request: RevokeApiKeyRequest, client?: WachtClient): Promise<void>;
39
+ /**
40
+ * Rotate an API key
41
+ */
42
+ export declare function rotateApiKey(request: RotateApiKeyRequest, client?: WachtClient): Promise<ApiKeyWithSecret>;
43
+ //# sourceMappingURL=api-keys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-keys.d.ts","sourceRoot":"","sources":["../../src/api/api-keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,WAAW,EAEhB,KAAK,WAAW,EACjB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EACV,UAAU,EACV,uBAAuB,EACvB,uBAAuB,EACvB,MAAM,EACN,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,WAAW,CAAC;AAEnB;;GAEG;AACH,wBAAsB,eAAe,CACnC,OAAO,CAAC,EAAE,WAAW,GAAG;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE,EACtD,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,EAAE,CAAC,CASvB;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAGrB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,uBAAuB,EAChC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAGrB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,uBAAuB,EAChC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAGrB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAGf;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,WAAW,GAAG;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE,EACtD,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,EAAE,CAAC,CASnB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,mBAAmB,EAC5B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,gBAAgB,CAAC,CAM3B;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,mBAAmB,EAC5B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAGf;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,mBAAmB,EAC5B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,gBAAgB,CAAC,CAG3B"}
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.listApiAuthApps = listApiAuthApps;
4
+ exports.getApiAuthApp = getApiAuthApp;
5
+ exports.createApiAuthApp = createApiAuthApp;
6
+ exports.updateApiAuthApp = updateApiAuthApp;
7
+ exports.deleteApiAuthApp = deleteApiAuthApp;
8
+ exports.listApiKeys = listApiKeys;
9
+ exports.createApiKey = createApiKey;
10
+ exports.revokeApiKey = revokeApiKey;
11
+ exports.rotateApiKey = rotateApiKey;
12
+ const client_1 = require("../client");
13
+ /**
14
+ * List API auth apps
15
+ */
16
+ async function listApiAuthApps(options, client) {
17
+ const sdkClient = client ?? (0, client_1.getClient)();
18
+ const params = new URLSearchParams();
19
+ if (options?.include_inactive !== undefined)
20
+ params.append("include_inactive", String(options.include_inactive));
21
+ const queryString = params.toString();
22
+ return sdkClient.get(`/api-auth/apps${queryString ? `?${queryString}` : ""}`);
23
+ }
24
+ /**
25
+ * Get an API auth app by name
26
+ */
27
+ async function getApiAuthApp(appName, client) {
28
+ const sdkClient = client ?? (0, client_1.getClient)();
29
+ return sdkClient.get(`/api-auth/apps/${appName}`);
30
+ }
31
+ /**
32
+ * Create an API auth app
33
+ */
34
+ async function createApiAuthApp(request, client) {
35
+ const sdkClient = client ?? (0, client_1.getClient)();
36
+ return sdkClient.post("/api-auth/apps", request);
37
+ }
38
+ /**
39
+ * Update an API auth app
40
+ */
41
+ async function updateApiAuthApp(appName, request, client) {
42
+ const sdkClient = client ?? (0, client_1.getClient)();
43
+ return sdkClient.patch(`/api-auth/apps/${appName}`, request);
44
+ }
45
+ /**
46
+ * Delete an API auth app
47
+ */
48
+ async function deleteApiAuthApp(appName, client) {
49
+ const sdkClient = client ?? (0, client_1.getClient)();
50
+ return sdkClient.delete(`/api-auth/apps/${appName}`);
51
+ }
52
+ /**
53
+ * List API keys for an app
54
+ */
55
+ async function listApiKeys(appName, options, client) {
56
+ const sdkClient = client ?? (0, client_1.getClient)();
57
+ const params = new URLSearchParams();
58
+ if (options?.include_inactive !== undefined)
59
+ params.append("include_inactive", String(options.include_inactive));
60
+ const queryString = params.toString();
61
+ return sdkClient.get(`/api-auth/apps/${appName}/keys${queryString ? `?${queryString}` : ""}`);
62
+ }
63
+ /**
64
+ * Create an API key
65
+ */
66
+ async function createApiKey(appName, request, client) {
67
+ const sdkClient = client ?? (0, client_1.getClient)();
68
+ return sdkClient.post(`/api-auth/apps/${appName}/keys`, request);
69
+ }
70
+ /**
71
+ * Revoke an API key
72
+ */
73
+ async function revokeApiKey(request, client) {
74
+ const sdkClient = client ?? (0, client_1.getClient)();
75
+ return sdkClient.post("/api-auth/keys/revoke", request);
76
+ }
77
+ /**
78
+ * Rotate an API key
79
+ */
80
+ async function rotateApiKey(request, client) {
81
+ const sdkClient = client ?? (0, client_1.getClient)();
82
+ return sdkClient.post("/api-auth/keys/rotate", request);
83
+ }
84
+ //# sourceMappingURL=api-keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-keys.js","sourceRoot":"","sources":["../../src/api/api-keys.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ import type { WachtClient } from "../client";
2
+ import type { AuthzMetadata, AuthzCheckRequest, AuthzCheckResponse, AuthzPrincipalType, ResolvedAuthzIdentity } from "../models/api-key";
3
+ export interface GatewayCheckAuthzOptions {
4
+ gatewayUrl?: string;
5
+ timeout?: number;
6
+ fetch?: typeof fetch;
7
+ }
8
+ export interface GatewayPrincipalAuthzRequest {
9
+ principalType: AuthzPrincipalType;
10
+ principalValue: string;
11
+ resource: string;
12
+ method: string;
13
+ clientIp?: string;
14
+ userAgent?: string;
15
+ requiredPermissions?: string[];
16
+ }
17
+ export interface ResolvedGatewayPrincipalContext {
18
+ tokenType: "api_key" | "oauth_token";
19
+ identity: ResolvedAuthzIdentity;
20
+ metadata: AuthzMetadata | null;
21
+ ownerUserId: string | null;
22
+ organizationId: string | null;
23
+ workspaceId: string | null;
24
+ permissions: string[];
25
+ }
26
+ /**
27
+ * Check authz against the gateway with principal-based contract.
28
+ */
29
+ export declare function checkAuthz(payload: AuthzCheckRequest, options?: GatewayCheckAuthzOptions, _client?: WachtClient): Promise<AuthzCheckResponse>;
30
+ /**
31
+ * Check authz for a specific gateway principal type (API key or OAuth access token).
32
+ */
33
+ export declare function checkPrincipalAuthz(payload: GatewayPrincipalAuthzRequest, options?: GatewayCheckAuthzOptions, client?: WachtClient): Promise<AuthzCheckResponse>;
34
+ /**
35
+ * Convenience wrapper for API key gateway authz checks.
36
+ */
37
+ export declare function verifyApiKeyRequest(apiKey: string, method: string, resource: string, options?: GatewayCheckAuthzOptions & {
38
+ clientIp?: string;
39
+ userAgent?: string;
40
+ requiredPermissions?: string[];
41
+ }, client?: WachtClient): Promise<AuthzCheckResponse>;
42
+ /**
43
+ * Convenience wrapper for OAuth access token gateway authz checks.
44
+ */
45
+ export declare function verifyOauthAccessTokenRequest(accessToken: string, method: string, resource: string, options?: GatewayCheckAuthzOptions & {
46
+ clientIp?: string;
47
+ userAgent?: string;
48
+ requiredPermissions?: string[];
49
+ }, client?: WachtClient): Promise<AuthzCheckResponse>;
50
+ /**
51
+ * Backward-compatible alias for API key request verification.
52
+ */
53
+ export declare function verifyRequest(apiKey: string, method: string, resource: string, options?: GatewayCheckAuthzOptions & {
54
+ clientIp?: string;
55
+ userAgent?: string;
56
+ requiredPermissions?: string[];
57
+ }, client?: WachtClient): Promise<AuthzCheckResponse>;
58
+ /**
59
+ * Resolve gateway identity into a discriminated principal identity shape.
60
+ */
61
+ export declare function resolveAuthzIdentity(response: AuthzCheckResponse): ResolvedAuthzIdentity | undefined;
62
+ /**
63
+ * Resolve gateway authz response into a normalized principal context used by framework adapters.
64
+ */
65
+ export declare function resolveGatewayPrincipalContext(response: AuthzCheckResponse): ResolvedGatewayPrincipalContext | undefined;
66
+ //# sourceMappingURL=gateway.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../src/api/gateway.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,177 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkAuthz = checkAuthz;
4
+ exports.checkPrincipalAuthz = checkPrincipalAuthz;
5
+ exports.verifyApiKeyRequest = verifyApiKeyRequest;
6
+ exports.verifyOauthAccessTokenRequest = verifyOauthAccessTokenRequest;
7
+ exports.verifyRequest = verifyRequest;
8
+ exports.resolveAuthzIdentity = resolveAuthzIdentity;
9
+ exports.resolveGatewayPrincipalContext = resolveGatewayPrincipalContext;
10
+ const error_1 = require("../error");
11
+ const DEFAULT_GATEWAY_URL = "https://gateway.wacht.dev";
12
+ /**
13
+ * Check authz against the gateway with principal-based contract.
14
+ */
15
+ async function checkAuthz(payload, options, _client) {
16
+ const base = (options?.gatewayUrl || DEFAULT_GATEWAY_URL).replace(/\/+$/, "");
17
+ const url = `${base}/v1/authz/check`;
18
+ const fetchImpl = options?.fetch ?? globalThis.fetch;
19
+ if (typeof fetchImpl !== "function") {
20
+ throw new error_1.WachtError("No fetch implementation found. Provide one via options.fetch in this runtime.");
21
+ }
22
+ const timeout = options?.timeout || 30000;
23
+ const controller = new AbortController();
24
+ const timeoutId = setTimeout(() => controller.abort(), timeout);
25
+ try {
26
+ const response = await fetchImpl(url, {
27
+ method: "POST",
28
+ headers: {
29
+ "Content-Type": "application/json",
30
+ },
31
+ body: JSON.stringify(payload),
32
+ signal: controller.signal,
33
+ });
34
+ if (!response.ok) {
35
+ let data = null;
36
+ try {
37
+ data = await response.json();
38
+ }
39
+ catch {
40
+ try {
41
+ data = { message: await response.text() };
42
+ }
43
+ catch {
44
+ data = null;
45
+ }
46
+ }
47
+ throw (0, error_1.parseApiError)(response.status, data);
48
+ }
49
+ return (await response.json());
50
+ }
51
+ catch (error) {
52
+ if (error instanceof error_1.WachtError) {
53
+ throw error;
54
+ }
55
+ if (error instanceof Error && error.name === "AbortError") {
56
+ throw new error_1.WachtError("Gateway request timed out");
57
+ }
58
+ if (error instanceof Error) {
59
+ throw new error_1.WachtError(error.message);
60
+ }
61
+ throw new error_1.WachtError("Unexpected gateway error");
62
+ }
63
+ finally {
64
+ clearTimeout(timeoutId);
65
+ }
66
+ }
67
+ /**
68
+ * Check authz for a specific gateway principal type (API key or OAuth access token).
69
+ */
70
+ async function checkPrincipalAuthz(payload, options, client) {
71
+ return checkAuthz({
72
+ principal: {
73
+ type: payload.principalType,
74
+ value: payload.principalValue,
75
+ },
76
+ resource: payload.resource,
77
+ method: payload.method,
78
+ client_ip: payload.clientIp,
79
+ user_agent: payload.userAgent,
80
+ required_permissions: payload.requiredPermissions,
81
+ }, options, client);
82
+ }
83
+ /**
84
+ * Convenience wrapper for API key gateway authz checks.
85
+ */
86
+ async function verifyApiKeyRequest(apiKey, method, resource, options, client) {
87
+ return checkPrincipalAuthz({
88
+ principalType: "api_key",
89
+ principalValue: apiKey,
90
+ method,
91
+ resource,
92
+ clientIp: options?.clientIp,
93
+ userAgent: options?.userAgent,
94
+ requiredPermissions: options?.requiredPermissions,
95
+ }, options, client);
96
+ }
97
+ /**
98
+ * Convenience wrapper for OAuth access token gateway authz checks.
99
+ */
100
+ async function verifyOauthAccessTokenRequest(accessToken, method, resource, options, client) {
101
+ return checkPrincipalAuthz({
102
+ principalType: "oauth_access_token",
103
+ principalValue: accessToken,
104
+ method,
105
+ resource,
106
+ clientIp: options?.clientIp,
107
+ userAgent: options?.userAgent,
108
+ requiredPermissions: options?.requiredPermissions,
109
+ }, options, client);
110
+ }
111
+ /**
112
+ * Backward-compatible alias for API key request verification.
113
+ */
114
+ async function verifyRequest(apiKey, method, resource, options, client) {
115
+ return verifyApiKeyRequest(apiKey, method, resource, options, client);
116
+ }
117
+ /**
118
+ * Resolve gateway identity into a discriminated principal identity shape.
119
+ */
120
+ function resolveAuthzIdentity(response) {
121
+ if (!response.identity)
122
+ return undefined;
123
+ const principalType = response.metadata?.principal_type === "oauth_access_token"
124
+ ? "oauth_access_token"
125
+ : "api_key";
126
+ if (principalType === "oauth_access_token") {
127
+ return {
128
+ ...response.identity,
129
+ principal_type: "oauth_access_token",
130
+ };
131
+ }
132
+ return {
133
+ ...response.identity,
134
+ principal_type: "api_key",
135
+ };
136
+ }
137
+ /**
138
+ * Resolve gateway authz response into a normalized principal context used by framework adapters.
139
+ */
140
+ function resolveGatewayPrincipalContext(response) {
141
+ const identity = resolveAuthzIdentity(response);
142
+ if (!identity)
143
+ return undefined;
144
+ const tokenType = identity.principal_type === "api_key" ? "api_key" : "oauth_token";
145
+ const permissions = response.permissions || [];
146
+ const organizationPermissions = identity.organization_id
147
+ ? permissions
148
+ : [];
149
+ const workspacePermissions = identity.workspace_id ? permissions : [];
150
+ const rawMetadata = response.metadata || {};
151
+ const scopes = Array.isArray(rawMetadata.scopes)
152
+ ? rawMetadata.scopes.filter((value) => typeof value === "string")
153
+ : [];
154
+ const resource = typeof rawMetadata.resource === "string" ? rawMetadata.resource : null;
155
+ const expiresAt = typeof rawMetadata.expires_at === "string"
156
+ ? rawMetadata.expires_at
157
+ : undefined;
158
+ return {
159
+ tokenType,
160
+ identity,
161
+ metadata: {
162
+ ...rawMetadata,
163
+ principal_type: tokenType,
164
+ permissions_checked: permissions,
165
+ organization_permissions: organizationPermissions,
166
+ workspace_permissions: workspacePermissions,
167
+ scopes,
168
+ resource,
169
+ expires_at: expiresAt,
170
+ },
171
+ ownerUserId: identity.owner_user_id || null,
172
+ organizationId: identity.organization_id || null,
173
+ workspaceId: identity.workspace_id || null,
174
+ permissions,
175
+ };
176
+ }
177
+ //# sourceMappingURL=gateway.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/api/gateway.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { type WachtClient } from "../client";
2
+ /**
3
+ * Health check
4
+ */
5
+ export declare function healthCheck(client?: WachtClient): Promise<{
6
+ status: string;
7
+ }>;
8
+ //# sourceMappingURL=health.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/api/health.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAExD;;GAEG;AACH,wBAAsB,WAAW,CAC/B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAG7B"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.healthCheck = healthCheck;
4
+ const client_1 = require("../client");
5
+ /**
6
+ * Health check
7
+ */
8
+ async function healthCheck(client) {
9
+ const sdkClient = client ?? (0, client_1.getClient)();
10
+ return sdkClient.get("/health");
11
+ }
12
+ //# sourceMappingURL=health.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/api/health.ts"],"names":[],"mappings":";;AAKA,kCAKC;AAVD,sCAAwD;AAExD;;GAEG;AACI,KAAK,UAAU,WAAW,CAC/B,MAAoB;IAEpB,MAAM,SAAS,GAAG,MAAM,IAAI,IAAA,kBAAS,GAAE,CAAC;IACxC,OAAO,SAAS,CAAC,GAAG,CAAqB,SAAS,CAAC,CAAC;AACtD,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { type WachtClient, type PaginatedResponse, type ListOptions } from "../client";
2
+ import type { DeploymentInvitation, DeploymentWaitlistUser, InviteUserRequest, CreateSessionTicketRequest, SessionTicketResponse } from "../models/user";
3
+ /**
4
+ * List invitations
5
+ */
6
+ export declare function listInvitations(options?: ListOptions & {
7
+ sort_key?: string;
8
+ sort_order?: string;
9
+ search?: string;
10
+ }, client?: WachtClient): Promise<PaginatedResponse<DeploymentInvitation>>;
11
+ /**
12
+ * Invite user
13
+ */
14
+ export declare function inviteUser(request: InviteUserRequest, client?: WachtClient): Promise<DeploymentInvitation>;
15
+ /**
16
+ * Delete invitation
17
+ */
18
+ export declare function deleteInvitation(invitationId: string, client?: WachtClient): Promise<void>;
19
+ /**
20
+ * List waitlist users
21
+ */
22
+ export declare function listWaitlist(options?: ListOptions & {
23
+ sort_key?: string;
24
+ sort_order?: string;
25
+ search?: string;
26
+ }, client?: WachtClient): Promise<PaginatedResponse<DeploymentWaitlistUser>>;
27
+ /**
28
+ * Approve waitlist user
29
+ */
30
+ export declare function approveWaitlistUser(waitlistUserId: string, client?: WachtClient): Promise<DeploymentInvitation>;
31
+ /**
32
+ * Create session ticket
33
+ */
34
+ export declare function createSessionTicket(request: CreateSessionTicketRequest, client?: WachtClient): Promise<SessionTicketResponse>;
35
+ //# sourceMappingURL=invitations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invitations.d.ts","sourceRoot":"","sources":["../../src/api/invitations.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,WAAW,EACjB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EACV,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,0BAA0B,EAC1B,qBAAqB,EACtB,MAAM,gBAAgB,CAAC;AAExB;;GAEG;AACH,wBAAsB,eAAe,CACnC,OAAO,CAAC,EAAE,WAAW,GAAG;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,EACD,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAC,CAalD;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,iBAAiB,EAC1B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,oBAAoB,CAAC,CAG/B;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAGf;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,OAAO,CAAC,EAAE,WAAW,GAAG;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,EACD,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,CAAC,CAapD;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,cAAc,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,oBAAoB,CAAC,CAK/B;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,0BAA0B,EACnC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,qBAAqB,CAAC,CAGhC"}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.listInvitations = listInvitations;
4
+ exports.inviteUser = inviteUser;
5
+ exports.deleteInvitation = deleteInvitation;
6
+ exports.listWaitlist = listWaitlist;
7
+ exports.approveWaitlistUser = approveWaitlistUser;
8
+ exports.createSessionTicket = createSessionTicket;
9
+ const client_1 = require("../client");
10
+ /**
11
+ * List invitations
12
+ */
13
+ async function listInvitations(options, client) {
14
+ const sdkClient = client ?? (0, client_1.getClient)();
15
+ const params = new URLSearchParams();
16
+ if (options?.limit)
17
+ params.append("limit", String(options.limit));
18
+ if (options?.offset !== undefined)
19
+ params.append("offset", String(options.offset));
20
+ if (options?.sort_key)
21
+ params.append("sort_key", options.sort_key);
22
+ if (options?.sort_order)
23
+ params.append("sort_order", options.sort_order);
24
+ if (options?.search)
25
+ params.append("search", options.search);
26
+ const queryString = params.toString();
27
+ return sdkClient.get(`/invitations${queryString ? `?${queryString}` : ""}`);
28
+ }
29
+ /**
30
+ * Invite user
31
+ */
32
+ async function inviteUser(request, client) {
33
+ const sdkClient = client ?? (0, client_1.getClient)();
34
+ return sdkClient.post("/invitations", request);
35
+ }
36
+ /**
37
+ * Delete invitation
38
+ */
39
+ async function deleteInvitation(invitationId, client) {
40
+ const sdkClient = client ?? (0, client_1.getClient)();
41
+ return sdkClient.delete(`/invitations/${invitationId}`);
42
+ }
43
+ /**
44
+ * List waitlist users
45
+ */
46
+ async function listWaitlist(options, client) {
47
+ const sdkClient = client ?? (0, client_1.getClient)();
48
+ const params = new URLSearchParams();
49
+ if (options?.limit)
50
+ params.append("limit", String(options.limit));
51
+ if (options?.offset !== undefined)
52
+ params.append("offset", String(options.offset));
53
+ if (options?.sort_key)
54
+ params.append("sort_key", options.sort_key);
55
+ if (options?.sort_order)
56
+ params.append("sort_order", options.sort_order);
57
+ if (options?.search)
58
+ params.append("search", options.search);
59
+ const queryString = params.toString();
60
+ return sdkClient.get(`/waitlist${queryString ? `?${queryString}` : ""}`);
61
+ }
62
+ /**
63
+ * Approve waitlist user
64
+ */
65
+ async function approveWaitlistUser(waitlistUserId, client) {
66
+ const sdkClient = client ?? (0, client_1.getClient)();
67
+ return sdkClient.post(`/waitlist/${waitlistUserId}/approve`);
68
+ }
69
+ /**
70
+ * Create session ticket
71
+ */
72
+ async function createSessionTicket(request, client) {
73
+ const sdkClient = client ?? (0, client_1.getClient)();
74
+ return sdkClient.post("/session/tickets", request);
75
+ }
76
+ //# sourceMappingURL=invitations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invitations.js","sourceRoot":"","sources":["../../src/api/invitations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { type WachtClient, type PaginatedResponse, type ListOptions } from "../client";
2
+ import type { Notification, CreateNotificationRequest, NotificationStats } from "../models";
3
+ /**
4
+ * List notifications
5
+ */
6
+ export declare function listNotifications(options?: ListOptions & {
7
+ user_id?: string;
8
+ organization_id?: string;
9
+ workspace_id?: string;
10
+ }, client?: WachtClient): Promise<PaginatedResponse<Notification>>;
11
+ /**
12
+ * Get a notification by ID
13
+ */
14
+ export declare function getNotification(notificationId: string, client?: WachtClient): Promise<Notification>;
15
+ /**
16
+ * Create a notification
17
+ */
18
+ export declare function createNotification(request: CreateNotificationRequest, client?: WachtClient): Promise<Notification>;
19
+ /**
20
+ * Delete a notification
21
+ */
22
+ export declare function deleteNotification(notificationId: string, client?: WachtClient): Promise<void>;
23
+ /**
24
+ * Get notification stats
25
+ */
26
+ export declare function getNotificationStats(client?: WachtClient): Promise<NotificationStats>;
27
+ //# sourceMappingURL=notifications.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../../src/api/notifications.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,WAAW,EACjB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EACV,YAAY,EACZ,yBAAyB,EACzB,iBAAiB,EAClB,MAAM,WAAW,CAAC;AAEnB;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,CAAC,EAAE,WAAW,GAAG;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,EACD,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAe1C;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,cAAc,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CAGvB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,yBAAyB,EAClC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CAGvB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,cAAc,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAGf;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,iBAAiB,CAAC,CAG5B"}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.listNotifications = listNotifications;
4
+ exports.getNotification = getNotification;
5
+ exports.createNotification = createNotification;
6
+ exports.deleteNotification = deleteNotification;
7
+ exports.getNotificationStats = getNotificationStats;
8
+ const client_1 = require("../client");
9
+ /**
10
+ * List notifications
11
+ */
12
+ async function listNotifications(options, client) {
13
+ const sdkClient = client ?? (0, client_1.getClient)();
14
+ const params = new URLSearchParams();
15
+ if (options?.limit)
16
+ params.append("limit", String(options.limit));
17
+ if (options?.offset !== undefined)
18
+ params.append("offset", String(options.offset));
19
+ if (options?.user_id)
20
+ params.append("user_id", options.user_id);
21
+ if (options?.organization_id)
22
+ params.append("organization_id", options.organization_id);
23
+ if (options?.workspace_id)
24
+ params.append("workspace_id", options.workspace_id);
25
+ const queryString = params.toString();
26
+ return sdkClient.get(`/notifications${queryString ? `?${queryString}` : ""}`);
27
+ }
28
+ /**
29
+ * Get a notification by ID
30
+ */
31
+ async function getNotification(notificationId, client) {
32
+ const sdkClient = client ?? (0, client_1.getClient)();
33
+ return sdkClient.get(`/notifications/${notificationId}`);
34
+ }
35
+ /**
36
+ * Create a notification
37
+ */
38
+ async function createNotification(request, client) {
39
+ const sdkClient = client ?? (0, client_1.getClient)();
40
+ return sdkClient.post("/notifications", request);
41
+ }
42
+ /**
43
+ * Delete a notification
44
+ */
45
+ async function deleteNotification(notificationId, client) {
46
+ const sdkClient = client ?? (0, client_1.getClient)();
47
+ return sdkClient.delete(`/notifications/${notificationId}`);
48
+ }
49
+ /**
50
+ * Get notification stats
51
+ */
52
+ async function getNotificationStats(client) {
53
+ const sdkClient = client ?? (0, client_1.getClient)();
54
+ return sdkClient.get("/notifications/stats");
55
+ }
56
+ //# sourceMappingURL=notifications.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../src/api/notifications.ts"],"names":[],"mappings":";;AAeA,8CAsBC;AAKD,0CAMC;AAKD,gDAMC;AAKD,gDAMC;AAKD,oDAKC;AAhFD,sCAKmB;AAOnB;;GAEG;AACI,KAAK,UAAU,iBAAiB,CACrC,OAIC,EACD,MAAoB;IAEpB,MAAM,SAAS,GAAG,MAAM,IAAI,IAAA,kBAAS,GAAE,CAAC;IACxC,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,IAAI,OAAO,EAAE,KAAK;QAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAClE,IAAI,OAAO,EAAE,MAAM,KAAK,SAAS;QAC/B,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAClD,IAAI,OAAO,EAAE,OAAO;QAAE,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAChE,IAAI,OAAO,EAAE,eAAe;QAC1B,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAC5D,IAAI,OAAO,EAAE,YAAY;QACvB,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IACtC,OAAO,SAAS,CAAC,GAAG,CAClB,iBAAiB,WAAW,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACxD,CAAC;AACJ,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,eAAe,CACnC,cAAsB,EACtB,MAAoB;IAEpB,MAAM,SAAS,GAAG,MAAM,IAAI,IAAA,kBAAS,GAAE,CAAC;IACxC,OAAO,SAAS,CAAC,GAAG,CAAe,kBAAkB,cAAc,EAAE,CAAC,CAAC;AACzE,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,kBAAkB,CACtC,OAAkC,EAClC,MAAoB;IAEpB,MAAM,SAAS,GAAG,MAAM,IAAI,IAAA,kBAAS,GAAE,CAAC;IACxC,OAAO,SAAS,CAAC,IAAI,CAAe,gBAAgB,EAAE,OAAO,CAAC,CAAC;AACjE,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,kBAAkB,CACtC,cAAsB,EACtB,MAAoB;IAEpB,MAAM,SAAS,GAAG,MAAM,IAAI,IAAA,kBAAS,GAAE,CAAC;IACxC,OAAO,SAAS,CAAC,MAAM,CAAO,kBAAkB,cAAc,EAAE,CAAC,CAAC;AACpE,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,oBAAoB,CACxC,MAAoB;IAEpB,MAAM,SAAS,GAAG,MAAM,IAAI,IAAA,kBAAS,GAAE,CAAC;IACxC,OAAO,SAAS,CAAC,GAAG,CAAoB,sBAAsB,CAAC,CAAC;AAClE,CAAC"}