@inkeep/agents-api 0.45.2 → 0.45.3

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 (41) hide show
  1. package/dist/.well-known/workflow/v1/manifest.debug.json +20 -20
  2. package/dist/.well-known/workflow/v1/step.cjs +15 -62
  3. package/dist/createApp.d.ts +2 -2
  4. package/dist/domains/evals/routes/datasetTriggers.d.ts +2 -2
  5. package/dist/domains/evals/routes/index.d.ts +2 -2
  6. package/dist/domains/evals/services/EvaluationService.js +1 -41
  7. package/dist/domains/evals/workflow/routes.d.ts +2 -2
  8. package/dist/domains/manage/routes/availableAgents.d.ts +2 -2
  9. package/dist/domains/manage/routes/conversations.d.ts +2 -2
  10. package/dist/domains/manage/routes/index.d.ts +2 -2
  11. package/dist/domains/manage/routes/invitations.d.ts +2 -2
  12. package/dist/domains/manage/routes/mcp.d.ts +2 -2
  13. package/dist/domains/manage/routes/signoz.d.ts +2 -2
  14. package/dist/domains/manage/routes/userOrganizations.d.ts +2 -2
  15. package/dist/domains/mcp/routes/mcp.d.ts +2 -2
  16. package/dist/domains/run/agents/Agent.js +4 -5
  17. package/dist/domains/run/agents/versions/v1/Phase1Config.js +1 -2
  18. package/dist/domains/run/services/AgentSession.js +1 -1
  19. package/dist/domains/run/utils/artifact-component-schema.d.ts +1 -5
  20. package/dist/domains/run/utils/artifact-component-schema.js +3 -38
  21. package/dist/domains/run/utils/schema-validation.d.ts +1 -19
  22. package/dist/domains/run/utils/schema-validation.js +1 -60
  23. package/dist/env.d.ts +2 -0
  24. package/dist/env.js +1 -0
  25. package/dist/factory.d.ts +24 -24
  26. package/dist/factory.js +1 -0
  27. package/dist/index.d.ts +24 -24
  28. package/dist/middleware/cors.d.ts +7 -2
  29. package/dist/middleware/cors.js +17 -2
  30. package/dist/middleware/evalsAuth.d.ts +2 -2
  31. package/dist/middleware/manageAuth.d.ts +2 -2
  32. package/dist/middleware/projectAccess.d.ts +2 -2
  33. package/dist/middleware/projectConfig.d.ts +3 -3
  34. package/dist/middleware/requirePermission.d.ts +2 -2
  35. package/dist/middleware/runAuth.d.ts +4 -4
  36. package/dist/middleware/sessionAuth.d.ts +3 -3
  37. package/dist/middleware/tenantAccess.d.ts +2 -2
  38. package/dist/middleware/tracing.d.ts +3 -3
  39. package/package.json +6 -6
  40. package/dist/domains/run/utils/data-component-schema.d.ts +0 -2
  41. package/dist/domains/run/utils/data-component-schema.js +0 -3
@@ -1,63 +1,4 @@
1
- import { getLogger } from "../../../logger.js";
2
- import { z } from "@hono/zod-openapi";
3
- import { convertZodToJsonSchemaWithPreview } from "@inkeep/agents-core/utils/schema-conversion";
4
- import Ajv from "ajv";
5
-
6
1
  //#region src/domains/run/utils/schema-validation.ts
