@inkeep/agents-api 0.0.0-dev-20260122151138 → 0.0.0-dev-20260122153611

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.
@@ -1,10 +1,10 @@
1
1
  import { AppConfig } from "./types/app.js";
2
2
  import "./types/index.js";
3
3
  import { Hono } from "hono";
4
- import * as hono_types0 from "hono/types";
4
+ import * as hono_types5 from "hono/types";
5
5
 
6
6
  //#region src/createApp.d.ts
7
7
  declare const isWebhookRoute: (path: string) => boolean;
8
- declare function createAgentsHono(config: AppConfig): Hono<hono_types0.BlankEnv, hono_types0.BlankSchema, "/">;
8
+ declare function createAgentsHono(config: AppConfig): Hono<hono_types5.BlankEnv, hono_types5.BlankSchema, "/">;
9
9
  //#endregion
10
10
  export { createAgentsHono, isWebhookRoute };
@@ -1,7 +1,7 @@
1
1
  import { OpenAPIHono } from "@hono/zod-openapi";
2
- import * as hono0 from "hono";
2
+ import * as hono17 from "hono";
3
3
 
4
4
  //#region src/domains/evals/routes/datasetTriggers.d.ts
5
- declare const app: OpenAPIHono<hono0.Env, {}, "/">;
5
+ declare const app: OpenAPIHono<hono17.Env, {}, "/">;
6
6
  //#endregion
7
7
  export { app as default };
@@ -1,7 +1,7 @@
1
1
  import { OpenAPIHono } from "@hono/zod-openapi";
2
- import * as hono15 from "hono";
2
+ import * as hono0 from "hono";
3
3
 
4
4
  //#region src/domains/evals/routes/index.d.ts
5
- declare const app: OpenAPIHono<hono15.Env, {}, "/">;
5
+ declare const app: OpenAPIHono<hono0.Env, {}, "/">;
6
6
  //#endregion
7
7
  export { app as default };
@@ -1,7 +1,7 @@
1
1
  import { Hono } from "hono";
2
- import * as hono_types5 from "hono/types";
2
+ import * as hono_types3 from "hono/types";
3
3
 
4
4
  //#region src/domains/evals/workflow/routes.d.ts
5
- declare const workflowRoutes: Hono<hono_types5.BlankEnv, hono_types5.BlankSchema, "/">;
5
+ declare const workflowRoutes: Hono<hono_types3.BlankEnv, hono_types3.BlankSchema, "/">;
6
6
  //#endregion
7
7
  export { workflowRoutes };
@@ -1,7 +1,7 @@
1
1
  import { OpenAPIHono } from "@hono/zod-openapi";
2
- import * as hono16 from "hono";
2
+ import * as hono3 from "hono";
3
3
 
4
4
  //#region src/domains/manage/routes/conversations.d.ts
5
- declare const app: OpenAPIHono<hono16.Env, {}, "/">;
5
+ declare const app: OpenAPIHono<hono3.Env, {}, "/">;
6
6
  //#endregion
7
7
  export { app as default };
@@ -1,7 +1,7 @@
1
1
  import { OpenAPIHono } from "@hono/zod-openapi";
2
- import * as hono17 from "hono";
2
+ import * as hono12 from "hono";
3
3
 
4
4
  //#region src/domains/manage/routes/index.d.ts
5
- declare const app: OpenAPIHono<hono17.Env, {}, "/">;
5
+ declare const app: OpenAPIHono<hono12.Env, {}, "/">;
6
6
  //#endregion
7
7
  export { app as default };
@@ -1,7 +1,7 @@
1
1
  import { Hono } from "hono";
2
- import * as hono_types8 from "hono/types";
2
+ import * as hono_types7 from "hono/types";
3
3
 
4
4
  //#region src/domains/manage/routes/mcp.d.ts
5
- declare const app: Hono<hono_types8.BlankEnv, hono_types8.BlankSchema, "/">;
5
+ declare const app: Hono<hono_types7.BlankEnv, hono_types7.BlankSchema, "/">;
6
6
  //#endregion
7
7
  export { app as default };
