@alpic-ai/api 0.0.0-dev.gf7ba225 → 0.0.0-dev.gf7e6015

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 (3) hide show
  1. package/dist/index.d.mts +1286 -873
  2. package/dist/index.mjs +126 -15
  3. package/package.json +6 -6
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.32.0_supports-color@7.2.0_zod@4.5.4/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth.js
5
+ //#region ../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.32.1_supports-color@8.1.1_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
  */
@@ -346,7 +346,8 @@ const standaloneEnvironmentSchema = z.object({
346
346
  const protectedWithoutDiscoveryEnvironmentSchema = z.object({
347
347
  allowsAnonymous: z.literal(false),
348
348
  oAuthMetadata: z.strictObject({}),
349
- scope: z.string().optional()
349
+ scope: z.string().optional(),
350
+ wwwAuthenticate: z.string().optional()
350
351
  });
351
352
  const legacyPublicEnvironmentSchema = z.object({
352
353
  isPublic: z.literal(true),
@@ -391,10 +392,13 @@ z.union([
391
392
  legacyProtectedWithoutDiscoveryEnvironmentSchema
392
393
  ]);
393
394
  const playgroundModelSchema = z.enum([
395
+ "global.anthropic.claude-haiku-5-5",
394
396
  "global.anthropic.claude-haiku-4-5-20251001-v1:0",
395
- "global.anthropic.claude-sonnet-4-5-20250929-v1:0",
397
+ "global.anthropic.claude-sonnet-5-5",
396
398
  "openai.gpt-5.4",
397
- "openai.gpt-5.5"
399
+ "openai.gpt-5.5",
400
+ "openai.gpt-6-luna",
401
+ "openai.gpt-6.1-sol"
398
402
  ]);
399
403
  const environmentDomainSchema = z.object({
400
404
  name: z.string(),
@@ -591,6 +595,12 @@ const MCP_CLIENT_GROUPS = [
591
595
  vendor: "anthropic",
592
596
  rawNames: ["Anthropic/Cowork"]
593
597
  },
598
+ {
599
+ id: "claude_sheet_add_in",
600
+ label: "Claude (Sheet Add-In)",
601
+ vendor: "anthropic",
602
+ rawNames: ["sheet-add-in"]
603
+ },
594
604
  {
595
605
  id: "claude_toolbox",
596
606
  label: "Claude Toolbox",
@@ -625,7 +635,7 @@ const MCP_CLIENT_GROUPS = [
625
635
  id: "chatgpt",
626
636
  label: "ChatGPT",
627
637
  vendor: "openai",
628
- rawNames: ["openai-mcp (ChatGPT)"]
638
+ rawNames: ["openai-mcp", "openai-mcp (ChatGPT)"]
629
639
  },
630
640
  {
631
641
  id: "openai_responses_api",
@@ -639,12 +649,6 @@ const MCP_CLIENT_GROUPS = [
639
649
  vendor: "openai",
640
650
  rawNames: ["openai-mcp (Agent Builder)"]
641
651
  },
642
- {
643
- id: "openai_other",
644
- label: "OpenAI Other",
645
- vendor: "openai",
646
- rawNames: ["openai-mcp"]
647
- },
648
652
  {
649
653
  id: "cursor",
650
654
  label: "Cursor",
@@ -1566,6 +1570,7 @@ const metricsQueueEventSchema = z.object({
1566
1570
  tool: z.string().nullable(),
1567
1571
  client: z.string(),
1568
1572
  sessionId: z.string().nullable(),
1573
+ conversationId: z.string().nullable().optional(),
1569
1574
  durationMs: z.number().int(),
1570
1575
  outputTokens: z.number().int().nullable(),
1571
1576
  errorType: z.enum([
@@ -1581,12 +1586,14 @@ z.object({
1581
1586
  events: z.array(metricsQueueEventSchema)
1582
1587
  });
1583
1588
  z.object({ v: z.number() });
1584
- const telemetrySignalSchema = z.enum([
1589
+ const TELEMETRY_SIGNALS = [
1585
1590
  "logs",
1586
1591
  "metrics",
1587
1592
  "traces"
1588
- ]);
1589
- const otlpProtocolSchema = z.enum(["http/protobuf", "http/json"]);
1593
+ ];
1594
+ const telemetrySignalSchema = z.enum(TELEMETRY_SIGNALS);
1595
+ const OTLP_PROTOCOLS = ["http/protobuf", "http/json"];
1596
+ const otlpProtocolSchema = z.enum(OTLP_PROTOCOLS);
1590
1597
  const otlpEndpointSchema = z.string().trim().min(1).max(2048);
1591
1598
  const OTLP_HEADER_VALUE_MAX_LENGTH = 2048;
1592
1599
  const otlpHeaderNameSchema = z.string().trim().min(1, "Enter a header name").max(128).regex(/^[A-Za-z0-9!#$%&'*+\-.^_`|~]+$/, "Use letters, digits and !#$%&'*+-.^_`|~ only");
@@ -1620,6 +1627,10 @@ z.object({
1620
1627
  lastFailureReason: otlpPushFailureReasonSchema.nullable(),
1621
1628
  isScopedToIntentionalRequestsOnly: z.boolean()
1622
1629
  });
1630
+ const hasDuplicateHeaderNames = (headers) => {
1631
+ const names = headers.map(({ name }) => name.trim().toLowerCase());
1632
+ return new Set(names).size !== names.length;
1633
+ };
1623
1634
  //#endregion
1624
1635
  //#region src/auth-scope.ts
1625
1636
  /** Accepts an API key or OAuth access token (default for most routes). */
@@ -1910,6 +1921,100 @@ const environmentVariableOutputSchema = z.object({
1910
1921
  isSecret: z.boolean(),
1911
1922
  createdAt: z.coerce.date()
1912
1923
  });
1924
+ const telemetryDestinationHeaderOutputSchema = z.discriminatedUnion("isSecret", [z.object({
1925
+ id: z.string(),
1926
+ name: otlpHeaderNameSchema,
1927
+ value: z.null(),
1928
+ isSecret: z.literal(true)
1929
+ }), z.object({
1930
+ id: z.string(),
1931
+ name: otlpHeaderNameSchema,
1932
+ value: otlpHeaderValueSchema,
1933
+ isSecret: z.literal(false)
1934
+ })]);
1935
+ const telemetryDestinationOutputSchema = z.object({
1936
+ id: z.string(),
1937
+ signal: telemetrySignalSchema,
1938
+ endpoint: otlpEndpointSchema,
1939
+ protocol: otlpProtocolSchema,
1940
+ headers: z.array(telemetryDestinationHeaderOutputSchema),
1941
+ status: telemetryDestinationStatusSchema,
1942
+ lastFailureReason: otlpPushFailureReasonSchema.nullable(),
1943
+ isScopedToIntentionalRequestsOnly: z.boolean()
1944
+ });
1945
+ const createTelemetryDestinationHeaderInputSchema = z.object({
1946
+ name: otlpHeaderNameSchema,
1947
+ value: otlpHeaderValueSchema.min(1, "Enter a header value"),
1948
+ isSecret: z.boolean()
1949
+ });
1950
+ const updateTelemetryDestinationHeaderInputSchema = z.object({
1951
+ id: z.string().optional(),
1952
+ name: otlpHeaderNameSchema,
1953
+ value: otlpHeaderValueSchema.optional(),
1954
+ isSecret: z.boolean()
1955
+ });
1956
+ const uniqueTelemetryHeaders = (headers) => !hasDuplicateHeaderNames(headers);
1957
+ const listTelemetryDestinationsContractV1 = base.route({
1958
+ path: "/v1/environments/{environmentId}/telemetry-destinations",
1959
+ method: "GET",
1960
+ summary: "List telemetry destinations",
1961
+ description: "List the OTLP destinations configured for an environment. Secret header values are never returned.",
1962
+ tags: ["telemetry"],
1963
+ successDescription: "The list of telemetry destinations"
1964
+ }).errors({ NOT_FOUND: {} }).input(z.object({ environmentId: z.string().describe("The ID of the environment") })).output(z.array(telemetryDestinationOutputSchema));
1965
+ const createTelemetryDestinationContractV1 = base.route({
1966
+ path: "/v1/environments/{environmentId}/telemetry-destinations",
1967
+ method: "POST",
1968
+ summary: "Create a telemetry destination",
1969
+ description: "Verify and save an OTLP destination for logs, metrics, or traces.",
1970
+ tags: ["telemetry"],
1971
+ successDescription: "The telemetry destination has been created"
1972
+ }).errors({
1973
+ NOT_FOUND: {},
1974
+ FORBIDDEN: {},
1975
+ OTLP_DESTINATION_UNVERIFIED: { status: 400 },
1976
+ INTERNAL_SERVER_ERROR: {}
1977
+ }).input(z.object({
1978
+ environmentId: z.string().describe("The ID of the environment"),
1979
+ signal: telemetrySignalSchema,
1980
+ endpoint: otlpEndpointSchema,
1981
+ protocol: otlpProtocolSchema.default("http/protobuf"),
1982
+ isScopedToIntentionalRequestsOnly: z.boolean().default(false),
1983
+ headers: z.array(createTelemetryDestinationHeaderInputSchema).default([]).refine(uniqueTelemetryHeaders, "Header names must be unique")
1984
+ })).output(telemetryDestinationOutputSchema);
1985
+ const updateTelemetryDestinationContractV1 = base.route({
1986
+ path: "/v1/environments/{environmentId}/telemetry-destinations/{destinationId}",
1987
+ method: "PATCH",
1988
+ summary: "Update a telemetry destination",
1989
+ description: "Verify and save changes to an OTLP destination. Omit headers to keep them unchanged; omit the value of an existing header to preserve it. A secret header value must be re-entered when the endpoint changes.",
1990
+ tags: ["telemetry"],
1991
+ successDescription: "The telemetry destination has been updated"
1992
+ }).errors({
1993
+ NOT_FOUND: {},
1994
+ FORBIDDEN: {},
1995
+ OTLP_DESTINATION_UNVERIFIED: { status: 400 }
1996
+ }).input(z.object({
1997
+ environmentId: z.string().describe("The ID of the environment"),
1998
+ destinationId: z.string().describe("The ID of the telemetry destination"),
1999
+ endpoint: otlpEndpointSchema.optional(),
2000
+ protocol: otlpProtocolSchema.optional(),
2001
+ isScopedToIntentionalRequestsOnly: z.boolean().optional(),
2002
+ headers: z.array(updateTelemetryDestinationHeaderInputSchema).refine(uniqueTelemetryHeaders, "Header names must be unique").optional()
2003
+ })).output(telemetryDestinationOutputSchema);
2004
+ const deleteTelemetryDestinationContractV1 = base.route({
2005
+ path: "/v1/environments/{environmentId}/telemetry-destinations/{destinationId}",
2006
+ method: "DELETE",
2007
+ summary: "Delete a telemetry destination",
2008
+ description: "Delete an OTLP destination from an environment.",
2009
+ tags: ["telemetry"],
2010
+ successDescription: "The telemetry destination has been deleted"
2011
+ }).errors({
2012
+ NOT_FOUND: {},
2013
+ INTERNAL_SERVER_ERROR: {}
2014
+ }).input(z.object({
2015
+ environmentId: z.string().describe("The ID of the environment"),
2016
+ destinationId: z.string().describe("The ID of the telemetry destination")
2017
+ })).output(z.object({ success: z.literal(true) }));
1913
2018
  const listEnvironmentVariablesContractV1 = base.route({
1914
2019
  path: "/v1/environments/{environmentId}/environment-variables",
1915
2020
  method: "GET",
@@ -2473,6 +2578,12 @@ const contract = {
2473
2578
  update: { v1: updateEnvironmentVariableContractV1 },
2474
2579
  delete: { v1: deleteEnvironmentVariableContractV1 }
2475
2580
  },
2581
+ telemetryDestinations: {
2582
+ list: { v1: listTelemetryDestinationsContractV1 },
2583
+ create: { v1: createTelemetryDestinationContractV1 },
2584
+ update: { v1: updateTelemetryDestinationContractV1 },
2585
+ delete: { v1: deleteTelemetryDestinationContractV1 }
2586
+ },
2476
2587
  projects: {
2477
2588
  update: { v1: updateProjectContractV1 },
2478
2589
  get: { v1: getProjectContractV1 },
@@ -2527,4 +2638,4 @@ const OPENAPI_DOC_OPTIONS = {
2527
2638
  }
2528
2639
  };
2529
2640
  //#endregion
2530
- export { AI_PLATFORMS, AUTH_SCOPE_ANY, AUTH_SCOPE_USER, INTENT_CATEGORY_COLORS, OPENAPI_DOC_OPTIONS, PLATFORM_LABELS, buildSettingsSchema, chatgptSubmissionUpdateSchema, claudeSubmissionUpdateSchema, contract, contractForDocs, createEnvironmentContractV1, deploymentStatusSchema, environmentVariableSchema, environmentVariablesSchema, intentCategoryColorSchema, playgroundExamplePromptSchema, playgroundHeaderSchema, runtimeSchema, serverFieldsSchema, transportSchema, updateEnvironmentVariableSchema };
2641
+ export { AI_PLATFORMS, AUTH_SCOPE_ANY, AUTH_SCOPE_USER, INTENT_CATEGORY_COLORS, OPENAPI_DOC_OPTIONS, OTLP_PROTOCOLS, PLATFORM_LABELS, TELEMETRY_SIGNALS, buildSettingsSchema, chatgptSubmissionUpdateSchema, claudeSubmissionUpdateSchema, contract, contractForDocs, createEnvironmentContractV1, deploymentStatusSchema, environmentVariableSchema, environmentVariablesSchema, intentCategoryColorSchema, otlpProtocolSchema, playgroundExamplePromptSchema, playgroundHeaderSchema, runtimeSchema, serverFieldsSchema, telemetrySignalSchema, transportSchema, updateEnvironmentVariableSchema };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alpic-ai/api",
3
- "version": "0.0.0-dev.gf7ba225",
3
+ "version": "0.0.0-dev.gf7e6015",
4
4
  "description": "Contract for the Alpic API",
5
5
  "type": "module",
6
6
  "main": "./dist/index.mjs",
@@ -33,20 +33,20 @@
33
33
  "author": "Alpic",
34
34
  "license": "ISC",
35
35
  "dependencies": {
36
- "@orpc/contract": "^1.15.4",
36
+ "@orpc/contract": "^1.15.7",
37
37
  "ms": "^2.1.3",
38
38
  "zod": "^4.5.4"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@alpic-ai/domains": "0.0.0",
42
- "@orpc/openapi": "^1.15.4",
43
- "@orpc/zod": "^1.15.4",
42
+ "@orpc/openapi": "^1.15.7",
43
+ "@orpc/zod": "^1.15.7",
44
44
  "@total-typescript/tsconfig": "^1.0.4",
45
45
  "@types/ms": "^2.1.0",
46
46
  "shx": "^0.4.0",
47
- "tsdown": "^0.23.0",
47
+ "tsdown": "^0.23.1",
48
48
  "typescript": "^6.0.3",
49
- "vitest": "^5.0.3"
49
+ "vitest": "^5.0.5"
50
50
  },
51
51
  "scripts": {
52
52
  "build": "shx rm -rf dist && tsdown",