7
- const logger = getLogger("SchemaValidation");
8
- const ajv = new Ajv({
9
- allErrors: true,
10
- strict: false
11
- });
12
- const validatorCache = /* @__PURE__ */ new Map();
13
- /**
14
- * Clear the validator cache to free memory
15
- * Useful for testing or when memory usage becomes a concern
16
- */
17
- function clearValidatorCache() {
18
- validatorCache.clear();
19
- }
20
- /**
21
- * Get the current cache size for monitoring
22
- */
23
- function getValidatorCacheSize() {
24
- return validatorCache.size;
25
- }
26
- /**
27
- * Validate that a schema is valid (either JSON Schema or Zod)
28
- * Following the same pattern as context validation
29
- */
30
- function validateComponentSchema(schema, componentName) {
31
- try {
32
- if (schema instanceof z.ZodType) return {
33
- isValid: true,
34
- validatedSchema: convertZodToJsonSchemaWithPreview(schema)
35
- };
36
- if (!schema || typeof schema !== "object" || Array.isArray(schema)) return {
37
- isValid: false,
38
- error: "Schema must be a valid JSON Schema object or Zod schema"
39
- };
40
- const schemaKey = JSON.stringify(schema);
41
- let validator = validatorCache.get(schemaKey);
42
- if (!validator) {
43
- validator = ajv.compile(schema);
44
- validatorCache.set(schemaKey, validator);
45
- }
46
- return {
47
- isValid: true,
48
- validatedSchema: schema
49
- };
50
- } catch (error) {
51
- logger.error({
52
- componentName,
53
- error: error instanceof Error ? error.message : "Unknown error"
54
- }, "Invalid component schema");
55
- return {
56
- isValid: false,
57
- error: error instanceof Error ? error.message : "Invalid JSON Schema"
58
- };
59
- }
60
- }
61
2
  /**
62
3
  * Extract preview fields from a schema (fields marked with inPreview: true)
63
4
  */
@@ -94,4 +35,4 @@ function extractFullFields(schema) {
94
35
  }
95
36
 
96
37
  //#endregion
