@alpic-ai/api 1.168.2 → 1.169.1

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 (2) hide show
  1. package/dist/index.mjs +62 -11
  2. package/package.json +1 -1
package/dist/index.mjs CHANGED
@@ -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,16 +257,25 @@ z.object({
256
257
  clientSecret: z.string(),
257
258
  clientScopes: z.array(z.string())
258
259
  });
259
- z.enum([
260
- "opening_balance",
260
+ const creditEntryReasonSchema = z.enum([
261
261
  "free_seed",
262
262
  "paid_conversion_floor",
263
263
  "top_up",
264
264
  "usage",
265
- "refund",
266
265
  "admin_adjustment"
267
266
  ]);
268
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
+ });
269
279
  const deploymentStatusSchema$1 = z.enum([
270
280
  "ongoing",
271
281
  "deployed",
@@ -513,6 +523,16 @@ z.object({
513
523
  createdAt: z.coerce.date(),
514
524
  updatedAt: z.coerce.date()
515
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]);
516
536
  z.enum([
517
537
  "INFO",
518
538
  "WARNING",
@@ -1424,18 +1444,49 @@ const customerCreditsSchema = z.object({
1424
1444
  expiresAt: z.number().nullable(),
1425
1445
  currency: z.string()
1426
1446
  });
1427
- const customerUsageSchema = z.object({
1428
- amountInCents: z.number(),
1429
- currency: z.string(),
1430
- periodEnd: z.number()
1431
- });
1432
1447
  const partnerDiscountSchema = z.object({ endsAt: z.number() });
1433
- z.object({ balanceInNanoUSD: z.number() });
1434
1448
  z.object({
1435
1449
  customerCredits: customerCreditsSchema.nullable(),
1436
- customerUsage: customerUsageSchema.nullable(),
1437
1450
  partnerDiscount: partnerDiscountSchema.nullable()
1438
1451
  });
1452
+ const telemetrySignalSchema = z.enum([
1453
+ "logs",
1454
+ "metrics",
1455
+ "traces"
1456
+ ]);
1457
+ const otlpProtocolSchema = z.enum(["http/protobuf", "http/json"]);
1458
+ const otlpEndpointSchema = z.string().trim().min(1).max(2048);
1459
+ const OTLP_HEADER_VALUE_MAX_LENGTH = 2048;
1460
+ const otlpHeaderNameSchema = z.string().trim().min(1, "Enter a header name").max(128).regex(/^[A-Za-z0-9!#$%&'*+\-.^_`|~]+$/, "Use letters, digits and !#$%&'*+-.^_`|~ only");
1461
+ 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");
1462
+ const telemetryDestinationHeaderSchema = z.object({
1463
+ id: z.string(),
1464
+ name: otlpHeaderNameSchema,
1465
+ value: otlpHeaderValueSchema,
1466
+ isSecret: z.boolean()
1467
+ });
1468
+ const otlpPushFailureReasonSchema = z.enum([
1469
+ "credentials",
1470
+ "wrong-path",
1471
+ "wrong-protocol",
1472
+ "invalid-payload",
1473
+ "partial-rejection",
1474
+ "blocked-target",
1475
+ "timeout",
1476
+ "unreachable",
1477
+ "receiver-error",
1478
+ "unexpected-status"
1479
+ ]);
1480
+ const telemetryDestinationStatusSchema = z.enum(["active", "suspended"]);
1481
+ z.object({
1482
+ id: z.string(),
1483
+ signal: telemetrySignalSchema,
1484
+ endpoint: otlpEndpointSchema,
1485
+ protocol: otlpProtocolSchema,
1486
+ headers: z.array(telemetryDestinationHeaderSchema),
1487
+ status: telemetryDestinationStatusSchema,
1488
+ lastFailureReason: otlpPushFailureReasonSchema.nullable()
1489
+ });
1439
1490
  //#endregion
1440
1491
  //#region src/auth-scope.ts
1441
1492
  /** Accepts an API key or OAuth access token (default for most routes). */
@@ -1916,7 +1967,7 @@ const getProjectAnalyticsContractV1 = base.route({
1916
1967
  startTimestamp: z.coerce.number().describe("Start timestamp in milliseconds"),
1917
1968
  endTimestamp: z.coerce.number().describe("End timestamp in milliseconds"),
1918
1969
  timeZone: z.string().describe("IANA timezone (e.g. Europe/Paris)")
1919
- }).refine(({ startTimestamp, endTimestamp }) => endTimestamp - startTimestamp > 0, { message: "End date must be after start date" }).refine(({ startTimestamp, endTimestamp }) => endTimestamp - startTimestamp <= 744 * 60 * 60 * 1e3, { message: "Date range must be less than 1 month" }).refine(({ timeZone }) => Intl.supportedValuesOf("timeZone").includes(timeZone), { message: "Time zone must be a valid IANA timezone" })).output(z.object({
1970
+ }).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 }) => Intl.supportedValuesOf("timeZone").includes(timeZone), { message: "Time zone must be a valid IANA timezone" })).output(z.object({
1920
1971
  metadata: z.object({
1921
1972
  startTimestamp: z.number(),
1922
1973
  endTimestamp: z.number(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alpic-ai/api",
3
- "version": "1.168.2",
3
+ "version": "1.169.1",
4
4
  "description": "Contract for the Alpic API",
5
5
  "type": "module",
6
6
  "main": "./dist/index.mjs",