@@ -1,10 +1,10 @@
1
1
  import { ManageAppVariables } from "../../../types/app.js";
2
2
  import { Hono } from "hono";
3
- import * as hono_types7 from "hono/types";
3
+ import * as hono_types9 from "hono/types";
4
4
 
5
5
  //#region src/domains/manage/routes/signoz.d.ts
6
6
  declare const app: Hono<{
7
7
  Variables: ManageAppVariables;
8
- }, hono_types7.BlankSchema, "/">;
8
+ }, hono_types9.BlankSchema, "/">;
9
9
  //#endregion
10
10
  export { app as default };
@@ -1,6 +1,6 @@
1
1
  import { getLogger as getLogger$1 } from "../../../logger.js";
2
2
  import { env } from "../../../env.js";
3
- import { enforceProjectFilter } from "../../../utils/signozHelpers.js";
3
+ import { enforceSecurityFilters } from "../../../utils/signozHelpers.js";
4
4
  import { Hono } from "hono";
5
5
  import { createApiError, projectExists } from "@inkeep/agents-core";
6
6
  import axios from "axios";
@@ -36,9 +36,12 @@ app.post("/query", async (c) => {
36
36
  message: "You do not have access to this project"
37
37
  }, 403);
38
38
  }
39
- payload = enforceProjectFilter(payload, requestedProjectId);
40
- logger.debug({ projectId: requestedProjectId }, "Project filter enforced");
41
39
  }
40
+ payload = enforceSecurityFilters(payload, tenantId, requestedProjectId);
41
+ logger.debug({
42
+ tenantId,
43
+ projectId: requestedProjectId
44
+ }, "Security filters enforced");
42
45
  const signozUrl = env.SIGNOZ_URL || env.PUBLIC_SIGNOZ_URL;
43
46
  const signozApiKey = env.SIGNOZ_API_KEY;