97
- export { clearValidatorCache, extractFullFields, extractPreviewFields, getValidatorCacheSize, validateComponentSchema };
38
+ export { extractFullFields, extractPreviewFields };
package/dist/env.d.ts CHANGED
@@ -24,6 +24,7 @@ declare const envSchema: z.ZodObject<{
24
24
  INKEEP_AGENTS_RUN_DATABASE_URL: z.ZodString;
25
25
  INKEEP_AGENTS_MANAGE_UI_URL: z.ZodOptional<z.ZodString>;
26
26
  INKEEP_AGENTS_API_URL: z.ZodDefault<z.ZodOptional<z.ZodString>>;
27
+ AUTH_COOKIE_DOMAIN: z.ZodOptional<z.ZodString>;
27
28
  BETTER_AUTH_SECRET: z.ZodOptional<z.ZodString>;
28
29
  INKEEP_AGENTS_MANAGE_UI_USERNAME: z.ZodOptional<z.ZodString>;
29
30
  INKEEP_AGENTS_MANAGE_UI_PASSWORD: z.ZodOptional<z.ZodString>;
@@ -68,6 +69,7 @@ declare const env: {
68
69
  TENANT_ID: string;
69
70
  ANTHROPIC_API_KEY: string;
70
71
  INKEEP_AGENTS_MANAGE_UI_URL?: string | undefined;
72
+ AUTH_COOKIE_DOMAIN?: string | undefined;
71
73
  BETTER_AUTH_SECRET?: string | undefined;
72
74
  INKEEP_AGENTS_MANAGE_UI_USERNAME?: string | undefined;
73
75
  INKEEP_AGENTS_MANAGE_UI_PASSWORD?: string | undefined;
package/dist/env.js CHANGED
@@ -26,6 +26,7 @@ const envSchema = z.object({
26
26
  INKEEP_AGENTS_RUN_DATABASE_URL: z.string().describe("PostgreSQL connection URL for the runtime database (Doltgres with Git version control)"),
27
27
  INKEEP_AGENTS_MANAGE_UI_URL: z.string().optional().describe("URL where the management UI is hosted"),
28
28
  INKEEP_AGENTS_API_URL: z.string().optional().default("http://localhost:3002").describe("URL where the agents management API is running"),
29
+ AUTH_COOKIE_DOMAIN: z.string().optional().describe("Explicit cookie domain for cross-subdomain auth (e.g., .inkeep.com). Required when the API and UI do not share a common 3-part parent domain."),
29
30
  BETTER_AUTH_SECRET: z.string().optional().describe("Secret key for Better Auth session encryption (change in production)"),
30
31
  INKEEP_AGENTS_MANAGE_UI_USERNAME: z.string().optional().refine((val) => !val || /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(val), { message: "Invalid email address" }).describe("Admin email address for management UI login"),
31
32
  INKEEP_AGENTS_MANAGE_UI_PASSWORD: z.string().optional().refine((val) => !val || val.length >= 8, { message: "Password must be at least 8 characters" }).describe("Admin password for management UI login (min 8 characters)"),
package/dist/factory.d.ts CHANGED
@@ -6,7 +6,7 @@ import { CredentialStore, ServerConfig } from "@inkeep/agents-core";
6
6
  import * as hono0 from "hono";
7
7
  import * as zod0 from "zod";
8
8
  import { SSOProviderConfig, UserAuthConfig } from "@inkeep/agents-core/auth";
9
- import * as hono_types1 from "hono/types";
9
+ import * as hono_types0 from "hono/types";
10
10
  import * as better_auth0 from "better-auth";
11
11
  import * as better_auth_plugins0 from "better-auth/plugins";
12
12
  import * as _better_auth_sso0 from "@better-auth/sso";
@@ -794,25 +794,25 @@ declare function createAgentsAuth(userAuthConfig?: UserAuthConfig): better_auth0
794
794
  ac: better_auth_plugins0.AccessControl;
795
795
  roles: {
796
796
  member: {
797
- authorize<K_1 extends "organization" | "member" | "invitation" | "ac" | "project" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>[key] | {
798
- actions: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>[key];
797
+ authorize<K_1 extends "organization" | "member" | "invitation" | "project" | "ac" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins0.Statements>[key] | {
798
+ actions: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins0.Statements>[key];
799
799
  connector: "OR" | "AND";
800
800
  } | undefined } : never, connector?: "OR" | "AND"): better_auth_plugins0.AuthorizeResponse;
801
- statements: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>;
801
+ statements: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins0.Statements>;
802
802
  };
803
803
  admin: {
804
- authorize<K_1 extends "organization" | "member" | "invitation" | "ac" | "project" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>[key] | {
805
- actions: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>[key];
804
+ authorize<K_1 extends "organization" | "member" | "invitation" | "project" | "ac" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins0.Statements>[key] | {
805
+ actions: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins0.Statements>[key];
806
806
  connector: "OR" | "AND";
807
807
  } | undefined } : never, connector?: "OR" | "AND"): better_auth_plugins0.AuthorizeResponse;
808
- statements: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>;
808
+ statements: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins0.Statements>;
809
809
  };
810
810
  owner: {
811
- authorize<K_1 extends "organization" | "member" | "invitation" | "ac" | "project" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>[key] | {
812
- actions: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>[key];
811
+ authorize<K_1 extends "organization" | "member" | "invitation" | "project" | "ac" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins0.Statements>[key] | {
812
+ actions: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins0.Statements>[key];
813
813
  connector: "OR" | "AND";
814
814
  } | undefined } : never, connector?: "OR" | "AND"): better_auth_plugins0.AuthorizeResponse;
815
- statements: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>;
815
+ statements: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins0.Statements>;
816
816
  };
817
817
  };
818
818
  creatorRole: "admin";
@@ -987,7 +987,7 @@ declare function createAgentsAuth(userAuthConfig?: UserAuthConfig): better_auth0
987
987
  id: string;
988
988
  organizationId: string;
989
989
  email: string;
990
- role: "member" | "admin" | "owner";
990
+ role: "member" | "owner" | "admin";
991
991
  status: better_auth_plugins0.InvitationStatus;
992
992
  inviterId: string;
993
993
  expiresAt: Date;
@@ -996,7 +996,7 @@ declare function createAgentsAuth(userAuthConfig?: UserAuthConfig): better_auth0
996
996
  Member: {
997
997
  id: string;
998
998
  organizationId: string;
999
- role: "member" | "admin" | "owner";
999
+ role: "member" | "owner" | "admin";
1000
1000
  createdAt: Date;
1001
1001
  userId: string;
1002
1002
  user: {
@@ -1012,7 +1012,7 @@ declare function createAgentsAuth(userAuthConfig?: UserAuthConfig): better_auth0
1012
1012
  members: {
1013
1013
  id: string;
1014
1014
  organizationId: string;
1015
- role: "member" | "admin" | "owner";
1015
+ role: "member" | "owner" | "admin";
1016
1016
  createdAt: Date;
1017
1017
  userId: string;
1018
1018
  user: {
@@ -1026,7 +1026,7 @@ declare function createAgentsAuth(userAuthConfig?: UserAuthConfig): better_auth0
1026
1026
  id: string;
1027
1027
  organizationId: string;
1028
1028
  email: string;
1029
- role: "member" | "admin" | "owner";
1029
+ role: "member" | "owner" | "admin";
1030
1030
  status: better_auth_plugins0.InvitationStatus;
1031
1031
  inviterId: string;
1032
1032
  expiresAt: Date;
@@ -1104,25 +1104,25 @@ declare function createAgentsAuth(userAuthConfig?: UserAuthConfig): better_auth0
1104
1104
  ac: better_auth_plugins0.AccessControl;
1105
1105
  roles: {
1106
1106
  member: {
1107
- authorize<K_1 extends "organization" | "member" | "invitation" | "ac" | "project" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>[key] | {
1108
- actions: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>[key];
1107
+ authorize<K_1 extends "organization" | "member" | "invitation" | "project" | "ac" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins0.Statements>[key] | {
1108
+ actions: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins0.Statements>[key];
1109
1109
  connector: "OR" | "AND";
1110
1110
  } | undefined } : never, connector?: "OR" | "AND"): better_auth_plugins0.AuthorizeResponse;
1111
- statements: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>;
1111
+ statements: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins0.Statements>;
1112
1112
  };
1113
1113
  admin: {
1114
- authorize<K_1 extends "organization" | "member" | "invitation" | "ac" | "project" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>[key] | {
1115
- actions: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>[key];
1114
+ authorize<K_1 extends "organization" | "member" | "invitation" | "project" | "ac" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins0.Statements>[key] | {
1115
+ actions: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins0.Statements>[key];
1116
1116
  connector: "OR" | "AND";
1117
1117
  } | undefined } : never, connector?: "OR" | "AND"): better_auth_plugins0.AuthorizeResponse;
1118
- statements: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>;
1118
+ statements: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins0.Statements>;
1119
1119
  };
1120
1120
  owner: {
1121
- authorize<K_1 extends "organization" | "member" | "invitation" | "ac" | "project" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>[key] | {
1122
- actions: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>[key];
1121
+ authorize<K_1 extends "organization" | "member" | "invitation" | "project" | "ac" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins0.Statements>[key] | {
1122
+ actions: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins0.Statements>[key];
1123
1123
  connector: "OR" | "AND";
1124
1124
  } | undefined } : never, connector?: "OR" | "AND"): better_auth_plugins0.AuthorizeResponse;
1125
- statements: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>;
1125
+ statements: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins0.Statements>;
1126
1126
  };
1127
1127
  };
1128
1128
  creatorRole: "admin";
@@ -1536,6 +1536,6 @@ declare function createAgentsApp(config?: {
1536
1536
  credentialStores?: CredentialStore[];
1537
1537
  auth?: UserAuthConfig;
1538
1538
  sandboxConfig?: SandboxConfig;
1539
- }): hono0.Hono<hono_types1.BlankEnv, hono_types1.BlankSchema, "/">;
1539
+ }): hono0.Hono<hono_types0.BlankEnv, hono_types0.BlankSchema, "/">;
1540
1540
  //#endregion
