@inkeep/agents-api 0.0.0-dev-20260318225235 → 0.0.0-dev-20260318232505

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 (34) hide show
  1. package/dist/.well-known/workflow/v1/manifest.json +17 -17
  2. package/dist/createApp.d.ts +2 -2
  3. package/dist/data/db/manageDbClient.d.ts +2 -2
  4. package/dist/data/db/runDbClient.d.ts +2 -2
  5. package/dist/data-reconciliation/handlers/agent.d.ts +2 -2
  6. package/dist/data-reconciliation/handlers/context-configs.d.ts +2 -2
  7. package/dist/data-reconciliation/handlers/scheduled-triggers.d.ts +2 -2
  8. package/dist/data-reconciliation/handlers/sub-agents.d.ts +2 -2
  9. package/dist/data-reconciliation/handlers/tools.d.ts +2 -2
  10. package/dist/domains/evals/routes/datasetTriggers.d.ts +2 -2
  11. package/dist/domains/evals/routes/index.d.ts +2 -2
  12. package/dist/domains/manage/routes/availableAgents.d.ts +2 -2
  13. package/dist/domains/manage/routes/conversations.d.ts +2 -2
  14. package/dist/domains/manage/routes/index.d.ts +2 -2
  15. package/dist/domains/manage/routes/invitations.d.ts +2 -2
  16. package/dist/domains/manage/routes/passwordResetLinks.d.ts +2 -2
  17. package/dist/domains/manage/routes/signoz.d.ts +2 -2
  18. package/dist/domains/manage/routes/users.d.ts +2 -2
  19. package/dist/domains/run/agents/relationTools.d.ts +2 -2
  20. package/dist/domains/run/routes/auth.d.ts +2 -2
  21. package/dist/domains/run/tools/distill-conversation-history-tool.d.ts +1 -1
  22. package/dist/domains/run/types/chat.d.ts +4 -4
  23. package/dist/domains/run/utils/token-estimator.d.ts +2 -2
  24. package/dist/domains/run/workflow/steps/scheduledTriggerSteps.d.ts +5 -5
  25. package/dist/index.d.ts +2 -2
  26. package/dist/middleware/evalsAuth.d.ts +2 -2
  27. package/dist/middleware/manageAuth.d.ts +6 -5
  28. package/dist/middleware/manageAuth.js +43 -3
  29. package/dist/middleware/projectConfig.d.ts +3 -3
  30. package/dist/middleware/requirePermission.d.ts +2 -2
  31. package/dist/middleware/runAuth.d.ts +4 -4
  32. package/dist/middleware/tenantAccess.d.ts +2 -2
  33. package/dist/middleware/tracing.d.ts +3 -3
  34. package/package.json +5 -5
