@intlayer/backend-contract 0.0.0-stage → 9.6.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 (164) hide show
  1. package/README.md +330 -2
  2. package/dist/cjs/ai.cjs +267 -0
  3. package/dist/cjs/ai.cjs.map +1 -0
  4. package/dist/cjs/analytics.cjs +175 -0
  5. package/dist/cjs/analytics.cjs.map +1 -0
  6. package/dist/cjs/asset.cjs +88 -0
  7. package/dist/cjs/asset.cjs.map +1 -0
  8. package/dist/cjs/blogComment.cjs +98 -0
  9. package/dist/cjs/blogComment.cjs.map +1 -0
  10. package/dist/cjs/cliSessionToken.cjs +40 -0
  11. package/dist/cjs/cliSessionToken.cjs.map +1 -0
  12. package/dist/cjs/common.cjs +42 -0
  13. package/dist/cjs/common.cjs.map +1 -0
  14. package/dist/cjs/defineRoute.cjs +26 -0
  15. package/dist/cjs/defineRoute.cjs.map +1 -0
  16. package/dist/cjs/demo.cjs +22 -0
  17. package/dist/cjs/demo.cjs.map +1 -0
  18. package/dist/cjs/dictionary.cjs +168 -0
  19. package/dist/cjs/dictionary.cjs.map +1 -0
  20. package/dist/cjs/environment.cjs +91 -0
  21. package/dist/cjs/environment.cjs.map +1 -0
  22. package/dist/cjs/eventListener.cjs +19 -0
  23. package/dist/cjs/eventListener.cjs.map +1 -0
  24. package/dist/cjs/gitProviders.cjs +361 -0
  25. package/dist/cjs/gitProviders.cjs.map +1 -0
  26. package/dist/cjs/newsletter.cjs +50 -0
  27. package/dist/cjs/newsletter.cjs.map +1 -0
  28. package/dist/cjs/oAuth2.cjs +62 -0
  29. package/dist/cjs/oAuth2.cjs.map +1 -0
  30. package/dist/cjs/organization.cjs +226 -0
  31. package/dist/cjs/organization.cjs.map +1 -0
  32. package/dist/cjs/project.cjs +401 -0
  33. package/dist/cjs/project.cjs.map +1 -0
  34. package/dist/cjs/public.cjs +60 -0
  35. package/dist/cjs/public.cjs.map +1 -0
  36. package/dist/cjs/responseData.cjs +33 -0
  37. package/dist/cjs/responseData.cjs.map +1 -0
  38. package/dist/cjs/reviewer.cjs +401 -0
  39. package/dist/cjs/reviewer.cjs.map +1 -0
  40. package/dist/cjs/scan.cjs +235 -0
  41. package/dist/cjs/scan.cjs.map +1 -0
  42. package/dist/cjs/search.cjs +40 -0
  43. package/dist/cjs/search.cjs.map +1 -0
  44. package/dist/cjs/session.cjs +56 -0
  45. package/dist/cjs/session.cjs.map +1 -0
  46. package/dist/cjs/showcaseProject.cjs +185 -0
  47. package/dist/cjs/showcaseProject.cjs.map +1 -0
  48. package/dist/cjs/stripe.cjs +388 -0
  49. package/dist/cjs/stripe.cjs.map +1 -0
  50. package/dist/cjs/tag.cjs +83 -0
  51. package/dist/cjs/tag.cjs.map +1 -0
  52. package/dist/cjs/translation.cjs +54 -0
  53. package/dist/cjs/translation.cjs.map +1 -0
  54. package/dist/cjs/user.cjs +153 -0
  55. package/dist/cjs/user.cjs.map +1 -0
  56. package/dist/esm/ai.mjs +261 -0
  57. package/dist/esm/ai.mjs.map +1 -0
  58. package/dist/esm/analytics.mjs +168 -0
  59. package/dist/esm/analytics.mjs.map +1 -0
  60. package/dist/esm/asset.mjs +86 -0
  61. package/dist/esm/asset.mjs.map +1 -0
  62. package/dist/esm/blogComment.mjs +94 -0
  63. package/dist/esm/blogComment.mjs.map +1 -0
  64. package/dist/esm/cliSessionToken.mjs +39 -0
  65. package/dist/esm/cliSessionToken.mjs.map +1 -0
  66. package/dist/esm/common.mjs +35 -0
  67. package/dist/esm/common.mjs.map +1 -0
  68. package/dist/esm/defineRoute.mjs +23 -0
  69. package/dist/esm/defineRoute.mjs.map +1 -0
  70. package/dist/esm/demo.mjs +21 -0
  71. package/dist/esm/demo.mjs.map +1 -0
  72. package/dist/esm/dictionary.mjs +163 -0
  73. package/dist/esm/dictionary.mjs.map +1 -0
  74. package/dist/esm/environment.mjs +90 -0
  75. package/dist/esm/environment.mjs.map +1 -0
  76. package/dist/esm/eventListener.mjs +18 -0
  77. package/dist/esm/eventListener.mjs.map +1 -0
  78. package/dist/esm/gitProviders.mjs +352 -0
  79. package/dist/esm/gitProviders.mjs.map +1 -0
  80. package/dist/esm/newsletter.mjs +49 -0
  81. package/dist/esm/newsletter.mjs.map +1 -0
  82. package/dist/esm/oAuth2.mjs +60 -0
  83. package/dist/esm/oAuth2.mjs.map +1 -0
  84. package/dist/esm/organization.mjs +219 -0
  85. package/dist/esm/organization.mjs.map +1 -0
  86. package/dist/esm/project.mjs +387 -0
  87. package/dist/esm/project.mjs.map +1 -0
  88. package/dist/esm/public.mjs +58 -0
  89. package/dist/esm/public.mjs.map +1 -0
  90. package/dist/esm/responseData.mjs +30 -0
  91. package/dist/esm/responseData.mjs.map +1 -0
  92. package/dist/esm/reviewer.mjs +390 -0
  93. package/dist/esm/reviewer.mjs.map +1 -0
  94. package/dist/esm/scan.mjs +225 -0
  95. package/dist/esm/scan.mjs.map +1 -0
  96. package/dist/esm/search.mjs +38 -0
  97. package/dist/esm/search.mjs.map +1 -0
  98. package/dist/esm/session.mjs +53 -0
  99. package/dist/esm/session.mjs.map +1 -0
  100. package/dist/esm/showcaseProject.mjs +182 -0
  101. package/dist/esm/showcaseProject.mjs.map +1 -0
  102. package/dist/esm/stripe.mjs +379 -0
  103. package/dist/esm/stripe.mjs.map +1 -0
  104. package/dist/esm/tag.mjs +81 -0
  105. package/dist/esm/tag.mjs.map +1 -0
  106. package/dist/esm/translation.mjs +53 -0
  107. package/dist/esm/translation.mjs.map +1 -0
  108. package/dist/esm/user.mjs +149 -0
  109. package/dist/esm/user.mjs.map +1 -0
  110. package/dist/types/ai.d.ts +549 -0
  111. package/dist/types/ai.d.ts.map +1 -0
  112. package/dist/types/analytics.d.ts +378 -0
  113. package/dist/types/analytics.d.ts.map +1 -0
  114. package/dist/types/asset.d.ts +207 -0
  115. package/dist/types/asset.d.ts.map +1 -0
  116. package/dist/types/blogComment.d.ts +241 -0
  117. package/dist/types/blogComment.d.ts.map +1 -0
  118. package/dist/types/cliSessionToken.d.ts +263 -0
  119. package/dist/types/cliSessionToken.d.ts.map +1 -0
  120. package/dist/types/common.d.ts +32 -0
  121. package/dist/types/common.d.ts.map +1 -0
  122. package/dist/types/defineRoute.d.ts +57 -0
  123. package/dist/types/defineRoute.d.ts.map +1 -0
  124. package/dist/types/demo.d.ts +21 -0
  125. package/dist/types/demo.d.ts.map +1 -0
  126. package/dist/types/dictionary.d.ts +360 -0
  127. package/dist/types/dictionary.d.ts.map +1 -0
  128. package/dist/types/environment.d.ts +284 -0
  129. package/dist/types/environment.d.ts.map +1 -0
  130. package/dist/types/eventListener.d.ts +17 -0
  131. package/dist/types/eventListener.d.ts.map +1 -0
  132. package/dist/types/gitProviders.d.ts +807 -0
  133. package/dist/types/gitProviders.d.ts.map +1 -0
  134. package/dist/types/newsletter.d.ts +165 -0
  135. package/dist/types/newsletter.d.ts.map +1 -0
  136. package/dist/types/oAuth2.d.ts +481 -0
  137. package/dist/types/oAuth2.d.ts.map +1 -0
  138. package/dist/types/organization.d.ts +1069 -0
  139. package/dist/types/organization.d.ts.map +1 -0
  140. package/dist/types/project.d.ts +1735 -0
  141. package/dist/types/project.d.ts.map +1 -0
  142. package/dist/types/public.d.ts +109 -0
  143. package/dist/types/public.d.ts.map +1 -0
  144. package/dist/types/responseData.d.ts +68 -0
  145. package/dist/types/responseData.d.ts.map +1 -0
  146. package/dist/types/reviewer.d.ts +1239 -0
  147. package/dist/types/reviewer.d.ts.map +1 -0
  148. package/dist/types/scan.d.ts +625 -0
  149. package/dist/types/scan.d.ts.map +1 -0
  150. package/dist/types/search.d.ts +55 -0
  151. package/dist/types/search.d.ts.map +1 -0
  152. package/dist/types/session.d.ts +286 -0
  153. package/dist/types/session.d.ts.map +1 -0
  154. package/dist/types/showcaseProject.d.ts +550 -0
  155. package/dist/types/showcaseProject.d.ts.map +1 -0
  156. package/dist/types/stripe.d.ts +1219 -0
  157. package/dist/types/stripe.d.ts.map +1 -0
  158. package/dist/types/tag.d.ts +193 -0
  159. package/dist/types/tag.d.ts.map +1 -0
  160. package/dist/types/translation.d.ts +162 -0
  161. package/dist/types/translation.d.ts.map +1 -0
  162. package/dist/types/user.d.ts +447 -0
  163. package/dist/types/user.d.ts.map +1 -0
  164. package/package.json +300 -4
