@inkeep/agents-api 0.0.0-dev-20260212152525 → 0.0.0-dev-20260212154015
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.
- package/dist/.well-known/workflow/v1/manifest.debug.json +11 -11
- package/dist/.well-known/workflow/v1/step.cjs +251 -225
- package/dist/createApp.d.ts +2 -2
- package/dist/createApp.js +3 -1
- package/dist/data/db/manageDbClient.d.ts +2 -2
- package/dist/domains/evals/routes/index.d.ts +2 -2
- package/dist/domains/evals/services/EvaluationService.js +2 -1
- package/dist/domains/evals/workflow/routes.d.ts +2 -2
- package/dist/domains/manage/routes/availableAgents.d.ts +2 -2
- package/dist/domains/manage/routes/conversations.d.ts +2 -2
- package/dist/domains/manage/routes/index.d.ts +2 -2
- package/dist/domains/manage/routes/invitations.d.ts +2 -2
- package/dist/domains/manage/routes/mcp.d.ts +2 -2
- package/dist/domains/manage/routes/passwordResetLinks.d.ts +2 -2
- package/dist/domains/manage/routes/signoz.d.ts +2 -2
- package/dist/domains/manage/routes/users.d.ts +2 -2
- package/dist/domains/mcp/routes/mcp.d.ts +2 -2
- package/dist/domains/run/a2a/client.d.ts +2 -0
- package/dist/domains/run/a2a/client.js +7 -5
- package/dist/domains/run/agents/relationTools.d.ts +2 -2
- package/dist/domains/run/agents/relationTools.js +3 -1
- package/dist/domains/run/handlers/executionHandler.js +12 -8
- package/dist/domains/run/utils/token-estimator.d.ts +2 -2
- package/dist/factory.d.ts +263 -263
- package/dist/index.d.ts +262 -262
- package/dist/middleware/evalsAuth.d.ts +2 -2
- package/dist/middleware/manageAuth.d.ts +2 -2
- package/dist/middleware/projectAccess.d.ts +2 -2
- package/dist/middleware/projectConfig.d.ts +3 -3
- package/dist/middleware/requirePermission.d.ts +2 -2
- package/dist/middleware/runAuth.d.ts +4 -4
- package/dist/middleware/sessionAuth.d.ts +3 -3
- package/dist/middleware/tenantAccess.d.ts +2 -2
- package/dist/middleware/tracing.d.ts +3 -3
- package/dist/middleware/tracing.js +1 -1
- package/dist/utils/in-process-fetch.d.ts +30 -0
- package/dist/utils/in-process-fetch.js +51 -0
- package/package.json +5 -5
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseExecutionContext } from "@inkeep/agents-core";
|
|
2
|
-
import * as
|
|
2
|
+
import * as hono1 from "hono";
|
|
3
3
|
|
|
4
4
|
//#region src/middleware/evalsAuth.d.ts
|
|
5
5
|
|
|
@@ -7,7 +7,7 @@ import * as hono15 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: () =>
|
|
10
|
+
declare const evalApiKeyAuth: () => hono1.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
|
|
2
|
+
import * as hono10 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: () =>
|
|
15
|
+
declare const manageApiKeyAuth: () => hono10.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
|
|
3
|
+
import * as hono9 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) =>
|
|
13
|
+
}>(permission?: ProjectPermissionLevel) => hono9.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
|
|
2
|
+
import * as hono12 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:
|
|
8
|
+
declare const projectConfigMiddleware: hono12.MiddlewareHandler<{
|
|
9
9
|
Variables: {
|
|
10
10
|
executionContext: BaseExecutionContext;
|
|
11
11
|
resolvedRef: ResolvedRef;
|
|
@@ -15,7 +15,7 @@ declare const projectConfigMiddleware: hono0.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) =>
|
|
18
|
+
declare const projectConfigMiddlewareExcept: (skipRouteCheck: (path: string) => boolean) => hono12.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
|
|
2
|
+
import * as hono11 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) =>
|
|
12
|
+
}>(permissions: Permission) => hono11.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
|
|
2
|
+
import * as hono2 from "hono";
|
|
3
3
|
|
|
4
4
|
//#region src/middleware/runAuth.d.ts
|
|
5
|
-
declare const runApiKeyAuth: () =>
|
|
5
|
+
declare const runApiKeyAuth: () => hono2.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) =>
|
|
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: () =>
|
|
23
|
+
declare const runOptionalAuth: () => hono2.MiddlewareHandler<{
|
|
24
24
|
Variables: {
|
|
25
25
|
executionContext?: BaseExecutionContext;
|
|
26
26
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
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: () =>
|
|
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: () =>
|
|
15
|
+
declare const sessionContext: () => hono5.MiddlewareHandler<any, string, {}, Response>;
|
|
16
16
|
//#endregion
|
|
17
17
|
export { sessionAuth, sessionContext };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as hono0 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: () =>
|
|
14
|
+
declare const requireTenantAccess: () => hono0.MiddlewareHandler<{
|
|
15
15
|
Variables: {
|
|
16
16
|
userId: string;
|
|
17
17
|
tenantId: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as hono7 from "hono";
|
|
2
2
|
|
|
3
3
|
//#region src/middleware/tracing.d.ts
|
|
4
|
-
declare const otelBaggageMiddleware: () =>
|
|
5
|
-
declare const executionBaggageMiddleware: () =>
|
|
4
|
+
declare const otelBaggageMiddleware: () => hono7.MiddlewareHandler<any, string, {}, Response>;
|
|
5
|
+
declare const executionBaggageMiddleware: () => hono7.MiddlewareHandler<any, string, {}, Response>;
|
|
6
6
|
//#endregion
|
|
7
7
|
export { executionBaggageMiddleware, otelBaggageMiddleware };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getLogger } from "../logger.js";
|
|
2
|
-
import { createMiddleware } from "hono/factory";
|
|
3
2
|
import { context, propagation } from "@opentelemetry/api";
|
|
3
|
+
import { createMiddleware } from "hono/factory";
|
|
4
4
|
|
|
5
5
|
//#region src/middleware/tracing.ts
|
|
6
6
|
const logger = getLogger("tracing-middleware");
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
//#region src/utils/in-process-fetch.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* In-process fetch transport for internal self-calls.
|
|
4
|
+
*
|
|
5
|
+
* Routes requests through the Hono app's full middleware stack in-process
|
|
6
|
+
* rather than over the network. This guarantees same-instance execution,
|
|
7
|
+
* which is critical for features that rely on process-local state
|
|
8
|
+
* (e.g. the stream helper registry for real-time SSE streaming).
|
|
9
|
+
*
|
|
10
|
+
* Drop-in replacement for `fetch()` — same signature, same return type.
|
|
11
|
+
* Throws in production if the app hasn't been registered.
|
|
12
|
+
* Falls back to global `fetch` in test environments where the full app
|
|
13
|
+
* may not be initialized.
|
|
14
|
+
*
|
|
15
|
+
* **IMPORTANT**: Any code making internal A2A calls or self-referencing API
|
|
16
|
+
* calls within agents-api MUST use `getInProcessFetch()` instead of global
|
|
17
|
+
* `fetch`. Using regular `fetch` for same-service calls causes requests to
|
|
18
|
+
* leave the process and hit the load balancer, which may route them to a
|
|
19
|
+
* different instance — breaking features that depend on process-local state
|
|
20
|
+
* (e.g. stream helper registry, in-memory caches). This only manifests under
|
|
21
|
+
* load in multi-instance deployments and is extremely difficult to debug.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* import { getInProcessFetch } from './utils/in-process-fetch';
|
|
25
|
+
* const response = await getInProcessFetch()(url, init);
|
|
26
|
+
*/
|
|
27
|
+
declare function registerAppFetch(fn: typeof fetch): void;
|
|
28
|
+
declare function getInProcessFetch(): typeof fetch;
|
|
29
|
+
//#endregion
|
|
30
|
+
export { getInProcessFetch, registerAppFetch };
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { getLogger } from "../logger.js";
|
|
2
|
+
import { trace } from "@opentelemetry/api";
|
|
3
|
+
|
|
4
|
+
//#region src/utils/in-process-fetch.ts
|
|
5
|
+
/**
|
|
6
|
+
* In-process fetch transport for internal self-calls.
|
|
7
|
+
*
|
|
8
|
+
* Routes requests through the Hono app's full middleware stack in-process
|
|
9
|
+
* rather than over the network. This guarantees same-instance execution,
|
|
10
|
+
* which is critical for features that rely on process-local state
|
|
11
|
+
* (e.g. the stream helper registry for real-time SSE streaming).
|
|
12
|
+
*
|
|
13
|
+
* Drop-in replacement for `fetch()` — same signature, same return type.
|
|
14
|
+
* Throws in production if the app hasn't been registered.
|
|
15
|
+
* Falls back to global `fetch` in test environments where the full app
|
|
16
|
+
* may not be initialized.
|
|
17
|
+
*
|
|
18
|
+
* **IMPORTANT**: Any code making internal A2A calls or self-referencing API
|
|
19
|
+
* calls within agents-api MUST use `getInProcessFetch()` instead of global
|
|
20
|
+
* `fetch`. Using regular `fetch` for same-service calls causes requests to
|
|
21
|
+
* leave the process and hit the load balancer, which may route them to a
|
|
22
|
+
* different instance — breaking features that depend on process-local state
|
|
23
|
+
* (e.g. stream helper registry, in-memory caches). This only manifests under
|
|
24
|
+
* load in multi-instance deployments and is extremely difficult to debug.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* import { getInProcessFetch } from './utils/in-process-fetch';
|
|
28
|
+
* const response = await getInProcessFetch()(url, init);
|
|
29
|
+
*/
|
|
30
|
+
const logger = getLogger("in-process-fetch");
|
|
31
|
+
let _appFetch;
|
|
32
|
+
function registerAppFetch(fn) {
|
|
33
|
+
_appFetch = fn;
|
|
34
|
+
}
|
|
35
|
+
function getInProcessFetch() {
|
|
36
|
+
if (!_appFetch) {
|
|
37
|
+
if (process.env.ENVIRONMENT === "test" || process.env.ENVIRONMENT === "development") return fetch;
|
|
38
|
+
throw new Error("[in-process-fetch] App fetch not registered. Call registerAppFetch() during app initialization before handling requests.");
|
|
39
|
+
}
|
|
40
|
+
const appFetch = _appFetch;
|
|
41
|
+
return ((input, init) => {
|
|
42
|
+
const url = typeof input === "string" ? input : input instanceof URL ? input.href : input.url;
|
|
43
|
+
const activeSpan = trace.getActiveSpan();
|
|
44
|
+
if (activeSpan) activeSpan.setAttribute("http.route.in_process", true);
|
|
45
|
+
logger.debug({ url }, "Routing request in-process");
|
|
46
|
+
return appFetch(input, init);
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
//#endregion
|
|
51
|
+
export { getInProcessFetch, registerAppFetch };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inkeep/agents-api",
|
|
3
|
-
"version": "0.0.0-dev-
|
|
3
|
+
"version": "0.0.0-dev-20260212154015",
|
|
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-
|
|
70
|
-
"@inkeep/agents-manage-mcp": "^0.0.0-dev-
|
|
71
|
-
"@inkeep/agents-mcp": "^0.0.0-dev-
|
|
72
|
-
"@inkeep/agents-work-apps": "^0.0.0-dev-
|
|
69
|
+
"@inkeep/agents-core": "^0.0.0-dev-20260212154015",
|
|
70
|
+
"@inkeep/agents-manage-mcp": "^0.0.0-dev-20260212154015",
|
|
71
|
+
"@inkeep/agents-mcp": "^0.0.0-dev-20260212154015",
|
|
72
|
+
"@inkeep/agents-work-apps": "^0.0.0-dev-20260212154015"
|
|
73
73
|
},
|
|
74
74
|
"peerDependencies": {
|
|
75
75
|
"@hono/zod-openapi": "^1.1.5",
|