@@ -1,11 +1,6 @@
1
1
  {
2
2
  "version": "1.0.0",
3
3
  "steps": {
4
- "node_modules/.pnpm/workflow@4.2.0-beta.68_@nestjs+common@11.1.13_reflect-metadata@0.2.2_rxjs@7.8.2__@nestj_9ec7abb8bcd1459c2bab463fccef5dfb/node_modules/workflow/dist/stdlib.js": {
5
- "fetch": {
6
- "stepId": "step//workflow@4.2.0-beta.68//fetch"
7
- }
8
- },
9
4
  "node_modules/.pnpm/workflow@4.2.0-beta.68_@nestjs+common@11.1.13_reflect-metadata@0.2.2_rxjs@7.8.2__@nestj_9ec7abb8bcd1459c2bab463fccef5dfb/node_modules/workflow/dist/internal/builtins.js": {
10
5
  "__builtin_response_array_buffer": {
11
6
  "stepId": "__builtin_response_array_buffer"
@@ -17,9 +12,9 @@
17
12
  "stepId": "__builtin_response_text"
18
13
  }
19
14
  },
20
- "src/domains/run/workflow/functions/scheduledTriggerRunner.ts": {
21
- "startNextIterationStep": {
22
- "stepId": "step//./src/domains/run/workflow/functions/scheduledTriggerRunner//startNextIterationStep"
15
+ "node_modules/.pnpm/workflow@4.2.0-beta.68_@nestjs+common@11.1.13_reflect-metadata@0.2.2_rxjs@7.8.2__@nestj_9ec7abb8bcd1459c2bab463fccef5dfb/node_modules/workflow/dist/stdlib.js": {
16
+ "fetch": {
17
+ "stepId": "step//workflow@4.2.0-beta.68//fetch"
23
18
  }
24
19
  },
25
20
  "src/domains/evals/workflow/functions/evaluateConversation.ts": {
@@ -93,18 +88,14 @@
93
88
  "markRunningStep": {
94
89
  "stepId": "step//./src/domains/run/workflow/steps/scheduledTriggerSteps//markRunningStep"
95
90
  }
91
+ },
92
+ "src/domains/run/workflow/functions/scheduledTriggerRunner.ts": {
93
+ "startNextIterationStep": {
94
+ "stepId": "step//./src/domains/run/workflow/functions/scheduledTriggerRunner//startNextIterationStep"
95
+ }
96
96
  }
97
97
  },
98
98
  "workflows": {
99
- "src/domains/run/workflow/functions/scheduledTriggerRunner.ts": {
100
- "_scheduledTriggerRunnerWorkflow": {
101
- "workflowId": "workflow//./src/domains/run/workflow/functions/scheduledTriggerRunner//_scheduledTriggerRunnerWorkflow",
102
- "graph": {
103
- "nodes": [],
104
- "edges": []
105
- }
106
- }
107
- },
108
99
  "src/domains/evals/workflow/functions/evaluateConversation.ts": {
109
100
  "_evaluateConversationWorkflow": {
110
101
  "workflowId": "workflow//./src/domains/evals/workflow/functions/evaluateConversation//_evaluateConversationWorkflow",
@@ -122,6 +113,15 @@
122
113
  "edges": []
123
114
  }
124
115
  }
116
+ },
117
+ "src/domains/run/workflow/functions/scheduledTriggerRunner.ts": {
118
+ "_scheduledTriggerRunnerWorkflow": {
119
+ "workflowId": "workflow//./src/domains/run/workflow/functions/scheduledTriggerRunner//_scheduledTriggerRunnerWorkflow",
120
+ "graph": {
121
+ "nodes": [],
122
+ "edges": []
123
+ }
124
+ }
125
125
  }
126
126
  },
127
127
  "classes": {}
@@ -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_types1 from "hono/types";
4
+ import * as hono_types11 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_types1.BlankEnv, hono_types1.BlankSchema, "/">;
8
+ declare function createAgentsHono(config: AppConfig): Hono<hono_types11.BlankEnv, hono_types11.BlankSchema, "/">;
9
9
  //#endregion
10
10
  export { createAgentsHono, isWebhookRoute };
@@ -1,6 +1,6 @@
1
- import * as _inkeep_agents_core2 from "@inkeep/agents-core";
1
+ import * as _inkeep_agents_core0 from "@inkeep/agents-core";
2
2
 
3
3
  //#region src/data/db/manageDbClient.d.ts
4
- declare const manageDbClient: _inkeep_agents_core2.AgentsManageDatabaseClient;
4
+ declare const manageDbClient: _inkeep_agents_core0.AgentsManageDatabaseClient;
5
5
  //#endregion
6
6
  export { manageDbClient as default };
@@ -1,6 +1,6 @@
1
- import * as _inkeep_agents_core3 from "@inkeep/agents-core";
1
+ import * as _inkeep_agents_core0 from "@inkeep/agents-core";
2
2
 
3
3
  //#region src/data/db/runDbClient.d.ts
4
- declare const runDbClient: _inkeep_agents_core3.AgentsRunDatabaseClient;
4
+ declare const runDbClient: _inkeep_agents_core0.AgentsRunDatabaseClient;
5
5
  //#endregion
6
6
  export { runDbClient as default };
@@ -1,6 +1,6 @@
1
- import * as _inkeep_agents_core5 from "@inkeep/agents-core";
1
+ import * as _inkeep_agents_core1 from "@inkeep/agents-core";
2
2
 
3
3
  //#region src/data-reconciliation/handlers/agent.d.ts
4
- declare const agentHandlers: _inkeep_agents_core5.EntityEffectHandlers<"agent">;
4
+ declare const agentHandlers: _inkeep_agents_core1.EntityEffectHandlers<"agent">;
5
5
  //#endregion
6
6
  export { agentHandlers };
@@ -1,6 +1,6 @@
1
- import * as _inkeep_agents_core4 from "@inkeep/agents-core";
1
+ import * as _inkeep_agents_core2 from "@inkeep/agents-core";
2
2
 
3
3
  //#region src/data-reconciliation/handlers/context-configs.d.ts
4
- declare const contextConfigsHandlers: _inkeep_agents_core4.EntityEffectHandlers<"context_configs">;
4
+ declare const contextConfigsHandlers: _inkeep_agents_core2.EntityEffectHandlers<"context_configs">;
5
5
  //#endregion
6
6
  export { contextConfigsHandlers };
@@ -1,6 +1,6 @@
1
- import * as _inkeep_agents_core6 from "@inkeep/agents-core";
1
+ import * as _inkeep_agents_core3 from "@inkeep/agents-core";
2
2
 
3
3
  //#region src/data-reconciliation/handlers/scheduled-triggers.d.ts
4
- declare const scheduledTriggersHandlers: _inkeep_agents_core6.EntityEffectHandlers<"scheduled_triggers">;
4
+ declare const scheduledTriggersHandlers: _inkeep_agents_core3.EntityEffectHandlers<"scheduled_triggers">;
5
5
  //#endregion
6
6
  export { scheduledTriggersHandlers };
@@ -1,6 +1,6 @@
1
- import * as _inkeep_agents_core7 from "@inkeep/agents-core";
1
+ import * as _inkeep_agents_core4 from "@inkeep/agents-core";
2
2
 
3
3
  //#region src/data-reconciliation/handlers/sub-agents.d.ts
4
- declare const subAgentsHandlers: _inkeep_agents_core7.EntityEffectHandlers<"sub_agents">;
4
+ declare const subAgentsHandlers: _inkeep_agents_core4.EntityEffectHandlers<"sub_agents">;
5
5
  //#endregion
6
6
  export { subAgentsHandlers };
@@ -1,6 +1,6 @@
1
- import * as _inkeep_agents_core8 from "@inkeep/agents-core";
1
+ import * as _inkeep_agents_core5 from "@inkeep/agents-core";
2
2
 
3
3
  //#region src/data-reconciliation/handlers/tools.d.ts
4
- declare const toolsHandlers: _inkeep_agents_core8.EntityEffectHandlers<"tools">;
4
+ declare const toolsHandlers: _inkeep_agents_core5.EntityEffectHandlers<"tools">;
5
5
  //#endregion
6
6
  export { toolsHandlers };
@@ -1,7 +1,7 @@
1
1
  import { OpenAPIHono } from "@hono/zod-openapi";
2
- import * as hono1 from "hono";
2
+ import * as hono10 from "hono";
3
3
 
4
4
  //#region src/domains/evals/routes/datasetTriggers.d.ts
5
- declare const app: OpenAPIHono<hono1.Env, {}, "/">;
5
+ declare const app: OpenAPIHono<hono10.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 hono2 from "hono";
2
+ import * as hono11 from "hono";
3
3
 
4
4
  //#region src/domains/evals/routes/index.d.ts
5
- declare const app: OpenAPIHono<hono2.Env, {}, "/">;
5
+ declare const app: OpenAPIHono<hono11.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 hono14 from "hono";
2
+ import * as hono13 from "hono";
3
3
 
4
4
  //#region src/domains/manage/routes/availableAgents.d.ts
5
- declare const app: OpenAPIHono<hono14.Env, {}, "/">;
5
+ declare const app: OpenAPIHono<hono13.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 hono13 from "hono";
2
+ import * as hono14 from "hono";
3
3
 
4
4
  //#region src/domains/manage/routes/conversations.d.ts
5
- declare const app: OpenAPIHono<hono13.Env, {}, "/">;
5
+ declare const app: OpenAPIHono<hono14.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 hono12 from "hono";
3
3
 
4
4
  //#region src/domains/manage/routes/index.d.ts
5
- declare const app: OpenAPIHono<hono15.Env, {}, "/">;
5
+ declare const app: OpenAPIHono<hono12.Env, {}, "/">;
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_types8 from "hono/types";
4
4
 
5
5
  //#region src/domains/manage/routes/invitations.d.ts
6
6
  declare const invitationsRoutes: Hono<{
7
7
  Variables: ManageAppVariables;
8
- }, hono_types7.BlankSchema, "/">;
8
+ }, hono_types8.BlankSchema, "/">;
9
9
  //#endregion
10
10
  export { invitationsRoutes as default };
@@ -1,10 +1,10 @@
1
1
  import { ManageAppVariables } from "../../../types/app.js";
2
2
  import { Hono } from "hono";
3
- import * as hono_types8 from "hono/types";
3
+ import * as hono_types9 from "hono/types";
4
4
 
5
5
  //#region src/domains/manage/routes/passwordResetLinks.d.ts
6
6
  declare const passwordResetLinksRoutes: Hono<{
7
7
  Variables: ManageAppVariables;
8
- }, hono_types8.BlankSchema, "/">;
8
+ }, hono_types9.BlankSchema, "/">;
9
9
  //#endregion
