@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,44 @@
1
+ /**
2
+ * Segment model
3
+ * Generated from OpenAPI spec - matches backend API exactly
4
+ */
5
+ export interface Segment {
6
+ id: string;
7
+ created_at?: string;
8
+ updated_at?: string;
9
+ deleted_at?: string;
10
+ deployment_id: string;
11
+ name: string;
12
+ type: 'organization' | 'workspace' | 'user';
13
+ }
14
+ /**
15
+ * Request to create a segment
16
+ */
17
+ export interface CreateSegmentRequest {
18
+ name: string;
19
+ type: 'organization' | 'workspace' | 'user';
20
+ }
21
+ /**
22
+ * Request to update a segment
23
+ */
24
+ export interface UpdateSegmentRequest {
25
+ name?: string;
26
+ }
27
+ /**
28
+ * Segment filter
29
+ * Used for segment creation and evaluation
30
+ */
31
+ export interface SegmentFilter {
32
+ field: string;
33
+ operator: 'equals' | 'not_equals' | 'contains' | 'not_contains' | 'greater_than' | 'less_than' | 'in' | 'not_in';
34
+ value: unknown;
35
+ }
36
+ /**
37
+ * Segment evaluation result
38
+ * Returned by segment evaluation endpoints
39
+ */
40
+ export interface SegmentEvaluationResult {
41
+ segment_id: string;
42
+ matched: boolean;
43
+ }
44
+ //# sourceMappingURL=segment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"segment.d.ts","sourceRoot":"","sources":["../../src/models/segment.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,cAAc,GAAG,WAAW,GAAG,MAAM,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,cAAc,GAAG,WAAW,GAAG,MAAM,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,QAAQ,GAAG,YAAY,GAAG,UAAU,GAAG,cAAc,GAAG,cAAc,GAAG,WAAW,GAAG,IAAI,GAAG,QAAQ,CAAC;IACjH,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=segment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"segment.js","sourceRoot":"","sources":["../../src/models/segment.ts"],"names":[],"mappings":""}
@@ -0,0 +1,177 @@
1
+ /**
2
+ * User model
3
+ * Generated from OpenAPI spec - matches backend API exactly
4
+ */
5
+ export interface User {
6
+ id: string;
7
+ created_at: string;
8
+ updated_at: string;
9
+ first_name: string;
10
+ last_name: string;
11
+ username?: string;
12
+ profile_picture_url: string;
13
+ primary_email_address?: string;
14
+ primary_phone_number?: string;
15
+ }
16
+ /**
17
+ * Request to create a user
18
+ */
19
+ export interface CreateUserRequest {
20
+ first_name: string;
21
+ last_name: string;
22
+ email_address?: string;
23
+ phone_number?: string;
24
+ username?: string;
25
+ password?: string;
26
+ /** Skip password validation check (defaults to false) */
27
+ skip_password_check?: boolean;
28
+ }
29
+ /**
30
+ * Request to update a user
31
+ */
32
+ export interface UpdateUserRequest {
33
+ first_name?: string;
34
+ last_name?: string;
35
+ username?: string;
36
+ public_metadata?: Record<string, unknown>;
37
+ private_metadata?: Record<string, unknown>;
38
+ disabled?: boolean;
39
+ }
40
+ /**
41
+ * Request to update password
42
+ */
43
+ export interface UpdatePasswordRequest {
44
+ new_password: string;
45
+ skip_password_check?: boolean;
46
+ }
47
+ /**
48
+ * Email address model
49
+ * Matches OpenAPI UserEmailAddress schema
50
+ */
51
+ export interface UserEmail {
52
+ id: string;
53
+ created_at: string;
54
+ updated_at: string;
55
+ deployment_id: string;
56
+ user_id: string;
57
+ email: string;
58
+ is_primary: boolean;
59
+ verified: boolean;
60
+ verified_at: string;
61
+ verification_strategy: VerificationStrategy;
62
+ }
63
+ /**
64
+ * Verification strategy enum
65
+ */
66
+ export type VerificationStrategy = 'otp' | 'oauth_google' | 'oauth_github' | 'oauth_microsoft' | 'oauth_facebook' | 'oauth_linkedin' | 'oauth_discord' | 'oauth_apple';
67
+ /**
68
+ * Request to add an email
69
+ */
70
+ export interface AddEmailRequest {
71
+ email: string;
72
+ verification_strategy?: VerificationStrategy;
73
+ }
74
+ /**
75
+ * Request to update an email
76
+ */
77
+ export interface UpdateEmailRequest {
78
+ email?: string;
79
+ is_primary?: boolean;
80
+ }
81
+ /**
82
+ * Phone number model
83
+ * Matches OpenAPI UserPhoneNumber schema
84
+ */
85
+ export interface UserPhone {
86
+ id: string;
87
+ created_at: string;
88
+ updated_at: string;
89
+ user_id: string;
90
+ phone_number: string;
91
+ country_code: string;
92
+ verified: boolean;
93
+ verified_at: string;
94
+ }
95
+ /**
96
+ * Request to add a phone number
97
+ */
98
+ export interface AddPhoneRequest {
99
+ phone_number: string;
100
+ country_code: string;
101
+ }
102
+ /**
103
+ * Request to update a phone number
104
+ */
105
+ export interface UpdatePhoneRequest {
106
+ phone_number?: string;
107
+ country_code?: string;
108
+ verified?: boolean;
109
+ is_primary?: boolean;
110
+ }
111
+ /**
112
+ * Deployment invitation model
113
+ */
114
+ export interface DeploymentInvitation {
115
+ id: string;
116
+ created_at: string;
117
+ updated_at: string;
118
+ deployment_id: string;
119
+ first_name: string;
120
+ last_name: string;
121
+ email_address: string;
122
+ token: string;
123
+ expiry: string;
124
+ }
125
+ /**
126
+ * Request to invite a user
127
+ */
128
+ export interface InviteUserRequest {
129
+ first_name: string;
130
+ last_name: string;
131
+ email_address: string;
132
+ }
133
+ /**
134
+ * Deployment waitlist user model
135
+ */
136
+ export interface DeploymentWaitlistUser {
137
+ id: string;
138
+ created_at: string;
139
+ updated_at: string;
140
+ deployment_id: string;
141
+ email_address: string;
142
+ first_name?: string;
143
+ last_name?: string;
144
+ }
145
+ /**
146
+ * User social connection model
147
+ */
148
+ export interface UserSocialConnection {
149
+ id: string;
150
+ created_at: string;
151
+ updated_at: string;
152
+ user_id: string;
153
+ user_email_address_id: string;
154
+ provider: string;
155
+ email_address: string;
156
+ }
157
+ /**
158
+ * Session ticket response
159
+ */
160
+ export interface SessionTicketResponse {
161
+ ticket: string;
162
+ expires_at: number;
163
+ }
164
+ /**
165
+ * Session ticket request
166
+ */
167
+ export interface CreateSessionTicketRequest {
168
+ ticket_type: 'impersonation' | 'agent_access' | 'webhook_app_access' | 'api_auth_access';
169
+ user_id?: string;
170
+ agent_ids?: string[];
171
+ agent_session_identifier?: 'static' | 'signin';
172
+ webhook_app_slug?: string;
173
+ api_auth_app_slug?: string;
174
+ context_group?: string;
175
+ expires_in?: number;
176
+ }
177
+ //# sourceMappingURL=user.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../src/models/user.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/models/user.ts"],"names":[],"mappings":""}
@@ -0,0 +1,194 @@
1
+ export interface RateLimitConfig {
2
+ duration_ms: number;
3
+ max_requests: number;
4
+ }
5
+ export interface EventSubscription {
6
+ event_name: string;
7
+ filter_rules?: Record<string, unknown> | null;
8
+ }
9
+ export interface WebhookApp {
10
+ deployment_id: string;
11
+ app_slug: string;
12
+ name: string;
13
+ description?: string | null;
14
+ signing_secret: string;
15
+ failure_notification_emails?: string[];
16
+ event_catalog_slug?: string | null;
17
+ is_active: boolean;
18
+ created_at: string;
19
+ updated_at: string;
20
+ }
21
+ export interface WebhookAppEvent {
22
+ deployment_id: string;
23
+ app_slug: string;
24
+ event_name: string;
25
+ description?: string | null;
26
+ schema?: Record<string, unknown> | null;
27
+ created_at: string;
28
+ }
29
+ export interface WebhookEndpoint {
30
+ id: string;
31
+ deployment_id: string;
32
+ app_slug: string;
33
+ url: string;
34
+ description?: string | null;
35
+ headers?: Record<string, string> | null;
36
+ is_active: boolean;
37
+ max_retries: number;
38
+ timeout_seconds: number;
39
+ failure_count: number;
40
+ last_failure_at?: string | null;
41
+ auto_disabled: boolean;
42
+ auto_disabled_at?: string | null;
43
+ rate_limit_config?: RateLimitConfig | null;
44
+ created_at: string;
45
+ updated_at: string;
46
+ subscriptions: EventSubscription[];
47
+ }
48
+ export interface WebhookDelivery {
49
+ delivery_id: string;
50
+ deployment_id: string;
51
+ app_slug: string;
52
+ endpoint_id: string;
53
+ event_name: string;
54
+ status: string;
55
+ http_status_code?: number | null;
56
+ response_time_ms?: number | null;
57
+ attempt_number: number;
58
+ max_attempts: number;
59
+ timestamp: string;
60
+ }
61
+ export interface WebhookDeliveryDetails {
62
+ delivery_id: string;
63
+ deployment_id: string;
64
+ app_slug: string;
65
+ endpoint_id: string;
66
+ event_name: string;
67
+ status: string;
68
+ http_status_code?: number | null;
69
+ response_time_ms?: number | null;
70
+ attempt_number: number;
71
+ max_attempts: number;
72
+ payload?: unknown | null;
73
+ response_body?: string | null;
74
+ response_headers?: Record<string, unknown> | null;
75
+ timestamp: string;
76
+ }
77
+ export interface CreateWebhookAppRequest {
78
+ name: string;
79
+ description?: string;
80
+ failure_notification_emails?: string[];
81
+ event_catalog_slug?: string;
82
+ }
83
+ export interface UpdateWebhookAppRequest {
84
+ name?: string;
85
+ description?: string;
86
+ is_active?: boolean;
87
+ failure_notification_emails?: string[];
88
+ event_catalog_slug?: string;
89
+ }
90
+ export interface CreateWebhookEndpointRequest {
91
+ url: string;
92
+ description?: string;
93
+ headers?: Record<string, string>;
94
+ subscriptions: EventSubscription[];
95
+ max_retries?: number;
96
+ timeout_seconds?: number;
97
+ rate_limit_config?: RateLimitConfig | null;
98
+ }
99
+ export interface UpdateWebhookEndpointRequest {
100
+ url?: string;
101
+ description?: string;
102
+ headers?: Record<string, string>;
103
+ is_active?: boolean;
104
+ subscriptions?: EventSubscription[];
105
+ max_retries?: number;
106
+ timeout_seconds?: number;
107
+ rate_limit_config?: RateLimitConfig | null;
108
+ }
109
+ export interface TriggerWebhookRequest {
110
+ event_name: string;
111
+ payload: Record<string, unknown>;
112
+ filter_context?: Record<string, unknown>;
113
+ }
114
+ export interface TriggerWebhookResponse {
115
+ delivery_ids: number[];
116
+ filtered_count: number;
117
+ delivered_count: number;
118
+ }
119
+ export interface ReplayWebhookDeliveryRequestByIds {
120
+ delivery_ids: string[];
121
+ idempotency_key?: string;
122
+ }
123
+ export interface ReplayWebhookDeliveryRequestByDateRange {
124
+ start_date: string;
125
+ end_date?: string;
126
+ status?: string;
127
+ event_name?: string;
128
+ endpoint_id?: string;
129
+ idempotency_key?: string;
130
+ }
131
+ export type ReplayWebhookDeliveryRequest = ReplayWebhookDeliveryRequestByIds | ReplayWebhookDeliveryRequestByDateRange;
132
+ export interface ReplayWebhookDeliveryResponse {
133
+ status: string;
134
+ message: string;
135
+ task_id?: string | null;
136
+ }
137
+ export interface ReactivateWebhookEndpointResponse {
138
+ success: boolean;
139
+ message: string;
140
+ }
141
+ export interface TestWebhookEndpointRequest {
142
+ event_name: string;
143
+ payload?: Record<string, unknown>;
144
+ }
145
+ export interface TestWebhookEndpointResponse {
146
+ success: boolean;
147
+ status_code: number;
148
+ response_time_ms: number;
149
+ response_body?: string | null;
150
+ error?: string | null;
151
+ }
152
+ export interface WebhookAnalyticsEventCount {
153
+ event_name: string;
154
+ count: number;
155
+ }
156
+ export interface WebhookAnalyticsEndpointPerformance {
157
+ endpoint_id: number;
158
+ endpoint_url: string;
159
+ total_attempts: number;
160
+ successful_attempts: number;
161
+ failed_attempts: number;
162
+ avg_response_time_ms?: number | null;
163
+ success_rate: number;
164
+ }
165
+ export interface WebhookAnalyticsFailureReason {
166
+ reason: string;
167
+ count: number;
168
+ }
169
+ export interface WebhookAnalytics {
170
+ total_events: number;
171
+ total_deliveries: number;
172
+ successful_deliveries: number;
173
+ failed_deliveries: number;
174
+ filtered_deliveries: number;
175
+ avg_response_time_ms?: number | null;
176
+ p50_response_time_ms?: number | null;
177
+ p95_response_time_ms?: number | null;
178
+ p99_response_time_ms?: number | null;
179
+ success_rate: number;
180
+ top_events: WebhookAnalyticsEventCount[];
181
+ endpoint_performance: WebhookAnalyticsEndpointPerformance[];
182
+ failure_reasons: WebhookAnalyticsFailureReason[];
183
+ }
184
+ export interface WebhookTimeseriesData {
185
+ timestamp: string;
186
+ total_events: number;
187
+ total_deliveries: number;
188
+ successful_deliveries: number;
189
+ failed_deliveries: number;
190
+ filtered_deliveries: number;
191
+ avg_response_time_ms?: number | null;
192
+ success_rate: number;
193
+ }
194
+ //# sourceMappingURL=webhook.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook.d.ts","sourceRoot":"","sources":["../../src/models/webhook.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=webhook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook.js","sourceRoot":"","sources":["../../src/models/webhook.ts"],"names":[],"mappings":""}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Workspace model
3
+ * Generated from OpenAPI spec - matches backend API exactly
4
+ */
5
+ export interface Workspace {
6
+ id: string;
7
+ created_at: string;
8
+ updated_at: string;
9
+ name: string;
10
+ description: string;
11
+ image_url: string;
12
+ member_count: number;
13
+ public_metadata: Record<string, unknown>;
14
+ private_metadata: Record<string, unknown>;
15
+ }
16
+ /**
17
+ * Request to create a workspace
18
+ */
19
+ export interface CreateWorkspaceRequest {
20
+ name: string;
21
+ description?: string;
22
+ image_url?: string;
23
+ public_metadata?: Record<string, unknown>;
24
+ private_metadata?: Record<string, unknown>;
25
+ }
26
+ /**
27
+ * Request to update a workspace
28
+ */
29
+ export interface UpdateWorkspaceRequest {
30
+ name?: string;
31
+ description?: string;
32
+ image_url?: string;
33
+ public_metadata?: Record<string, unknown>;
34
+ private_metadata?: Record<string, unknown>;
35
+ }
36
+ /**
37
+ * Workspace member details
38
+ */
39
+ export interface WorkspaceMember {
40
+ id: string;
41
+ created_at: string;
42
+ updated_at: string;
43
+ workspace_id: string;
44
+ user_id: string;
45
+ roles: WorkspaceRole[];
46
+ public_metadata: Record<string, unknown>;
47
+ first_name: string;
48
+ last_name: string;
49
+ username?: string;
50
+ primary_email_address?: string;
51
+ primary_phone_number?: string;
52
+ user_created_at: string;
53
+ }
54
+ /**
55
+ * Workspace role
56
+ */
57
+ export interface WorkspaceRole {
58
+ id: string;
59
+ created_at: string;
60
+ updated_at: string;
61
+ name: string;
62
+ permissions: string[];
63
+ is_deployment_level: boolean;
64
+ }
65
+ /**
66
+ * Request to add a member to a workspace
67
+ */
68
+ export interface AddWorkspaceMemberRequest {
69
+ user_id: string;
70
+ role_ids: string[];
71
+ }
72
+ /**
73
+ * Request to update a workspace member
74
+ */
75
+ export interface UpdateWorkspaceMemberRequest {
76
+ role_ids?: string[];
77
+ public_metadata?: Record<string, unknown>;
78
+ }
79
+ /**
80
+ * Request to create a workspace role
81
+ */
82
+ export interface CreateWorkspaceRoleRequest {
83
+ name: string;
84
+ permissions: string[];
85
+ }
86
+ /**
87
+ * Request to update a workspace role
88
+ */
89
+ export interface UpdateWorkspaceRoleRequest {
90
+ name?: string;
91
+ permissions?: string[];
92
+ }
93
+ //# sourceMappingURL=workspace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../src/models/workspace.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=workspace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/models/workspace.ts"],"names":[],"mappings":""}
@@ -0,0 +1,84 @@
1
+ export interface WachtAuth {
2
+ userId: string | null;
3
+ sessionId: string | null;
4
+ organizationId: string | null;
5
+ workspaceId: string | null;
6
+ organizationPermissions: string[];
7
+ workspacePermissions: string[];
8
+ protect: (options?: ProtectOptions) => Promise<void>;
9
+ has: (permission: PermissionCheck) => boolean;
10
+ }
11
+ export interface SessionPrincipalIdentity {
12
+ principal_type: "session_token";
13
+ user_id: string;
14
+ session_id: string | null;
15
+ organization_id: string | null;
16
+ workspace_id: string | null;
17
+ }
18
+ export interface SessionPrincipalMetadata {
19
+ principal_type: "session_token";
20
+ permissions_checked: string[];
21
+ organization_permissions: string[];
22
+ workspace_permissions: string[];
23
+ scopes: string[];
24
+ resource: string | null;
25
+ expires_at: string | null;
26
+ }
27
+ export interface ProtectOptions {
28
+ permission?: string | string[];
29
+ organizationId?: string;
30
+ workspaceId?: string;
31
+ redirectUrl?: string;
32
+ }
33
+ export interface PermissionCheck {
34
+ permission?: string | string[];
35
+ organizationId?: string;
36
+ workspaceId?: string;
37
+ }
38
+ export interface WachtServerOptions {
39
+ signInUrl?: string;
40
+ clockSkewInMs?: number;
41
+ requiredIssuer?: string;
42
+ publishableKey?: string;
43
+ authCookieName?: string;
44
+ sessionCookieName?: string;
45
+ devSessionCookieName?: string;
46
+ }
47
+ export declare class WachtAuthError extends Error {
48
+ status: number;
49
+ code: "unauthenticated" | "forbidden";
50
+ redirectUrl?: string;
51
+ constructor(code: "unauthenticated" | "forbidden", status: number, message: string, options?: {
52
+ redirectUrl?: string;
53
+ });
54
+ }
55
+ export interface JWTPayload {
56
+ sub?: string;
57
+ session_id?: string;
58
+ sid?: string;
59
+ organization?: string;
60
+ organization_permissions?: string[];
61
+ workspace?: string;
62
+ workspace_permissions?: string[];
63
+ permissions?: {
64
+ organization?: string[];
65
+ workspace?: string[];
66
+ };
67
+ exp?: number;
68
+ nbf?: number;
69
+ iss?: string;
70
+ }
71
+ export declare function parseFrontendApiUrlFromPublishableKey(publishableKey?: string): string | null;
72
+ export declare function toSessionPrincipalIdentity(auth: Pick<WachtAuth, "userId" | "sessionId" | "organizationId" | "workspaceId">): SessionPrincipalIdentity | null;
73
+ export declare function toSessionPrincipalMetadata(auth: Pick<WachtAuth, "userId" | "organizationPermissions" | "workspacePermissions">): SessionPrincipalMetadata | null;
74
+ export declare function verifyAuthToken(token: string, options?: WachtServerOptions): Promise<JWTPayload | null>;
75
+ export declare function getAuthFromToken(token: string | null | undefined, options?: WachtServerOptions): Promise<WachtAuth>;
76
+ export declare function requireAuthFromToken(token: string | null | undefined, options?: WachtServerOptions): Promise<WachtAuth>;
77
+ export declare function getAuth(request: Request, options?: WachtServerOptions): Promise<WachtAuth>;
78
+ export declare function requireAuth(request: Request, options?: WachtServerOptions): Promise<WachtAuth>;
79
+ export declare function authenticateRequest(request: Request, options?: WachtServerOptions): Promise<{
80
+ auth: WachtAuth;
81
+ headers: Headers;
82
+ }>;
83
+ export declare function authFromHeaders(headers: Headers): WachtAuth;
84
+ //# sourceMappingURL=server-auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-auth.d.ts","sourceRoot":"","sources":["../src/server-auth.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAClC,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,GAAG,EAAE,CAAC,UAAU,EAAE,eAAe,KAAK,OAAO,CAAC;CAC/C;AAED,MAAM,WAAW,wBAAwB;IACvC,cAAc,EAAE,eAAe,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,wBAAwB;IACvC,cAAc,EAAE,eAAe,CAAC;IAChC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,wBAAwB,EAAE,MAAM,EAAE,CAAC;IACnC,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,qBAAa,cAAe,SAAQ,KAAK;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,iBAAiB,GAAG,WAAW,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;gBAGnB,IAAI,EAAE,iBAAiB,GAAG,WAAW,EACrC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE;CAQrC;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,WAAW,CAAC,EAAE;QACZ,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC;IACF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAqFD,wBAAgB,qCAAqC,CACnD,cAAc,CAAC,EAAE,MAAM,GACtB,MAAM,GAAG,IAAI,CAkBf;AAgMD,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,GAAG,WAAW,GAAG,gBAAgB,GAAG,aAAa,CAAC,GAC/E,wBAAwB,GAAG,IAAI,CASjC;AAED,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,GAAG,yBAAyB,GAAG,sBAAsB,CAAC,GACnF,wBAAwB,GAAG,IAAI,CAcjC;AAED,wBAAsB,eAAe,CACnC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAwB5B;AAED,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAChC,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,SAAS,CAAC,CAIpB;AAED,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAChC,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,SAAS,CAAC,CAIpB;AAED,wBAAsB,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,SAAS,CAAC,CAIpG;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,SAAS,CAAC,CAIxG;AAED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAgBhD;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAwC3D"}