1541
1541
  export { type SSOProviderConfig, type UserAuthConfig, createAgentsApp, createAgentsAuth, createAgentsHono, createAuth0Provider, createOIDCProvider };
package/dist/factory.js CHANGED
@@ -19,6 +19,7 @@ function createAgentsAuth(userAuthConfig) {
19
19
  baseURL: env.INKEEP_AGENTS_API_URL || `http://localhost:3002`,
20
20
  secret: env.BETTER_AUTH_SECRET || "development-secret-change-in-production",
21
21
  dbClient: runDbClient_default,
22
+ ...env.AUTH_COOKIE_DOMAIN && { cookieDomain: env.AUTH_COOKIE_DOMAIN },
22
23
  ...userAuthConfig?.ssoProviders && { ssoProviders: userAuthConfig.ssoProviders },
23
24
  ...userAuthConfig?.socialProviders && { socialProviders: userAuthConfig.socialProviders }
24
25
  });
package/dist/index.d.ts CHANGED
@@ -7,7 +7,7 @@ import { createAuth0Provider, createOIDCProvider } from "./ssoHelpers.js";
7
7
  import { SSOProviderConfig, UserAuthConfig, createAgentsApp } from "./factory.js";
8
8
  import { Hono } from "hono";
9
9
  import * as zod205 from "zod";
