@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAYtB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC;AAE7C,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { initContract } from '@ts-rest/core';
2
+ import { apiKeysContract } from './api-keys';
3
+ import { auditContract } from './audit';
4
+ import { authContract } from './auth';
5
+ import { billingContract } from './billing';
6
+ import { devicesContract } from './devices';
7
+ import { filesContract } from './files';
8
+ import { healthContract } from './health';
9
+ import { llmContract } from './llm';
10
+ import { notificationsContract } from './notifications';
11
+ import { organizationsContract } from './organizations';
12
+ import { usersContract } from './users';
13
+ const c = initContract();
14
+ export const appContract = c.router({
15
+ health: healthContract,
16
+ auth: authContract,
17
+ users: usersContract,
18
+ audit: auditContract,
19
+ files: filesContract,
20
+ notifications: notificationsContract,
21
+ llm: llmContract,
22
+ devices: devicesContract,
23
+ organizations: organizationsContract,
24
+ apiKeys: apiKeysContract,
25
+ billing: billingContract,
26
+ });
27
+ export * from './api-keys';
28
+ export * from './audit';
29
+ export * from './auth';
30
+ export * from './billing';
31
+ export * from './devices';
32
+ export * from './files';
33
+ export * from './health';
34
+ export * from './llm';
35
+ export * from './notifications';
36
+ export * from './organizations';
37
+ export * from './users';
38
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,MAAM,CAAC,GAAG,YAAY,EAAE,CAAC;AAEzB,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,MAAM,EAAE,cAAc;IACtB,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE,aAAa;IACpB,KAAK,EAAE,aAAa;IACpB,KAAK,EAAE,aAAa;IACpB,aAAa,EAAE,qBAAqB;IACpC,GAAG,EAAE,WAAW;IAChB,OAAO,EAAE,eAAe;IACxB,aAAa,EAAE,qBAAqB;IACpC,OAAO,EAAE,eAAe;IACxB,OAAO,EAAE,eAAe;CACzB,CAAC,CAAC;AAIH,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC"}
@@ -0,0 +1,133 @@
1
+ export declare const llmContract: {
2
+ complete: {
3
+ summary: "One-shot chat completion";
4
+ method: "POST";
5
+ body: import("zod").ZodObject<{
6
+ messages: import("zod").ZodArray<import("zod").ZodObject<{
7
+ role: import("zod").ZodEnum<{
8
+ user: "user";
9
+ system: "system";
10
+ assistant: "assistant";
11
+ }>;
12
+ content: import("zod").ZodString;
13
+ }, import("zod/v4/core").$strip>>;
14
+ temperature: import("zod").ZodOptional<import("zod").ZodNumber>;
15
+ }, import("zod/v4/core").$strip>;
16
+ path: "/v1/llm/complete";
17
+ responses: {
18
+ 200: import("zod").ZodObject<{
19
+ ok: import("zod").ZodLiteral<true>;
20
+ data: import("zod").ZodObject<{
21
+ text: import("zod").ZodString;
22
+ model: import("zod").ZodString;
23
+ usage: import("zod").ZodObject<{
24
+ promptTokens: import("zod").ZodNumber;
25
+ completionTokens: import("zod").ZodNumber;
26
+ totalTokens: import("zod").ZodNumber;
27
+ }, import("zod/v4/core").$strip>;
28
+ }, import("zod/v4/core").$strip>;
29
+ }, import("zod/v4/core").$strip>;
30
+ 401: import("zod").ZodObject<{
31
+ ok: import("zod").ZodLiteral<false>;
32
+ error: import("zod").ZodObject<{
33
+ code: import("zod").ZodEnum<{
34
+ VALIDATION_FAILED: "VALIDATION_FAILED";
35
+ UNAUTHENTICATED: "UNAUTHENTICATED";
36
+ FORBIDDEN: "FORBIDDEN";
37
+ NOT_FOUND: "NOT_FOUND";
38
+ CONFLICT: "CONFLICT";
39
+ RATE_LIMITED: "RATE_LIMITED";
40
+ INTERNAL: "INTERNAL";
41
+ }>;
42
+ message: import("zod").ZodString;
43
+ details: import("zod").ZodOptional<import("zod").ZodUnknown>;
44
+ requestId: import("zod").ZodOptional<import("zod").ZodString>;
45
+ }, import("zod/v4/core").$strip>;
46
+ }, import("zod/v4/core").$strip>;
47
+ 403: import("zod").ZodObject<{
48
+ ok: import("zod").ZodLiteral<false>;
49
+ error: import("zod").ZodObject<{
50
+ code: import("zod").ZodEnum<{
51
+ VALIDATION_FAILED: "VALIDATION_FAILED";
52
+ UNAUTHENTICATED: "UNAUTHENTICATED";
53
+ FORBIDDEN: "FORBIDDEN";
54
+ NOT_FOUND: "NOT_FOUND";
55
+ CONFLICT: "CONFLICT";
56
+ RATE_LIMITED: "RATE_LIMITED";
57
+ INTERNAL: "INTERNAL";
58
+ }>;
59
+ message: import("zod").ZodString;
60
+ details: import("zod").ZodOptional<import("zod").ZodUnknown>;
61
+ requestId: import("zod").ZodOptional<import("zod").ZodString>;
62
+ }, import("zod/v4/core").$strip>;
63
+ }, import("zod/v4/core").$strip>;
64
+ 503: import("zod").ZodObject<{
65
+ ok: import("zod").ZodLiteral<false>;
66
+ error: import("zod").ZodObject<{
67
+ code: import("zod").ZodEnum<{
68
+ VALIDATION_FAILED: "VALIDATION_FAILED";
69
+ UNAUTHENTICATED: "UNAUTHENTICATED";
70
+ FORBIDDEN: "FORBIDDEN";
71
+ NOT_FOUND: "NOT_FOUND";
72
+ CONFLICT: "CONFLICT";
73
+ RATE_LIMITED: "RATE_LIMITED";
74
+ INTERNAL: "INTERNAL";
75
+ }>;
76
+ message: import("zod").ZodString;
77
+ details: import("zod").ZodOptional<import("zod").ZodUnknown>;
78
+ requestId: import("zod").ZodOptional<import("zod").ZodString>;
79
+ }, import("zod/v4/core").$strip>;
80
+ }, import("zod/v4/core").$strip>;
81
+ };
82
+ };
83
+ models: {
84
+ summary: "Configured models";
85
+ method: "GET";
86
+ path: "/v1/llm/models";
87
+ responses: {
88
+ 200: import("zod").ZodObject<{
89
+ ok: import("zod").ZodLiteral<true>;
90
+ data: import("zod").ZodObject<{
91
+ items: import("zod").ZodArray<import("zod").ZodObject<{
92
+ id: import("zod").ZodString;
93
+ }, import("zod/v4/core").$strip>>;
94
+ }, import("zod/v4/core").$strip>;
95
+ }, import("zod/v4/core").$strip>;
96
+ 401: import("zod").ZodObject<{
97
+ ok: import("zod").ZodLiteral<false>;
98
+ error: import("zod").ZodObject<{
99
+ code: import("zod").ZodEnum<{
100
+ VALIDATION_FAILED: "VALIDATION_FAILED";
101
+ UNAUTHENTICATED: "UNAUTHENTICATED";
102
+ FORBIDDEN: "FORBIDDEN";
103
+ NOT_FOUND: "NOT_FOUND";
104
+ CONFLICT: "CONFLICT";
105
+ RATE_LIMITED: "RATE_LIMITED";
106
+ INTERNAL: "INTERNAL";
107
+ }>;
108
+ message: import("zod").ZodString;
109
+ details: import("zod").ZodOptional<import("zod").ZodUnknown>;
110
+ requestId: import("zod").ZodOptional<import("zod").ZodString>;
111
+ }, import("zod/v4/core").$strip>;
112
+ }, import("zod/v4/core").$strip>;
113
+ 403: import("zod").ZodObject<{
114
+ ok: import("zod").ZodLiteral<false>;
115
+ error: import("zod").ZodObject<{
116
+ code: import("zod").ZodEnum<{
117
+ VALIDATION_FAILED: "VALIDATION_FAILED";
118
+ UNAUTHENTICATED: "UNAUTHENTICATED";
119
+ FORBIDDEN: "FORBIDDEN";
120
+ NOT_FOUND: "NOT_FOUND";
121
+ CONFLICT: "CONFLICT";
122
+ RATE_LIMITED: "RATE_LIMITED";
123
+ INTERNAL: "INTERNAL";
124
+ }>;
125
+ message: import("zod").ZodString;
126
+ details: import("zod").ZodOptional<import("zod").ZodUnknown>;
127
+ requestId: import("zod").ZodOptional<import("zod").ZodString>;
128
+ }, import("zod/v4/core").$strip>;
129
+ }, import("zod/v4/core").$strip>;
130
+ };
131
+ };
132
+ };
133
+ //# sourceMappingURL=llm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../../src/api/llm.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmBtB,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { initContract } from '@ts-rest/core';
2
+ import { LlmCompleteCommandSchema, LlmCompleteDtoSchema, LlmModelsDtoSchema } from '../dto/llm';
3
+ import { ErrSchema, OkSchema } from '../errors/envelope';
4
+ const c = initContract();
5
+ export const llmContract = c.router({
6
+ complete: {
7
+ method: 'POST',
8
+ path: '/v1/llm/complete',
9
+ body: LlmCompleteCommandSchema,
10
+ responses: {
11
+ 200: OkSchema(LlmCompleteDtoSchema),
12
+ 401: ErrSchema,
13
+ 403: ErrSchema,
14
+ 503: ErrSchema,
15
+ },
16
+ summary: 'One-shot chat completion',
17
+ },
18
+ models: {
19
+ method: 'GET',
20
+ path: '/v1/llm/models',
21
+ responses: { 200: OkSchema(LlmModelsDtoSchema), 401: ErrSchema, 403: ErrSchema },
22
+ summary: 'Configured models',
23
+ },
24
+ });
25
+ //# sourceMappingURL=llm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm.js","sourceRoot":"","sources":["../../src/api/llm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChG,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,CAAC,GAAG,YAAY,EAAE,CAAC;AAEzB,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,QAAQ,EAAE;QACR,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,wBAAwB;QAC9B,SAAS,EAAE;YACT,GAAG,EAAE,QAAQ,CAAC,oBAAoB,CAAC;YACnC,GAAG,EAAE,SAAS;YACd,GAAG,EAAE,SAAS;YACd,GAAG,EAAE,SAAS;SACf;QACD,OAAO,EAAE,0BAA0B;KACpC;IACD,MAAM,EAAE;QACN,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,gBAAgB;QACtB,SAAS,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE;QAChF,OAAO,EAAE,mBAAmB;KAC7B;CACF,CAAC,CAAC"}
@@ -0,0 +1,102 @@
1
+ import { z } from 'zod';
2
+ export declare const notificationsContract: {
3
+ list: {
4
+ query: z.ZodObject<{
5
+ cursor: z.ZodOptional<z.ZodString>;
6
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
7
+ }, z.core.$strip>;
8
+ summary: "List my notifications";
9
+ method: "GET";
10
+ path: "/v1/notifications";
11
+ responses: {
12
+ 200: z.ZodObject<{
13
+ ok: z.ZodLiteral<true>;
14
+ data: z.ZodObject<{
15
+ items: z.ZodArray<z.ZodObject<{
16
+ id: z.ZodString;
17
+ type: z.ZodEnum<{
18
+ "auth.reset": "auth.reset";
19
+ "auth.welcome": "auth.welcome";
20
+ "user.created": "user.created";
21
+ "org.invited": "org.invited";
22
+ }>;
23
+ title: z.ZodString;
24
+ body: z.ZodString;
25
+ readAt: z.ZodNullable<z.ZodISODateTime>;
26
+ createdAt: z.ZodISODateTime;
27
+ }, z.core.$strip>>;
28
+ nextCursor: z.ZodNullable<z.ZodString>;
29
+ }, z.core.$strip>;
30
+ }, z.core.$strip>;
31
+ 401: z.ZodObject<{
32
+ ok: z.ZodLiteral<false>;
33
+ error: z.ZodObject<{
34
+ code: z.ZodEnum<{
35
+ VALIDATION_FAILED: "VALIDATION_FAILED";
36
+ UNAUTHENTICATED: "UNAUTHENTICATED";
37
+ FORBIDDEN: "FORBIDDEN";
38
+ NOT_FOUND: "NOT_FOUND";
39
+ CONFLICT: "CONFLICT";
40
+ RATE_LIMITED: "RATE_LIMITED";
41
+ INTERNAL: "INTERNAL";
42
+ }>;
43
+ message: z.ZodString;
44
+ details: z.ZodOptional<z.ZodUnknown>;
45
+ requestId: z.ZodOptional<z.ZodString>;
46
+ }, z.core.$strip>;
47
+ }, z.core.$strip>;
48
+ };
49
+ };
50
+ markRead: {
51
+ pathParams: z.ZodObject<{
52
+ id: z.ZodString;
53
+ }, z.core.$strip>;
54
+ summary: "Mark a notification as read";
55
+ method: "POST";
56
+ body: z.ZodOptional<z.ZodObject<{}, z.core.$strip>>;
57
+ path: "/v1/notifications/:id/read";
58
+ responses: {
59
+ 200: z.ZodObject<{
60
+ ok: z.ZodLiteral<true>;
61
+ data: z.ZodObject<{
62
+ read: z.ZodLiteral<true>;
63
+ }, z.core.$strip>;
64
+ }, z.core.$strip>;
65
+ 401: z.ZodObject<{
66
+ ok: z.ZodLiteral<false>;
67
+ error: z.ZodObject<{
68
+ code: z.ZodEnum<{
69
+ VALIDATION_FAILED: "VALIDATION_FAILED";
70
+ UNAUTHENTICATED: "UNAUTHENTICATED";
71
+ FORBIDDEN: "FORBIDDEN";
72
+ NOT_FOUND: "NOT_FOUND";
73
+ CONFLICT: "CONFLICT";
74
+ RATE_LIMITED: "RATE_LIMITED";
75
+ INTERNAL: "INTERNAL";
76
+ }>;
77
+ message: z.ZodString;
78
+ details: z.ZodOptional<z.ZodUnknown>;
79
+ requestId: z.ZodOptional<z.ZodString>;
80
+ }, z.core.$strip>;
81
+ }, z.core.$strip>;
82
+ 404: z.ZodObject<{
83
+ ok: z.ZodLiteral<false>;
84
+ error: z.ZodObject<{
85
+ code: z.ZodEnum<{
86
+ VALIDATION_FAILED: "VALIDATION_FAILED";
87
+ UNAUTHENTICATED: "UNAUTHENTICATED";
88
+ FORBIDDEN: "FORBIDDEN";
89
+ NOT_FOUND: "NOT_FOUND";
90
+ CONFLICT: "CONFLICT";
91
+ RATE_LIMITED: "RATE_LIMITED";
92
+ INTERNAL: "INTERNAL";
93
+ }>;
94
+ message: z.ZodString;
95
+ details: z.ZodOptional<z.ZodUnknown>;
96
+ requestId: z.ZodOptional<z.ZodString>;
97
+ }, z.core.$strip>;
98
+ }, z.core.$strip>;
99
+ };
100
+ };
101
+ };
102
+ //# sourceMappingURL=notifications.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../../src/api/notifications.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoBhC,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { initContract } from '@ts-rest/core';
2
+ import { z } from 'zod';
3
+ import { PaginatedNotificationsSchema } from '../dto/notification';
4
+ import { PageQuerySchema } from '../dto/user';
5
+ import { ErrSchema, OkSchema } from '../errors/envelope';
6
+ const c = initContract();
7
+ export const notificationsContract = c.router({
8
+ list: {
9
+ method: 'GET',
10
+ path: '/v1/notifications',
11
+ query: PageQuerySchema,
12
+ responses: { 200: OkSchema(PaginatedNotificationsSchema), 401: ErrSchema },
13
+ summary: 'List my notifications',
14
+ },
15
+ markRead: {
16
+ method: 'POST',
17
+ path: '/v1/notifications/:id/read',
18
+ pathParams: z.object({ id: z.string().uuid() }),
19
+ body: z.object({}).optional(),
20
+ responses: {
21
+ 200: OkSchema(z.object({ read: z.literal(true) })),
22
+ 401: ErrSchema,
23
+ 404: ErrSchema,
24
+ },
25
+ summary: 'Mark a notification as read',
26
+ },
27
+ });
28
+ //# sourceMappingURL=notifications.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../src/api/notifications.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACnE,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,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE;QACJ,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,mBAAmB;QACzB,KAAK,EAAE,eAAe;QACtB,SAAS,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,4BAA4B,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE;QAC1E,OAAO,EAAE,uBAAuB;KACjC;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,4BAA4B;QAClC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;QAC/C,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC7B,SAAS,EAAE;YACT,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClD,GAAG,EAAE,SAAS;YACd,GAAG,EAAE,SAAS;SACf;QACD,OAAO,EAAE,6BAA6B;KACvC;CACF,CAAC,CAAC"}