@inkeep/agents-api 0.0.0-dev-20260205203133 → 0.0.0-dev-20260205231249

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.
@@ -6,10 +6,15 @@ type CorsOptions = Parameters<typeof cors>[0];
6
6
  * Extract the base domain from a hostname (e.g., 'app.preview.inkeep.com' -> 'preview.inkeep.com')
7
7
  */
8
8
  declare function getBaseDomain(hostname: string): string;
9
+ /**
10
+ * Extract the registrable domain (eTLD+1) from a hostname.
11
+ * e.g., 'api.agents.inkeep.com' -> 'inkeep.com', 'app.inkeep.com' -> 'inkeep.com'
12
+ */
13
+ declare function getRootDomain(hostname: string): string;
9
14
  /**
10
15
  * Check if a request origin is allowed for CORS
11
16
  * Development: Allow any localhost origin
12
- * Production: Allow same base domain or configured UI URL
17
+ * Production: Allow same base domain, same root domain (when UI URL is configured), or configured UI URL
13
18
  */
14
19
  declare function isOriginAllowed(origin: string | undefined): origin is string;
15
20
  /**
@@ -33,4 +38,4 @@ declare const runCorsConfig: CorsOptions;
33
38
  */
34
39
  declare const signozCorsConfig: CorsOptions;
35
40
  //#endregion
36
- export { authCorsConfig, defaultCorsConfig, getBaseDomain, isOriginAllowed, playgroundCorsConfig, runCorsConfig, signozCorsConfig };
41
+ export { authCorsConfig, defaultCorsConfig, getBaseDomain, getRootDomain, isOriginAllowed, playgroundCorsConfig, runCorsConfig, signozCorsConfig };
@@ -10,9 +10,18 @@ function getBaseDomain(hostname) {
10
10
  return hostname;
11
11
  }
12
12
  /**
13
+ * Extract the registrable domain (eTLD+1) from a hostname.
14
+ * e.g., 'api.agents.inkeep.com' -> 'inkeep.com', 'app.inkeep.com' -> 'inkeep.com'
15
+ */
16
+ function getRootDomain(hostname) {
17
+ const parts = hostname.split(".");
18
+ if (parts.length >= 2) return parts.slice(-2).join(".");
19
+ return hostname;
20
+ }
21
+ /**
13
22
  * Check if a request origin is allowed for CORS
14
23
  * Development: Allow any localhost origin
15
- * Production: Allow same base domain or configured UI URL
24
+ * Production: Allow same base domain, same root domain (when UI URL is configured), or configured UI URL
16
25
  */