10
- import * as hono_types3 from "hono/types";
10
+ import * as hono_types1 from "hono/types";
11
11
  import * as better_auth78 from "better-auth";
12
12
  import * as better_auth_plugins69 from "better-auth/plugins";
13
13
  import * as _better_auth_sso10 from "@better-auth/sso";
@@ -795,25 +795,25 @@ declare const auth: better_auth78.Auth<{
795
795
  ac: better_auth_plugins69.AccessControl;
796
796
  roles: {
797
797
  member: {
798
- authorize<K_1 extends "organization" | "member" | "invitation" | "ac" | "project" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins69.Statements>[key] | {
799
- actions: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins69.Statements>[key];
798
+ authorize<K_1 extends "organization" | "member" | "invitation" | "project" | "ac" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins69.Statements>[key] | {
799
+ actions: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins69.Statements>[key];
800
800
  connector: "OR" | "AND";
801
801
  } | undefined } : never, connector?: "OR" | "AND"): better_auth_plugins69.AuthorizeResponse;
802
- statements: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins69.Statements>;
802
+ statements: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins69.Statements>;
803
803
  };
804
804
  admin: {
805
- authorize<K_1 extends "organization" | "member" | "invitation" | "ac" | "project" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins69.Statements>[key] | {
806
- actions: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins69.Statements>[key];
805
+ authorize<K_1 extends "organization" | "member" | "invitation" | "project" | "ac" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins69.Statements>[key] | {
806
+ actions: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins69.Statements>[key];
807
807
  connector: "OR" | "AND";
808
808
  } | undefined } : never, connector?: "OR" | "AND"): better_auth_plugins69.AuthorizeResponse;
809
- statements: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins69.Statements>;
809
+ statements: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins69.Statements>;
810
810
  };
811
811
  owner: {
812
- authorize<K_1 extends "organization" | "member" | "invitation" | "ac" | "project" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins69.Statements>[key] | {
813
- actions: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins69.Statements>[key];
812
+ authorize<K_1 extends "organization" | "member" | "invitation" | "project" | "ac" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins69.Statements>[key] | {
813
+ actions: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins69.Statements>[key];
814
814
  connector: "OR" | "AND";
815
815
  } | undefined } : never, connector?: "OR" | "AND"): better_auth_plugins69.AuthorizeResponse;
816
- statements: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins69.Statements>;
816
+ statements: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins69.Statements>;
817
817
  };
818
818
  };
819
819
  creatorRole: "admin";
