@ysk-kit/contracts 1.0.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 (174) hide show
  1. package/LICENSE +21 -0
  2. package/dist/api/api-keys.d.ts +220 -0
  3. package/dist/api/api-keys.d.ts.map +1 -0
  4. package/dist/api/api-keys.js +38 -0
  5. package/dist/api/api-keys.js.map +1 -0
  6. package/dist/api/audit.d.ts +75 -0
  7. package/dist/api/audit.d.ts.map +1 -0
  8. package/dist/api/audit.js +19 -0
  9. package/dist/api/audit.js.map +1 -0
  10. package/dist/api/auth.d.ts +602 -0
  11. package/dist/api/auth.d.ts.map +1 -0
  12. package/dist/api/auth.js +85 -0
  13. package/dist/api/auth.js.map +1 -0
  14. package/dist/api/billing.d.ts +398 -0
  15. package/dist/api/billing.d.ts.map +1 -0
  16. package/dist/api/billing.js +75 -0
  17. package/dist/api/billing.js.map +1 -0
  18. package/dist/api/devices.d.ts +150 -0
  19. package/dist/api/devices.d.ts.map +1 -0
  20. package/dist/api/devices.js +32 -0
  21. package/dist/api/devices.js.map +1 -0
  22. package/dist/api/files.d.ts +74 -0
  23. package/dist/api/files.d.ts.map +1 -0
  24. package/dist/api/files.js +19 -0
  25. package/dist/api/files.js.map +1 -0
  26. package/dist/api/health.d.ts +53 -0
  27. package/dist/api/health.d.ts.map +1 -0
  28. package/dist/api/health.js +26 -0
  29. package/dist/api/health.js.map +1 -0
  30. package/dist/api/index.d.ts +2777 -0
  31. package/dist/api/index.d.ts.map +1 -0
  32. package/dist/api/index.js +38 -0
  33. package/dist/api/index.js.map +1 -0
  34. package/dist/api/llm.d.ts +133 -0
  35. package/dist/api/llm.d.ts.map +1 -0
  36. package/dist/api/llm.js +25 -0
  37. package/dist/api/llm.js.map +1 -0
  38. package/dist/api/notifications.d.ts +102 -0
  39. package/dist/api/notifications.d.ts.map +1 -0
  40. package/dist/api/notifications.js +28 -0
  41. package/dist/api/notifications.js.map +1 -0
  42. package/dist/api/organizations.d.ts +787 -0
  43. package/dist/api/organizations.d.ts.map +1 -0
  44. package/dist/api/organizations.js +144 -0
  45. package/dist/api/organizations.js.map +1 -0
  46. package/dist/api/users.d.ts +193 -0
  47. package/dist/api/users.d.ts.map +1 -0
  48. package/dist/api/users.js +41 -0
  49. package/dist/api/users.js.map +1 -0
  50. package/dist/constants/hk.d.ts +6 -0
  51. package/dist/constants/hk.d.ts.map +1 -0
  52. package/dist/constants/hk.js +6 -0
  53. package/dist/constants/hk.js.map +1 -0
  54. package/dist/dto/api-key.d.ts +49 -0
  55. package/dist/dto/api-key.d.ts.map +1 -0
  56. package/dist/dto/api-key.js +19 -0
  57. package/dist/dto/api-key.js.map +1 -0
  58. package/dist/dto/audit.d.ts +49 -0
  59. package/dist/dto/audit.d.ts.map +1 -0
  60. package/dist/dto/audit.js +13 -0
  61. package/dist/dto/audit.js.map +1 -0
  62. package/dist/dto/auth.d.ts +76 -0
  63. package/dist/dto/auth.d.ts.map +1 -0
  64. package/dist/dto/auth.js +46 -0
  65. package/dist/dto/auth.js.map +1 -0
  66. package/dist/dto/billing.d.ts +63 -0
  67. package/dist/dto/billing.d.ts.map +1 -0
  68. package/dist/dto/billing.js +44 -0
  69. package/dist/dto/billing.js.map +1 -0
  70. package/dist/dto/device.d.ts +25 -0
  71. package/dist/dto/device.d.ts.map +1 -0
  72. package/dist/dto/device.js +13 -0
  73. package/dist/dto/device.js.map +1 -0
  74. package/dist/dto/file.d.ts +14 -0
  75. package/dist/dto/file.d.ts.map +1 -0
  76. package/dist/dto/file.js +16 -0
  77. package/dist/dto/file.js.map +1 -0
  78. package/dist/dto/index.d.ts +11 -0
  79. package/dist/dto/index.d.ts.map +1 -0
  80. package/dist/dto/index.js +11 -0
  81. package/dist/dto/index.js.map +1 -0
  82. package/dist/dto/llm.d.ts +45 -0
  83. package/dist/dto/llm.d.ts.map +1 -0
  84. package/dist/dto/llm.js +24 -0
  85. package/dist/dto/llm.js.map +1 -0
  86. package/dist/dto/notification.d.ts +33 -0
  87. package/dist/dto/notification.d.ts.map +1 -0
  88. package/dist/dto/notification.js +13 -0
  89. package/dist/dto/notification.js.map +1 -0
  90. package/dist/dto/organization.d.ts +60 -0
  91. package/dist/dto/organization.d.ts.map +1 -0
  92. package/dist/dto/organization.js +43 -0
  93. package/dist/dto/organization.js.map +1 -0
  94. package/dist/dto/user.d.ts +63 -0
  95. package/dist/dto/user.d.ts.map +1 -0
  96. package/dist/dto/user.js +31 -0
  97. package/dist/dto/user.js.map +1 -0
  98. package/dist/enums/audit-action.d.ts +32 -0
  99. package/dist/enums/audit-action.d.ts.map +1 -0
  100. package/dist/enums/audit-action.js +18 -0
  101. package/dist/enums/audit-action.js.map +1 -0
  102. package/dist/enums/auth-method.d.ts +12 -0
  103. package/dist/enums/auth-method.d.ts.map +1 -0
  104. package/dist/enums/auth-method.js +8 -0
  105. package/dist/enums/auth-method.js.map +1 -0
  106. package/dist/enums/billing-plan.d.ts +29 -0
  107. package/dist/enums/billing-plan.d.ts.map +1 -0
  108. package/dist/enums/billing-plan.js +18 -0
  109. package/dist/enums/billing-plan.js.map +1 -0
  110. package/dist/enums/index.d.ts +14 -0
  111. package/dist/enums/index.d.ts.map +1 -0
  112. package/dist/enums/index.js +14 -0
  113. package/dist/enums/index.js.map +1 -0
  114. package/dist/enums/job-name.d.ts +86 -0
  115. package/dist/enums/job-name.d.ts.map +1 -0
  116. package/dist/enums/job-name.js +34 -0
  117. package/dist/enums/job-name.js.map +1 -0
  118. package/dist/enums/llm-role.d.ts +14 -0
  119. package/dist/enums/llm-role.d.ts.map +1 -0
  120. package/dist/enums/llm-role.js +9 -0
  121. package/dist/enums/llm-role.js.map +1 -0
  122. package/dist/enums/mail-template.d.ts +21 -0
  123. package/dist/enums/mail-template.d.ts.map +1 -0
  124. package/dist/enums/mail-template.js +40 -0
  125. package/dist/enums/mail-template.js.map +1 -0
  126. package/dist/enums/notification-type.d.ts +16 -0
  127. package/dist/enums/notification-type.d.ts.map +1 -0
  128. package/dist/enums/notification-type.js +10 -0
  129. package/dist/enums/notification-type.js.map +1 -0
  130. package/dist/enums/org-role.d.ts +39 -0
  131. package/dist/enums/org-role.d.ts.map +1 -0
  132. package/dist/enums/org-role.js +40 -0
  133. package/dist/enums/org-role.js.map +1 -0
  134. package/dist/enums/permission.d.ts +27 -0
  135. package/dist/enums/permission.d.ts.map +1 -0
  136. package/dist/enums/permission.js +36 -0
  137. package/dist/enums/permission.js.map +1 -0
  138. package/dist/enums/platform.d.ts +20 -0
  139. package/dist/enums/platform.d.ts.map +1 -0
  140. package/dist/enums/platform.js +12 -0
  141. package/dist/enums/platform.js.map +1 -0
  142. package/dist/enums/realtime-event.d.ts +10 -0
  143. package/dist/enums/realtime-event.d.ts.map +1 -0
  144. package/dist/enums/realtime-event.js +7 -0
  145. package/dist/enums/realtime-event.js.map +1 -0
  146. package/dist/enums/user-role.d.ts +18 -0
  147. package/dist/enums/user-role.d.ts.map +1 -0
  148. package/dist/enums/user-role.js +14 -0
  149. package/dist/enums/user-role.js.map +1 -0
  150. package/dist/enums/user-status.d.ts +20 -0
  151. package/dist/enums/user-status.d.ts.map +1 -0
  152. package/dist/enums/user-status.js +16 -0
  153. package/dist/enums/user-status.js.map +1 -0
  154. package/dist/errors/codes.d.ts +12 -0
  155. package/dist/errors/codes.d.ts.map +1 -0
  156. package/dist/errors/codes.js +11 -0
  157. package/dist/errors/codes.js.map +1 -0
  158. package/dist/errors/envelope.d.ts +43 -0
  159. package/dist/errors/envelope.d.ts.map +1 -0
  160. package/dist/errors/envelope.js +14 -0
  161. package/dist/errors/envelope.js.map +1 -0
  162. package/dist/errors/index.d.ts +4 -0
  163. package/dist/errors/index.d.ts.map +1 -0
  164. package/dist/errors/index.js +4 -0
  165. package/dist/errors/index.js.map +1 -0
  166. package/dist/errors/messages.d.ts +6 -0
  167. package/dist/errors/messages.d.ts.map +1 -0
  168. package/dist/errors/messages.js +10 -0
  169. package/dist/errors/messages.js.map +1 -0
  170. package/dist/index.d.ts +6 -0
  171. package/dist/index.d.ts.map +1 -0
  172. package/dist/index.js +6 -0
  173. package/dist/index.js.map +1 -0
  174. package/package.json +34 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 YSK Limited
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,220 @@
1
+ import { z } from 'zod';
2
+ export declare const apiKeysContract: {
3
+ list: {
4
+ summary: "List my API keys";
5
+ method: "GET";
6
+ path: "/v1/me/api-keys";
7
+ responses: {
8
+ 200: z.ZodObject<{
9
+ ok: z.ZodLiteral<true>;
10
+ data: z.ZodArray<z.ZodObject<{
11
+ id: z.ZodString;
12
+ name: z.ZodString;
13
+ prefix: z.ZodString;
14
+ last4: z.ZodString;
15
+ permissions: z.ZodArray<z.ZodEnum<{
16
+ "user.create": "user.create";
17
+ "user.suspend": "user.suspend";
18
+ "audit.read": "audit.read";
19
+ "file.upload": "file.upload";
20
+ "llm.use": "llm.use";
21
+ "billing.checkout": "billing.checkout";
22
+ }>>;
23
+ createdAt: z.ZodISODateTime;
24
+ lastUsedAt: z.ZodNullable<z.ZodISODateTime>;
25
+ }, z.core.$strip>>;
26
+ }, z.core.$strip>;
27
+ 401: z.ZodObject<{
28
+ ok: z.ZodLiteral<false>;
29
+ error: z.ZodObject<{
30
+ code: z.ZodEnum<{
31
+ VALIDATION_FAILED: "VALIDATION_FAILED";
32
+ UNAUTHENTICATED: "UNAUTHENTICATED";
33
+ FORBIDDEN: "FORBIDDEN";
34
+ NOT_FOUND: "NOT_FOUND";
35
+ CONFLICT: "CONFLICT";
36
+ RATE_LIMITED: "RATE_LIMITED";
37
+ INTERNAL: "INTERNAL";
38
+ }>;
39
+ message: z.ZodString;
40
+ details: z.ZodOptional<z.ZodUnknown>;
41
+ requestId: z.ZodOptional<z.ZodString>;
42
+ }, z.core.$strip>;
43
+ }, z.core.$strip>;
44
+ 403: z.ZodObject<{
45
+ ok: z.ZodLiteral<false>;
46
+ error: z.ZodObject<{
47
+ code: z.ZodEnum<{
48
+ VALIDATION_FAILED: "VALIDATION_FAILED";
49
+ UNAUTHENTICATED: "UNAUTHENTICATED";
50
+ FORBIDDEN: "FORBIDDEN";
51
+ NOT_FOUND: "NOT_FOUND";
52
+ CONFLICT: "CONFLICT";
53
+ RATE_LIMITED: "RATE_LIMITED";
54
+ INTERNAL: "INTERNAL";
55
+ }>;
56
+ message: z.ZodString;
57
+ details: z.ZodOptional<z.ZodUnknown>;
58
+ requestId: z.ZodOptional<z.ZodString>;
59
+ }, z.core.$strip>;
60
+ }, z.core.$strip>;
61
+ };
62
+ };
63
+ create: {
64
+ summary: "Create an API key (token shown once)";
65
+ method: "POST";
66
+ body: z.ZodObject<{
67
+ name: z.ZodString;
68
+ permissions: z.ZodArray<z.ZodEnum<{
69
+ "user.create": "user.create";
70
+ "user.suspend": "user.suspend";
71
+ "audit.read": "audit.read";
72
+ "file.upload": "file.upload";
73
+ "llm.use": "llm.use";
74
+ "billing.checkout": "billing.checkout";
75
+ }>>;
76
+ }, z.core.$strip>;
77
+ path: "/v1/me/api-keys";
78
+ responses: {
79
+ 201: z.ZodObject<{
80
+ ok: z.ZodLiteral<true>;
81
+ data: z.ZodObject<{
82
+ id: z.ZodString;
83
+ name: z.ZodString;
84
+ prefix: z.ZodString;
85
+ last4: z.ZodString;
86
+ permissions: z.ZodArray<z.ZodEnum<{
87
+ "user.create": "user.create";
88
+ "user.suspend": "user.suspend";
89
+ "audit.read": "audit.read";
90
+ "file.upload": "file.upload";
91
+ "llm.use": "llm.use";
92
+ "billing.checkout": "billing.checkout";
93
+ }>>;
94
+ createdAt: z.ZodISODateTime;
95
+ lastUsedAt: z.ZodNullable<z.ZodISODateTime>;
96
+ token: z.ZodString;
97
+ }, z.core.$strip>;
98
+ }, z.core.$strip>;
99
+ 401: z.ZodObject<{
100
+ ok: z.ZodLiteral<false>;
101
+ error: z.ZodObject<{
102
+ code: z.ZodEnum<{
103
+ VALIDATION_FAILED: "VALIDATION_FAILED";
104
+ UNAUTHENTICATED: "UNAUTHENTICATED";
105
+ FORBIDDEN: "FORBIDDEN";
106
+ NOT_FOUND: "NOT_FOUND";
107
+ CONFLICT: "CONFLICT";
108
+ RATE_LIMITED: "RATE_LIMITED";
109
+ INTERNAL: "INTERNAL";
110
+ }>;
111
+ message: z.ZodString;
112
+ details: z.ZodOptional<z.ZodUnknown>;
113
+ requestId: z.ZodOptional<z.ZodString>;
114
+ }, z.core.$strip>;
115
+ }, z.core.$strip>;
116
+ 403: z.ZodObject<{
117
+ ok: z.ZodLiteral<false>;
118
+ error: z.ZodObject<{
119
+ code: z.ZodEnum<{
120
+ VALIDATION_FAILED: "VALIDATION_FAILED";
121
+ UNAUTHENTICATED: "UNAUTHENTICATED";
122
+ FORBIDDEN: "FORBIDDEN";
123
+ NOT_FOUND: "NOT_FOUND";
124
+ CONFLICT: "CONFLICT";
125
+ RATE_LIMITED: "RATE_LIMITED";
126
+ INTERNAL: "INTERNAL";
127
+ }>;
128
+ message: z.ZodString;
129
+ details: z.ZodOptional<z.ZodUnknown>;
130
+ requestId: z.ZodOptional<z.ZodString>;
131
+ }, z.core.$strip>;
132
+ }, z.core.$strip>;
133
+ 422: z.ZodObject<{
134
+ ok: z.ZodLiteral<false>;
135
+ error: z.ZodObject<{
136
+ code: z.ZodEnum<{
137
+ VALIDATION_FAILED: "VALIDATION_FAILED";
138
+ UNAUTHENTICATED: "UNAUTHENTICATED";
139
+ FORBIDDEN: "FORBIDDEN";
140
+ NOT_FOUND: "NOT_FOUND";
141
+ CONFLICT: "CONFLICT";
142
+ RATE_LIMITED: "RATE_LIMITED";
143
+ INTERNAL: "INTERNAL";
144
+ }>;
145
+ message: z.ZodString;
146
+ details: z.ZodOptional<z.ZodUnknown>;
147
+ requestId: z.ZodOptional<z.ZodString>;
148
+ }, z.core.$strip>;
149
+ }, z.core.$strip>;
150
+ };
151
+ };
152
+ revoke: {
153
+ pathParams: z.ZodObject<{
154
+ id: z.ZodString;
155
+ }, z.core.$strip>;
156
+ summary: "Revoke an API key";
157
+ method: "DELETE";
158
+ path: "/v1/me/api-keys/:id";
159
+ responses: {
160
+ 200: z.ZodObject<{
161
+ ok: z.ZodLiteral<true>;
162
+ data: z.ZodObject<{
163
+ revoked: z.ZodLiteral<true>;
164
+ }, z.core.$strip>;
165
+ }, z.core.$strip>;
166
+ 401: z.ZodObject<{
167
+ ok: z.ZodLiteral<false>;
168
+ error: z.ZodObject<{
169
+ code: z.ZodEnum<{
170
+ VALIDATION_FAILED: "VALIDATION_FAILED";
171
+ UNAUTHENTICATED: "UNAUTHENTICATED";
172
+ FORBIDDEN: "FORBIDDEN";
173
+ NOT_FOUND: "NOT_FOUND";
174
+ CONFLICT: "CONFLICT";
175
+ RATE_LIMITED: "RATE_LIMITED";
176
+ INTERNAL: "INTERNAL";
177
+ }>;
178
+ message: z.ZodString;
179
+ details: z.ZodOptional<z.ZodUnknown>;
180
+ requestId: z.ZodOptional<z.ZodString>;
181
+ }, z.core.$strip>;
182
+ }, z.core.$strip>;
183
+ 403: z.ZodObject<{
184
+ ok: z.ZodLiteral<false>;
185
+ error: z.ZodObject<{
186
+ code: z.ZodEnum<{
187
+ VALIDATION_FAILED: "VALIDATION_FAILED";
188
+ UNAUTHENTICATED: "UNAUTHENTICATED";
189
+ FORBIDDEN: "FORBIDDEN";
190
+ NOT_FOUND: "NOT_FOUND";
191
+ CONFLICT: "CONFLICT";
192
+ RATE_LIMITED: "RATE_LIMITED";
193
+ INTERNAL: "INTERNAL";
194
+ }>;
195
+ message: z.ZodString;
196
+ details: z.ZodOptional<z.ZodUnknown>;
197
+ requestId: z.ZodOptional<z.ZodString>;
198
+ }, z.core.$strip>;
199
+ }, z.core.$strip>;
200
+ 404: z.ZodObject<{
201
+ ok: z.ZodLiteral<false>;
202
+ error: z.ZodObject<{
203
+ code: z.ZodEnum<{
204
+ VALIDATION_FAILED: "VALIDATION_FAILED";
205
+ UNAUTHENTICATED: "UNAUTHENTICATED";
206
+ FORBIDDEN: "FORBIDDEN";
207
+ NOT_FOUND: "NOT_FOUND";
208
+ CONFLICT: "CONFLICT";
209
+ RATE_LIMITED: "RATE_LIMITED";
210
+ INTERNAL: "INTERNAL";
211
+ }>;
212
+ message: z.ZodString;
213
+ details: z.ZodOptional<z.ZodUnknown>;
214
+ requestId: z.ZodOptional<z.ZodString>;
215
+ }, z.core.$strip>;
216
+ }, z.core.$strip>;
217
+ };
218
+ };
219
+ };
220
+ //# 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":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+B1B,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { initContract } from '@ts-rest/core';
2
+ import { z } from 'zod';
3
+ import { ApiKeyDtoSchema, CreateApiKeyCommandSchema, CreatedApiKeyDtoSchema } from '../dto/api-key';
4
+ import { ErrSchema, OkSchema } from '../errors/envelope';
5
+ const c = initContract();
6
+ export const apiKeysContract = c.router({
7
+ list: {
8
+ method: 'GET',
9
+ path: '/v1/me/api-keys',
10
+ responses: { 200: OkSchema(z.array(ApiKeyDtoSchema)), 401: ErrSchema, 403: ErrSchema },
11
+ summary: 'List my API keys',
12
+ },
13
+ create: {
14
+ method: 'POST',
15
+ path: '/v1/me/api-keys',
16
+ body: CreateApiKeyCommandSchema,
17
+ responses: {
18
+ 201: OkSchema(CreatedApiKeyDtoSchema),
19
+ 401: ErrSchema,
20
+ 403: ErrSchema,
21
+ 422: ErrSchema,
22
+ },
23
+ summary: 'Create an API key (token shown once)',
24
+ },
25
+ revoke: {
26
+ method: 'DELETE',
27
+ path: '/v1/me/api-keys/:id',
28
+ pathParams: z.object({ id: z.string().uuid() }),
29
+ responses: {
30
+ 200: OkSchema(z.object({ revoked: z.literal(true) })),
31
+ 401: ErrSchema,
32
+ 403: ErrSchema,
33
+ 404: ErrSchema,
34
+ },
35
+ summary: 'Revoke an API key',
36
+ },
37
+ });
38
+ //# sourceMappingURL=api-keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-keys.js","sourceRoot":"","sources":["../../src/api/api-keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACpG,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,CAAC,GAAG,YAAY,EAAE,CAAC;AAEzB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE;QACJ,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,iBAAiB;QACvB,SAAS,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE;QACtF,OAAO,EAAE,kBAAkB;KAC5B;IACD,MAAM,EAAE;QACN,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,yBAAyB;QAC/B,SAAS,EAAE;YACT,GAAG,EAAE,QAAQ,CAAC,sBAAsB,CAAC;YACrC,GAAG,EAAE,SAAS;YACd,GAAG,EAAE,SAAS;YACd,GAAG,EAAE,SAAS;SACf;QACD,OAAO,EAAE,sCAAsC;KAChD;IACD,MAAM,EAAE;QACN,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,qBAAqB;QAC3B,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;QAC/C,SAAS,EAAE;YACT,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrD,GAAG,EAAE,SAAS;YACd,GAAG,EAAE,SAAS;YACd,GAAG,EAAE,SAAS;SACf;QACD,OAAO,EAAE,mBAAmB;KAC7B;CACF,CAAC,CAAC"}
@@ -0,0 +1,75 @@
1
+ export declare const auditContract: {
2
+ list: {
3
+ query: import("zod").ZodObject<{
4
+ cursor: import("zod").ZodOptional<import("zod").ZodString>;
5
+ limit: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
6
+ }, import("zod/v4/core").$strip>;
7
+ summary: "List audit logs";
8
+ method: "GET";
9
+ path: "/v1/audit-logs";
10
+ responses: {
11
+ 200: import("zod").ZodObject<{
12
+ ok: import("zod").ZodLiteral<true>;
13
+ data: import("zod").ZodObject<{
14
+ items: import("zod").ZodArray<import("zod").ZodObject<{
15
+ id: import("zod").ZodString;
16
+ actorId: import("zod").ZodNullable<import("zod").ZodString>;
17
+ action: import("zod").ZodEnum<{
18
+ "user.create": "user.create";
19
+ "user.suspend": "user.suspend";
20
+ "file.upload": "file.upload";
21
+ "auth.register": "auth.register";
22
+ "auth.login": "auth.login";
23
+ "auth.logout": "auth.logout";
24
+ "auth.reset": "auth.reset";
25
+ "org.create": "org.create";
26
+ "org.invite": "org.invite";
27
+ "org.member.remove": "org.member.remove";
28
+ "api_key.create": "api_key.create";
29
+ "api_key.revoke": "api_key.revoke";
30
+ }>;
31
+ resourceType: import("zod").ZodString;
32
+ resourceId: import("zod").ZodString;
33
+ createdAt: import("zod").ZodISODateTime;
34
+ }, import("zod/v4/core").$strip>>;
35
+ nextCursor: import("zod").ZodNullable<import("zod").ZodString>;
36
+ }, import("zod/v4/core").$strip>;
37
+ }, import("zod/v4/core").$strip>;
38
+ 401: import("zod").ZodObject<{
39
+ ok: import("zod").ZodLiteral<false>;
40
+ error: import("zod").ZodObject<{
41
+ code: import("zod").ZodEnum<{
42
+ VALIDATION_FAILED: "VALIDATION_FAILED";
43
+ UNAUTHENTICATED: "UNAUTHENTICATED";
44
+ FORBIDDEN: "FORBIDDEN";
45
+ NOT_FOUND: "NOT_FOUND";
46
+ CONFLICT: "CONFLICT";
47
+ RATE_LIMITED: "RATE_LIMITED";
48
+ INTERNAL: "INTERNAL";
49
+ }>;
50
+ message: import("zod").ZodString;
51
+ details: import("zod").ZodOptional<import("zod").ZodUnknown>;
52
+ requestId: import("zod").ZodOptional<import("zod").ZodString>;
53
+ }, import("zod/v4/core").$strip>;
54
+ }, import("zod/v4/core").$strip>;
55
+ 403: import("zod").ZodObject<{
56
+ ok: import("zod").ZodLiteral<false>;
57
+ error: import("zod").ZodObject<{
58
+ code: import("zod").ZodEnum<{
59
+ VALIDATION_FAILED: "VALIDATION_FAILED";
60
+ UNAUTHENTICATED: "UNAUTHENTICATED";
61
+ FORBIDDEN: "FORBIDDEN";
62
+ NOT_FOUND: "NOT_FOUND";
63
+ CONFLICT: "CONFLICT";
64
+ RATE_LIMITED: "RATE_LIMITED";
65
+ INTERNAL: "INTERNAL";
66
+ }>;
67
+ message: import("zod").ZodString;
68
+ details: import("zod").ZodOptional<import("zod").ZodUnknown>;
69
+ requestId: import("zod").ZodOptional<import("zod").ZodString>;
70
+ }, import("zod/v4/core").$strip>;
71
+ }, import("zod/v4/core").$strip>;
72
+ };
73
+ };
74
+ };
75
+ //# sourceMappingURL=audit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/api/audit.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAYxB,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { initContract } from '@ts-rest/core';
2
+ import { PaginatedAuditLogsSchema } from '../dto/audit';
3
+ import { PageQuerySchema } from '../dto/user';
4
+ import { ErrSchema, OkSchema } from '../errors/envelope';
5
+ const c = initContract();
6
+ export const auditContract = c.router({
7
+ list: {
8
+ method: 'GET',
9
+ path: '/v1/audit-logs',
10
+ query: PageQuerySchema,
11
+ responses: {
12
+ 200: OkSchema(PaginatedAuditLogsSchema),
13
+ 401: ErrSchema,
14
+ 403: ErrSchema,
15
+ },
16
+ summary: 'List audit logs',
17
+ },
18
+ });
19
+ //# sourceMappingURL=audit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/api/audit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,CAAC,GAAG,YAAY,EAAE,CAAC;AAEzB,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE;QACJ,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,eAAe;QACtB,SAAS,EAAE;YACT,GAAG,EAAE,QAAQ,CAAC,wBAAwB,CAAC;YACvC,GAAG,EAAE,SAAS;YACd,GAAG,EAAE,SAAS;SACf;QACD,OAAO,EAAE,iBAAiB;KAC3B;CACF,CAAC,CAAC"}