17
26
  function isOriginAllowed(origin) {
18
27
  if (!origin) return false;
@@ -23,6 +32,12 @@ function isOriginAllowed(origin) {
23
32
  if (requestUrl.hostname === "localhost" || requestUrl.hostname === "127.0.0.1") return true;
24
33
  if (uiUrl && requestUrl.hostname === uiUrl.hostname) return true;
25
34
  if (getBaseDomain(requestUrl.hostname) === getBaseDomain(apiUrl.hostname)) return true;
35
+ if (uiUrl) {
36
+ const requestRootDomain = getRootDomain(requestUrl.hostname);
37
+ const apiRootDomain = getRootDomain(apiUrl.hostname);
38
+ const uiRootDomain = getRootDomain(uiUrl.hostname);
39
+ if (requestRootDomain === apiRootDomain && apiRootDomain === uiRootDomain && requestRootDomain === uiRootDomain) return true;
40
+ }
26
41
  return false;
27
42
  } catch {
28
43
  return false;
@@ -128,4 +143,4 @@ const signozCorsConfig = {
128
143
  };
129
144
 
130
145
  //#endregion
131
- export { authCorsConfig, defaultCorsConfig, getBaseDomain, isOriginAllowed, playgroundCorsConfig, runCorsConfig, signozCorsConfig };
146
+ export { authCorsConfig, defaultCorsConfig, getBaseDomain, getRootDomain, isOriginAllowed, playgroundCorsConfig, runCorsConfig, signozCorsConfig };
@@ -1,5 +1,5 @@
1
1
  import { BaseExecutionContext } from "@inkeep/agents-core";
2
- import * as hono4 from "hono";
2
+ import * as hono0 from "hono";
3
3
 
4
4
  //#region src/middleware/evalsAuth.d.ts
5
5
 
@@ -7,7 +7,7 @@ import * as hono4 from "hono";
7
7
  * Middleware to authenticate API requests using Bearer token authentication
8
8
  * First checks if token matches INKEEP_AGENTS_EVAL_API_BYPASS_SECRET,
9
9
  */
10
- declare const evalApiKeyAuth: () => hono4.MiddlewareHandler<{
10
+ declare const evalApiKeyAuth: () => hono0.MiddlewareHandler<{
11
11
  Variables: {
12
12
  executionContext: BaseExecutionContext;
13
13
  };
@@ -1,5 +1,5 @@
1
1
  import { BaseExecutionContext } from "@inkeep/agents-core";
2
- import * as hono0 from "hono";
2
+ import * as hono5 from "hono";
3
3
  import { createAuth } from "@inkeep/agents-core/auth";
4
4
 
5
5
  //#region src/middleware/manageAuth.d.ts
@@ -12,7 +12,7 @@ import { createAuth } from "@inkeep/agents-core/auth";
12
12
  * 3. Database API key
13
13
  * 4. Internal service token
14
14
  */
15
- declare const manageApiKeyAuth: () => hono0.MiddlewareHandler<{
15
+ declare const manageApiKeyAuth: () => hono5.MiddlewareHandler<{
16
16
  Variables: {
17
17
  executionContext: BaseExecutionContext;
18
18
  userId?: string;
@@ -1,11 +1,11 @@
1
1
  import { BaseExecutionContext, ResolvedRef } from "@inkeep/agents-core";
2
- import * as hono9 from "hono";
2
+ import * as hono0 from "hono";
3
3
 
4
4
  //#region src/middleware/projectConfig.d.ts
5
5
  /**
6
6
  * Middleware that fetches the full project definition from the Management API
7
7
  */
8
- declare const projectConfigMiddleware: hono9.MiddlewareHandler<{
8
+ declare const projectConfigMiddleware: hono0.MiddlewareHandler<{
9
9
  Variables: {
10
10
  executionContext: BaseExecutionContext;
11
11
  resolvedRef: ResolvedRef;
@@ -15,7 +15,7 @@ declare const projectConfigMiddleware: hono9.MiddlewareHandler<{
15
15
  * Creates a middleware that applies project config fetching except for specified route patterns
16
16
  * @param skipRouteCheck - Function that returns true if the route should skip the middleware
17
17
  */
18
- declare const projectConfigMiddlewareExcept: (skipRouteCheck: (path: string) => boolean) => hono9.MiddlewareHandler<{
18
+ declare const projectConfigMiddlewareExcept: (skipRouteCheck: (path: string) => boolean) => hono0.MiddlewareHandler<{
19
19
  Variables: {
20
20
  executionContext: BaseExecutionContext;
21
21
  resolvedRef: ResolvedRef;
@@ -1,5 +1,5 @@
1
1
  import { ManageAppVariables } from "../types/app.js";
2
- import * as hono1 from "hono";
2
+ import * as hono6 from "hono";
3
3
 
4
4
  //#region src/middleware/requirePermission.d.ts
5
5
  type Permission = {
@@ -9,6 +9,6 @@ declare const requirePermission: <Env$1 extends {
9
9
  Variables: ManageAppVariables;
10
10
  } = {
11
11
  Variables: ManageAppVariables;
12
- }>(permissions: Permission) => hono1.MiddlewareHandler<Env$1, string, {}, Response>;
12
+ }>(permissions: Permission) => hono6.MiddlewareHandler<Env$1, string, {}, Response>;
13
13
  //#endregion
14
14
  export { requirePermission };
@@ -1,8 +1,8 @@
1
1
  import { BaseExecutionContext } from "@inkeep/agents-core";
2
- import * as hono5 from "hono";
2
+ import * as hono2 from "hono";
3
3
 
4
4
  //#region src/middleware/runAuth.d.ts
5
- declare const runApiKeyAuth: () => hono5.MiddlewareHandler<{
5
+ declare const runApiKeyAuth: () => hono2.MiddlewareHandler<{
6
6
  Variables: {
7
7
  executionContext: BaseExecutionContext;
8
8
  };
@@ -11,7 +11,7 @@ declare const runApiKeyAuth: () => hono5.MiddlewareHandler<{
11
11
  * Creates a middleware that applies API key authentication except for specified route patterns
12
12
  * @param skipRouteCheck - Function that returns true if the route should skip authentication
13
13
  */
14
- declare const runApiKeyAuthExcept: (skipRouteCheck: (path: string) => boolean) => hono5.MiddlewareHandler<{
14
+ declare const runApiKeyAuthExcept: (skipRouteCheck: (path: string) => boolean) => hono2.MiddlewareHandler<{
15
15
  Variables: {
16
16
  executionContext: BaseExecutionContext;
17
17
  };
@@ -20,7 +20,7 @@ declare const runApiKeyAuthExcept: (skipRouteCheck: (path: string) => boolean) =
20
20
  * Helper middleware for endpoints that optionally support API key authentication
21
21
  * If no auth header is present, it continues without setting the executionContext
22
22
  */
23
- declare const runOptionalAuth: () => hono5.MiddlewareHandler<{
23
+ declare const runOptionalAuth: () => hono2.MiddlewareHandler<{
24
24
  Variables: {
25
25
  executionContext?: BaseExecutionContext;
26
26
  };
@@ -1,4 +1,4 @@
1
- import * as hono2 from "hono";
1
+ import * as hono11 from "hono";
2
2
 
3
3
  //#region src/middleware/sessionAuth.d.ts
4
4
 
@@ -7,11 +7,11 @@ import * as hono2 from "hono";
7
7
  * Requires that a user has already been authenticated via Better Auth session.
8
8
  * Used primarily for manage routes that require an active user session.
9
9
  */
10
- declare const sessionAuth: () => hono2.MiddlewareHandler<any, string, {}, Response>;
10
+ declare const sessionAuth: () => hono11.MiddlewareHandler<any, string, {}, Response>;
11
11
  /**
12
12
  * Global session middleware - sets user and session in context for all routes
13
13
  * Used for all routes that require an active user session.
14
14
  */
15
- declare const sessionContext: () => hono2.MiddlewareHandler<any, string, {}, Response>;
15
+ declare const sessionContext: () => hono11.MiddlewareHandler<any, string, {}, Response>;
16
16
  //#endregion
17
17
  export { sessionAuth, sessionContext };
@@ -1,4 +1,4 @@
1
- import * as hono11 from "hono";
1
+ import * as hono13 from "hono";
2
2
 
3
3
  //#region src/middleware/tenantAccess.d.ts
4
4
 
@@ -11,7 +11,7 @@ import * as hono11 from "hono";
11
11
  * - API key user: Access only to the tenant associated with the API key
12
12
  * - Session user: Access based on organization membership
13
13
  */
14
- declare const requireTenantAccess: () => hono11.MiddlewareHandler<{
14
+ declare const requireTenantAccess: () => hono13.MiddlewareHandler<{
15
15
  Variables: {
16
16
  userId: string;
17
17
  tenantId: string;
@@ -1,7 +1,7 @@
1
- import * as hono12 from "hono";
1
+ import * as hono9 from "hono";
2
2
 
3
3
  //#region src/middleware/tracing.d.ts
4
- declare const otelBaggageMiddleware: () => hono12.MiddlewareHandler<any, string, {}, Response>;
5
- declare const executionBaggageMiddleware: () => hono12.MiddlewareHandler<any, string, {}, Response>;
4
+ declare const otelBaggageMiddleware: () => hono9.MiddlewareHandler<any, string, {}, Response>;
5
+ declare const executionBaggageMiddleware: () => hono9.MiddlewareHandler<any, string, {}, Response>;
6
6
  //#endregion
7
7
  export { executionBaggageMiddleware, otelBaggageMiddleware };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inkeep/agents-api",
3
- "version": "0.0.0-dev-20260205203133",
3
+ "version": "0.0.0-dev-20260205231249",
4
4
  "description": "Unified Inkeep Agents API - combines management, runtime, and evaluation capabilities",
5
5
  "types": "dist/index.d.ts",
6
6
  "exports": {
@@ -66,10 +66,10 @@
66
66
  "openid-client": "^6.8.1",
67
67
  "pg": "^8.16.3",
68
68
  "workflow": "4.0.1-beta.33",
69
- "@inkeep/agents-core": "^0.0.0-dev-20260205203133",
70
- "@inkeep/agents-manage-mcp": "^0.0.0-dev-20260205203133",
71
- "@inkeep/agents-mcp": "^0.0.0-dev-20260205203133",
72
- "@inkeep/agents-work-apps": "^0.0.0-dev-20260205203133"
69
+ "@inkeep/agents-core": "^0.0.0-dev-20260205231249",
70
+ "@inkeep/agents-manage-mcp": "^0.0.0-dev-20260205231249",
71
+ "@inkeep/agents-mcp": "^0.0.0-dev-20260205231249",
72
+ "@inkeep/agents-work-apps": "^0.0.0-dev-20260205231249"
73
73
  },
74
74
  "peerDependencies": {
75
75
  "@hono/zod-openapi": "^1.1.5",