10
10
  export { passwordResetLinksRoutes as default };
@@ -1,10 +1,10 @@
1
1
  import { ManageAppVariables } from "../../../types/app.js";
2
2
  import { Hono } from "hono";
3
- import * as hono_types10 from "hono/types";
3
+ import * as hono_types7 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_types10.BlankSchema, "/">;
8
+ }, hono_types7.BlankSchema, "/">;
9
9
  //#endregion
10
10
  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_types9 from "hono/types";
3
+ import * as hono_types10 from "hono/types";
4
4
 
5
5
  //#region src/domains/manage/routes/users.d.ts
6
6
  declare const usersRoutes: Hono<{
7
7
  Variables: ManageAppVariables;
8
- }, hono_types9.BlankSchema, "/">;
8
+ }, hono_types10.BlankSchema, "/">;
9
9
  //#endregion
10
10
  export { usersRoutes as default };
@@ -1,7 +1,7 @@
1
1
  import { AgentConfig, DelegateRelation } from "./agent-types.js";
2
2
  import "./Agent.js";
3
3
  import { InternalRelation } from "../utils/project.js";
4
- import * as _inkeep_agents_core0 from "@inkeep/agents-core";
4
+ import * as _inkeep_agents_core6 from "@inkeep/agents-core";
5
5
  import { CredentialStoreRegistry, FullExecutionContext } from "@inkeep/agents-core";
