@inkeep/agents-api 0.44.0 → 0.45.1
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/flow.cjs +1435 -2564
- package/dist/.well-known/workflow/v1/manifest.debug.json +22 -22
- package/dist/.well-known/workflow/v1/step.cjs +22797 -9108
- package/dist/createApp.d.ts +2 -2
- package/dist/domains/evals/routes/index.d.ts +2 -2
- package/dist/domains/evals/workflow/routes.d.ts +2 -2
- package/dist/domains/manage/index.js +2 -0
- package/dist/domains/manage/routes/availableAgents.d.ts +7 -0
- package/dist/domains/manage/routes/availableAgents.js +94 -0
- package/dist/domains/manage/routes/branches.js +9 -0
- package/dist/domains/manage/routes/conversations.d.ts +2 -2
- package/dist/domains/manage/routes/evals/datasetItems.js +13 -0
- package/dist/domains/manage/routes/evals/datasets.js +9 -0
- package/dist/domains/manage/routes/evals/evaluationJobConfigEvaluatorRelations.js +5 -0
- package/dist/domains/manage/routes/evals/evaluationJobConfigs.js +9 -0
- package/dist/domains/manage/routes/evals/evaluationResults.d.ts +4 -2
- package/dist/domains/manage/routes/evals/evaluationResults.js +9 -0
- package/dist/domains/manage/routes/evals/evaluationRunConfigs.js +9 -0
- package/dist/domains/manage/routes/evals/evaluationSuiteConfigEvaluatorRelations.js +5 -0
- package/dist/domains/manage/routes/evals/evaluationSuiteConfigs.js +9 -0
- package/dist/domains/manage/routes/evals/evaluators.js +9 -0
- package/dist/domains/manage/routes/index.d.ts +2 -2
- package/dist/domains/manage/routes/invitations.d.ts +4 -3
- package/dist/domains/manage/routes/invitations.js +16 -28
- package/dist/domains/manage/routes/mcp.d.ts +2 -2
- package/dist/domains/manage/routes/playgroundToken.js +3 -2
- package/dist/domains/manage/routes/signoz.d.ts +2 -2
- package/dist/domains/manage/routes/signoz.js +22 -16
- package/dist/domains/manage/routes/userOrganizations.d.ts +4 -3
- package/dist/domains/manage/routes/userOrganizations.js +16 -45
- package/dist/domains/mcp/routes/mcp.d.ts +2 -2
- package/dist/domains/run/agents/relationTools.d.ts +2 -2
- package/dist/domains/run/agents/relationTools.js +2 -1
- package/dist/domains/run/utils/token-estimator.d.ts +2 -2
- package/dist/env.js +5 -5
- package/dist/factory.d.ts +24 -24
- package/dist/index.d.ts +24 -24
- package/dist/middleware/evalsAuth.d.ts +2 -2
- package/dist/middleware/manageAuth.d.ts +2 -2
- package/dist/middleware/requirePermission.d.ts +2 -2
- package/dist/middleware/runAuth.d.ts +4 -4
- package/dist/middleware/runAuth.js +39 -4
- package/dist/middleware/sessionAuth.d.ts +3 -3
- package/dist/openapi.d.ts +0 -2
- package/dist/openapi.js +0 -2
- package/package.json +6 -6
|
@@ -1,57 +1,28 @@
|
|
|
1
1
|
import runDbClient_default from "../../../data/db/runDbClient.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import { sessionAuth } from "../../../middleware/sessionAuth.js";
|
|
3
|
+
import { createApiError, getUserOrganizationsFromDb } from "@inkeep/agents-core";
|
|
4
|
+
import { Hono } from "hono";
|
|
5
5
|
|
|
6
6
|
//#region src/domains/manage/routes/userOrganizations.ts
|
|
7
|
-
const userOrganizationsRoutes = new
|
|
8
|
-
userOrganizationsRoutes.
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
})
|
|
20
|
-
const { userId } = c.req.valid("param");
|
|
7
|
+
const userOrganizationsRoutes = new Hono();
|
|
8
|
+
userOrganizationsRoutes.use("*", sessionAuth());
|
|
9
|
+
userOrganizationsRoutes.get("/", async (c) => {
|
|
10
|
+
const userId = c.req.param("userId");
|
|
11
|
+
const authenticatedUserId = c.get("userId");
|
|
12
|
+
if (!userId) throw createApiError({
|
|
13
|
+
code: "bad_request",
|
|
14
|
+
message: "User ID is required"
|
|
15
|
+
});
|
|
16
|
+
if (userId !== authenticatedUserId) throw createApiError({
|
|
17
|
+
code: "forbidden",
|
|
18
|
+
message: "Cannot access another user's organizations"
|
|
19
|
+
});
|
|
21
20
|
const userOrganizations = (await getUserOrganizationsFromDb(runDbClient_default)(userId)).map((org) => ({
|
|
22
21
|
...org,
|
|
23
22
|
createdAt: org.createdAt.toISOString()
|
|
24
23
|
}));
|
|
25
24
|
return c.json(userOrganizations);
|
|
26
25
|
});
|
|
27
|
-
userOrganizationsRoutes.openapi(createRoute({
|
|
28
|
-
method: "post",
|
|
29
|
-
path: "/",
|
|
30
|
-
tags: ["User Organizations"],
|
|
31
|
-
summary: "Add user to organization",
|
|
32
|
-
description: "Associate a user with an organization",
|
|
33
|
-
request: {
|
|
34
|
-
params: z.object({ userId: z.string().describe("User ID") }),
|
|
35
|
-
body: { content: { "application/json": { schema: AddUserToOrganizationRequestSchema } } }
|
|
36
|
-
},
|
|
37
|
-
responses: { 201: {
|
|
38
|
-
description: "User added to organization",
|
|
39
|
-
content: { "application/json": { schema: AddUserToOrganizationResponseSchema } }
|
|
40
|
-
} }
|
|
41
|
-
}), async (c) => {
|
|
42
|
-
const { userId } = c.req.valid("param");
|
|
43
|
-
const { organizationId, role } = c.req.valid("json");
|
|
44
|
-
await addUserToOrganization(runDbClient_default)({
|
|
45
|
-
userId,
|
|
46
|
-
organizationId,
|
|
47
|
-
role
|
|
48
|
-
});
|
|
49
|
-
return c.json({
|
|
50
|
-
organizationId,
|
|
51
|
-
role,
|
|
52
|
-
createdAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
53
|
-
}, 201);
|
|
54
|
-
});
|
|
55
26
|
var userOrganizations_default = userOrganizationsRoutes;
|
|
56
27
|
|
|
57
28
|
//#endregion
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Hono } from "hono";
|
|
2
|
-
import * as
|
|
2
|
+
import * as hono_types10 from "hono/types";
|
|
3
3
|
|
|
4
4
|
//#region src/domains/mcp/routes/mcp.d.ts
|
|
5
|
-
declare const app: Hono<
|
|
5
|
+
declare const app: Hono<hono_types10.BlankEnv, hono_types10.BlankSchema, "/">;
|
|
6
6
|
//#endregion
|
|
7
7
|
export { app as default };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AgentConfig, DelegateRelation } from "./Agent.js";
|
|
2
2
|
import { InternalRelation } from "../utils/project.js";
|
|
3
|
-
import * as
|
|
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:
|
|
47
|
+
result: _inkeep_agents_core1.Message | _inkeep_agents_core1.Task;
|
|
48
48
|
}>;
|
|
49
49
|
/**
|
|
50
50
|
* Parameters for building a transfer relation config
|
|
@@ -140,7 +140,8 @@ function createDelegateToAgentTool({ delegateConfig, callingAgentId, executionCo
|
|
|
140
140
|
if (activeSpan) activeSpan.setAttributes({
|
|
141
141
|
[SPAN_KEYS.DELEGATION_FROM_SUB_AGENT_ID]: callingAgentId,
|
|
142
142
|
[SPAN_KEYS.DELEGATION_TO_SUB_AGENT_ID]: delegateConfig.config.id ?? "unknown",
|
|
143
|
-
[SPAN_KEYS.DELEGATION_ID]: delegationId
|
|
143
|
+
[SPAN_KEYS.DELEGATION_ID]: delegationId,
|
|
144
|
+
[SPAN_KEYS.DELEGATION_TYPE]: delegateConfig.type
|
|
144
145
|
});
|
|
145
146
|
if (metadata.streamRequestId) agentSessionManager.recordEvent(metadata.streamRequestId, "delegation_sent", callingAgentId, {
|
|
146
147
|
delegationId,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
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:
|
|
20
|
+
breakdown: _inkeep_agents_core3.ContextBreakdown;
|
|
21
21
|
}
|
|
22
22
|
//#endregion
|
|
23
23
|
export { AssembleResult, type BreakdownComponentDef, type ContextBreakdown, calculateBreakdownTotal, createEmptyBreakdown, estimateTokens };
|
package/dist/env.js
CHANGED
|
@@ -46,11 +46,11 @@ const envSchema = z.object({
|
|
|
46
46
|
ANTHROPIC_API_KEY: z.string().describe("Anthropic API key for Claude models (required for agent execution). Get from https://console.anthropic.com/"),
|
|
47
47
|
OPENAI_API_KEY: z.string().optional().describe("OpenAI API key for GPT models. Get from https://platform.openai.com/"),
|
|
48
48
|
GOOGLE_GENERATIVE_AI_API_KEY: z.string().optional().describe("Google Generative AI API key for Gemini models"),
|
|
49
|
-
GITHUB_APP_ID: z.string().optional(),
|
|
50
|
-
GITHUB_APP_PRIVATE_KEY: z.string().optional(),
|
|
51
|
-
GITHUB_WEBHOOK_SECRET: z.string().optional(),
|
|
52
|
-
GITHUB_STATE_SIGNING_SECRET: z.string().min(32, "GITHUB_STATE_SIGNING_SECRET must be at least 32 characters").optional(),
|
|
53
|
-
GITHUB_APP_NAME: z.string().optional(),
|
|
49
|
+
GITHUB_APP_ID: z.string().optional().describe("GitHub App ID for GitHub integration"),
|
|
50
|
+
GITHUB_APP_PRIVATE_KEY: z.string().optional().describe("GitHub App private key for authentication"),
|
|
51
|
+
GITHUB_WEBHOOK_SECRET: z.string().optional().describe("Secret for validating GitHub webhook payloads"),
|
|
52
|
+
GITHUB_STATE_SIGNING_SECRET: z.string().min(32, "GITHUB_STATE_SIGNING_SECRET must be at least 32 characters").optional().describe("Secret for signing GitHub OAuth state (minimum 32 characters)"),
|
|
53
|
+
GITHUB_APP_NAME: z.string().optional().describe("Name of the GitHub App"),
|
|
54
54
|
GITHUB_MCP_API_KEY: z.string().optional().describe("API key for the GitHub MCP"),
|
|
55
55
|
WORKFLOW_TARGET_WORLD: z.string().optional().describe("Target world for workflow execution"),
|
|
56
56
|
WORKFLOW_POSTGRES_URL: z.string().optional().describe("PostgreSQL connection URL for workflow job queue"),
|
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
|
|
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 "
|
|
798
|
-
actions: better_auth_plugins0.Subset<"
|
|
797
|
+
authorize<K_1 extends "invitation" | "member" | "organization" | "project" | "team" | "ac">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"invitation" | "member" | "organization" | "project" | "team" | "ac", better_auth_plugins0.Statements>[key] | {
|
|
798
|
+
actions: better_auth_plugins0.Subset<"invitation" | "member" | "organization" | "project" | "team" | "ac", 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<"
|
|
801
|
+
statements: better_auth_plugins0.Subset<"invitation" | "member" | "organization" | "project" | "team" | "ac", better_auth_plugins0.Statements>;
|
|
802
802
|
};
|
|
803
803
|
admin: {
|
|
804
|
-
authorize<K_1 extends "
|
|
805
|
-
actions: better_auth_plugins0.Subset<"
|
|
804
|
+
authorize<K_1 extends "invitation" | "member" | "organization" | "project" | "team" | "ac">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"invitation" | "member" | "organization" | "project" | "team" | "ac", better_auth_plugins0.Statements>[key] | {
|
|
805
|
+
actions: better_auth_plugins0.Subset<"invitation" | "member" | "organization" | "project" | "team" | "ac", 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<"
|
|
808
|
+
statements: better_auth_plugins0.Subset<"invitation" | "member" | "organization" | "project" | "team" | "ac", better_auth_plugins0.Statements>;
|
|
809
809
|
};
|
|
810
810
|
owner: {
|
|
811
|
-
authorize<K_1 extends "
|
|
812
|
-
actions: better_auth_plugins0.Subset<"
|
|
811
|
+
authorize<K_1 extends "invitation" | "member" | "organization" | "project" | "team" | "ac">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"invitation" | "member" | "organization" | "project" | "team" | "ac", better_auth_plugins0.Statements>[key] | {
|
|
812
|
+
actions: better_auth_plugins0.Subset<"invitation" | "member" | "organization" | "project" | "team" | "ac", 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<"
|
|
815
|
+
statements: better_auth_plugins0.Subset<"invitation" | "member" | "organization" | "project" | "team" | "ac", 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" | "
|
|
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" | "
|
|
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" | "
|
|
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" | "
|
|
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 "
|
|
1108
|
-
actions: better_auth_plugins0.Subset<"
|
|
1107
|
+
authorize<K_1 extends "invitation" | "member" | "organization" | "project" | "team" | "ac">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"invitation" | "member" | "organization" | "project" | "team" | "ac", better_auth_plugins0.Statements>[key] | {
|
|
1108
|
+
actions: better_auth_plugins0.Subset<"invitation" | "member" | "organization" | "project" | "team" | "ac", 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<"
|
|
1111
|
+
statements: better_auth_plugins0.Subset<"invitation" | "member" | "organization" | "project" | "team" | "ac", better_auth_plugins0.Statements>;
|
|
1112
1112
|
};
|
|
1113
1113
|
admin: {
|
|
1114
|
-
authorize<K_1 extends "
|
|
1115
|
-
actions: better_auth_plugins0.Subset<"
|
|
1114
|
+
authorize<K_1 extends "invitation" | "member" | "organization" | "project" | "team" | "ac">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"invitation" | "member" | "organization" | "project" | "team" | "ac", better_auth_plugins0.Statements>[key] | {
|
|
1115
|
+
actions: better_auth_plugins0.Subset<"invitation" | "member" | "organization" | "project" | "team" | "ac", 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<"
|
|
1118
|
+
statements: better_auth_plugins0.Subset<"invitation" | "member" | "organization" | "project" | "team" | "ac", better_auth_plugins0.Statements>;
|
|
1119
1119
|
};
|
|
1120
1120
|
owner: {
|
|
1121
|
-
authorize<K_1 extends "
|
|
1122
|
-
actions: better_auth_plugins0.Subset<"
|
|
1121
|
+
authorize<K_1 extends "invitation" | "member" | "organization" | "project" | "team" | "ac">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"invitation" | "member" | "organization" | "project" | "team" | "ac", better_auth_plugins0.Statements>[key] | {
|
|
1122
|
+
actions: better_auth_plugins0.Subset<"invitation" | "member" | "organization" | "project" | "team" | "ac", 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<"
|
|
1125
|
+
statements: better_auth_plugins0.Subset<"invitation" | "member" | "organization" | "project" | "team" | "ac", 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<
|
|
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/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
|
|
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 "
|
|
799
|
-
actions: better_auth_plugins69.Subset<"
|
|
798
|
+
authorize<K_1 extends "invitation" | "member" | "organization" | "project" | "team" | "ac">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins69.Subset<"invitation" | "member" | "organization" | "project" | "team" | "ac", better_auth_plugins69.Statements>[key] | {
|
|
799
|
+
actions: better_auth_plugins69.Subset<"invitation" | "member" | "organization" | "project" | "team" | "ac", 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<"
|
|
802
|
+
statements: better_auth_plugins69.Subset<"invitation" | "member" | "organization" | "project" | "team" | "ac", better_auth_plugins69.Statements>;
|
|
803
803
|
};
|
|
804
804
|
admin: {
|
|
805
|
-
authorize<K_1 extends "
|
|
806
|
-
actions: better_auth_plugins69.Subset<"
|
|
805
|
+
authorize<K_1 extends "invitation" | "member" | "organization" | "project" | "team" | "ac">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins69.Subset<"invitation" | "member" | "organization" | "project" | "team" | "ac", better_auth_plugins69.Statements>[key] | {
|
|
806
|
+
actions: better_auth_plugins69.Subset<"invitation" | "member" | "organization" | "project" | "team" | "ac", 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<"
|
|
809
|
+
statements: better_auth_plugins69.Subset<"invitation" | "member" | "organization" | "project" | "team" | "ac", better_auth_plugins69.Statements>;
|
|
810
810
|
};
|
|
811
811
|
owner: {
|
|
812
|
-
authorize<K_1 extends "
|
|
813
|
-
actions: better_auth_plugins69.Subset<"
|
|
812
|
+
authorize<K_1 extends "invitation" | "member" | "organization" | "project" | "team" | "ac">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins69.Subset<"invitation" | "member" | "organization" | "project" | "team" | "ac", better_auth_plugins69.Statements>[key] | {
|
|
813
|
+
actions: better_auth_plugins69.Subset<"invitation" | "member" | "organization" | "project" | "team" | "ac", 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<"
|
|
816
|
+
statements: better_auth_plugins69.Subset<"invitation" | "member" | "organization" | "project" | "team" | "ac", 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" | "
|
|
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" | "
|
|
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" | "
|
|
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" | "
|
|
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 "
|
|
1109
|
-
actions: better_auth_plugins69.Subset<"
|
|
1108
|
+
authorize<K_1 extends "invitation" | "member" | "organization" | "project" | "team" | "ac">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins69.Subset<"invitation" | "member" | "organization" | "project" | "team" | "ac", better_auth_plugins69.Statements>[key] | {
|
|
1109
|
+
actions: better_auth_plugins69.Subset<"invitation" | "member" | "organization" | "project" | "team" | "ac", 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<"
|
|
1112
|
+
statements: better_auth_plugins69.Subset<"invitation" | "member" | "organization" | "project" | "team" | "ac", better_auth_plugins69.Statements>;
|
|
1113
1113
|
};
|
|
1114
1114
|
admin: {
|
|
1115
|
-
authorize<K_1 extends "
|
|
1116
|
-
actions: better_auth_plugins69.Subset<"
|
|
1115
|
+
authorize<K_1 extends "invitation" | "member" | "organization" | "project" | "team" | "ac">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins69.Subset<"invitation" | "member" | "organization" | "project" | "team" | "ac", better_auth_plugins69.Statements>[key] | {
|
|
1116
|
+
actions: better_auth_plugins69.Subset<"invitation" | "member" | "organization" | "project" | "team" | "ac", 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<"
|
|
1119
|
+
statements: better_auth_plugins69.Subset<"invitation" | "member" | "organization" | "project" | "team" | "ac", better_auth_plugins69.Statements>;
|
|
1120
1120
|
};
|
|
1121
1121
|
owner: {
|
|
1122
|
-
authorize<K_1 extends "
|
|
1123
|
-
actions: better_auth_plugins69.Subset<"
|
|
1122
|
+
authorize<K_1 extends "invitation" | "member" | "organization" | "project" | "team" | "ac">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins69.Subset<"invitation" | "member" | "organization" | "project" | "team" | "ac", better_auth_plugins69.Statements>[key] | {
|
|
1123
|
+
actions: better_auth_plugins69.Subset<"invitation" | "member" | "organization" | "project" | "team" | "ac", 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<"
|
|
1126
|
+
statements: better_auth_plugins69.Subset<"invitation" | "member" | "organization" | "project" | "team" | "ac", 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<
|
|
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 };
|
|
@@ -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 hono2 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 hono2 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: () => hono2.MiddlewareHandler<{
|
|
16
16
|
Variables: {
|
|
17
17
|
executionContext: BaseExecutionContext;
|
|
18
18
|
userId?: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ManageAppVariables } from "../types/app.js";
|
|
2
|
-
import * as
|
|
2
|
+
import * as hono7 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) => hono7.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 hono8 from "hono";
|
|
3
3
|
|
|
4
4
|
//#region src/middleware/runAuth.d.ts
|
|
5
|
-
declare const runApiKeyAuth: () =>
|
|
5
|
+
declare const runApiKeyAuth: () => hono8.MiddlewareHandler<{
|
|
6
6
|
Variables: {
|
|
7
7
|
executionContext: BaseExecutionContext;
|
|
8
8
|
};
|
|
@@ -11,7 +11,7 @@ declare const runApiKeyAuth: () => hono9.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) => hono8.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: () => hono8.MiddlewareHandler<{
|
|
24
24
|
Variables: {
|
|
25
25
|
executionContext?: BaseExecutionContext;
|
|
26
26
|
};
|
|
@@ -2,7 +2,7 @@ import { getLogger as getLogger$1 } from "../logger.js";
|
|
|
2
2
|
import { env } from "../env.js";
|
|
3
3
|
import runDbClient_default from "../data/db/runDbClient.js";
|
|
4
4
|
import { createBaseExecutionContext } from "../types/runExecutionContext.js";
|
|
5
|
-
import { validateAndGetApiKey, validateTargetAgent, verifyServiceToken, verifyTempToken } from "@inkeep/agents-core";
|
|
5
|
+
import { canUseProjectStrict, validateAndGetApiKey, validateTargetAgent, verifyServiceToken, verifyTempToken } from "@inkeep/agents-core";
|
|
6
6
|
import { createMiddleware } from "hono/factory";
|
|
7
7
|
import { HTTPException } from "hono/http-exception";
|
|
8
8
|
|
|
@@ -51,21 +51,56 @@ function buildExecutionContext(authResult, reqData) {
|
|
|
51
51
|
}
|
|
52
52
|
/**
|
|
53
53
|
* Attempts to authenticate using a JWT temporary token
|
|
54
|
+
*
|
|
55
|
+
* Throws HTTPException(403) if the JWT is valid but the user lacks permission.
|
|
56
|
+
* Returns null if the token is not a temp JWT (allowing fallback to other auth methods).
|
|
54
57
|
*/
|
|
55
58
|
async function tryTempJwtAuth(apiKey) {
|
|
56
59
|
if (!apiKey.startsWith("eyJ") || !env.INKEEP_AGENTS_TEMP_JWT_PUBLIC_KEY) return null;
|
|
57
60
|
try {
|
|
58
61
|
const payload = await verifyTempToken(Buffer.from(env.INKEEP_AGENTS_TEMP_JWT_PUBLIC_KEY, "base64").toString("utf-8"), apiKey);
|
|
59
|
-
|
|
62
|
+
const userId = payload.sub;
|
|
63
|
+
const projectId = payload.projectId;
|
|
64
|
+
const agentId = payload.agentId;
|
|
65
|
+
if (!projectId || !agentId) {
|
|
66
|
+
logger.warn({ userId }, "Missing projectId or agentId in JWT");
|
|
67
|
+
throw new HTTPException(400, { message: "Invalid token: missing projectId or agentId" });
|
|
68
|
+
}
|
|
69
|
+
let canUse;
|
|
70
|
+
try {
|
|
71
|
+
canUse = await canUseProjectStrict({
|
|
72
|
+
userId,
|
|
73
|
+
projectId
|
|
74
|
+
});
|
|
75
|
+
} catch (error) {
|
|
76
|
+
logger.error({
|
|
77
|
+
error,
|
|
78
|
+
userId,
|
|
79
|
+
projectId
|
|
80
|
+
}, "SpiceDB permission check failed");
|
|
81
|
+
throw new HTTPException(503, { message: "Authorization service temporarily unavailable" });
|
|
82
|
+
}
|
|
83
|
+
if (!canUse) {
|
|
84
|
+
logger.warn({
|
|
85
|
+
userId,
|
|
86
|
+
projectId
|
|
87
|
+
}, "User does not have use permission on project");
|
|
88
|
+
throw new HTTPException(403, { message: "Access denied: insufficient permissions" });
|
|
89
|
+
}
|
|
90
|
+
logger.info({
|
|
91
|
+
projectId,
|
|
92
|
+
agentId
|
|
93
|
+
}, "JWT temp token authenticated successfully");
|
|
60
94
|
return {
|
|
61
95
|
apiKey,
|
|
62
96
|
tenantId: payload.tenantId,
|
|
63
|
-
projectId
|
|
64
|
-
agentId
|
|
97
|
+
projectId,
|
|
98
|
+
agentId,
|
|
65
99
|
apiKeyId: "temp-jwt",
|
|
66
100
|
metadata: { initiatedBy: payload.initiatedBy }
|
|
67
101
|
};
|
|
68
102
|
} catch (error) {
|
|
103
|
+
if (error instanceof HTTPException) throw error;
|
|
69
104
|
logger.debug({ error }, "JWT verification failed");
|
|
70
105
|
return null;
|
|
71
106
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as hono11 from "hono";
|
|
2
2
|
|
|
3
3
|
//#region src/middleware/sessionAuth.d.ts
|
|
4
4
|
|
|
@@ -7,11 +7,11 @@ import * as hono12 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: () => hono11.MiddlewareHandler<any, string, {}, Response>;
|
|
11
11
|
/**
|
|
12
12
|
* Global session middleware - sets user and session in context for all routes
|
|
13
13
|
* Used for all routes that require an active user session.
|
|
14
14
|
*/
|
|
15
|
-
declare const sessionContext: () =>
|
|
15
|
+
declare const sessionContext: () => hono11.MiddlewareHandler<any, string, {}, Response>;
|
|
16
16
|
//#endregion
|
|
17
17
|
export { sessionAuth, sessionContext };
|
package/dist/openapi.d.ts
CHANGED
|
@@ -20,7 +20,6 @@ declare const TagToDescription: {
|
|
|
20
20
|
'Function Tools': string;
|
|
21
21
|
Functions: string;
|
|
22
22
|
GitHub: string;
|
|
23
|
-
Invitations: string;
|
|
24
23
|
MCP: string;
|
|
25
24
|
'MCP Catalog': string;
|
|
26
25
|
OAuth: string;
|
|
@@ -32,7 +31,6 @@ declare const TagToDescription: {
|
|
|
32
31
|
'Third-Party MCP Servers': string;
|
|
33
32
|
Tools: string;
|
|
34
33
|
Triggers: string;
|
|
35
|
-
'User Organizations': string;
|
|
36
34
|
'User Project Memberships': string;
|
|
37
35
|
Webhooks: string;
|
|
38
36
|
Workflows: string;
|
package/dist/openapi.js
CHANGED
|
@@ -19,7 +19,6 @@ const TagToDescription = {
|
|
|
19
19
|
"Function Tools": "Operations for managing function tools",
|
|
20
20
|
Functions: "Operations for managing functions",
|
|
21
21
|
GitHub: "GitHub App integration endpoints",
|
|
22
|
-
Invitations: "Operations for managing invitations",
|
|
23
22
|
MCP: "MCP (Model Context Protocol) endpoints",
|
|
24
23
|
"MCP Catalog": "Operations for MCP catalog",
|
|
25
24
|
OAuth: "OAuth authentication endpoints",
|
|
@@ -31,7 +30,6 @@ const TagToDescription = {
|
|
|
31
30
|
"Third-Party MCP Servers": "Operations for managing third-party MCP servers",
|
|
32
31
|
Tools: "Operations for managing MCP tools",
|
|
33
32
|
Triggers: "Operations for managing triggers",
|
|
34
|
-
"User Organizations": "Operations for managing user organizations",
|
|
35
33
|
"User Project Memberships": "Operations for managing user project memberships",
|
|
36
34
|
Webhooks: "Webhook endpoints",
|
|
37
35
|
Workflows: "Workflow trigger endpoints"
|