@@ -988,7 +988,7 @@ declare const auth: better_auth78.Auth<{
988
988
  id: string;
989
989
  organizationId: string;
990
990
  email: string;
991
- role: "member" | "admin" | "owner";
991
+ role: "member" | "owner" | "admin";
992
992
  status: better_auth_plugins69.InvitationStatus;
993
993
  inviterId: string;
994
994
  expiresAt: Date;
@@ -997,7 +997,7 @@ declare const auth: better_auth78.Auth<{
997
997
  Member: {
998
998
  id: string;
999
999
  organizationId: string;
1000
- role: "member" | "admin" | "owner";
1000
+ role: "member" | "owner" | "admin";
1001
1001
  createdAt: Date;
1002
1002
  userId: string;
1003
1003
  user: {
@@ -1013,7 +1013,7 @@ declare const auth: better_auth78.Auth<{
1013
1013
  members: {
1014
1014
  id: string;
1015
1015
  organizationId: string;
1016
- role: "member" | "admin" | "owner";
1016
+ role: "member" | "owner" | "admin";
1017
1017
  createdAt: Date;
1018
1018
  userId: string;
1019
1019
  user: {
@@ -1027,7 +1027,7 @@ declare const auth: better_auth78.Auth<{
1027
1027
  id: string;
1028
1028
  organizationId: string;
1029
1029
  email: string;
1030
- role: "member" | "admin" | "owner";
1030
+ role: "member" | "owner" | "admin";
1031
1031
  status: better_auth_plugins69.InvitationStatus;
1032
1032
  inviterId: string;
1033
1033
  expiresAt: Date;
@@ -1105,25 +1105,25 @@ declare const auth: better_auth78.Auth<{
1105
1105
  ac: better_auth_plugins69.AccessControl;
1106
1106
  roles: {
1107
1107
  member: {
1108
- authorize<K_1 extends "organization" | "member" | "invitation" | "ac" | "project" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins69.Statements>[key] | {
1109
- actions: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins69.Statements>[key];
1108
+ authorize<K_1 extends "organization" | "member" | "invitation" | "project" | "ac" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins69.Statements>[key] | {
1109
+ actions: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins69.Statements>[key];
1110
1110
  connector: "OR" | "AND";
1111
1111
  } | undefined } : never, connector?: "OR" | "AND"): better_auth_plugins69.AuthorizeResponse;
1112
- statements: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins69.Statements>;
1112
+ statements: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins69.Statements>;
1113
1113
  };
1114
1114
  admin: {
1115
- authorize<K_1 extends "organization" | "member" | "invitation" | "ac" | "project" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins69.Statements>[key] | {
1116
- actions: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins69.Statements>[key];
1115
+ authorize<K_1 extends "organization" | "member" | "invitation" | "project" | "ac" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins69.Statements>[key] | {
1116
+ actions: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins69.Statements>[key];
1117
1117
  connector: "OR" | "AND";
1118
1118
  } | undefined } : never, connector?: "OR" | "AND"): better_auth_plugins69.AuthorizeResponse;
1119
- statements: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins69.Statements>;
1119
+ statements: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins69.Statements>;
1120
1120
  };
1121
1121
  owner: {
1122
- authorize<K_1 extends "organization" | "member" | "invitation" | "ac" | "project" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins69.Statements>[key] | {
1123
- actions: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins69.Statements>[key];
1122
+ authorize<K_1 extends "organization" | "member" | "invitation" | "project" | "ac" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins69.Statements>[key] | {
1123
+ actions: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins69.Statements>[key];
1124
1124
  connector: "OR" | "AND";
1125
1125
  } | undefined } : never, connector?: "OR" | "AND"): better_auth_plugins69.AuthorizeResponse;
1126
- statements: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins69.Statements>;
1126
+ statements: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins69.Statements>;
1127
1127
  };
1128
1128
  };
1129
1129
  creatorRole: "admin";
@@ -1532,6 +1532,6 @@ declare const auth: better_auth78.Auth<{
1532
1532
  }>;
1533
1533
  }];
1534
1534
  }>;
1535
- declare const app: Hono<hono_types3.BlankEnv, hono_types3.BlankSchema, "/">;
1535
+ declare const app: Hono<hono_types1.BlankEnv, hono_types1.BlankSchema, "/">;
1536
1536
  //#endregion
1537
1537
  export { type AppConfig, type AppVariables, Hono, type NativeSandboxConfig, type SSOProviderConfig, type SandboxConfig, type UserAuthConfig, type VercelSandboxConfig, auth, createAgentsApp, createAgentsHono, createAuth0Provider, createOIDCProvider, app as default };
@@ -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 hono0 from "hono";
2
+ import * as hono4 from "hono";
3
3
 
4
4
  //#region src/middleware/evalsAuth.d.ts
5
5
 
@@ -7,7 +7,7 @@ import * as hono0 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: () => hono0.MiddlewareHandler<{
10
+ declare const evalApiKeyAuth: () => hono4.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 hono1 from "hono";
2
+ import * as hono11 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: () => hono1.MiddlewareHandler<{
15
+ declare const manageApiKeyAuth: () => hono11.MiddlewareHandler<{
16
16
  Variables: {
17
17
  executionContext: BaseExecutionContext;
18
18
  userId?: string;
@@ -1,6 +1,6 @@
1
1
  import { ManageAppVariables } from "../types/app.js";
2
2
  import { ProjectPermissionLevel } from "@inkeep/agents-core";
3
- import * as hono2 from "hono";
3
+ import * as hono12 from "hono";
4
4
 
5
5
  //#region src/middleware/projectAccess.d.ts
6
6
  /**
@@ -10,6 +10,6 @@ declare const requireProjectPermission: <Env$1 extends {
10
10
  Variables: ManageAppVariables;
11
11
  } = {
12
12
  Variables: ManageAppVariables;
13
- }>(permission?: ProjectPermissionLevel) => hono2.MiddlewareHandler<Env$1, string, {}, Response>;
13
+ }>(permission?: ProjectPermissionLevel) => hono12.MiddlewareHandler<Env$1, string, {}, Response>;
14
14
  //#endregion
15
15
  export { requireProjectPermission };
@@ -1,11 +1,11 @@
1
1
  import { BaseExecutionContext, ResolvedRef } from "@inkeep/agents-core";
2
- import * as hono3 from "hono";
2
+ import * as hono13 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: hono3.MiddlewareHandler<{
8
+ declare const projectConfigMiddleware: hono13.MiddlewareHandler<{
9
9
  Variables: {
10
10
  executionContext: BaseExecutionContext;
11
11
  resolvedRef: ResolvedRef;
@@ -15,7 +15,7 @@ declare const projectConfigMiddleware: hono3.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) => hono3.MiddlewareHandler<{
18
+ declare const projectConfigMiddlewareExcept: (skipRouteCheck: (path: string) => boolean) => hono13.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 hono5 from "hono";
2
+ import * as hono0 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) => hono5.MiddlewareHandler<Env$1, string, {}, Response>;
12
+ }>(permissions: Permission) => hono0.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 hono6 from "hono";
2
+ import * as hono1 from "hono";
3
3
 
4
4
  //#region src/middleware/runAuth.d.ts
5
- declare const runApiKeyAuth: () => hono6.MiddlewareHandler<{
5
+ declare const runApiKeyAuth: () => hono1.MiddlewareHandler<{
6
6
  Variables: {
7
7
  executionContext: BaseExecutionContext;
8
8
  };
@@ -11,7 +11,7 @@ declare const runApiKeyAuth: () => hono6.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) => hono6.MiddlewareHandler<{
14
+ declare const runApiKeyAuthExcept: (skipRouteCheck: (path: string) => boolean) => hono1.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: () => hono6.MiddlewareHandler<{
23
+ declare const runOptionalAuth: () => hono1.MiddlewareHandler<{
24
24
  Variables: {
25
25
  executionContext?: BaseExecutionContext;
26
26
  };
@@ -1,4 +1,4 @@
1
- import * as hono9 from "hono";
1
+ import * as hono5 from "hono";
2
2
 
3
3
  //#region src/middleware/sessionAuth.d.ts
4
4
 
@@ -7,11 +7,11 @@ import * as hono9 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: () => hono9.MiddlewareHandler<any, string, {}, Response>;
10
+ declare const sessionAuth: () => hono5.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: () => hono9.MiddlewareHandler<any, string, {}, Response>;
15
+ declare const sessionContext: () => hono5.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 hono7 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: () => hono7.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 };