6
6
  import * as ai0 from "ai";
7
7
 
@@ -45,7 +45,7 @@ declare function createDelegateToAgentTool({
45
45
  message: string;
46
46
  }, {
47
47
  toolCallId: any;
48
- result: _inkeep_agents_core0.Message | _inkeep_agents_core0.Task;
48
+ result: _inkeep_agents_core6.Message | _inkeep_agents_core6.Task;
49
49
  }>;
50
50
  /**
51
51
  * Parameters for building a transfer relation config
@@ -1,8 +1,8 @@
1
1
  import { OpenAPIHono } from "@hono/zod-openapi";
2
- import * as hono16 from "hono";
2
+ import * as hono15 from "hono";
3
3
 
4
4
  //#region src/domains/run/routes/auth.d.ts
5
5
  declare function getAnonJwtSecret(): Uint8Array;
6
- declare const app: OpenAPIHono<hono16.Env, {}, "/">;
6
+ declare const app: OpenAPIHono<hono15.Env, {}, "/">;
7
7
  //#endregion
8
8
  export { app as default, getAnonJwtSecret };
@@ -29,9 +29,9 @@ declare const ConversationHistorySummarySchema: z.ZodObject<{
29
29
  tool_call_id: z.ZodString;
30
30
  content_summary: z.ZodString;
31
31
  relevance: z.ZodEnum<{
32
- low: "low";
33
32
  high: "high";
34
33
  medium: "medium";
34
+ low: "low";
35
35
  }>;
36
36
  }, z.core.$strip>>>;
37
37
  conversation_flow: z.ZodObject<{
@@ -9,9 +9,9 @@ declare const ImageUrlSchema: z.ZodUnion<readonly [z.ZodURL, z.ZodString]>;
9
9
  /** OpenAI-specific image detail level. Has no effect on other providers. */
10
10
  declare const ImageDetailEnum: readonly ["auto", "low", "high"];
11
11
  declare const ImageDetailSchema: z.ZodEnum<{
12
- auto: "auto";
13
- low: "low";
14
12
  high: "high";
13
+ low: "low";
14
+ auto: "auto";
15
15
  }>;
16
16
  type ImageDetail = z.infer<typeof ImageDetailSchema>;
17
17
  declare const ImageContentItemSchema: z.ZodObject<{
@@ -19,9 +19,9 @@ declare const ImageContentItemSchema: z.ZodObject<{
19
19
  image_url: z.ZodObject<{
20
20
  url: z.ZodUnion<readonly [z.ZodURL, z.ZodString]>;
21
21
  detail: z.ZodOptional<z.ZodEnum<{
22
- auto: "auto";
23
- low: "low";
24
22
  high: "high";
23
+ low: "low";
24
+ auto: "auto";
25
25
  }>>;
26
26
  }, z.core.$strip>;
27
27
  }, z.core.$strip>;
@@ -1,4 +1,4 @@
1
- import * as _inkeep_agents_core1 from "@inkeep/agents-core";
1
+ import * as _inkeep_agents_core8 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_core8.ContextBreakdown;
21
21
  }
22
22
  //#endregion
23
23
  export { AssembleResult, type BreakdownComponentDef, type ContextBreakdown, calculateBreakdownTotal, createEmptyBreakdown, estimateTokens };
@@ -108,7 +108,7 @@ declare function createInvocationIdempotentStep(params: {
108
108
  projectId: string;
109
109
  tenantId: string;
110
110
  id: string;
111
- status: "completed" | "pending" | "running" | "failed" | "cancelled";
111
+ status: "pending" | "completed" | "running" | "failed" | "cancelled";
112
112
  ref?: {
113
113
  type: "commit" | "tag" | "branch";
114
114
  name: string;
@@ -153,7 +153,7 @@ declare function markRunningStep(params: {
153
153
  projectId: string;
154
154
  tenantId: string;
155
155
  id: string;
156
- status: "completed" | "pending" | "running" | "failed" | "cancelled";
156
+ status: "pending" | "completed" | "running" | "failed" | "cancelled";
157
157
  ref?: {
158
158
  type: "commit" | "tag" | "branch";
159
159
  name: string;
@@ -185,7 +185,7 @@ declare function addConversationIdStep(params: {
185
185
  projectId: string;
186
186
  tenantId: string;
187
187
  id: string;
188
- status: "completed" | "pending" | "running" | "failed" | "cancelled";
188
+ status: "pending" | "completed" | "running" | "failed" | "cancelled";
189
189
  ref?: {
190
190
  type: "commit" | "tag" | "branch";
191
191
  name: string;
@@ -215,7 +215,7 @@ declare function markCompletedStep(params: {
215
215
  projectId: string;
216
216
  tenantId: string;
217
217
  id: string;
218
- status: "completed" | "pending" | "running" | "failed" | "cancelled";
218
+ status: "pending" | "completed" | "running" | "failed" | "cancelled";
219
219
  ref?: {
220
220
  type: "commit" | "tag" | "branch";
221
221
  name: string;
@@ -245,7 +245,7 @@ declare function markFailedStep(params: {
245
245
  projectId: string;
246
246
  tenantId: string;
247
247
  id: string;
248
- status: "completed" | "pending" | "running" | "failed" | "cancelled";
248
+ status: "pending" | "completed" | "running" | "failed" | "cancelled";
249
249
  ref?: {
250
250
  type: "commit" | "tag" | "branch";
251
251
  name: string;
package/dist/index.d.ts CHANGED
@@ -7,7 +7,7 @@ import { SSOProviderConfig, UserAuthConfig, createAgentsApp } from "./factory.js
7
7
  import "./sentry.js";
8
8
  import { Hono } from "hono";
9
9
  import * as zod344 from "zod";
10
- import * as hono_types11 from "hono/types";
10
+ import * as hono_types1 from "hono/types";
11
11
  import * as better_auth99 from "better-auth";
12
12
  import * as better_auth_plugins35 from "better-auth/plugins";
13
13
  import * as _better_auth_sso11 from "@better-auth/sso";
@@ -1627,6 +1627,6 @@ declare const auth: better_auth99.Auth<{
1627
1627
  }>;
1628
1628
  }];
1629
1629
  }>;
1630
- declare const app: Hono<hono_types11.BlankEnv, hono_types11.BlankSchema, "/">;
1630
+ declare const app: Hono<hono_types1.BlankEnv, hono_types1.BlankSchema, "/">;
1631
1631
  //#endregion
1632
1632
  export { type AppConfig, type AppVariables, Hono, type NativeSandboxConfig, type SSOProviderConfig, type SandboxConfig, type UserAuthConfig, type VercelSandboxConfig, auth, createAgentsApp, createAgentsHono, createAuth0Provider, createOIDCProvider, app as default };
@@ -1,5 +1,5 @@
1
1
  import { BaseExecutionContext } from "@inkeep/agents-core";
2
- import * as hono19 from "hono";
2
+ import * as hono18 from "hono";
3
3
 
4
4
  //#region src/middleware/evalsAuth.d.ts
5
5
 
@@ -7,7 +7,7 @@ import * as hono19 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: () => hono19.MiddlewareHandler<{
10
+ declare const evalApiKeyAuth: () => hono18.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 hono8 from "hono";
2
+ import * as hono16 from "hono";
3
3
  import { createAuth } from "@inkeep/agents-core/auth";
4
4
 
5
5
  //#region src/middleware/manageAuth.d.ts
@@ -12,10 +12,11 @@ import { createAuth } from "@inkeep/agents-core/auth";
12
12
  * 3. Slack user JWT token (for Slack work app delegation)
13
13
  * 4. Internal service token
14
14
  *
15
- * NOTE: Database API keys are intentionally NOT accepted on manage endpoints.
16
- * API keys are restricted to the run domain only (chat, agent execution).
15
+ * NOTE: Database API keys are intentionally NOT accepted on manage endpoints,
16
+ * EXCEPT for the legacy exception on GET /manage/tenants/:t/projects/:p/conversations/:id
17
+ * (see isLegacyApiKeyAllowedRoute). API keys are otherwise restricted to the run domain only.
17
18
  */
18
- declare const manageBearerAuth: () => hono8.MiddlewareHandler<{
19
+ declare const manageBearerAuth: () => hono16.MiddlewareHandler<{
19
20
  Variables: {
20
21
  executionContext: BaseExecutionContext;
21
22
  userId?: string;
@@ -29,6 +30,6 @@ declare const manageBearerAuth: () => hono8.MiddlewareHandler<{
29
30
  * Uses Bearer token → manage bearer auth (bypass secret, session, Slack JWT, internal service),
30
31
  * otherwise falls back to session auth.
31
32
  */
32
- declare const manageBearerOrSessionAuth: () => hono8.MiddlewareHandler<any, string, {}, Response>;
33
+ declare const manageBearerOrSessionAuth: () => hono16.MiddlewareHandler<any, string, {}, Response>;
33
34
  //#endregion
34
35
  export { manageBearerAuth, manageBearerOrSessionAuth };
@@ -1,11 +1,25 @@
1
1
  import { env } from "../env.js";
2
+ import runDbClient_default from "../data/db/runDbClient.js";
2
3
  import { sessionAuth } from "./sessionAuth.js";
3
- import { getLogger, isInternalServiceToken, isSlackUserToken, verifyInternalServiceAuthHeader, verifySlackUserToken } from "@inkeep/agents-core";
4
+ import { getLogger, isInternalServiceToken, isSlackUserToken, validateAndGetApiKey, verifyInternalServiceAuthHeader, verifySlackUserToken } from "@inkeep/agents-core";
4
5
  import { registerAuthzMeta } from "@inkeep/agents-core/middleware";
5
6
  import { createMiddleware } from "hono/factory";
6
7
  import { HTTPException } from "hono/http-exception";
7
8
 
8
9
  //#region src/middleware/manageAuth.ts
10
+ /**
11
+ * Legacy exception: allow database API keys on GET /manage/tenants/:t/projects/:p/conversations/:id
12
+ * A customer uses the deprecated API key and needs read access to this single endpoint.
13
+ * The caller must already know the conversationId. Only GET with a specific conversation ID is allowed —
14
+ * list, bounds, media, and all other manage endpoints remain session-only.
15
+ */
16
+ const LEGACY_API_KEY_CONVERSATION_ROUTE = /^\/manage\/tenants\/[^/]+\/projects\/[^/]+\/conversations\/[^/]+\/?$/;
17
+ function isLegacyApiKeyAllowedRoute(method, path) {
18
+ return method === "GET" && LEGACY_API_KEY_CONVERSATION_ROUTE.test(path);
19
+ }
20
+ function extractProjectIdFromPath(path) {
21
+ return path.match(/\/projects\/([^/]+)\//)?.[1];
22
+ }
9
23
  const logger = getLogger("env-key-auth");
10
24
  /**
11
25
  * Middleware to authenticate API requests using Bearer token authentication
@@ -15,8 +29,9 @@ const logger = getLogger("env-key-auth");
15
29
  * 3. Slack user JWT token (for Slack work app delegation)
16
30
  * 4. Internal service token
17
31
  *
18
- * NOTE: Database API keys are intentionally NOT accepted on manage endpoints.
19
- * API keys are restricted to the run domain only (chat, agent execution).
32
+ * NOTE: Database API keys are intentionally NOT accepted on manage endpoints,
33
+ * EXCEPT for the legacy exception on GET /manage/tenants/:t/projects/:p/conversations/:id
34
+ * (see isLegacyApiKeyAllowedRoute). API keys are otherwise restricted to the run domain only.
20
35
  */
21
36
  const manageBearerAuth = () => createMiddleware(async (c, next) => {
22
37
  const authHeader = c.req.header("Authorization");
@@ -83,6 +98,31 @@ const manageBearerAuth = () => createMiddleware(async (c, next) => {
83
98
  await next();
84
99
  return;
85
100
  }
101
+ if (isLegacyApiKeyAllowedRoute(c.req.method, c.req.path)) try {
102
+ const apiKeyRecord = await validateAndGetApiKey(token, runDbClient_default);
103
+ if (apiKeyRecord) {
104
+ const routeProjectId = extractProjectIdFromPath(c.req.path);
105
+ if (routeProjectId && apiKeyRecord.projectId !== routeProjectId) {
106
+ logger.warn({
107
+ apiKeyId: apiKeyRecord.id,
108
+ apiKeyProjectId: apiKeyRecord.projectId,
109
+ routeProjectId
110
+ }, "Legacy API key project mismatch");
111
+ throw new HTTPException(403, { message: "API key does not have access to this project" });
112
+ }
113
+ logger.info({
114
+ apiKeyId: apiKeyRecord.id,
115
+ tenantId: apiKeyRecord.tenantId
116
+ }, "Legacy API key authenticated for manage conversation endpoint");
117
+ c.set("userId", `apikey:${apiKeyRecord.id}`);
118
+ c.set("tenantId", apiKeyRecord.tenantId);
119
+ await next();
120
+ return;
121
+ }
122
+ } catch (error) {
123
+ if (error instanceof HTTPException) throw error;
124
+ logger.error({ error }, "Legacy API key validation failed");
125
+ }
86
126
  throw new HTTPException(401, { message: "Invalid Token" });
87
127
  });
88
128
  /**
@@ -1,11 +1,11 @@
1
1
  import { BaseExecutionContext, ResolvedRef } from "@inkeep/agents-core";
2
- import * as hono17 from "hono";
2
+ import * as hono1 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: hono17.MiddlewareHandler<{
8
+ declare const projectConfigMiddleware: hono1.MiddlewareHandler<{
9
9
  Variables: {
10
10
  executionContext: BaseExecutionContext;
11
11
  resolvedRef: ResolvedRef;
@@ -15,7 +15,7 @@ declare const projectConfigMiddleware: hono17.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) => hono17.MiddlewareHandler<{
18
+ declare const projectConfigMiddlewareExcept: (skipRouteCheck: (path: string) => boolean) => hono1.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 hono0 from "hono";
2
+ import * as hono19 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) => hono0.MiddlewareHandler<Env$1, string, {}, Response>;
12
+ }>(permissions: Permission) => hono19.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 hono10 from "hono";
2
+ import * as hono5 from "hono";
3
3
 
4
4
  //#region src/middleware/runAuth.d.ts
5
- declare const runApiKeyAuth: () => hono10.MiddlewareHandler<{
5
+ declare const runApiKeyAuth: () => hono5.MiddlewareHandler<{
6
6
  Variables: {
7
7
  executionContext: BaseExecutionContext;
8
8
  };
@@ -11,7 +11,7 @@ declare const runApiKeyAuth: () => hono10.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) => hono10.MiddlewareHandler<{
14
+ declare const runApiKeyAuthExcept: (skipRouteCheck: (path: string) => boolean) => hono5.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: () => hono10.MiddlewareHandler<{
23
+ declare const runOptionalAuth: () => hono5.MiddlewareHandler<{
24
24
  Variables: {
25
25
  executionContext?: BaseExecutionContext;
26
26
  };
@@ -1,4 +1,4 @@
1
- import * as hono7 from "hono";
1
+ import * as hono0 from "hono";
2
2
 
3
3
  //#region src/middleware/tenantAccess.d.ts
4
4
 
@@ -12,7 +12,7 @@ import * as hono7 from "hono";
12
12
  * - API key user: Access only to the tenant associated with the API key
13
13
  * - Session user: Access based on organization membership
14
14
  */
15
- declare const requireTenantAccess: () => hono7.MiddlewareHandler<{
15
+ declare const requireTenantAccess: () => hono0.MiddlewareHandler<{
16
16
  Variables: {
17
17
  userId: string;
18
18
  tenantId: string;
@@ -1,7 +1,7 @@
1
- import * as hono5 from "hono";
1
+ import * as hono8 from "hono";
2
2
 
3
3
  //#region src/middleware/tracing.d.ts
4
- declare const otelBaggageMiddleware: () => hono5.MiddlewareHandler<any, string, {}, Response>;
5
- declare const executionBaggageMiddleware: () => hono5.MiddlewareHandler<any, string, {}, Response>;
4
+ declare const otelBaggageMiddleware: () => hono8.MiddlewareHandler<any, string, {}, Response>;
5
+ declare const executionBaggageMiddleware: () => hono8.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-20260318225235",
3
+ "version": "0.0.0-dev-20260318232505",
4
4
  "description": "Unified Inkeep Agents API - combines management, runtime, and evaluation capabilities",
5
5
  "types": "dist/index.d.ts",
6
6
  "exports": {
@@ -74,10 +74,10 @@
74
74
  "pg": "^8.16.3",
75
75
  "undici": "^7.22.0",
76
76
  "workflow": "^4.2.0-beta.64",
77
- "@inkeep/agents-core": "^0.0.0-dev-20260318225235",
78
- "@inkeep/agents-email": "^0.0.0-dev-20260318225235",
79
- "@inkeep/agents-mcp": "^0.0.0-dev-20260318225235",
80
- "@inkeep/agents-work-apps": "^0.0.0-dev-20260318225235"
77
+ "@inkeep/agents-core": "^0.0.0-dev-20260318232505",
78
+ "@inkeep/agents-email": "^0.0.0-dev-20260318232505",
79
+ "@inkeep/agents-mcp": "^0.0.0-dev-20260318232505",
80
+ "@inkeep/agents-work-apps": "^0.0.0-dev-20260318232505"
81
81
  },
82
82
  "peerDependencies": {
83
83
  "@hono/zod-openapi": "^1.1.5",