44
47
  if (!signozUrl || !signozApiKey) {
@@ -1,6 +1,6 @@
1
1
  import { AgentConfig, DelegateRelation } from "./Agent.js";
2
2
  import { InternalRelation } from "../utils/project.js";
3
- import * as _inkeep_agents_core2 from "@inkeep/agents-core";
3
+ import * as _inkeep_agents_core1 from "@inkeep/agents-core";
4
4
  import { CredentialStoreRegistry, FullExecutionContext } from "@inkeep/agents-core";
5
5
  import * as ai0 from "ai";
6
6
 
@@ -44,7 +44,7 @@ declare function createDelegateToAgentTool({
44
44
  message: string;
45
45
  }, {
46
46
  toolCallId: any;
47
- result: _inkeep_agents_core2.Message | _inkeep_agents_core2.Task;
47
+ result: _inkeep_agents_core1.Message | _inkeep_agents_core1.Task;
48
48
  }>;
49
49
  /**
50
50
  * Parameters for building a transfer relation config
@@ -5,7 +5,7 @@ import runDbClient_default from "../../../data/db/runDbClient.js";
5
5
  import { createSSEStreamHelper } from "../utils/stream-helpers.js";
6
6
  import { ExecutionHandler } from "../handlers/executionHandler.js";
7
7
  import { JsonTransformer, createMessage, createOrGetConversation, createTriggerInvocation, generateId, getConversationId, getFullProjectWithRelationIds, getTriggerById, interpolateTemplate, setActiveAgentForConversation, updateTriggerInvocationStatus, verifySigningSecret, verifyTriggerAuth, withRef } from "@inkeep/agents-core";
8
- import { SpanStatusCode, trace } from "@opentelemetry/api";
8
+ import { ROOT_CONTEXT, SpanStatusCode, propagation, trace } from "@opentelemetry/api";
9
9
  import Ajv from "ajv";
10
10
 
11
11
  //#region src/domains/run/services/TriggerService.ts
@@ -250,7 +250,10 @@ async function dispatchExecution(params) {
250
250
  */
251
251
  async function executeAgentAsync(params) {
252
252
  const { tenantId, projectId, agentId, triggerId, invocationId, conversationId, userMessage, messageParts, resolvedRef } = params;
253
- return trace.getTracer("trigger-service").startActiveSpan("trigger.execute_async", { attributes: {
253
+ const tracer = trace.getTracer("trigger-service");
254
+ const baggage = propagation.createBaggage().setEntry("tenant.id", { value: tenantId }).setEntry("project.id", { value: projectId }).setEntry("agent.id", { value: agentId }).setEntry("conversation.id", { value: conversationId });
255
+ const contextWithBaggage = propagation.setBaggage(ROOT_CONTEXT, baggage);
256
+ return tracer.startActiveSpan("trigger.execute_async", { attributes: {
254
257
  "tenant.id": tenantId,
255
258
  "project.id": projectId,
256
259
  "agent.id": agentId,
@@ -258,7 +261,7 @@ async function executeAgentAsync(params) {
258
261
  "trigger.invocation.id": invocationId,
259
262
  "conversation.id": conversationId,
260
263
  "invocation.type": "trigger"
261
- } }, async (span) => {
264
+ } }, contextWithBaggage, async (span) => {
262
265
  logger.info({
263
266
  tenantId,
264
267
  projectId,
@@ -1,4 +1,4 @@
1
- import * as _inkeep_agents_core1 from "@inkeep/agents-core";
1
+ import * as _inkeep_agents_core3 from "@inkeep/agents-core";
2
2
  import { BreakdownComponentDef, ContextBreakdown, calculateBreakdownTotal, createEmptyBreakdown } from "@inkeep/agents-core";
3
3
 
4
4
  //#region src/domains/run/utils/token-estimator.d.ts
@@ -17,7 +17,7 @@ interface AssembleResult {
17
17
  /** The assembled prompt string */
18
18
  prompt: string;
19
19
  /** Token breakdown for each component */
20
- breakdown: _inkeep_agents_core1.ContextBreakdown;
20
+ breakdown: _inkeep_agents_core3.ContextBreakdown;
21
21
  }
22
22
  //#endregion
23
23
  export { AssembleResult, type BreakdownComponentDef, type ContextBreakdown, calculateBreakdownTotal, createEmptyBreakdown, estimateTokens };
package/dist/factory.d.ts CHANGED
@@ -7,7 +7,7 @@ import * as hono0 from "hono";
7
7
  import { CredentialStore, ServerConfig } from "@inkeep/agents-core";
8
8
  import * as zod0 from "zod";
9
9
  import { SSOProviderConfig, UserAuthConfig } from "@inkeep/agents-core/auth";
10
- import * as hono_types1 from "hono/types";
10
+ import * as hono_types0 from "hono/types";
11
11
  import * as better_auth0 from "better-auth";
12
12
  import * as better_auth_plugins0 from "better-auth/plugins";
13
13
  import * as _better_auth_sso0 from "@better-auth/sso";
@@ -1536,6 +1536,6 @@ declare function createAgentsApp(config?: {
1536
1536
  auth?: UserAuthConfig;
1537
1537
  sandboxConfig?: SandboxConfig;
1538
1538
  skipInitialization?: boolean;
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, initializeDefaultUser };
package/dist/index.d.ts CHANGED
@@ -8,7 +8,7 @@ import { createAuth0Provider, createOIDCProvider } from "./ssoHelpers.js";
8
8
  import { SSOProviderConfig, UserAuthConfig, createAgentsApp } from "./factory.js";
9
9
  import { Hono } from "hono";
10
10
  import * as zod205 from "zod";
11
- import * as hono_types3 from "hono/types";
11
+ import * as hono_types1 from "hono/types";
12
12
  import * as better_auth78 from "better-auth";
13
13
  import * as better_auth_plugins69 from "better-auth/plugins";
14
14
  import * as _better_auth_sso10 from "@better-auth/sso";
@@ -1531,6 +1531,6 @@ declare const auth: better_auth78.Auth<{
1531
1531
  }>;
1532
1532
  }];
1533
1533
  }> | null;
1534
- declare const app: Hono<hono_types3.BlankEnv, hono_types3.BlankSchema, "/">;
1534
+ declare const app: Hono<hono_types1.BlankEnv, hono_types1.BlankSchema, "/">;
1535
1535
  //#endregion
1536
1536
  export { type AppConfig, type AppVariables, Hono, type NativeSandboxConfig, type SSOProviderConfig, type SandboxConfig, type UserAuthConfig, type VercelSandboxConfig, auth, createAgentsApp, createAgentsHono, createAuth0Provider, createOIDCProvider, app as default, initializeDefaultUser };
@@ -1,5 +1,5 @@
1
1
  import { ManageAppVariables } from "../types/app.js";
2
- import * as hono3 from "hono";
2
+ import * as hono4 from "hono";
3
3
 
4
4
  //#region src/middleware/projectAccess.d.ts
5
5
 
@@ -26,6 +26,6 @@ declare const requireProjectPermission: <Env$1 extends {
26
26
  Variables: ManageAppVariables;
27
27
  } = {
28
28
  Variables: ManageAppVariables;
29
- }>(permission?: ProjectPermission) => hono3.MiddlewareHandler<Env$1, string, {}, Response>;
29
+ }>(permission?: ProjectPermission) => hono4.MiddlewareHandler<Env$1, string, {}, Response>;
30
30
  //#endregion
31
31
  export { ProjectPermission, requireProjectPermission };
@@ -1,11 +1,11 @@
1
- import * as hono4 from "hono";
1
+ import * as hono5 from "hono";
2
2
  import { BaseExecutionContext, ResolvedRef } from "@inkeep/agents-core";
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: hono4.MiddlewareHandler<{
8
+ declare const projectConfigMiddleware: hono5.MiddlewareHandler<{
9
9
  Variables: {
10
10
  executionContext: BaseExecutionContext;
11
11
  resolvedRef: ResolvedRef;
@@ -15,7 +15,7 @@ declare const projectConfigMiddleware: hono4.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) => hono4.MiddlewareHandler<{
18
+ declare const projectConfigMiddlewareExcept: (skipRouteCheck: (path: string) => boolean) => hono5.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 hono6 from "hono";
2
+ import * as hono8 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) => hono6.MiddlewareHandler<Env$1, string, {}, Response>;
12
+ }>(permissions: Permission) => hono8.MiddlewareHandler<Env$1, string, {}, Response>;
13
13
  //#endregion
14
14
  export { requirePermission };
@@ -1,8 +1,8 @@
1
- import * as hono7 from "hono";
1
+ import * as hono9 from "hono";
2
2
  import { BaseExecutionContext } from "@inkeep/agents-core";
3
3
 
4
4
  //#region src/middleware/runAuth.d.ts
5
- declare const runApiKeyAuth: () => hono7.MiddlewareHandler<{
5
+ declare const runApiKeyAuth: () => hono9.MiddlewareHandler<{
6
6
  Variables: {
7
7
  executionContext: BaseExecutionContext;
8
8
  };
@@ -11,7 +11,7 @@ declare const runApiKeyAuth: () => hono7.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) => hono7.MiddlewareHandler<{
14
+ declare const runApiKeyAuthExcept: (skipRouteCheck: (path: string) => boolean) => hono9.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: () => hono7.MiddlewareHandler<{
23
+ declare const runOptionalAuth: () => hono9.MiddlewareHandler<{
24
24
  Variables: {
25
25
  executionContext?: BaseExecutionContext;
26
26
  };
@@ -1,4 +1,4 @@
1
- import * as hono10 from "hono";
1
+ import * as hono13 from "hono";
2
2
 
3
3
  //#region src/middleware/sessionAuth.d.ts
4
4
 
@@ -7,11 +7,11 @@ import * as hono10 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: () => hono10.MiddlewareHandler<any, string, {}, Response>;
10
+ declare const sessionAuth: () => hono13.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: () => hono10.MiddlewareHandler<any, string, {}, Response>;
15
+ declare const sessionContext: () => hono13.MiddlewareHandler<any, string, {}, Response>;
16
16
  //#endregion
17
17
  export { sessionAuth, sessionContext };
@@ -1,4 +1,4 @@
1
- import * as hono12 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 hono12 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: () => hono12.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 hono13 from "hono";
1
+ import * as hono15 from "hono";
2
2
 
3
3
  //#region src/middleware/tracing.d.ts
4
- declare const otelBaggageMiddleware: () => hono13.MiddlewareHandler<any, string, {}, Response>;
5
- declare const executionBaggageMiddleware: () => hono13.MiddlewareHandler<any, string, {}, Response>;
4
+ declare const otelBaggageMiddleware: () => hono15.MiddlewareHandler<any, string, {}, Response>;
5
+ declare const executionBaggageMiddleware: () => hono15.MiddlewareHandler<any, string, {}, Response>;
6
6
  //#endregion
7
7
  export { executionBaggageMiddleware, otelBaggageMiddleware };
@@ -4,6 +4,6 @@
4
4
  * This modifies the query payload to ensure all builder queries include
5
5
  * a server-side project.id filter, preventing client-side filter bypass.
6
6
  */
7
- declare function enforceProjectFilter(payload: any, projectId: string): any;
7
+ declare function enforceSecurityFilters(payload: any, tenantId: string, projectId?: string): any;
8
8
  //#endregion
9
- export { enforceProjectFilter };
9
+ export { enforceSecurityFilters };
@@ -4,7 +4,7 @@
4
4
  * This modifies the query payload to ensure all builder queries include
5
5
  * a server-side project.id filter, preventing client-side filter bypass.
6
6
  */
7
- function enforceProjectFilter(payload, projectId) {
7
+ function enforceSecurityFilters(payload, tenantId, projectId) {
8
8
  const modifiedPayload = JSON.parse(JSON.stringify(payload));
9
9
  if (modifiedPayload.compositeQuery?.builderQueries) for (const queryKey in modifiedPayload.compositeQuery.builderQueries) {
10
10
  const query = modifiedPayload.compositeQuery.builderQueries[queryKey];
@@ -12,8 +12,20 @@ function enforceProjectFilter(payload, projectId) {
12
12
  op: "AND",
13
13
  items: []
14
14
  };
15
- query.filters.items = query.filters.items.filter((item) => item.key?.key !== "project.id");
15
+ query.filters.items = query.filters.items.filter((item) => item.key?.key !== "tenant.id" && item.key?.key !== "project.id");
16
16
  query.filters.items.push({
17
+ key: {
18
+ key: "tenant.id",
19
+ dataType: "string",
20
+ type: "tag",
21
+ isColumn: false,
22
+ isJSON: false,
23
+ id: "false"
24
+ },
25
+ op: "=",
26
+ value: tenantId
27
+ });
28
+ if (projectId) query.filters.items.push({
17
29
  key: {
18
30
  key: "project.id",
19
31
  dataType: "string",
@@ -30,4 +42,4 @@ function enforceProjectFilter(payload, projectId) {
30
42
  }
31
43
 
32
44
  //#endregion
33
- export { enforceProjectFilter };
45
+ export { enforceSecurityFilters };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inkeep/agents-api",
3
- "version": "0.0.0-dev-20260122151138",
3
+ "version": "0.0.0-dev-20260122153611",
4
4
  "description": "Unified Inkeep Agents API - combines management, runtime, and evaluation capabilities",
5
5
  "types": "dist/index.d.ts",
6
6
  "exports": {
@@ -71,8 +71,8 @@
71
71
  "openid-client": "^6.8.1",
72
72
  "pg": "^8.16.3",
73
73
  "workflow": "4.0.1-beta.33",
74
- "@inkeep/agents-core": "^0.0.0-dev-20260122151138",
75
- "@inkeep/agents-manage-mcp": "^0.0.0-dev-20260122151138"
74
+ "@inkeep/agents-core": "^0.0.0-dev-20260122153611",
75
+ "@inkeep/agents-manage-mcp": "^0.0.0-dev-20260122153611"
76
76
  },
77
77
  "peerDependencies": {
78
78
  "@hono/zod-openapi": "^1.1.5",