@alpic-ai/api 0.0.0-dev.gff7fdac → 0.0.0-dev.gff8cb6a
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.
- package/dist/index.d.mts +509 -1
- package/dist/index.mjs +270 -16
- package/package.json +5 -5
package/dist/index.d.mts
CHANGED
|
@@ -47,6 +47,26 @@ declare const contract: {
|
|
|
47
47
|
BAD_REQUEST: {};
|
|
48
48
|
}>, Record<never, never>>;
|
|
49
49
|
};
|
|
50
|
+
getUsage: {
|
|
51
|
+
v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
52
|
+
teamId: z.ZodString;
|
|
53
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
54
|
+
teamId: z.ZodString;
|
|
55
|
+
plan: z.ZodNullable<z.ZodEnum<{
|
|
56
|
+
pro: "pro";
|
|
57
|
+
business: "business";
|
|
58
|
+
enterprise: "enterprise";
|
|
59
|
+
}>>;
|
|
60
|
+
periodStart: z.ZodCoercedDate<unknown>;
|
|
61
|
+
periodEnd: z.ZodCoercedDate<unknown>;
|
|
62
|
+
requestCount: z.ZodNumber;
|
|
63
|
+
includedRequests: z.ZodNullable<z.ZodNumber>;
|
|
64
|
+
}, z.core.$strip>, import("@orpc/contract").MergedErrorMap<import("@orpc/contract").MergedErrorMap<Record<never, never>, {
|
|
65
|
+
BAD_REQUEST: {};
|
|
66
|
+
}>, {
|
|
67
|
+
NOT_FOUND: {};
|
|
68
|
+
}>, Record<never, never>>;
|
|
69
|
+
};
|
|
50
70
|
};
|
|
51
71
|
analytics: {
|
|
52
72
|
get: {
|
|
@@ -100,6 +120,222 @@ declare const contract: {
|
|
|
100
120
|
}>, Record<never, never>>;
|
|
101
121
|
};
|
|
102
122
|
};
|
|
123
|
+
intents: {
|
|
124
|
+
list: {
|
|
125
|
+
v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
126
|
+
tools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
127
|
+
clientIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
128
|
+
categoryIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
129
|
+
sortDir: z.ZodDefault<z.ZodEnum<{
|
|
130
|
+
asc: "asc";
|
|
131
|
+
desc: "desc";
|
|
132
|
+
}>>;
|
|
133
|
+
environmentId: z.ZodString;
|
|
134
|
+
since: z.ZodDefault<z.ZodString>;
|
|
135
|
+
until: z.ZodOptional<z.ZodString>;
|
|
136
|
+
limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
137
|
+
offset: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
138
|
+
search: z.ZodOptional<z.ZodString>;
|
|
139
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
140
|
+
intents: z.ZodArray<z.ZodObject<{
|
|
141
|
+
id: z.ZodString;
|
|
142
|
+
intentIds: z.ZodArray<z.ZodString>;
|
|
143
|
+
environmentId: z.ZodString;
|
|
144
|
+
message: z.ZodString;
|
|
145
|
+
toolName: z.ZodString;
|
|
146
|
+
createdAt: z.ZodCoercedDate<unknown>;
|
|
147
|
+
occurrenceCount: z.ZodNumber;
|
|
148
|
+
clientName: z.ZodNullable<z.ZodString>;
|
|
149
|
+
clientId: z.ZodNullable<z.ZodString>;
|
|
150
|
+
categories: z.ZodArray<z.ZodObject<{
|
|
151
|
+
id: z.ZodString;
|
|
152
|
+
name: z.ZodString;
|
|
153
|
+
color: z.ZodEnum<{
|
|
154
|
+
red: "red";
|
|
155
|
+
orange: "orange";
|
|
156
|
+
yellow: "yellow";
|
|
157
|
+
green: "green";
|
|
158
|
+
blue: "blue";
|
|
159
|
+
purple: "purple";
|
|
160
|
+
pink: "pink";
|
|
161
|
+
gray: "gray";
|
|
162
|
+
}>;
|
|
163
|
+
}, z.core.$strip>>;
|
|
164
|
+
}, z.core.$strip>>;
|
|
165
|
+
totalCount: z.ZodNumber;
|
|
166
|
+
}, z.core.$strip>, import("@orpc/contract").MergedErrorMap<import("@orpc/contract").MergedErrorMap<Record<never, never>, {
|
|
167
|
+
BAD_REQUEST: {};
|
|
168
|
+
}>, {
|
|
169
|
+
NOT_FOUND: {};
|
|
170
|
+
}>, Record<never, never>>;
|
|
171
|
+
};
|
|
172
|
+
};
|
|
173
|
+
intentCategories: {
|
|
174
|
+
list: {
|
|
175
|
+
v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
176
|
+
environmentId: z.ZodString;
|
|
177
|
+
}, z.core.$strip>, z.ZodArray<z.ZodObject<{
|
|
178
|
+
id: z.ZodString;
|
|
179
|
+
name: z.ZodString;
|
|
180
|
+
color: z.ZodEnum<{
|
|
181
|
+
red: "red";
|
|
182
|
+
orange: "orange";
|
|
183
|
+
yellow: "yellow";
|
|
184
|
+
green: "green";
|
|
185
|
+
blue: "blue";
|
|
186
|
+
purple: "purple";
|
|
187
|
+
pink: "pink";
|
|
188
|
+
gray: "gray";
|
|
189
|
+
}>;
|
|
190
|
+
intentCount: z.ZodNumber;
|
|
191
|
+
}, z.core.$strip>>, import("@orpc/contract").MergedErrorMap<import("@orpc/contract").MergedErrorMap<Record<never, never>, {
|
|
192
|
+
BAD_REQUEST: {};
|
|
193
|
+
}>, {
|
|
194
|
+
NOT_FOUND: {};
|
|
195
|
+
}>, Record<never, never>>;
|
|
196
|
+
};
|
|
197
|
+
create: {
|
|
198
|
+
v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
199
|
+
environmentId: z.ZodString;
|
|
200
|
+
name: z.ZodString;
|
|
201
|
+
color: z.ZodOptional<z.ZodEnum<{
|
|
202
|
+
red: "red";
|
|
203
|
+
orange: "orange";
|
|
204
|
+
yellow: "yellow";
|
|
205
|
+
green: "green";
|
|
206
|
+
blue: "blue";
|
|
207
|
+
purple: "purple";
|
|
208
|
+
pink: "pink";
|
|
209
|
+
gray: "gray";
|
|
210
|
+
}>>;
|
|
211
|
+
intentIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
212
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
213
|
+
id: z.ZodString;
|
|
214
|
+
createdAt: z.ZodCoercedDate<unknown>;
|
|
215
|
+
environmentId: z.ZodString;
|
|
216
|
+
name: z.ZodString;
|
|
217
|
+
color: z.ZodEnum<{
|
|
218
|
+
red: "red";
|
|
219
|
+
orange: "orange";
|
|
220
|
+
yellow: "yellow";
|
|
221
|
+
green: "green";
|
|
222
|
+
blue: "blue";
|
|
223
|
+
purple: "purple";
|
|
224
|
+
pink: "pink";
|
|
225
|
+
gray: "gray";
|
|
226
|
+
}>;
|
|
227
|
+
}, z.core.$strip>, import("@orpc/contract").MergedErrorMap<import("@orpc/contract").MergedErrorMap<Record<never, never>, {
|
|
228
|
+
BAD_REQUEST: {};
|
|
229
|
+
}>, {
|
|
230
|
+
NOT_FOUND: {};
|
|
231
|
+
}>, Record<never, never>>;
|
|
232
|
+
};
|
|
233
|
+
update: {
|
|
234
|
+
v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
235
|
+
environmentId: z.ZodString;
|
|
236
|
+
categoryId: z.ZodString;
|
|
237
|
+
name: z.ZodOptional<z.ZodString>;
|
|
238
|
+
color: z.ZodOptional<z.ZodEnum<{
|
|
239
|
+
red: "red";
|
|
240
|
+
orange: "orange";
|
|
241
|
+
yellow: "yellow";
|
|
242
|
+
green: "green";
|
|
243
|
+
blue: "blue";
|
|
244
|
+
purple: "purple";
|
|
245
|
+
pink: "pink";
|
|
246
|
+
gray: "gray";
|
|
247
|
+
}>>;
|
|
248
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
249
|
+
id: z.ZodString;
|
|
250
|
+
createdAt: z.ZodCoercedDate<unknown>;
|
|
251
|
+
environmentId: z.ZodString;
|
|
252
|
+
name: z.ZodString;
|
|
253
|
+
color: z.ZodEnum<{
|
|
254
|
+
red: "red";
|
|
255
|
+
orange: "orange";
|
|
256
|
+
yellow: "yellow";
|
|
257
|
+
green: "green";
|
|
258
|
+
blue: "blue";
|
|
259
|
+
purple: "purple";
|
|
260
|
+
pink: "pink";
|
|
261
|
+
gray: "gray";
|
|
262
|
+
}>;
|
|
263
|
+
}, z.core.$strip>, import("@orpc/contract").MergedErrorMap<import("@orpc/contract").MergedErrorMap<Record<never, never>, {
|
|
264
|
+
BAD_REQUEST: {};
|
|
265
|
+
}>, {
|
|
266
|
+
NOT_FOUND: {};
|
|
267
|
+
}>, Record<never, never>>;
|
|
268
|
+
};
|
|
269
|
+
delete: {
|
|
270
|
+
v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
271
|
+
environmentId: z.ZodString;
|
|
272
|
+
categoryId: z.ZodString;
|
|
273
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
274
|
+
success: z.ZodLiteral<true>;
|
|
275
|
+
}, z.core.$strip>, import("@orpc/contract").MergedErrorMap<import("@orpc/contract").MergedErrorMap<Record<never, never>, {
|
|
276
|
+
BAD_REQUEST: {};
|
|
277
|
+
}>, {
|
|
278
|
+
NOT_FOUND: {};
|
|
279
|
+
}>, Record<never, never>>;
|
|
280
|
+
};
|
|
281
|
+
link: {
|
|
282
|
+
v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
283
|
+
environmentId: z.ZodString;
|
|
284
|
+
categoryId: z.ZodString;
|
|
285
|
+
intentIds: z.ZodArray<z.ZodString>;
|
|
286
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
287
|
+
success: z.ZodLiteral<true>;
|
|
288
|
+
}, z.core.$strip>, import("@orpc/contract").MergedErrorMap<import("@orpc/contract").MergedErrorMap<Record<never, never>, {
|
|
289
|
+
BAD_REQUEST: {};
|
|
290
|
+
}>, {
|
|
291
|
+
NOT_FOUND: {};
|
|
292
|
+
}>, Record<never, never>>;
|
|
293
|
+
};
|
|
294
|
+
unlink: {
|
|
295
|
+
v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
296
|
+
environmentId: z.ZodString;
|
|
297
|
+
categoryId: z.ZodString;
|
|
298
|
+
intentIds: z.ZodArray<z.ZodString>;
|
|
299
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
300
|
+
success: z.ZodLiteral<true>;
|
|
301
|
+
}, z.core.$strip>, import("@orpc/contract").MergedErrorMap<import("@orpc/contract").MergedErrorMap<Record<never, never>, {
|
|
302
|
+
BAD_REQUEST: {};
|
|
303
|
+
}>, {
|
|
304
|
+
NOT_FOUND: {};
|
|
305
|
+
}>, Record<never, never>>;
|
|
306
|
+
};
|
|
307
|
+
};
|
|
308
|
+
feedbacks: {
|
|
309
|
+
list: {
|
|
310
|
+
v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
311
|
+
clientIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
312
|
+
environmentId: z.ZodString;
|
|
313
|
+
since: z.ZodDefault<z.ZodString>;
|
|
314
|
+
until: z.ZodOptional<z.ZodString>;
|
|
315
|
+
limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
316
|
+
offset: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
317
|
+
search: z.ZodOptional<z.ZodString>;
|
|
318
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
319
|
+
feedbacks: z.ZodArray<z.ZodObject<{
|
|
320
|
+
id: z.ZodString;
|
|
321
|
+
createdAt: z.ZodCoercedDate<unknown>;
|
|
322
|
+
environmentId: z.ZodString;
|
|
323
|
+
content: z.ZodString;
|
|
324
|
+
source: z.ZodEnum<{
|
|
325
|
+
user: "user";
|
|
326
|
+
model: "model";
|
|
327
|
+
}>;
|
|
328
|
+
clientName: z.ZodNullable<z.ZodString>;
|
|
329
|
+
clientId: z.ZodNullable<z.ZodString>;
|
|
330
|
+
}, z.core.$strip>>;
|
|
331
|
+
totalCount: z.ZodNumber;
|
|
332
|
+
}, z.core.$strip>, import("@orpc/contract").MergedErrorMap<import("@orpc/contract").MergedErrorMap<Record<never, never>, {
|
|
333
|
+
BAD_REQUEST: {};
|
|
334
|
+
}>, {
|
|
335
|
+
NOT_FOUND: {};
|
|
336
|
+
}>, Record<never, never>>;
|
|
337
|
+
};
|
|
338
|
+
};
|
|
103
339
|
deployments: {
|
|
104
340
|
list: {
|
|
105
341
|
v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
@@ -234,6 +470,17 @@ declare const contract: {
|
|
|
234
470
|
NOT_FOUND: {};
|
|
235
471
|
}>, Record<never, never>>;
|
|
236
472
|
};
|
|
473
|
+
delete: {
|
|
474
|
+
v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
475
|
+
environmentId: z.ZodString;
|
|
476
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
477
|
+
success: z.ZodLiteral<true>;
|
|
478
|
+
}, z.core.$strip>, import("@orpc/contract").MergedErrorMap<import("@orpc/contract").MergedErrorMap<Record<never, never>, {
|
|
479
|
+
BAD_REQUEST: {};
|
|
480
|
+
}>, {
|
|
481
|
+
NOT_FOUND: {};
|
|
482
|
+
}>, Record<never, never>>;
|
|
483
|
+
};
|
|
237
484
|
deploy: {
|
|
238
485
|
v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
239
486
|
environmentId: z.ZodString;
|
|
@@ -1079,6 +1326,26 @@ declare const contractForDocs: {
|
|
|
1079
1326
|
BAD_REQUEST: {};
|
|
1080
1327
|
}>, Record<never, never>>;
|
|
1081
1328
|
};
|
|
1329
|
+
getUsage: {
|
|
1330
|
+
v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
1331
|
+
teamId: z.ZodString;
|
|
1332
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1333
|
+
teamId: z.ZodString;
|
|
1334
|
+
plan: z.ZodNullable<z.ZodEnum<{
|
|
1335
|
+
pro: "pro";
|
|
1336
|
+
business: "business";
|
|
1337
|
+
enterprise: "enterprise";
|
|
1338
|
+
}>>;
|
|
1339
|
+
periodStart: z.ZodCoercedDate<unknown>;
|
|
1340
|
+
periodEnd: z.ZodCoercedDate<unknown>;
|
|
1341
|
+
requestCount: z.ZodNumber;
|
|
1342
|
+
includedRequests: z.ZodNullable<z.ZodNumber>;
|
|
1343
|
+
}, z.core.$strip>, import("@orpc/contract").MergedErrorMap<import("@orpc/contract").MergedErrorMap<Record<never, never>, {
|
|
1344
|
+
BAD_REQUEST: {};
|
|
1345
|
+
}>, {
|
|
1346
|
+
NOT_FOUND: {};
|
|
1347
|
+
}>, Record<never, never>>;
|
|
1348
|
+
};
|
|
1082
1349
|
};
|
|
1083
1350
|
analytics: {
|
|
1084
1351
|
get: {
|
|
@@ -1132,6 +1399,222 @@ declare const contractForDocs: {
|
|
|
1132
1399
|
}>, Record<never, never>>;
|
|
1133
1400
|
};
|
|
1134
1401
|
};
|
|
1402
|
+
intents: {
|
|
1403
|
+
list: {
|
|
1404
|
+
v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
1405
|
+
tools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
1406
|
+
clientIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
1407
|
+
categoryIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
1408
|
+
sortDir: z.ZodDefault<z.ZodEnum<{
|
|
1409
|
+
asc: "asc";
|
|
1410
|
+
desc: "desc";
|
|
1411
|
+
}>>;
|
|
1412
|
+
environmentId: z.ZodString;
|
|
1413
|
+
since: z.ZodDefault<z.ZodString>;
|
|
1414
|
+
until: z.ZodOptional<z.ZodString>;
|
|
1415
|
+
limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
1416
|
+
offset: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
1417
|
+
search: z.ZodOptional<z.ZodString>;
|
|
1418
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1419
|
+
intents: z.ZodArray<z.ZodObject<{
|
|
1420
|
+
id: z.ZodString;
|
|
1421
|
+
intentIds: z.ZodArray<z.ZodString>;
|
|
1422
|
+
environmentId: z.ZodString;
|
|
1423
|
+
message: z.ZodString;
|
|
1424
|
+
toolName: z.ZodString;
|
|
1425
|
+
createdAt: z.ZodCoercedDate<unknown>;
|
|
1426
|
+
occurrenceCount: z.ZodNumber;
|
|
1427
|
+
clientName: z.ZodNullable<z.ZodString>;
|
|
1428
|
+
clientId: z.ZodNullable<z.ZodString>;
|
|
1429
|
+
categories: z.ZodArray<z.ZodObject<{
|
|
1430
|
+
id: z.ZodString;
|
|
1431
|
+
name: z.ZodString;
|
|
1432
|
+
color: z.ZodEnum<{
|
|
1433
|
+
red: "red";
|
|
1434
|
+
orange: "orange";
|
|
1435
|
+
yellow: "yellow";
|
|
1436
|
+
green: "green";
|
|
1437
|
+
blue: "blue";
|
|
1438
|
+
purple: "purple";
|
|
1439
|
+
pink: "pink";
|
|
1440
|
+
gray: "gray";
|
|
1441
|
+
}>;
|
|
1442
|
+
}, z.core.$strip>>;
|
|
1443
|
+
}, z.core.$strip>>;
|
|
1444
|
+
totalCount: z.ZodNumber;
|
|
1445
|
+
}, z.core.$strip>, import("@orpc/contract").MergedErrorMap<import("@orpc/contract").MergedErrorMap<Record<never, never>, {
|
|
1446
|
+
BAD_REQUEST: {};
|
|
1447
|
+
}>, {
|
|
1448
|
+
NOT_FOUND: {};
|
|
1449
|
+
}>, Record<never, never>>;
|
|
1450
|
+
};
|
|
1451
|
+
};
|
|
1452
|
+
intentCategories: {
|
|
1453
|
+
list: {
|
|
1454
|
+
v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
1455
|
+
environmentId: z.ZodString;
|
|
1456
|
+
}, z.core.$strip>, z.ZodArray<z.ZodObject<{
|
|
1457
|
+
id: z.ZodString;
|
|
1458
|
+
name: z.ZodString;
|
|
1459
|
+
color: z.ZodEnum<{
|
|
1460
|
+
red: "red";
|
|
1461
|
+
orange: "orange";
|
|
1462
|
+
yellow: "yellow";
|
|
1463
|
+
green: "green";
|
|
1464
|
+
blue: "blue";
|
|
1465
|
+
purple: "purple";
|
|
1466
|
+
pink: "pink";
|
|
1467
|
+
gray: "gray";
|
|
1468
|
+
}>;
|
|
1469
|
+
intentCount: z.ZodNumber;
|
|
1470
|
+
}, z.core.$strip>>, import("@orpc/contract").MergedErrorMap<import("@orpc/contract").MergedErrorMap<Record<never, never>, {
|
|
1471
|
+
BAD_REQUEST: {};
|
|
1472
|
+
}>, {
|
|
1473
|
+
NOT_FOUND: {};
|
|
1474
|
+
}>, Record<never, never>>;
|
|
1475
|
+
};
|
|
1476
|
+
create: {
|
|
1477
|
+
v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
1478
|
+
environmentId: z.ZodString;
|
|
1479
|
+
name: z.ZodString;
|
|
1480
|
+
color: z.ZodOptional<z.ZodEnum<{
|
|
1481
|
+
red: "red";
|
|
1482
|
+
orange: "orange";
|
|
1483
|
+
yellow: "yellow";
|
|
1484
|
+
green: "green";
|
|
1485
|
+
blue: "blue";
|
|
1486
|
+
purple: "purple";
|
|
1487
|
+
pink: "pink";
|
|
1488
|
+
gray: "gray";
|
|
1489
|
+
}>>;
|
|
1490
|
+
intentIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
1491
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1492
|
+
id: z.ZodString;
|
|
1493
|
+
createdAt: z.ZodCoercedDate<unknown>;
|
|
1494
|
+
environmentId: z.ZodString;
|
|
1495
|
+
name: z.ZodString;
|
|
1496
|
+
color: z.ZodEnum<{
|
|
1497
|
+
red: "red";
|
|
1498
|
+
orange: "orange";
|
|
1499
|
+
yellow: "yellow";
|
|
1500
|
+
green: "green";
|
|
1501
|
+
blue: "blue";
|
|
1502
|
+
purple: "purple";
|
|
1503
|
+
pink: "pink";
|
|
1504
|
+
gray: "gray";
|
|
1505
|
+
}>;
|
|
1506
|
+
}, z.core.$strip>, import("@orpc/contract").MergedErrorMap<import("@orpc/contract").MergedErrorMap<Record<never, never>, {
|
|
1507
|
+
BAD_REQUEST: {};
|
|
1508
|
+
}>, {
|
|
1509
|
+
NOT_FOUND: {};
|
|
1510
|
+
}>, Record<never, never>>;
|
|
1511
|
+
};
|
|
1512
|
+
update: {
|
|
1513
|
+
v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
1514
|
+
environmentId: z.ZodString;
|
|
1515
|
+
categoryId: z.ZodString;
|
|
1516
|
+
name: z.ZodOptional<z.ZodString>;
|
|
1517
|
+
color: z.ZodOptional<z.ZodEnum<{
|
|
1518
|
+
red: "red";
|
|
1519
|
+
orange: "orange";
|
|
1520
|
+
yellow: "yellow";
|
|
1521
|
+
green: "green";
|
|
1522
|
+
blue: "blue";
|
|
1523
|
+
purple: "purple";
|
|
1524
|
+
pink: "pink";
|
|
1525
|
+
gray: "gray";
|
|
1526
|
+
}>>;
|
|
1527
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1528
|
+
id: z.ZodString;
|
|
1529
|
+
createdAt: z.ZodCoercedDate<unknown>;
|
|
1530
|
+
environmentId: z.ZodString;
|
|
1531
|
+
name: z.ZodString;
|
|
1532
|
+
color: z.ZodEnum<{
|
|
1533
|
+
red: "red";
|
|
1534
|
+
orange: "orange";
|
|
1535
|
+
yellow: "yellow";
|
|
1536
|
+
green: "green";
|
|
1537
|
+
blue: "blue";
|
|
1538
|
+
purple: "purple";
|
|
1539
|
+
pink: "pink";
|
|
1540
|
+
gray: "gray";
|
|
1541
|
+
}>;
|
|
1542
|
+
}, z.core.$strip>, import("@orpc/contract").MergedErrorMap<import("@orpc/contract").MergedErrorMap<Record<never, never>, {
|
|
1543
|
+
BAD_REQUEST: {};
|
|
1544
|
+
}>, {
|
|
1545
|
+
NOT_FOUND: {};
|
|
1546
|
+
}>, Record<never, never>>;
|
|
1547
|
+
};
|
|
1548
|
+
delete: {
|
|
1549
|
+
v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
1550
|
+
environmentId: z.ZodString;
|
|
1551
|
+
categoryId: z.ZodString;
|
|
1552
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1553
|
+
success: z.ZodLiteral<true>;
|
|
1554
|
+
}, z.core.$strip>, import("@orpc/contract").MergedErrorMap<import("@orpc/contract").MergedErrorMap<Record<never, never>, {
|
|
1555
|
+
BAD_REQUEST: {};
|
|
1556
|
+
}>, {
|
|
1557
|
+
NOT_FOUND: {};
|
|
1558
|
+
}>, Record<never, never>>;
|
|
1559
|
+
};
|
|
1560
|
+
link: {
|
|
1561
|
+
v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
1562
|
+
environmentId: z.ZodString;
|
|
1563
|
+
categoryId: z.ZodString;
|
|
1564
|
+
intentIds: z.ZodArray<z.ZodString>;
|
|
1565
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1566
|
+
success: z.ZodLiteral<true>;
|
|
1567
|
+
}, z.core.$strip>, import("@orpc/contract").MergedErrorMap<import("@orpc/contract").MergedErrorMap<Record<never, never>, {
|
|
1568
|
+
BAD_REQUEST: {};
|
|
1569
|
+
}>, {
|
|
1570
|
+
NOT_FOUND: {};
|
|
1571
|
+
}>, Record<never, never>>;
|
|
1572
|
+
};
|
|
1573
|
+
unlink: {
|
|
1574
|
+
v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
1575
|
+
environmentId: z.ZodString;
|
|
1576
|
+
categoryId: z.ZodString;
|
|
1577
|
+
intentIds: z.ZodArray<z.ZodString>;
|
|
1578
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1579
|
+
success: z.ZodLiteral<true>;
|
|
1580
|
+
}, z.core.$strip>, import("@orpc/contract").MergedErrorMap<import("@orpc/contract").MergedErrorMap<Record<never, never>, {
|
|
1581
|
+
BAD_REQUEST: {};
|
|
1582
|
+
}>, {
|
|
1583
|
+
NOT_FOUND: {};
|
|
1584
|
+
}>, Record<never, never>>;
|
|
1585
|
+
};
|
|
1586
|
+
};
|
|
1587
|
+
feedbacks: {
|
|
1588
|
+
list: {
|
|
1589
|
+
v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
1590
|
+
clientIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
1591
|
+
environmentId: z.ZodString;
|
|
1592
|
+
since: z.ZodDefault<z.ZodString>;
|
|
1593
|
+
until: z.ZodOptional<z.ZodString>;
|
|
1594
|
+
limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
1595
|
+
offset: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
1596
|
+
search: z.ZodOptional<z.ZodString>;
|
|
1597
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1598
|
+
feedbacks: z.ZodArray<z.ZodObject<{
|
|
1599
|
+
id: z.ZodString;
|
|
1600
|
+
createdAt: z.ZodCoercedDate<unknown>;
|
|
1601
|
+
environmentId: z.ZodString;
|
|
1602
|
+
content: z.ZodString;
|
|
1603
|
+
source: z.ZodEnum<{
|
|
1604
|
+
user: "user";
|
|
1605
|
+
model: "model";
|
|
1606
|
+
}>;
|
|
1607
|
+
clientName: z.ZodNullable<z.ZodString>;
|
|
1608
|
+
clientId: z.ZodNullable<z.ZodString>;
|
|
1609
|
+
}, z.core.$strip>>;
|
|
1610
|
+
totalCount: z.ZodNumber;
|
|
1611
|
+
}, z.core.$strip>, import("@orpc/contract").MergedErrorMap<import("@orpc/contract").MergedErrorMap<Record<never, never>, {
|
|
1612
|
+
BAD_REQUEST: {};
|
|
1613
|
+
}>, {
|
|
1614
|
+
NOT_FOUND: {};
|
|
1615
|
+
}>, Record<never, never>>;
|
|
1616
|
+
};
|
|
1617
|
+
};
|
|
1135
1618
|
environments: {
|
|
1136
1619
|
create: {
|
|
1137
1620
|
v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
@@ -1173,6 +1656,17 @@ declare const contractForDocs: {
|
|
|
1173
1656
|
NOT_FOUND: {};
|
|
1174
1657
|
}>, Record<never, never>>;
|
|
1175
1658
|
};
|
|
1659
|
+
delete: {
|
|
1660
|
+
v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
1661
|
+
environmentId: z.ZodString;
|
|
1662
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1663
|
+
success: z.ZodLiteral<true>;
|
|
1664
|
+
}, z.core.$strip>, import("@orpc/contract").MergedErrorMap<import("@orpc/contract").MergedErrorMap<Record<never, never>, {
|
|
1665
|
+
BAD_REQUEST: {};
|
|
1666
|
+
}>, {
|
|
1667
|
+
NOT_FOUND: {};
|
|
1668
|
+
}>, Record<never, never>>;
|
|
1669
|
+
};
|
|
1176
1670
|
deploy: {
|
|
1177
1671
|
v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
1178
1672
|
environmentId: z.ZodString;
|
|
@@ -1940,6 +2434,20 @@ type RouteAuthMeta = {
|
|
|
1940
2434
|
authScope?: AuthScope;
|
|
1941
2435
|
};
|
|
1942
2436
|
//#endregion
|
|
2437
|
+
//#region ../domains/src/intents/schemas.d.ts
|
|
2438
|
+
declare const intentCategoryColorSchema: z.ZodEnum<{
|
|
2439
|
+
red: "red";
|
|
2440
|
+
orange: "orange";
|
|
2441
|
+
yellow: "yellow";
|
|
2442
|
+
green: "green";
|
|
2443
|
+
blue: "blue";
|
|
2444
|
+
purple: "purple";
|
|
2445
|
+
pink: "pink";
|
|
2446
|
+
gray: "gray";
|
|
2447
|
+
}>;
|
|
2448
|
+
type IntentCategoryColor = z.infer<typeof intentCategoryColorSchema>;
|
|
2449
|
+
declare const INTENT_CATEGORY_COLORS: ("red" | "orange" | "yellow" | "green" | "blue" | "purple" | "pink" | "gray")[];
|
|
2450
|
+
//#endregion
|
|
1943
2451
|
//#region ../domains/src/platforms/schemas.d.ts
|
|
1944
2452
|
declare const platformSchema: z.ZodEnum<{
|
|
1945
2453
|
chatgpt: "chatgpt";
|
|
@@ -2019,4 +2527,4 @@ declare const serverFieldsSchema: z.ZodObject<{
|
|
|
2019
2527
|
}, z.core.$strip>>>;
|
|
2020
2528
|
}, z.core.$strip>;
|
|
2021
2529
|
//#endregion
|
|
2022
|
-
export { AUTH_SCOPE_ANY, AUTH_SCOPE_USER, ApiContext, AuthScope, PLATFORM_LABELS, type Platform, RouteAuthMeta, RouterInput, RouterOutput, Runtime, Transport, buildSettingsSchema, contract, contractForDocs, createEnvironmentContractV1, deploymentStatusSchema, environmentVariableSchema, environmentVariablesSchema, playgroundExamplePromptSchema, playgroundHeaderSchema, runtimeSchema, serverFieldsSchema, transportSchema, updateEnvironmentVariableSchema };
|
|
2530
|
+
export { AUTH_SCOPE_ANY, AUTH_SCOPE_USER, ApiContext, AuthScope, INTENT_CATEGORY_COLORS, type IntentCategoryColor, PLATFORM_LABELS, type Platform, RouteAuthMeta, RouterInput, RouterOutput, Runtime, Transport, buildSettingsSchema, contract, contractForDocs, createEnvironmentContractV1, deploymentStatusSchema, environmentVariableSchema, environmentVariablesSchema, intentCategoryColorSchema, playgroundExamplePromptSchema, playgroundHeaderSchema, runtimeSchema, serverFieldsSchema, transportSchema, updateEnvironmentVariableSchema };
|
package/dist/index.mjs
CHANGED
|
@@ -2,7 +2,7 @@ import { z } from "zod";
|
|
|
2
2
|
import * as z$1 from "zod/v4";
|
|
3
3
|
import { oc } from "@orpc/contract";
|
|
4
4
|
import ms from "ms";
|
|
5
|
-
//#region ../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.30.0_supports-color@7.2.0_zod@4.4
|
|
5
|
+
//#region ../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.30.0_supports-color@7.2.0_zod@4.5.4/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth.js
|
|
6
6
|
/**
|
|
7
7
|
* Reusable URL validation that disallows javascript: scheme
|
|
8
8
|
*/
|
|
@@ -179,6 +179,7 @@ const PLATFORM_LABELS = {
|
|
|
179
179
|
};
|
|
180
180
|
const WAF_PLATFORMS = [
|
|
181
181
|
"akamai",
|
|
182
|
+
"cato",
|
|
182
183
|
"cloudflare",
|
|
183
184
|
"fastly"
|
|
184
185
|
];
|
|
@@ -256,6 +257,25 @@ z.object({
|
|
|
256
257
|
clientSecret: z.string(),
|
|
257
258
|
clientScopes: z.array(z.string())
|
|
258
259
|
});
|
|
260
|
+
const creditEntryReasonSchema = z.enum([
|
|
261
|
+
"free_seed",
|
|
262
|
+
"paid_conversion_floor",
|
|
263
|
+
"top_up",
|
|
264
|
+
"usage",
|
|
265
|
+
"admin_adjustment"
|
|
266
|
+
]);
|
|
267
|
+
z.enum(["playground"]);
|
|
268
|
+
z.number().int().min(500);
|
|
269
|
+
const creditActivityEntrySchema = z.object({
|
|
270
|
+
reason: creditEntryReasonSchema,
|
|
271
|
+
day: z.number(),
|
|
272
|
+
amountInNanoUSD: z.number(),
|
|
273
|
+
messageCount: z.number().nullable()
|
|
274
|
+
});
|
|
275
|
+
z.object({
|
|
276
|
+
balanceInNanoUSD: z.number(),
|
|
277
|
+
recentActivity: z.array(creditActivityEntrySchema)
|
|
278
|
+
});
|
|
259
279
|
const deploymentStatusSchema$1 = z.enum([
|
|
260
280
|
"ongoing",
|
|
261
281
|
"deployed",
|
|
@@ -402,7 +422,7 @@ z.object({
|
|
|
402
422
|
collectUserData: z.boolean(),
|
|
403
423
|
identityTraitKey: z.string().min(1).max(200).nullable()
|
|
404
424
|
});
|
|
405
|
-
z.object({
|
|
425
|
+
const feedbackSchema = z.object({
|
|
406
426
|
id: z.string(),
|
|
407
427
|
createdAt: z.coerce.date(),
|
|
408
428
|
environmentId: z.string(),
|
|
@@ -424,7 +444,7 @@ const intentCategoryColorSchema = z.enum([
|
|
|
424
444
|
"pink",
|
|
425
445
|
"gray"
|
|
426
446
|
]);
|
|
427
|
-
intentCategoryColorSchema.options;
|
|
447
|
+
const INTENT_CATEGORY_COLORS = intentCategoryColorSchema.options;
|
|
428
448
|
const intentCategorySchema = z.object({
|
|
429
449
|
id: z.string(),
|
|
430
450
|
createdAt: z.coerce.date(),
|
|
@@ -432,7 +452,7 @@ const intentCategorySchema = z.object({
|
|
|
432
452
|
name: z.string(),
|
|
433
453
|
color: intentCategoryColorSchema
|
|
434
454
|
});
|
|
435
|
-
z.object({
|
|
455
|
+
const intentCategorySummarySchema = z.object({
|
|
436
456
|
id: z.string(),
|
|
437
457
|
name: z.string(),
|
|
438
458
|
color: intentCategoryColorSchema,
|
|
@@ -503,6 +523,16 @@ z.object({
|
|
|
503
523
|
createdAt: z.coerce.date(),
|
|
504
524
|
updatedAt: z.coerce.date()
|
|
505
525
|
});
|
|
526
|
+
const alpicMcpRequestLogSchema = z.object({
|
|
527
|
+
type: z.literal("mcp_request"),
|
|
528
|
+
method: z.string()
|
|
529
|
+
});
|
|
530
|
+
const alpicMcpErrorLogSchema = z.object({
|
|
531
|
+
type: z.literal("mcp_error"),
|
|
532
|
+
method: z.string(),
|
|
533
|
+
error: z.string()
|
|
534
|
+
});
|
|
535
|
+
z.union([alpicMcpRequestLogSchema, alpicMcpErrorLogSchema]);
|
|
506
536
|
z.enum([
|
|
507
537
|
"INFO",
|
|
508
538
|
"WARNING",
|
|
@@ -1414,17 +1444,70 @@ const customerCreditsSchema = z.object({
|
|
|
1414
1444
|
expiresAt: z.number().nullable(),
|
|
1415
1445
|
currency: z.string()
|
|
1416
1446
|
});
|
|
1417
|
-
const customerUsageSchema = z.object({
|
|
1418
|
-
amountInCents: z.number(),
|
|
1419
|
-
currency: z.string(),
|
|
1420
|
-
periodEnd: z.number()
|
|
1421
|
-
});
|
|
1422
1447
|
const partnerDiscountSchema = z.object({ endsAt: z.number() });
|
|
1423
1448
|
z.object({
|
|
1424
1449
|
customerCredits: customerCreditsSchema.nullable(),
|
|
1425
|
-
customerUsage: customerUsageSchema.nullable(),
|
|
1426
1450
|
partnerDiscount: partnerDiscountSchema.nullable()
|
|
1427
1451
|
});
|
|
1452
|
+
const metricsQueueEventSchema = z.object({
|
|
1453
|
+
ts: z.number().int(),
|
|
1454
|
+
method: z.string(),
|
|
1455
|
+
tool: z.string().nullable(),
|
|
1456
|
+
client: z.string(),
|
|
1457
|
+
sessionId: z.string().nullable(),
|
|
1458
|
+
durationMs: z.number().int(),
|
|
1459
|
+
outputTokens: z.number().int().nullable(),
|
|
1460
|
+
errorType: z.enum([
|
|
1461
|
+
"mcp_error",
|
|
1462
|
+
"tool_error",
|
|
1463
|
+
"timeout"
|
|
1464
|
+
]).nullable(),
|
|
1465
|
+
errorCode: z.number().int().nullable()
|
|
1466
|
+
});
|
|
1467
|
+
z.object({
|
|
1468
|
+
v: z.literal(1),
|
|
1469
|
+
envId: z.string(),
|
|
1470
|
+
events: z.array(metricsQueueEventSchema)
|
|
1471
|
+
});
|
|
1472
|
+
z.object({ v: z.number() });
|
|
1473
|
+
const telemetrySignalSchema = z.enum([
|
|
1474
|
+
"logs",
|
|
1475
|
+
"metrics",
|
|
1476
|
+
"traces"
|
|
1477
|
+
]);
|
|
1478
|
+
const otlpProtocolSchema = z.enum(["http/protobuf", "http/json"]);
|
|
1479
|
+
const otlpEndpointSchema = z.string().trim().min(1).max(2048);
|
|
1480
|
+
const OTLP_HEADER_VALUE_MAX_LENGTH = 2048;
|
|
1481
|
+
const otlpHeaderNameSchema = z.string().trim().min(1, "Enter a header name").max(128).regex(/^[A-Za-z0-9!#$%&'*+\-.^_`|~]+$/, "Use letters, digits and !#$%&'*+-.^_`|~ only");
|
|
1482
|
+
const otlpHeaderValueSchema = z.string().trim().max(OTLP_HEADER_VALUE_MAX_LENGTH).refine((value) => !/[\r\n]/.test(value), "Line breaks are not allowed in a header value");
|
|
1483
|
+
const telemetryDestinationHeaderSchema = z.object({
|
|
1484
|
+
id: z.string(),
|
|
1485
|
+
name: otlpHeaderNameSchema,
|
|
1486
|
+
value: otlpHeaderValueSchema,
|
|
1487
|
+
isSecret: z.boolean()
|
|
1488
|
+
});
|
|
1489
|
+
const otlpPushFailureReasonSchema = z.enum([
|
|
1490
|
+
"credentials",
|
|
1491
|
+
"wrong-path",
|
|
1492
|
+
"wrong-protocol",
|
|
1493
|
+
"invalid-payload",
|
|
1494
|
+
"partial-rejection",
|
|
1495
|
+
"blocked-target",
|
|
1496
|
+
"timeout",
|
|
1497
|
+
"unreachable",
|
|
1498
|
+
"receiver-error",
|
|
1499
|
+
"unexpected-status"
|
|
1500
|
+
]);
|
|
1501
|
+
const telemetryDestinationStatusSchema = z.enum(["active", "suspended"]);
|
|
1502
|
+
z.object({
|
|
1503
|
+
id: z.string(),
|
|
1504
|
+
signal: telemetrySignalSchema,
|
|
1505
|
+
endpoint: otlpEndpointSchema,
|
|
1506
|
+
protocol: otlpProtocolSchema,
|
|
1507
|
+
headers: z.array(telemetryDestinationHeaderSchema),
|
|
1508
|
+
status: telemetryDestinationStatusSchema,
|
|
1509
|
+
lastFailureReason: otlpPushFailureReasonSchema.nullable()
|
|
1510
|
+
});
|
|
1428
1511
|
//#endregion
|
|
1429
1512
|
//#region src/auth-scope.ts
|
|
1430
1513
|
/** Accepts an API key or OAuth access token (default for most routes). */
|
|
@@ -1523,6 +1606,14 @@ const serverFieldsSchema = z.object({
|
|
|
1523
1606
|
});
|
|
1524
1607
|
//#endregion
|
|
1525
1608
|
//#region src/api.contract.ts
|
|
1609
|
+
const isValidIanaTimeZone = (timeZone) => {
|
|
1610
|
+
try {
|
|
1611
|
+
new Intl.DateTimeFormat("en-US", { timeZone });
|
|
1612
|
+
return true;
|
|
1613
|
+
} catch {
|
|
1614
|
+
return false;
|
|
1615
|
+
}
|
|
1616
|
+
};
|
|
1526
1617
|
const deploymentStatusSchema = z.enum([
|
|
1527
1618
|
"ongoing",
|
|
1528
1619
|
"deployed",
|
|
@@ -1551,10 +1642,11 @@ const deploymentSchema = z.object({
|
|
|
1551
1642
|
isCurrent: z.boolean(),
|
|
1552
1643
|
deploymentPageUrl: z.url().nullable()
|
|
1553
1644
|
});
|
|
1554
|
-
const
|
|
1645
|
+
const isValidTimeInput = (value) => {
|
|
1555
1646
|
if (ms(value) !== void 0) return true;
|
|
1556
1647
|
return !Number.isNaN(new Date(value).getTime());
|
|
1557
1648
|
};
|
|
1649
|
+
const timeInputSchema = z.string().refine(isValidTimeInput, { message: "Invalid time. Use relative (1h, 30m, 2d) or ISO 8601 format." });
|
|
1558
1650
|
const base = oc.errors({ BAD_REQUEST: {} });
|
|
1559
1651
|
const createEnvironmentContractV1 = base.route({
|
|
1560
1652
|
path: "/v1/environments",
|
|
@@ -1592,6 +1684,14 @@ const getEnvironmentContractV1 = base.route({
|
|
|
1592
1684
|
createdAt: z.coerce.date(),
|
|
1593
1685
|
projectId: z.string()
|
|
1594
1686
|
}));
|
|
1687
|
+
const deleteEnvironmentContractV1 = base.route({
|
|
1688
|
+
path: "/v1/environments/{environmentId}",
|
|
1689
|
+
method: "DELETE",
|
|
1690
|
+
summary: "Delete an environment",
|
|
1691
|
+
description: "All environments can be deleted except the production environment. This operation is not reversible: associated logs, analytics, and metrics are deleted as well.",
|
|
1692
|
+
tags: ["environments"],
|
|
1693
|
+
successDescription: "The environment has been deleted successfully"
|
|
1694
|
+
}).errors({ NOT_FOUND: {} }).input(z.object({ environmentId: z.string().describe("The ID of the environment") })).output(z.object({ success: z.literal(true) }));
|
|
1595
1695
|
const domainSchema = z.object({
|
|
1596
1696
|
domain: z.string(),
|
|
1597
1697
|
status: z.enum([
|
|
@@ -1832,8 +1932,8 @@ const getLogsContractV1 = base.route({
|
|
|
1832
1932
|
successDescription: "The logs"
|
|
1833
1933
|
}).errors({ NOT_FOUND: {} }).input(z.object({
|
|
1834
1934
|
environmentId: z.string().describe("The ID of the environment"),
|
|
1835
|
-
since:
|
|
1836
|
-
until:
|
|
1935
|
+
since: timeInputSchema.optional().describe("Start time — ISO 8601 (2024-01-01T00:00:00Z) or relative (1h, 30m, 2d)"),
|
|
1936
|
+
until: timeInputSchema.optional().describe("End time — ISO 8601 or relative"),
|
|
1837
1937
|
limit: z.coerce.number().int().min(1).max(1e3).default(1e3).describe("Maximum number of log entries to return."),
|
|
1838
1938
|
level: z.array(z.enum([
|
|
1839
1939
|
"INFO",
|
|
@@ -1904,7 +2004,7 @@ const getProjectAnalyticsContractV1 = base.route({
|
|
|
1904
2004
|
startTimestamp: z.coerce.number().describe("Start timestamp in milliseconds"),
|
|
1905
2005
|
endTimestamp: z.coerce.number().describe("End timestamp in milliseconds"),
|
|
1906
2006
|
timeZone: z.string().describe("IANA timezone (e.g. Europe/Paris)")
|
|
1907
|
-
}).refine(({ startTimestamp, endTimestamp }) => endTimestamp - startTimestamp > 0, { message: "End date must be after start date" }).refine(({ startTimestamp, endTimestamp }) => endTimestamp - startTimestamp <=
|
|
2007
|
+
}).refine(({ startTimestamp, endTimestamp }) => endTimestamp - startTimestamp > 0, { message: "End date must be after start date" }).refine(({ startTimestamp, endTimestamp }) => endTimestamp - startTimestamp <= 26784e5, { message: "Date range must be less than 1 month" }).refine(({ timeZone }) => isValidIanaTimeZone(timeZone), { message: "Time zone must be a valid IANA timezone" })).output(z.object({
|
|
1908
2008
|
metadata: z.object({
|
|
1909
2009
|
startTimestamp: z.number(),
|
|
1910
2010
|
endTimestamp: z.number(),
|
|
@@ -1914,6 +2014,131 @@ const getProjectAnalyticsContractV1 = base.route({
|
|
|
1914
2014
|
}),
|
|
1915
2015
|
timeSeries: analyticsTimeSeriesSchema
|
|
1916
2016
|
}));
|
|
2017
|
+
const paginatedInsightsInputShape = {
|
|
2018
|
+
environmentId: z.string().describe("The ID of the environment"),
|
|
2019
|
+
since: timeInputSchema.default("7d").describe("Start time — ISO 8601 (2024-01-01T00:00:00Z) or relative (1h, 30m, 2d)"),
|
|
2020
|
+
until: timeInputSchema.optional().describe("End time — ISO 8601 or relative"),
|
|
2021
|
+
limit: z.coerce.number().int().min(1).max(200).default(50),
|
|
2022
|
+
offset: z.coerce.number().int().min(0).default(0),
|
|
2023
|
+
search: z.string().trim().min(1).max(200).optional()
|
|
2024
|
+
};
|
|
2025
|
+
const listIntentsContractV1 = base.route({
|
|
2026
|
+
path: "/v1/environments/{environmentId}/intents",
|
|
2027
|
+
method: "GET",
|
|
2028
|
+
summary: "List intents",
|
|
2029
|
+
description: "List grouped user intents for an environment over a time range",
|
|
2030
|
+
tags: ["insights"],
|
|
2031
|
+
successDescription: "The grouped user intents"
|
|
2032
|
+
}).errors({ NOT_FOUND: {} }).input(z.object({
|
|
2033
|
+
...paginatedInsightsInputShape,
|
|
2034
|
+
tools: z.array(z.string().trim().min(1)).min(1).max(100).optional(),
|
|
2035
|
+
clientIds: z.array(z.string().min(1)).min(1).max(100).optional(),
|
|
2036
|
+
categoryIds: z.array(z.string().trim().min(1)).min(1).max(100).optional(),
|
|
2037
|
+
sortDir: z.enum(["asc", "desc"]).default("desc")
|
|
2038
|
+
})).output(z.object({
|
|
2039
|
+
intents: z.array(z.object({
|
|
2040
|
+
id: z.string(),
|
|
2041
|
+
intentIds: z.array(z.string()).min(1),
|
|
2042
|
+
environmentId: z.string(),
|
|
2043
|
+
message: z.string(),
|
|
2044
|
+
toolName: z.string(),
|
|
2045
|
+
createdAt: z.coerce.date(),
|
|
2046
|
+
occurrenceCount: z.number().int().positive(),
|
|
2047
|
+
clientName: z.string().nullable(),
|
|
2048
|
+
clientId: z.string().nullable(),
|
|
2049
|
+
categories: z.array(z.object({
|
|
2050
|
+
id: z.string(),
|
|
2051
|
+
name: z.string(),
|
|
2052
|
+
color: intentCategoryColorSchema
|
|
2053
|
+
}))
|
|
2054
|
+
})),
|
|
2055
|
+
totalCount: z.number().int().nonnegative()
|
|
2056
|
+
}));
|
|
2057
|
+
const listFeedbacksContractV1 = base.route({
|
|
2058
|
+
path: "/v1/environments/{environmentId}/feedbacks",
|
|
2059
|
+
method: "GET",
|
|
2060
|
+
summary: "List feedbacks",
|
|
2061
|
+
description: "List user feedback for an environment over a time range",
|
|
2062
|
+
tags: ["insights"],
|
|
2063
|
+
successDescription: "The user feedback"
|
|
2064
|
+
}).errors({ NOT_FOUND: {} }).input(z.object({
|
|
2065
|
+
...paginatedInsightsInputShape,
|
|
2066
|
+
clientIds: z.array(z.string().min(1)).min(1).max(100).optional()
|
|
2067
|
+
})).output(z.object({
|
|
2068
|
+
feedbacks: z.array(feedbackSchema.extend({ clientId: z.string().nullable() })),
|
|
2069
|
+
totalCount: z.number().int().nonnegative()
|
|
2070
|
+
}));
|
|
2071
|
+
const intentCategoryNameSchema = z.string().trim().min(1).max(100).describe("The category name");
|
|
2072
|
+
const categorizableIntentIdsSchema = z.array(z.string().trim().min(1)).min(1).max(100).describe("IDs of the intents to categorize");
|
|
2073
|
+
const listIntentCategoriesContractV1 = base.route({
|
|
2074
|
+
path: "/v1/environments/{environmentId}/intent-categories",
|
|
2075
|
+
method: "GET",
|
|
2076
|
+
summary: "List intent categories",
|
|
2077
|
+
description: "List intent categories for an environment, including how many intents each category is linked to",
|
|
2078
|
+
tags: ["insights"],
|
|
2079
|
+
successDescription: "The intent categories"
|
|
2080
|
+
}).errors({ NOT_FOUND: {} }).input(z.object({ environmentId: z.string().describe("The ID of the environment") })).output(z.array(intentCategorySummarySchema));
|
|
2081
|
+
const createIntentCategoryContractV1 = base.route({
|
|
2082
|
+
path: "/v1/environments/{environmentId}/intent-categories",
|
|
2083
|
+
method: "POST",
|
|
2084
|
+
summary: "Create an intent category",
|
|
2085
|
+
description: "Create an intent category, optionally linking it to existing intents",
|
|
2086
|
+
tags: ["insights"],
|
|
2087
|
+
successDescription: "The created intent category"
|
|
2088
|
+
}).errors({ NOT_FOUND: {} }).input(z.object({
|
|
2089
|
+
environmentId: z.string().describe("The ID of the environment"),
|
|
2090
|
+
name: intentCategoryNameSchema,
|
|
2091
|
+
color: intentCategoryColorSchema.optional().describe("The category color; derived from the name when omitted"),
|
|
2092
|
+
intentIds: categorizableIntentIdsSchema.optional().describe("IDs of intents to link to the new category")
|
|
2093
|
+
})).output(intentCategorySchema);
|
|
2094
|
+
const updateIntentCategoryContractV1 = base.route({
|
|
2095
|
+
path: "/v1/environments/{environmentId}/intent-categories/{categoryId}",
|
|
2096
|
+
method: "PATCH",
|
|
2097
|
+
summary: "Update an intent category",
|
|
2098
|
+
description: "Rename or recolor an intent category",
|
|
2099
|
+
tags: ["insights"],
|
|
2100
|
+
successDescription: "The updated intent category"
|
|
2101
|
+
}).errors({ NOT_FOUND: {} }).input(z.object({
|
|
2102
|
+
environmentId: z.string().describe("The ID of the environment"),
|
|
2103
|
+
categoryId: z.string().describe("The ID of the category"),
|
|
2104
|
+
name: intentCategoryNameSchema.optional(),
|
|
2105
|
+
color: intentCategoryColorSchema.optional().describe("The category color")
|
|
2106
|
+
}).refine(({ name, color }) => name !== void 0 || color !== void 0, { message: "At least one of name or color must be provided" })).output(intentCategorySchema);
|
|
2107
|
+
const deleteIntentCategoryContractV1 = base.route({
|
|
2108
|
+
path: "/v1/environments/{environmentId}/intent-categories/{categoryId}",
|
|
2109
|
+
method: "DELETE",
|
|
2110
|
+
summary: "Delete an intent category",
|
|
2111
|
+
description: "Delete an intent category; its intents are unlinked but not deleted",
|
|
2112
|
+
tags: ["insights"],
|
|
2113
|
+
successDescription: "The intent category has been deleted successfully"
|
|
2114
|
+
}).errors({ NOT_FOUND: {} }).input(z.object({
|
|
2115
|
+
environmentId: z.string().describe("The ID of the environment"),
|
|
2116
|
+
categoryId: z.string().describe("The ID of the category")
|
|
2117
|
+
})).output(z.object({ success: z.literal(true) }));
|
|
2118
|
+
const linkIntentCategoryContractV1 = base.route({
|
|
2119
|
+
path: "/v1/environments/{environmentId}/intent-categories/{categoryId}/link",
|
|
2120
|
+
method: "POST",
|
|
2121
|
+
summary: "Link an intent category",
|
|
2122
|
+
description: "Link an intent category to intents; already linked intents are ignored",
|
|
2123
|
+
tags: ["insights"],
|
|
2124
|
+
successDescription: "The intents have been linked successfully"
|
|
2125
|
+
}).errors({ NOT_FOUND: {} }).input(z.object({
|
|
2126
|
+
environmentId: z.string().describe("The ID of the environment"),
|
|
2127
|
+
categoryId: z.string().describe("The ID of the category"),
|
|
2128
|
+
intentIds: categorizableIntentIdsSchema
|
|
2129
|
+
})).output(z.object({ success: z.literal(true) }));
|
|
2130
|
+
const unlinkIntentCategoryContractV1 = base.route({
|
|
2131
|
+
path: "/v1/environments/{environmentId}/intent-categories/{categoryId}/unlink",
|
|
2132
|
+
method: "POST",
|
|
2133
|
+
summary: "Unlink an intent category",
|
|
2134
|
+
description: "Unlink an intent category from intents; intents without the category are ignored",
|
|
2135
|
+
tags: ["insights"],
|
|
2136
|
+
successDescription: "The intents have been unlinked successfully"
|
|
2137
|
+
}).errors({ NOT_FOUND: {} }).input(z.object({
|
|
2138
|
+
environmentId: z.string().describe("The ID of the environment"),
|
|
2139
|
+
categoryId: z.string().describe("The ID of the category"),
|
|
2140
|
+
intentIds: categorizableIntentIdsSchema
|
|
2141
|
+
})).output(z.object({ success: z.literal(true) }));
|
|
1917
2142
|
const listTeamsContractV1 = base.route({
|
|
1918
2143
|
path: "/v1/teams",
|
|
1919
2144
|
method: "GET",
|
|
@@ -1927,6 +2152,21 @@ const listTeamsContractV1 = base.route({
|
|
|
1927
2152
|
createdAt: z.coerce.date(),
|
|
1928
2153
|
hasStripeAccount: z.boolean()
|
|
1929
2154
|
})));
|
|
2155
|
+
const getTeamUsageContractV1 = base.route({
|
|
2156
|
+
path: "/v1/teams/{teamId}/usage",
|
|
2157
|
+
method: "GET",
|
|
2158
|
+
summary: "Get team usage",
|
|
2159
|
+
description: "Get the MCP request usage of a team for its current billing window. A team that has made no request in the window reports zero.",
|
|
2160
|
+
tags: ["teams"],
|
|
2161
|
+
successDescription: "The current billing window usage"
|
|
2162
|
+
}).errors({ NOT_FOUND: {} }).input(z.object({ teamId: z.string().describe("The ID of the team") })).output(z.object({
|
|
2163
|
+
teamId: z.string(),
|
|
2164
|
+
plan: subscriptionPlanSchema.nullable().describe("The plan in force for the window, null on the Free plan"),
|
|
2165
|
+
periodStart: z.coerce.date().describe("Start of the current billing window"),
|
|
2166
|
+
periodEnd: z.coerce.date().describe("End of the current billing window"),
|
|
2167
|
+
requestCount: z.number().int().describe("MCP requests settled during the current billing window"),
|
|
2168
|
+
includedRequests: z.number().int().nullable().describe("Requests included in the plan for one window, null when the allowance is contract-specific")
|
|
2169
|
+
}));
|
|
1930
2170
|
const getTunnelTicketContractV1 = base.route({
|
|
1931
2171
|
path: "/v1/tunnels/ticket",
|
|
1932
2172
|
method: "GET",
|
|
@@ -2035,8 +2275,21 @@ const getBeaconContractV1 = base.route({
|
|
|
2035
2275
|
report: auditReportWithScreenshotsSchema.nullable()
|
|
2036
2276
|
}));
|
|
2037
2277
|
const contract = {
|
|
2038
|
-
teams: {
|
|
2278
|
+
teams: {
|
|
2279
|
+
list: { v1: listTeamsContractV1 },
|
|
2280
|
+
getUsage: { v1: getTeamUsageContractV1 }
|
|
2281
|
+
},
|
|
2039
2282
|
analytics: { get: { v1: getProjectAnalyticsContractV1 } },
|
|
2283
|
+
intents: { list: { v1: listIntentsContractV1 } },
|
|
2284
|
+
intentCategories: {
|
|
2285
|
+
list: { v1: listIntentCategoriesContractV1 },
|
|
2286
|
+
create: { v1: createIntentCategoryContractV1 },
|
|
2287
|
+
update: { v1: updateIntentCategoryContractV1 },
|
|
2288
|
+
delete: { v1: deleteIntentCategoryContractV1 },
|
|
2289
|
+
link: { v1: linkIntentCategoryContractV1 },
|
|
2290
|
+
unlink: { v1: unlinkIntentCategoryContractV1 }
|
|
2291
|
+
},
|
|
2292
|
+
feedbacks: { list: { v1: listFeedbacksContractV1 } },
|
|
2040
2293
|
deployments: {
|
|
2041
2294
|
list: { v1: listDeploymentsContractV1 },
|
|
2042
2295
|
get: { v1: getDeploymentContractV1 },
|
|
@@ -2046,6 +2299,7 @@ const contract = {
|
|
|
2046
2299
|
environments: {
|
|
2047
2300
|
create: { v1: createEnvironmentContractV1 },
|
|
2048
2301
|
get: { v1: getEnvironmentContractV1 },
|
|
2302
|
+
delete: { v1: deleteEnvironmentContractV1 },
|
|
2049
2303
|
deploy: { v1: deployEnvironmentContractV1 },
|
|
2050
2304
|
getLogs: { v1: getLogsContractV1 },
|
|
2051
2305
|
getLatestLogs: { v1: getLatestLogsContractV1 }
|
|
@@ -2083,4 +2337,4 @@ const contractForDocs = {
|
|
|
2083
2337
|
deployments: deploymentsForDocs
|
|
2084
2338
|
};
|
|
2085
2339
|
//#endregion
|
|
2086
|
-
export { AUTH_SCOPE_ANY, AUTH_SCOPE_USER, PLATFORM_LABELS, buildSettingsSchema, contract, contractForDocs, createEnvironmentContractV1, deploymentStatusSchema, environmentVariableSchema, environmentVariablesSchema, playgroundExamplePromptSchema, playgroundHeaderSchema, runtimeSchema, serverFieldsSchema, transportSchema, updateEnvironmentVariableSchema };
|
|
2340
|
+
export { AUTH_SCOPE_ANY, AUTH_SCOPE_USER, INTENT_CATEGORY_COLORS, PLATFORM_LABELS, buildSettingsSchema, contract, contractForDocs, createEnvironmentContractV1, deploymentStatusSchema, environmentVariableSchema, environmentVariablesSchema, intentCategoryColorSchema, playgroundExamplePromptSchema, playgroundHeaderSchema, runtimeSchema, serverFieldsSchema, transportSchema, updateEnvironmentVariableSchema };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alpic-ai/api",
|
|
3
|
-
"version": "0.0.0-dev.
|
|
3
|
+
"version": "0.0.0-dev.gff8cb6a",
|
|
4
4
|
"description": "Contract for the Alpic API",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.mjs",
|
|
@@ -35,9 +35,10 @@
|
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"@orpc/contract": "^1.15.0",
|
|
37
37
|
"ms": "^2.1.3",
|
|
38
|
-
"zod": "^4.4
|
|
38
|
+
"zod": "^4.5.4"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
|
+
"@alpic-ai/domains": "0.0.0",
|
|
41
42
|
"@orpc/openapi": "^1.15.0",
|
|
42
43
|
"@orpc/zod": "^1.15.0",
|
|
43
44
|
"@total-typescript/tsconfig": "^1.0.4",
|
|
@@ -45,8 +46,7 @@
|
|
|
45
46
|
"shx": "^0.4.0",
|
|
46
47
|
"tsdown": "^0.22.14",
|
|
47
48
|
"typescript": "^6.0.3",
|
|
48
|
-
"vitest": "^4.1.
|
|
49
|
-
"@alpic-ai/domains": "0.0.0"
|
|
49
|
+
"vitest": "^4.1.11"
|
|
50
50
|
},
|
|
51
51
|
"scripts": {
|
|
52
52
|
"build": "shx rm -rf dist && tsdown",
|
|
@@ -55,6 +55,6 @@
|
|
|
55
55
|
"test:unit": "vitest run",
|
|
56
56
|
"test:format": "biome check --error-on-warnings .",
|
|
57
57
|
"test:type": "tsgo --noEmit",
|
|
58
|
-
"publish:npm": "
|
|
58
|
+
"publish:npm": "../../scripts/publish-if-new.sh"
|
|
59
59
|
}
|
|
60
60
|
}
|