@@ -0,0 +1,549 @@
1
+ import { RouteBodyInput, RouteDefinition, RouteGroup, RouteQuerystring } from "./defineRoute.js";
2
+ import { PaginatedResponse, ResponseData } from "./responseData.js";
3
+ import { Locale } from "@intlayer/types/allLocales";
4
+ import { AiProviders } from "@intlayer/types/config";
5
+ import { KeyPath } from "@intlayer/types/keyPath";
6
+ import { z } from "zod/mini";
7
+ //#region src/ai.d.ts
8
+ /**
9
+ * AI settings sent by a client. Provider-specific options (from the AI SDKs)
10
+ * pass through untouched, so the value is only checked to be an object;
11
+ * `@intlayer/ai`'s `AIOptions` is asserted assignable in the backend.
12
+ */
13
+ export type AIOptions = {
14
+ provider?: `${AiProviders}`;
15
+ model?: string;
16
+ temperature?: number;
17
+ baseURL?: string;
18
+ /** Own provider key; omitted to use the project or Intlayer key. */
19
+ apiKey?: string;
20
+ applicationContext?: string;
21
+ dataSerialization?: 'json' | 'toon';
22
+ };
23
+ export declare const aiOptionsSchema: z.ZodMiniCustom<AIOptions, AIOptions>;
24
+ /** Chat message exchanged with the assistants. */
25
+ export declare const chatCompletionRequestMessageSchema: z.ZodMiniObject<{
26
+ role: z.ZodMiniEnum<{
27
+ assistant: "assistant";
28
+ system: "system";
29
+ user: "user";
30
+ }>;
31
+ content: z.ZodMiniString<string>;
32
+ timestamp: z.ZodMiniOptional<z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<Date, string>>>;
33
+ }, z.core.$strip>;
34
+ /** Text result of an AI step (translation, audit, query). */
35
+ declare const fileContentResultSchema: z.ZodMiniObject<{
36
+ tokenUsed: z.ZodMiniNumber<number>;
37
+ fileContent: z.ZodMiniString<string>;
38
+ }, z.core.$strip>;
39
+ /** Tag fields rewritten by the tag audit (parsed from the model's JSON). */
40
+ declare const tagAuditResultSchema: z.ZodMiniObject<{
41
+ tokenUsed: z.ZodMiniNumber<number>;
42
+ fileContent: z.ZodMiniObject<{
43
+ key: z.ZodMiniOptional<z.ZodMiniString<string>>;
44
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
45
+ description: z.ZodMiniOptional<z.ZodMiniString<string>>;
46
+ instructions: z.ZodMiniOptional<z.ZodMiniString<string>>;
47
+ }, z.core.$loose>;
48
+ }, z.core.$strip>;
49
+ declare const metadataResultSchema: z.ZodMiniObject<{
50
+ tokenUsed: z.ZodMiniNumber<number>;
51
+ fileContent: z.ZodMiniObject<{
52
+ title: z.ZodMiniString<string>;
53
+ description: z.ZodMiniString<string>;
54
+ tags: z.ZodMiniArray<z.ZodMiniString<string>>;
55
+ }, z.core.$strip>;
56
+ }, z.core.$strip>;
57
+ declare const tokenUsageSchema: z.ZodMiniObject<{
58
+ inputTokens: z.ZodMiniNumber<number>;
59
+ outputTokens: z.ZodMiniNumber<number>;
60
+ totalTokens: z.ZodMiniNumber<number>;
61
+ }, z.core.$strip>;
62
+ /** Message stored in a discussion. */
63
+ export declare const discussionMessageSchema: z.ZodMiniObject<{
64
+ role: z.ZodMiniEnum<{
65
+ assistant: "assistant";
66
+ system: "system";
67
+ user: "user";
68
+ }>;
69
+ content: z.ZodMiniString<string>;
70
+ relatedFiles: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
71
+ timestamp: z.ZodMiniString<string>;
72
+ }, z.core.$strip>;
73
+ /** Saved AI discussion (doc assistant or dashboard chat). */
74
+ export declare const discussionSchema: z.ZodMiniObject<{
75
+ id: z.ZodMiniString<string>;
76
+ discussionId: z.ZodMiniString<string>;
77
+ messages: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
78
+ role: z.ZodMiniEnum<{
79
+ assistant: "assistant";
80
+ system: "system";
81
+ user: "user";
82
+ }>;
83
+ content: z.ZodMiniString<string>;
84
+ relatedFiles: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
85
+ timestamp: z.ZodMiniString<string>;
86
+ }, z.core.$strip>>>;
87
+ numberOfMessages: z.ZodMiniNumber<number>;
88
+ userId: z.ZodMiniOptional<z.ZodMiniString<string>>;
89
+ projectId: z.ZodMiniOptional<z.ZodMiniString<string>>;
90
+ organizationId: z.ZodMiniOptional<z.ZodMiniString<string>>;
91
+ title: z.ZodMiniOptional<z.ZodMiniString<string>>;
92
+ type: z.ZodMiniOptional<z.ZodMiniEnum<{
93
+ dashboard: "dashboard";
94
+ doc: "doc";
95
+ }>>;
96
+ isArchived: z.ZodMiniBoolean<boolean>;
97
+ aiModel: z.ZodMiniOptional<z.ZodMiniString<string>>;
98
+ tokenUsage: z.ZodMiniOptional<z.ZodMiniObject<{
99
+ inputTokens: z.ZodMiniNumber<number>;
100
+ outputTokens: z.ZodMiniNumber<number>;
101
+ totalTokens: z.ZodMiniNumber<number>;
102
+ }, z.core.$strip>>;
103
+ createdAt: z.ZodMiniString<string>;
104
+ updatedAt: z.ZodMiniString<string>;
105
+ }, z.core.$loose>;
106
+ /** Token usage of the project's dashboard discussions, per model. */
107
+ export declare const aiStatsSchema: z.ZodMiniObject<{
108
+ projectId: z.ZodMiniString<string>;
109
+ generatedAt: z.ZodMiniNumber<number>;
110
+ totalDiscussions: z.ZodMiniNumber<number>;
111
+ totalInputTokens: z.ZodMiniNumber<number>;
112
+ totalOutputTokens: z.ZodMiniNumber<number>;
113
+ totalTokens: z.ZodMiniNumber<number>;
114
+ modelUsage: z.ZodMiniArray<z.ZodMiniObject<{
115
+ aiModel: z.ZodMiniString<string>;
116
+ discussionCount: z.ZodMiniNumber<number>;
117
+ totalInputTokens: z.ZodMiniNumber<number>;
118
+ totalOutputTokens: z.ZodMiniNumber<number>;
119
+ totalTokens: z.ZodMiniNumber<number>;
120
+ }, z.core.$strip>>;
121
+ }, z.core.$strip>;
122
+ /** REST contract of the `/api/ai` routes. */
123
+ export declare const aiContract: RouteGroup<"/api/ai", {
124
+ readonly customQuery: RouteDefinition<"POST", "/", {
125
+ readonly body: z.ZodMiniObject<{
126
+ aiOptions: z.ZodMiniOptional<z.ZodMiniCustom<AIOptions, AIOptions>>;
127
+ tagsKeys: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
128
+ messages: z.ZodMiniCustom<unknown[], unknown[]>;
129
+ system: z.ZodMiniOptional<z.ZodMiniUnknown>;
130
+ applicationContext: z.ZodMiniOptional<z.ZodMiniString<string>>;
131
+ }, z.core.$loose>;
132
+ readonly response: {
133
+ 200: z.ZodMiniObject<{
134
+ success: z.ZodMiniBoolean<boolean>;
135
+ status: z.ZodMiniNumber<number>;
136
+ message: z.ZodMiniOptional<z.ZodMiniString<string>>;
137
+ description: z.ZodMiniOptional<z.ZodMiniString<string>>;
138
+ data: z.ZodMiniNullable<z.ZodMiniObject<{
139
+ tokenUsed: z.ZodMiniNumber<number>;
140
+ fileContent: z.ZodMiniString<string>;
141
+ }, z.core.$strip>>;
142
+ error: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniObject<{
143
+ code: z.ZodMiniString<string>;
144
+ title: z.ZodMiniString<string>;
145
+ message: z.ZodMiniString<string>;
146
+ }, z.core.$loose>, z.ZodMiniArray<z.ZodMiniObject<{
147
+ code: z.ZodMiniString<string>;
148
+ title: z.ZodMiniString<string>;
149
+ message: z.ZodMiniString<string>;
150
+ }, z.core.$loose>>]>>;
151
+ }, z.core.$strip>;
152
+ };
153
+ }>;
154
+ readonly translateJSON: RouteDefinition<"POST", "/translate/json", {
155
+ readonly body: z.ZodMiniObject<{
156
+ aiOptions: z.ZodMiniOptional<z.ZodMiniCustom<AIOptions, AIOptions>>;
157
+ tagsKeys: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
158
+ entryFileContent: z.ZodMiniCustom<Record<string, unknown>, Record<string, unknown>>;
159
+ presetOutputContent: z.ZodMiniCustom<Record<string, unknown>, Record<string, unknown>>;
160
+ dictionaryDescription: z.ZodMiniOptional<z.ZodMiniString<string>>;
161
+ entryLocale: z.ZodMiniCustom<Locale, Locale>;
162
+ outputLocale: z.ZodMiniCustom<Locale, Locale>;
163
+ mode: z.ZodMiniEnum<{
164
+ complete: "complete";
165
+ review: "review";
166
+ }>;
167
+ applicationContext: z.ZodMiniOptional<z.ZodMiniString<string>>;
168
+ }, z.core.$strip>;
169
+ readonly response: {
170
+ 200: z.ZodMiniObject<{
171
+ success: z.ZodMiniBoolean<boolean>;
172
+ status: z.ZodMiniNumber<number>;
173
+ message: z.ZodMiniOptional<z.ZodMiniString<string>>;
174
+ description: z.ZodMiniOptional<z.ZodMiniString<string>>;
175
+ data: z.ZodMiniNullable<z.ZodMiniObject<{
176
+ tokenUsed: z.ZodMiniNumber<number>;
177
+ fileContent: z.ZodMiniCustom<Record<string, unknown>, Record<string, unknown>>;
178
+ }, z.core.$strip>>;
179
+ error: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniObject<{
180
+ code: z.ZodMiniString<string>;
181
+ title: z.ZodMiniString<string>;
182
+ message: z.ZodMiniString<string>;
183
+ }, z.core.$loose>, z.ZodMiniArray<z.ZodMiniObject<{
184
+ code: z.ZodMiniString<string>;
185
+ title: z.ZodMiniString<string>;
186
+ message: z.ZodMiniString<string>;
187
+ }, z.core.$loose>>]>>;
188
+ }, z.core.$strip>;
189
+ };
190
+ }>;
191
+ readonly auditContentDeclaration: RouteDefinition<"POST", "/audit/dictionary", {
192
+ readonly body: z.ZodMiniObject<{
193
+ aiOptions: z.ZodMiniOptional<z.ZodMiniCustom<AIOptions, AIOptions>>;
194
+ tagsKeys: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
195
+ locales: z.ZodMiniArray<z.ZodMiniCustom<Locale, Locale>>;
196
+ defaultLocale: z.ZodMiniCustom<Locale, Locale>;
197
+ fileContent: z.ZodMiniString<string>;
198
+ filePath: z.ZodMiniOptional<z.ZodMiniString<string>>;
199
+ }, z.core.$strip>;
200
+ readonly response: {
201
+ 200: z.ZodMiniObject<{
202
+ success: z.ZodMiniBoolean<boolean>;
203
+ status: z.ZodMiniNumber<number>;
204
+ message: z.ZodMiniOptional<z.ZodMiniString<string>>;
205
+ description: z.ZodMiniOptional<z.ZodMiniString<string>>;
206
+ data: z.ZodMiniNullable<z.ZodMiniObject<{
207
+ tokenUsed: z.ZodMiniNumber<number>;
208
+ fileContent: z.ZodMiniObject<{
209
+ title: z.ZodMiniString<string>;
210
+ description: z.ZodMiniString<string>;
211
+ tags: z.ZodMiniArray<z.ZodMiniString<string>>;
212
+ }, z.core.$strip>;
213
+ }, z.core.$strip>>;
214
+ error: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniObject<{
215
+ code: z.ZodMiniString<string>;
216
+ title: z.ZodMiniString<string>;
217
+ message: z.ZodMiniString<string>;
218
+ }, z.core.$loose>, z.ZodMiniArray<z.ZodMiniObject<{
219
+ code: z.ZodMiniString<string>;
220
+ title: z.ZodMiniString<string>;
221
+ message: z.ZodMiniString<string>;
222
+ }, z.core.$loose>>]>>;
223
+ }, z.core.$strip>;
224
+ };
225
+ }>;
226
+ readonly auditContentDeclarationField: RouteDefinition<"POST", "/audit/dictionary/field", {
227
+ readonly body: z.ZodMiniObject<{
228
+ aiOptions: z.ZodMiniOptional<z.ZodMiniCustom<AIOptions, AIOptions>>;
229
+ tagsKeys: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
230
+ locales: z.ZodMiniArray<z.ZodMiniCustom<Locale, Locale>>;
231
+ fileContent: z.ZodMiniString<string>;
232
+ filePath: z.ZodMiniOptional<z.ZodMiniString<string>>;
233
+ keyPath: z.ZodMiniArray<z.ZodMiniCustom<KeyPath, KeyPath>>;
234
+ }, z.core.$strip>;
235
+ readonly response: {
236
+ 200: z.ZodMiniObject<{
237
+ success: z.ZodMiniBoolean<boolean>;
238
+ status: z.ZodMiniNumber<number>;
239
+ message: z.ZodMiniOptional<z.ZodMiniString<string>>;
240
+ description: z.ZodMiniOptional<z.ZodMiniString<string>>;
241
+ data: z.ZodMiniNullable<z.ZodMiniObject<{
242
+ tokenUsed: z.ZodMiniNumber<number>;
243
+ fileContent: z.ZodMiniString<string>;
244
+ }, z.core.$strip>>;
245
+ error: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniObject<{
246
+ code: z.ZodMiniString<string>;
247
+ title: z.ZodMiniString<string>;
248
+ message: z.ZodMiniString<string>;
249
+ }, z.core.$loose>, z.ZodMiniArray<z.ZodMiniObject<{
250
+ code: z.ZodMiniString<string>;
251
+ title: z.ZodMiniString<string>;
252
+ message: z.ZodMiniString<string>;
253
+ }, z.core.$loose>>]>>;
254
+ }, z.core.$strip>;
255
+ };
256
+ }>;
257
+ readonly auditContentDeclarationMetadata: RouteDefinition<"POST", "/audit/dictionary/metadata", {
258
+ readonly body: z.ZodMiniObject<{
259
+ aiOptions: z.ZodMiniOptional<z.ZodMiniCustom<AIOptions, AIOptions>>;
260
+ fileContent: z.ZodMiniString<string>;
261
+ }, z.core.$strip>;
262
+ readonly response: {
263
+ 200: z.ZodMiniObject<{
264
+ success: z.ZodMiniBoolean<boolean>;
265
+ status: z.ZodMiniNumber<number>;
266
+ message: z.ZodMiniOptional<z.ZodMiniString<string>>;
267
+ description: z.ZodMiniOptional<z.ZodMiniString<string>>;
268
+ data: z.ZodMiniNullable<z.ZodMiniObject<{
269
+ tokenUsed: z.ZodMiniNumber<number>;
270
+ fileContent: z.ZodMiniObject<{
271
+ title: z.ZodMiniString<string>;
272
+ description: z.ZodMiniString<string>;
273
+ tags: z.ZodMiniArray<z.ZodMiniString<string>>;
274
+ }, z.core.$strip>;
275
+ }, z.core.$strip>>;
276
+ error: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniObject<{
277
+ code: z.ZodMiniString<string>;
278
+ title: z.ZodMiniString<string>;
279
+ message: z.ZodMiniString<string>;
280
+ }, z.core.$loose>, z.ZodMiniArray<z.ZodMiniObject<{
281
+ code: z.ZodMiniString<string>;
282
+ title: z.ZodMiniString<string>;
283
+ message: z.ZodMiniString<string>;
284
+ }, z.core.$loose>>]>>;
285
+ }, z.core.$strip>;
286
+ };
287
+ }>;
288
+ readonly auditTag: RouteDefinition<"POST", "/audit/tag", {
289
+ readonly body: z.ZodMiniObject<{
290
+ aiOptions: z.ZodMiniOptional<z.ZodMiniCustom<AIOptions, AIOptions>>;
291
+ tag: z.ZodMiniObject<{
292
+ key: z.ZodMiniString<string>;
293
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
294
+ description: z.ZodMiniOptional<z.ZodMiniString<string>>;
295
+ instructions: z.ZodMiniOptional<z.ZodMiniString<string>>;
296
+ id: z.ZodMiniString<string>;
297
+ creatorId: z.ZodMiniString<string>;
298
+ projectId: z.ZodMiniString<string>;
299
+ organizationId: z.ZodMiniString<string>;
300
+ createdAt: z.ZodMiniString<string>;
301
+ updatedAt: z.ZodMiniString<string>;
302
+ }, z.core.$loose>;
303
+ }, z.core.$strip>;
304
+ readonly response: {
305
+ 200: z.ZodMiniObject<{
306
+ success: z.ZodMiniBoolean<boolean>;
307
+ status: z.ZodMiniNumber<number>;
308
+ message: z.ZodMiniOptional<z.ZodMiniString<string>>;
309
+ description: z.ZodMiniOptional<z.ZodMiniString<string>>;
310
+ data: z.ZodMiniNullable<z.ZodMiniObject<{
311
+ tokenUsed: z.ZodMiniNumber<number>;
312
+ fileContent: z.ZodMiniObject<{
313
+ key: z.ZodMiniOptional<z.ZodMiniString<string>>;
314
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
315
+ description: z.ZodMiniOptional<z.ZodMiniString<string>>;
316
+ instructions: z.ZodMiniOptional<z.ZodMiniString<string>>;
317
+ }, z.core.$loose>;
318
+ }, z.core.$strip>>;
319
+ error: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniObject<{
320
+ code: z.ZodMiniString<string>;
321
+ title: z.ZodMiniString<string>;
322
+ message: z.ZodMiniString<string>;
323
+ }, z.core.$loose>, z.ZodMiniArray<z.ZodMiniObject<{
324
+ code: z.ZodMiniString<string>;
325
+ title: z.ZodMiniString<string>;
326
+ message: z.ZodMiniString<string>;
327
+ }, z.core.$loose>>]>>;
328
+ }, z.core.$strip>;
329
+ };
330
+ }>;
331
+ readonly ask: RouteDefinition<"POST", "/ask", {
332
+ readonly body: z.ZodMiniObject<{
333
+ messages: z.ZodMiniArray<z.ZodMiniObject<{
334
+ role: z.ZodMiniEnum<{
335
+ assistant: "assistant";
336
+ system: "system";
337
+ user: "user";
338
+ }>;
339
+ content: z.ZodMiniString<string>;
340
+ timestamp: z.ZodMiniOptional<z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<Date, string>>>;
341
+ }, z.core.$strip>>;
342
+ discussionId: z.ZodMiniString<string>;
343
+ }, z.core.$strip>;
344
+ }>;
345
+ readonly chat: RouteDefinition<"POST", "/chat", {
346
+ readonly body: z.ZodMiniObject<{
347
+ messages: z.ZodMiniArray<z.ZodMiniObject<{
348
+ role: z.ZodMiniEnum<{
349
+ assistant: "assistant";
350
+ system: "system";
351
+ user: "user";
352
+ }>;
353
+ content: z.ZodMiniString<string>;
354
+ timestamp: z.ZodMiniOptional<z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<Date, string>>>;
355
+ }, z.core.$strip>>;
356
+ discussionId: z.ZodMiniString<string>;
357
+ }, z.core.$strip>;
358
+ }>;
359
+ readonly autocomplete: RouteDefinition<"POST", "/autocomplete", {
360
+ readonly body: z.ZodMiniObject<{
361
+ aiOptions: z.ZodMiniOptional<z.ZodMiniCustom<AIOptions, AIOptions>>;
362
+ text: z.ZodMiniString<string>;
363
+ contextBefore: z.ZodMiniOptional<z.ZodMiniString<string>>;
364
+ currentLine: z.ZodMiniOptional<z.ZodMiniString<string>>;
365
+ contextAfter: z.ZodMiniOptional<z.ZodMiniString<string>>;
366
+ }, z.core.$strip>;
367
+ readonly response: {
368
+ 200: z.ZodMiniObject<{
369
+ success: z.ZodMiniBoolean<boolean>;
370
+ status: z.ZodMiniNumber<number>;
371
+ message: z.ZodMiniOptional<z.ZodMiniString<string>>;
372
+ description: z.ZodMiniOptional<z.ZodMiniString<string>>;
373
+ data: z.ZodMiniNullable<z.ZodMiniObject<{
374
+ autocompletion: z.ZodMiniString<string>;
375
+ }, z.core.$strip>>;
376
+ error: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniObject<{
377
+ code: z.ZodMiniString<string>;
378
+ title: z.ZodMiniString<string>;
379
+ message: z.ZodMiniString<string>;
380
+ }, z.core.$loose>, z.ZodMiniArray<z.ZodMiniObject<{
381
+ code: z.ZodMiniString<string>;
382
+ title: z.ZodMiniString<string>;
383
+ message: z.ZodMiniString<string>;
384
+ }, z.core.$loose>>]>>;
385
+ }, z.core.$strip>;
386
+ };
387
+ }>;
388
+ readonly getDiscussions: RouteDefinition<"GET", "/discussions", {
389
+ readonly querystring: z.ZodMiniObject<{
390
+ page: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>>;
391
+ pageSize: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>>;
392
+ includeMessages: z.ZodMiniOptional<z.ZodMiniEnum<{
393
+ false: "false";
394
+ true: "true";
395
+ }>>;
396
+ ids: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
397
+ userId: z.ZodMiniOptional<z.ZodMiniString<string>>;
398
+ userIds: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
399
+ discussionId: z.ZodMiniOptional<z.ZodMiniString<string>>;
400
+ search: z.ZodMiniOptional<z.ZodMiniString<string>>;
401
+ isArchived: z.ZodMiniOptional<z.ZodMiniEnum<{
402
+ false: "false";
403
+ true: "true";
404
+ }>>;
405
+ sortBy: z.ZodMiniOptional<z.ZodMiniString<string>>;
406
+ sortOrder: z.ZodMiniOptional<z.ZodMiniString<string>>;
407
+ fetchAll: z.ZodMiniOptional<z.ZodMiniEnum<{
408
+ false: "false";
409
+ true: "true";
410
+ }>>;
411
+ }, z.core.$loose>;
412
+ readonly response: {
413
+ 200: z.ZodMiniObject<{
414
+ success: z.ZodMiniBoolean<boolean>;
415
+ status: z.ZodMiniNumber<number>;
416
+ message: z.ZodMiniOptional<z.ZodMiniString<string>>;
417
+ description: z.ZodMiniOptional<z.ZodMiniString<string>>;
418
+ data: z.ZodMiniNullable<z.ZodMiniArray<z.ZodMiniObject<{
419
+ id: z.ZodMiniString<string>;
420
+ discussionId: z.ZodMiniString<string>;
421
+ messages: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
422
+ role: z.ZodMiniEnum<{
423
+ assistant: "assistant";
424
+ system: "system";
425
+ user: "user";
426
+ }>;
427
+ content: z.ZodMiniString<string>;
428
+ relatedFiles: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
429
+ timestamp: z.ZodMiniString<string>;
430
+ }, z.core.$strip>>>;
431
+ numberOfMessages: z.ZodMiniNumber<number>;
432
+ userId: z.ZodMiniOptional<z.ZodMiniString<string>>;
433
+ projectId: z.ZodMiniOptional<z.ZodMiniString<string>>;
434
+ organizationId: z.ZodMiniOptional<z.ZodMiniString<string>>;
435
+ title: z.ZodMiniOptional<z.ZodMiniString<string>>;
436
+ type: z.ZodMiniOptional<z.ZodMiniEnum<{
437
+ dashboard: "dashboard";
438
+ doc: "doc";
439
+ }>>;
440
+ isArchived: z.ZodMiniBoolean<boolean>;
441
+ aiModel: z.ZodMiniOptional<z.ZodMiniString<string>>;
442
+ tokenUsage: z.ZodMiniOptional<z.ZodMiniObject<{
443
+ inputTokens: z.ZodMiniNumber<number>;
444
+ outputTokens: z.ZodMiniNumber<number>;
445
+ totalTokens: z.ZodMiniNumber<number>;
446
+ }, z.core.$strip>>;
447
+ createdAt: z.ZodMiniString<string>;
448
+ updatedAt: z.ZodMiniString<string>;
449
+ }, z.core.$loose>>>;
450
+ error: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniObject<{
451
+ code: z.ZodMiniString<string>;
452
+ title: z.ZodMiniString<string>;
453
+ message: z.ZodMiniString<string>;
454
+ }, z.core.$loose>, z.ZodMiniArray<z.ZodMiniObject<{
455
+ code: z.ZodMiniString<string>;
456
+ title: z.ZodMiniString<string>;
457
+ message: z.ZodMiniString<string>;
458
+ }, z.core.$loose>>]>>;
459
+ page: z.ZodMiniNullable<z.ZodMiniNumber<number>>;
460
+ page_size: z.ZodMiniNullable<z.ZodMiniNumber<number>>;
461
+ total_pages: z.ZodMiniNullable<z.ZodMiniNumber<number>>;
462
+ total_items: z.ZodMiniNullable<z.ZodMiniNumber<number>>;
463
+ }, z.core.$strip>;
464
+ };
465
+ }>;
466
+ readonly getAIStats: RouteDefinition<"GET", "/stats", {
467
+ readonly response: {
468
+ 200: z.ZodMiniObject<{
469
+ success: z.ZodMiniBoolean<boolean>;
470
+ status: z.ZodMiniNumber<number>;
471
+ message: z.ZodMiniOptional<z.ZodMiniString<string>>;
472
+ description: z.ZodMiniOptional<z.ZodMiniString<string>>;
473
+ data: z.ZodMiniNullable<z.ZodMiniObject<{
474
+ projectId: z.ZodMiniString<string>;
475
+ generatedAt: z.ZodMiniNumber<number>;
476
+ totalDiscussions: z.ZodMiniNumber<number>;
477
+ totalInputTokens: z.ZodMiniNumber<number>;
478
+ totalOutputTokens: z.ZodMiniNumber<number>;
479
+ totalTokens: z.ZodMiniNumber<number>;
480
+ modelUsage: z.ZodMiniArray<z.ZodMiniObject<{
481
+ aiModel: z.ZodMiniString<string>;
482
+ discussionCount: z.ZodMiniNumber<number>;
483
+ totalInputTokens: z.ZodMiniNumber<number>;
484
+ totalOutputTokens: z.ZodMiniNumber<number>;
485
+ totalTokens: z.ZodMiniNumber<number>;
486
+ }, z.core.$strip>>;
487
+ }, z.core.$strip>>;
488
+ error: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniObject<{
489
+ code: z.ZodMiniString<string>;
490
+ title: z.ZodMiniString<string>;
491
+ message: z.ZodMiniString<string>;
492
+ }, z.core.$loose>, z.ZodMiniArray<z.ZodMiniObject<{
493
+ code: z.ZodMiniString<string>;
494
+ title: z.ZodMiniString<string>;
495
+ message: z.ZodMiniString<string>;
496
+ }, z.core.$loose>>]>>;
497
+ }, z.core.$strip>;
498
+ };
499
+ }>;
500
+ }>;
501
+ /** Route definitions of the `/api/ai` group, by name. */
502
+ export type AIRoutes = (typeof aiContract)['routes'];
503
+ /**
504
+ * Chat message as built by clients: `timestamp` may be a `Date` (serialized
505
+ * to an ISO string on the wire) or already a string.
506
+ */
507
+ export type ChatCompletionRequestMessage = Omit<z.output<typeof chatCompletionRequestMessageSchema>, 'timestamp'> & {
508
+ timestamp?: Date | string;
509
+ };
510
+ export type DiscussionAPI = z.output<typeof discussionSchema>;
511
+ export type AIStats = z.output<typeof aiStatsSchema>;
512
+ export type CustomQueryBody = RouteBodyInput<AIRoutes['customQuery']>;
513
+ export type CustomQueryResult = ResponseData<z.output<typeof fileContentResultSchema>>;
514
+ export type TranslateJSONBody = RouteBodyInput<AIRoutes['translateJSON']>;
515
+ export type TranslateJSONResult = ResponseData<{
516
+ fileContent: Record<string, unknown>;
517
+ tokenUsed: number;
518
+ }>;
519
+ export type AuditContentDeclarationBody = RouteBodyInput<AIRoutes['auditContentDeclaration']>;
520
+ export type AuditContentDeclarationResult = ResponseData<z.output<typeof metadataResultSchema>>;
521
+ export type AuditContentDeclarationFieldBody = RouteBodyInput<AIRoutes['auditContentDeclarationField']>;
522
+ export type AuditContentDeclarationFieldResult = ResponseData<z.output<typeof fileContentResultSchema>>;
523
+ export type AuditContentDeclarationMetadataBody = RouteBodyInput<AIRoutes['auditContentDeclarationMetadata']>;
524
+ export type AuditContentDeclarationMetadataResult = ResponseData<z.output<typeof metadataResultSchema>>;
525
+ export type AuditTagBody = RouteBodyInput<AIRoutes['auditTag']>;
526
+ export type AuditTagResultData = z.output<typeof tagAuditResultSchema>;
527
+ export type AuditTagResult = ResponseData<AuditTagResultData>;
528
+ export type AskDocQuestionBody = RouteBodyInput<AIRoutes['ask']>;
529
+ /** Final payload of the documentation assistant stream. */
530
+ export type AskDocQuestionResult = ResponseData<{
531
+ response: string;
532
+ relatedFiles: string[];
533
+ }>;
534
+ export type ChatBody = RouteBodyInput<AIRoutes['chat']>;
535
+ /** Final payload of the dashboard assistant stream. */
536
+ export type ChatResult = ResponseData<{
537
+ response: string;
538
+ tokenUsage?: z.output<typeof tokenUsageSchema>;
539
+ aiModel?: string;
540
+ }>;
541
+ export type AutocompleteBody = RouteBodyInput<AIRoutes['autocomplete']>;
542
+ export type AutocompleteResponse = ResponseData<{
543
+ autocompletion: string;
544
+ }>;
545
+ export type GetDiscussionsParams = RouteQuerystring<AIRoutes['getDiscussions']>;
546
+ export type GetDiscussionsResult = PaginatedResponse<DiscussionAPI>;
547
+ export type GetAIStatsResult = ResponseData<AIStats>;
548
+ //#endregion
549
+ //# sourceMappingURL=ai.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai.d.ts","names":[],"sources":["../../src/ai.ts"],"mappings":";;;;;;;;;;;;YA+BY;EACV,cAAc;EACd;EACA;EACA;;EAEA;EACA;EACA;;qBAGW,iBAAe,EAAA,cAAA,WAAA;;qBAGf,oCAAkC,EAAA;;;;;;;;GAU7C,EAAA,KAAA;;cAMI,yBAAuB,EAAA;;;GAG3B,EAAA,KAAA;;cAGI,sBAAoB,EAAA;;;;;;;;GAQxB,EAAA,KAAA;cAEI,sBAAoB,EAAA;;;;;;;GAOxB,EAAA,KAAA;cAKI,kBAAgB,EAAA;;;;GAIpB,EAAA,KAAA;;qBAGW,yBAAuB,EAAA;;;;;;;;;GAKlC,EAAA,KAAA;;qBAGW,kBAAgB,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgB3B,EAAA,KAAA;;qBAGW,eAAa,EAAA;;;;;;;;;;;;;;GAgBxB,EAAA,KAAA;;qBAUW;wBAiBU;;;;;;;;;MAAH,KAAG,EAAA;;;;;;;;;;;;;;;;;;;;;0BAoBV;;;;;;;;;;;;;;;;MAAH,KAAG,EAAA;;;;;;;;;;;;;;;;;;;;;oCAmBU;;;;;;;;;;MAAH,KAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;yCAgBA;;;;;;;;;;MAAH,KAAG,EAAA;;;;;;;;;;;;;;;;;;;;;4CASA;;;;;;MAAH,KAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;qBASA;;;;;;;;;;;;;;;;;MAAH,KAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBA4BV;;;;;;;;;MAAH,KAAG,EAAA;;;;;;;;;;;;;;;;;;;;2BAsBU;;;;;;;;;;;;;;;;;;;;;;;;;MAAH,KAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAQA;;MAAH,KAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAOX,mBAAmB;;;;;YAMnB,+BAA+B,KACzC,EAAE,cAAc;EAEZ,YAAY;;YACN,gBAAgB,EAAE,cAAc;YAChC,UAAU,EAAE,cAAc;YAE1B,kBAAkB,eAAe;YACjC,oBAAoB,aAC9B,EAAE,cAAc;YAEN,oBAAoB,eAAe;YACnC,sBAAsB;EAChC,aAAa;EACb;;YAEU,8BAA8B,eACxC;YAEU,gCAAgC,aAC1C,EAAE,cAAc;YAEN,mCAAmC,eAC7C;YAEU,qCAAqC,aAC/C,EAAE,cAAc;YAEN,sCAAsC,eAChD;YAEU,wCAAwC,aAClD,EAAE,cAAc;YAEN,eAAe,eAAe;YAC9B,qBAAqB,EAAE,cAAc;YACrC,iBAAiB,aAAa;YAC9B,qBAAqB,eAAe;;YAEpC,uBAAuB;EACjC;EACA;;YAEU,WAAW,eAAe;;YAE1B,aAAa;EACvB;EACA,aAAa,EAAE,cAAc;EAC7B;;YAEU,mBAAmB,eAAe;YAClC,uBAAuB;EAAe;;YACtC,uBAAuB,iBAAiB;YACxC,uBAAuB,kBAAkB;YACzC,mBAAmB,aAAa"}