@inkeep/agents-api 0.0.0-dev-20260219033751 → 0.0.0-dev-20260219045007
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.json +34 -34
- package/dist/createApp.js +16 -90
- package/dist/data/db/manageDbClient.d.ts +2 -2
- package/dist/domains/evals/routes/datasetTriggers.d.ts +2 -2
- package/dist/domains/evals/routes/datasetTriggers.js +5 -2
- package/dist/domains/evals/routes/evaluationTriggers.js +9 -4
- 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 +4 -0
- package/dist/domains/manage/routes/agent.js +16 -20
- package/dist/domains/manage/routes/agentFull.js +10 -17
- package/dist/domains/manage/routes/apiKeys.js +12 -14
- package/dist/domains/manage/routes/artifactComponents.js +12 -15
- package/dist/domains/manage/routes/availableAgents.d.ts +2 -2
- package/dist/domains/manage/routes/availableAgents.js +4 -2
- package/dist/domains/manage/routes/branches.js +12 -14
- package/dist/domains/manage/routes/cliAuth.js +4 -3
- package/dist/domains/manage/routes/contextConfigs.js +12 -15
- package/dist/domains/manage/routes/conversations.d.ts +2 -2
- package/dist/domains/manage/routes/conversations.js +5 -2
- package/dist/domains/manage/routes/credentialStores.js +7 -8
- package/dist/domains/manage/routes/credentials.js +12 -14
- package/dist/domains/manage/routes/dataComponents.js +12 -14
- package/dist/domains/manage/routes/evals/datasetItems.js +14 -19
- package/dist/domains/manage/routes/evals/datasetRunConfigs.js +13 -6
- package/dist/domains/manage/routes/evals/datasetRuns.js +7 -3
- package/dist/domains/manage/routes/evals/datasets.js +12 -14
- package/dist/domains/manage/routes/evals/evaluationJobConfigEvaluatorRelations.js +8 -8
- package/dist/domains/manage/routes/evals/evaluationJobConfigs.js +12 -14
- package/dist/domains/manage/routes/evals/evaluationResults.js +10 -13
- package/dist/domains/manage/routes/evals/evaluationRunConfigs.js +14 -15
- package/dist/domains/manage/routes/evals/evaluationSuiteConfigEvaluatorRelations.js +8 -8
- package/dist/domains/manage/routes/evals/evaluationSuiteConfigs.js +12 -14
- package/dist/domains/manage/routes/evals/evaluators.js +14 -15
- package/dist/domains/manage/routes/externalAgents.js +12 -14
- package/dist/domains/manage/routes/functionTools.js +12 -15
- package/dist/domains/manage/routes/functions.js +12 -15
- package/dist/domains/manage/routes/github.js +16 -8
- package/dist/domains/manage/routes/index.d.ts +2 -2
- package/dist/domains/manage/routes/index.js +0 -4
- package/dist/domains/manage/routes/invitations.d.ts +2 -2
- package/dist/domains/manage/routes/mcpCatalog.js +5 -2
- package/dist/domains/manage/routes/mcpToolGithubAccess.js +6 -4
- package/dist/domains/manage/routes/oauth.js +6 -66
- package/dist/domains/manage/routes/passwordResetLinks.d.ts +2 -2
- package/dist/domains/manage/routes/playgroundToken.js +4 -2
- package/dist/domains/manage/routes/projectFull.js +13 -26
- package/dist/domains/manage/routes/projectGithubAccess.js +7 -3
- package/dist/domains/manage/routes/projectMembers.js +14 -13
- package/dist/domains/manage/routes/projectPermissions.js +5 -2
- package/dist/domains/manage/routes/projects.js +12 -16
- package/dist/domains/manage/routes/ref.js +5 -2
- package/dist/domains/manage/routes/scheduledTriggers.js +24 -21
- package/dist/domains/manage/routes/signoz.d.ts +2 -2
- package/dist/domains/manage/routes/skills.js +12 -15
- package/dist/domains/manage/routes/subAgentArtifactComponents.js +12 -14
- package/dist/domains/manage/routes/subAgentDataComponents.js +12 -14
- package/dist/domains/manage/routes/subAgentExternalAgentRelations.js +12 -15
- package/dist/domains/manage/routes/subAgentFunctionTools.js +12 -14
- package/dist/domains/manage/routes/subAgentRelations.js +12 -15
- package/dist/domains/manage/routes/subAgentSkills.js +8 -12
- package/dist/domains/manage/routes/subAgentTeamAgentRelations.js +12 -15
- package/dist/domains/manage/routes/subAgentToolRelations.js +14 -16
- package/dist/domains/manage/routes/subAgents.js +12 -15
- package/dist/domains/manage/routes/thirdPartyMCPServers.js +7 -3
- package/dist/domains/manage/routes/tools.js +79 -16
- package/dist/domains/manage/routes/triggers.js +18 -22
- package/dist/domains/manage/routes/userProjectMemberships.js +5 -3
- package/dist/domains/manage/routes/users.d.ts +2 -2
- package/dist/domains/mcp/routes/mcp.d.ts +2 -2
- package/dist/domains/run/agents/relationTools.d.ts +2 -2
- package/dist/domains/run/routes/agents.js +4 -2
- package/dist/domains/run/routes/chat.js +4 -2
- package/dist/domains/run/routes/chatDataStream.js +6 -3
- package/dist/domains/run/routes/mcp.js +4 -2
- package/dist/domains/run/routes/webhooks.js +5 -3
- package/dist/domains/run/tools/distill-conversation-history-tool.d.ts +1 -1
- package/dist/domains/run/types/chat.d.ts +4 -4
- package/dist/domains/run/utils/token-estimator.d.ts +2 -2
- package/dist/domains/run/workflow/steps/scheduledTriggerSteps.d.ts +5 -5
- package/dist/factory.d.ts +21 -21
- package/dist/index.d.ts +18 -18
- package/dist/middleware/evalsAuth.d.ts +2 -2
- package/dist/middleware/evalsAuth.js +37 -32
- package/dist/middleware/index.d.ts +2 -3
- package/dist/middleware/index.js +3 -4
- package/dist/middleware/manageAuth.d.ts +9 -4
- package/dist/middleware/manageAuth.js +24 -2
- package/dist/middleware/projectAccess.d.ts +4 -3
- package/dist/middleware/projectAccess.js +78 -64
- package/dist/middleware/projectConfig.d.ts +3 -3
- package/dist/middleware/ref.d.ts +1 -5
- package/dist/middleware/ref.js +1 -21
- package/dist/middleware/requirePermission.d.ts +2 -2
- package/dist/middleware/requirePermission.js +64 -64
- package/dist/middleware/runAuth.d.ts +4 -4
- package/dist/middleware/sessionAuth.d.ts +3 -3
- package/dist/middleware/sessionAuth.js +23 -18
- package/dist/middleware/tenantAccess.d.ts +3 -2
- package/dist/middleware/tenantAccess.js +12 -1
- package/dist/middleware/tracing.d.ts +3 -3
- package/dist/middleware/tracing.js +1 -1
- package/dist/routes/capabilities.d.ts +10 -0
- package/dist/routes/capabilities.js +35 -0
- package/dist/routes/healthChecks.js +6 -3
- package/dist/routes/workflowProcess.d.ts +10 -0
- package/dist/routes/workflowProcess.js +23 -0
- package/dist/types/app.d.ts +3 -3
- package/package.json +4 -4
package/dist/factory.d.ts
CHANGED
|
@@ -3,10 +3,10 @@ import "./types/index.js";
|
|
|
3
3
|
import { createAgentsHono } from "./createApp.js";
|
|
4
4
|
import { createAuth0Provider, createOIDCProvider } from "./ssoHelpers.js";
|
|
5
5
|
import { CredentialStore, ServerConfig } from "@inkeep/agents-core";
|
|
6
|
-
import * as
|
|
6
|
+
import * as hono0 from "hono";
|
|
7
7
|
import * as zod205 from "zod";
|
|
8
8
|
import { SSOProviderConfig, UserAuthConfig } from "@inkeep/agents-core/auth";
|
|
9
|
-
import * as
|
|
9
|
+
import * as hono_types3 from "hono/types";
|
|
10
10
|
import * as better_auth79 from "better-auth";
|
|
11
11
|
import * as better_auth_plugins69 from "better-auth/plugins";
|
|
12
12
|
import * as _better_auth_sso10 from "@better-auth/sso";
|
|
@@ -804,25 +804,25 @@ declare function createAgentsAuth(userAuthConfig?: UserAuthConfig): better_auth7
|
|
|
804
804
|
ac: better_auth_plugins69.AccessControl;
|
|
805
805
|
roles: {
|
|
806
806
|
member: {
|
|
807
|
-
authorize<K_1 extends "organization" | "member" | "invitation" | "
|
|
808
|
-
actions: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "
|
|
807
|
+
authorize<K_1 extends "organization" | "member" | "invitation" | "ac" | "project" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins69.Statements>[key] | {
|
|
808
|
+
actions: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins69.Statements>[key];
|
|
809
809
|
connector: "OR" | "AND";
|
|
810
810
|
} | undefined } : never, connector?: "OR" | "AND"): better_auth_plugins69.AuthorizeResponse;
|
|
811
|
-
statements: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "
|
|
811
|
+
statements: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins69.Statements>;
|
|
812
812
|
};
|
|
813
813
|
admin: {
|
|
814
|
-
authorize<K_1 extends "organization" | "member" | "invitation" | "
|
|
815
|
-
actions: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "
|
|
814
|
+
authorize<K_1 extends "organization" | "member" | "invitation" | "ac" | "project" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins69.Statements>[key] | {
|
|
815
|
+
actions: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins69.Statements>[key];
|
|
816
816
|
connector: "OR" | "AND";
|
|
817
817
|
} | undefined } : never, connector?: "OR" | "AND"): better_auth_plugins69.AuthorizeResponse;
|
|
818
|
-
statements: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "
|
|
818
|
+
statements: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins69.Statements>;
|
|
819
819
|
};
|
|
820
820
|
owner: {
|
|
821
|
-
authorize<K_1 extends "organization" | "member" | "invitation" | "
|
|
822
|
-
actions: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "
|
|
821
|
+
authorize<K_1 extends "organization" | "member" | "invitation" | "ac" | "project" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins69.Statements>[key] | {
|
|
822
|
+
actions: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins69.Statements>[key];
|
|
823
823
|
connector: "OR" | "AND";
|
|
824
824
|
} | undefined } : never, connector?: "OR" | "AND"): better_auth_plugins69.AuthorizeResponse;
|
|
825
|
-
statements: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "
|
|
825
|
+
statements: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins69.Statements>;
|
|
826
826
|
};
|
|
827
827
|
};
|
|
828
828
|
creatorRole: "admin";
|
|
@@ -1127,25 +1127,25 @@ declare function createAgentsAuth(userAuthConfig?: UserAuthConfig): better_auth7
|
|
|
1127
1127
|
ac: better_auth_plugins69.AccessControl;
|
|
1128
1128
|
roles: {
|
|
1129
1129
|
member: {
|
|
1130
|
-
authorize<K_1 extends "organization" | "member" | "invitation" | "
|
|
1131
|
-
actions: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "
|
|
1130
|
+
authorize<K_1 extends "organization" | "member" | "invitation" | "ac" | "project" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins69.Statements>[key] | {
|
|
1131
|
+
actions: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins69.Statements>[key];
|
|
1132
1132
|
connector: "OR" | "AND";
|
|
1133
1133
|
} | undefined } : never, connector?: "OR" | "AND"): better_auth_plugins69.AuthorizeResponse;
|
|
1134
|
-
statements: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "
|
|
1134
|
+
statements: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins69.Statements>;
|
|
1135
1135
|
};
|
|
1136
1136
|
admin: {
|
|
1137
|
-
authorize<K_1 extends "organization" | "member" | "invitation" | "
|
|
1138
|
-
actions: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "
|
|
1137
|
+
authorize<K_1 extends "organization" | "member" | "invitation" | "ac" | "project" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins69.Statements>[key] | {
|
|
1138
|
+
actions: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins69.Statements>[key];
|
|
1139
1139
|
connector: "OR" | "AND";
|
|
1140
1140
|
} | undefined } : never, connector?: "OR" | "AND"): better_auth_plugins69.AuthorizeResponse;
|
|
1141
|
-
statements: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "
|
|
1141
|
+
statements: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins69.Statements>;
|
|
1142
1142
|
};
|
|
1143
1143
|
owner: {
|
|
1144
|
-
authorize<K_1 extends "organization" | "member" | "invitation" | "
|
|
1145
|
-
actions: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "
|
|
1144
|
+
authorize<K_1 extends "organization" | "member" | "invitation" | "ac" | "project" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins69.Statements>[key] | {
|
|
1145
|
+
actions: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins69.Statements>[key];
|
|
1146
1146
|
connector: "OR" | "AND";
|
|
1147
1147
|
} | undefined } : never, connector?: "OR" | "AND"): better_auth_plugins69.AuthorizeResponse;
|
|
1148
|
-
statements: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "
|
|
1148
|
+
statements: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins69.Statements>;
|
|
1149
1149
|
};
|
|
1150
1150
|
};
|
|
1151
1151
|
creatorRole: "admin";
|
|
@@ -1570,6 +1570,6 @@ declare function createAgentsApp(config?: {
|
|
|
1570
1570
|
credentialStores?: CredentialStore[];
|
|
1571
1571
|
auth?: UserAuthConfig;
|
|
1572
1572
|
sandboxConfig?: SandboxConfig;
|
|
1573
|
-
}):
|
|
1573
|
+
}): hono0.Hono<hono_types3.BlankEnv, hono_types3.BlankSchema, "/">;
|
|
1574
1574
|
//#endregion
|
|
1575
1575
|
export { type SSOProviderConfig, type UserAuthConfig, createAgentsApp, createAgentsAuth, createAgentsHono, createAuth0Provider, createOIDCProvider };
|
package/dist/index.d.ts
CHANGED
|
@@ -805,25 +805,25 @@ declare const auth: better_auth0.Auth<{
|
|
|
805
805
|
ac: better_auth_plugins0.AccessControl;
|
|
806
806
|
roles: {
|
|
807
807
|
member: {
|
|
808
|
-
authorize<K_1 extends "organization" | "member" | "invitation" | "
|
|
809
|
-
actions: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "
|
|
808
|
+
authorize<K_1 extends "organization" | "member" | "invitation" | "ac" | "project" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>[key] | {
|
|
809
|
+
actions: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>[key];
|
|
810
810
|
connector: "OR" | "AND";
|
|
811
811
|
} | undefined } : never, connector?: "OR" | "AND"): better_auth_plugins0.AuthorizeResponse;
|
|
812
|
-
statements: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "
|
|
812
|
+
statements: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>;
|
|
813
813
|
};
|
|
814
814
|
admin: {
|
|
815
|
-
authorize<K_1 extends "organization" | "member" | "invitation" | "
|
|
816
|
-
actions: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "
|
|
815
|
+
authorize<K_1 extends "organization" | "member" | "invitation" | "ac" | "project" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>[key] | {
|
|
816
|
+
actions: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>[key];
|
|
817
817
|
connector: "OR" | "AND";
|
|
818
818
|
} | undefined } : never, connector?: "OR" | "AND"): better_auth_plugins0.AuthorizeResponse;
|
|
819
|
-
statements: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "
|
|
819
|
+
statements: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>;
|
|
820
820
|
};
|
|
821
821
|
owner: {
|
|
822
|
-
authorize<K_1 extends "organization" | "member" | "invitation" | "
|
|
823
|
-
actions: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "
|
|
822
|
+
authorize<K_1 extends "organization" | "member" | "invitation" | "ac" | "project" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>[key] | {
|
|
823
|
+
actions: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>[key];
|
|
824
824
|
connector: "OR" | "AND";
|
|
825
825
|
} | undefined } : never, connector?: "OR" | "AND"): better_auth_plugins0.AuthorizeResponse;
|
|
826
|
-
statements: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "
|
|
826
|
+
statements: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>;
|
|
827
827
|
};
|
|
828
828
|
};
|
|
829
829
|
creatorRole: "admin";
|
|
@@ -1128,25 +1128,25 @@ declare const auth: better_auth0.Auth<{
|
|
|
1128
1128
|
ac: better_auth_plugins0.AccessControl;
|
|
1129
1129
|
roles: {
|
|
1130
1130
|
member: {
|
|
1131
|
-
authorize<K_1 extends "organization" | "member" | "invitation" | "
|
|
1132
|
-
actions: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "
|
|
1131
|
+
authorize<K_1 extends "organization" | "member" | "invitation" | "ac" | "project" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>[key] | {
|
|
1132
|
+
actions: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>[key];
|
|
1133
1133
|
connector: "OR" | "AND";
|
|
1134
1134
|
} | undefined } : never, connector?: "OR" | "AND"): better_auth_plugins0.AuthorizeResponse;
|
|
1135
|
-
statements: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "
|
|
1135
|
+
statements: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>;
|
|
1136
1136
|
};
|
|
1137
1137
|
admin: {
|
|
1138
|
-
authorize<K_1 extends "organization" | "member" | "invitation" | "
|
|
1139
|
-
actions: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "
|
|
1138
|
+
authorize<K_1 extends "organization" | "member" | "invitation" | "ac" | "project" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>[key] | {
|
|
1139
|
+
actions: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>[key];
|
|
1140
1140
|
connector: "OR" | "AND";
|
|
1141
1141
|
} | undefined } : never, connector?: "OR" | "AND"): better_auth_plugins0.AuthorizeResponse;
|
|
1142
|
-
statements: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "
|
|
1142
|
+
statements: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>;
|
|
1143
1143
|
};
|
|
1144
1144
|
owner: {
|
|
1145
|
-
authorize<K_1 extends "organization" | "member" | "invitation" | "
|
|
1146
|
-
actions: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "
|
|
1145
|
+
authorize<K_1 extends "organization" | "member" | "invitation" | "ac" | "project" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>[key] | {
|
|
1146
|
+
actions: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>[key];
|
|
1147
1147
|
connector: "OR" | "AND";
|
|
1148
1148
|
} | undefined } : never, connector?: "OR" | "AND"): better_auth_plugins0.AuthorizeResponse;
|
|
1149
|
-
statements: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "
|
|
1149
|
+
statements: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>;
|
|
1150
1150
|
};
|
|
1151
1151
|
};
|
|
1152
1152
|
creatorRole: "admin";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseExecutionContext } from "@inkeep/agents-core";
|
|
2
|
-
import * as
|
|
2
|
+
import * as hono0 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: () => hono0.MiddlewareHandler<{
|
|
11
11
|
Variables: {
|
|
12
12
|
executionContext: BaseExecutionContext;
|
|
13
13
|
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { env } from "../env.js";
|
|
2
2
|
import { getLogger, isInternalServiceToken, verifyInternalServiceAuthHeader } from "@inkeep/agents-core";
|
|
3
|
+
import { registerAuthzMeta } from "@inkeep/agents-core/middleware";
|
|
3
4
|
import { createMiddleware } from "hono/factory";
|
|
4
5
|
import { HTTPException } from "hono/http-exception";
|
|
5
6
|
|
|
@@ -9,44 +10,48 @@ const logger = getLogger("eval-auth");
|
|
|
9
10
|
* Middleware to authenticate API requests using Bearer token authentication
|
|
10
11
|
* First checks if token matches INKEEP_AGENTS_EVAL_API_BYPASS_SECRET,
|
|
11
12
|
*/
|
|
12
|
-
const evalApiKeyAuth = () =>
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
if (env.ENVIRONMENT === "development") {
|
|
16
|
-
await next();
|
|
17
|
-
return;
|
|
18
|
-
}
|
|
19
|
-
throw new HTTPException(401, { message: "Missing or invalid authorization header. Expected: Bearer <api_key>" });
|
|
20
|
-
}
|
|
21
|
-
const apiKey = authHeader.substring(7);
|
|
22
|
-
if (env.INKEEP_AGENTS_EVAL_API_BYPASS_SECRET) {
|
|
13
|
+
const evalApiKeyAuth = () => {
|
|
14
|
+
const mw = createMiddleware(async (c, next) => {
|
|
15
|
+
const authHeader = c.req.header("Authorization");
|
|
23
16
|
if (!authHeader || !authHeader.startsWith("Bearer ")) {
|
|
24
|
-
|
|
17
|
+
if (env.ENVIRONMENT === "development") {
|
|
18
|
+
await next();
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
25
21
|
throw new HTTPException(401, { message: "Missing or invalid authorization header. Expected: Bearer <api_key>" });
|
|
26
22
|
}
|
|
27
|
-
|
|
28
|
-
|
|
23
|
+
const apiKey = authHeader.substring(7);
|
|
24
|
+
if (env.INKEEP_AGENTS_EVAL_API_BYPASS_SECRET) {
|
|
25
|
+
if (!authHeader || !authHeader.startsWith("Bearer ")) {
|
|
26
|
+
console.log("[AUTH DEBUG] Rejecting: No Bearer token provided");
|
|
27
|
+
throw new HTTPException(401, { message: "Missing or invalid authorization header. Expected: Bearer <api_key>" });
|
|
28
|
+
}
|
|
29
|
+
if (authHeader.substring(7) === env.INKEEP_AGENTS_EVAL_API_BYPASS_SECRET) {
|
|
30
|
+
logger.info({}, "Bypass secret authenticated successfully");
|
|
31
|
+
await next();
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
if (isInternalServiceToken(apiKey)) {
|
|
36
|
+
const result = await verifyInternalServiceAuthHeader(authHeader);
|
|
37
|
+
if (!result.valid || !result.payload) throw new HTTPException(401, { message: result.error || "Invalid internal service token" });
|
|
38
|
+
logger.info({
|
|
39
|
+
serviceId: result.payload.sub,
|
|
40
|
+
tenantId: result.payload.tenantId,
|
|
41
|
+
projectId: result.payload.projectId
|
|
42
|
+
}, "Internal service authenticated");
|
|
43
|
+
await next();
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
if (env.ENVIRONMENT === "development") {
|
|
29
47
|
await next();
|
|
30
48
|
return;
|
|
31
49
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
serviceId: result.payload.sub,
|
|
38
|
-
tenantId: result.payload.tenantId,
|
|
39
|
-
projectId: result.payload.projectId
|
|
40
|
-
}, "Internal service authenticated");
|
|
41
|
-
await next();
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
if (env.ENVIRONMENT === "development") {
|
|
45
|
-
await next();
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
throw new HTTPException(401, { message: "Invalid Token" });
|
|
49
|
-
});
|
|
50
|
+
throw new HTTPException(401, { message: "Invalid Token" });
|
|
51
|
+
});
|
|
52
|
+
registerAuthzMeta(mw, { description: "Requires eval API key (bypass secret or internal service token)" });
|
|
53
|
+
return mw;
|
|
54
|
+
};
|
|
50
55
|
|
|
51
56
|
//#endregion
|
|
52
57
|
export { evalApiKeyAuth };
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { authCorsConfig, defaultCorsConfig, getBaseDomain, isOriginAllowed, playgroundCorsConfig, runCorsConfig, signozCorsConfig, workAppsCorsConfig } from "./cors.js";
|
|
2
2
|
import { errorHandler } from "./errorHandler.js";
|
|
3
|
-
import { manageApiKeyAuth } from "./manageAuth.js";
|
|
4
|
-
import { oauthRefMiddleware } from "./ref.js";
|
|
3
|
+
import { manageApiKeyAuth, manageApiKeyOrSessionAuth } from "./manageAuth.js";
|
|
5
4
|
import { runApiKeyAuth, runApiKeyAuthExcept, runOptionalAuth } from "./runAuth.js";
|
|
6
5
|
import { sessionAuth } from "./sessionAuth.js";
|
|
7
6
|
import { requireTenantAccess } from "./tenantAccess.js";
|
|
8
7
|
import { workAppsAuth } from "./workAppsAuth.js";
|
|
9
|
-
export { authCorsConfig, defaultCorsConfig, errorHandler, getBaseDomain, isOriginAllowed, manageApiKeyAuth,
|
|
8
|
+
export { authCorsConfig, defaultCorsConfig, errorHandler, getBaseDomain, isOriginAllowed, manageApiKeyAuth, manageApiKeyOrSessionAuth, playgroundCorsConfig, requireTenantAccess, runApiKeyAuth, runApiKeyAuthExcept, runCorsConfig, runOptionalAuth, sessionAuth, signozCorsConfig, workAppsAuth, workAppsCorsConfig };
|
package/dist/middleware/index.js
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { sessionAuth } from "./sessionAuth.js";
|
|
2
1
|
import { authCorsConfig, defaultCorsConfig, getBaseDomain, isOriginAllowed, playgroundCorsConfig, runCorsConfig, signozCorsConfig, workAppsCorsConfig } from "./cors.js";
|
|
3
2
|
import { errorHandler } from "./errorHandler.js";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import { sessionAuth } from "./sessionAuth.js";
|
|
4
|
+
import { manageApiKeyAuth, manageApiKeyOrSessionAuth } from "./manageAuth.js";
|
|
6
5
|
import { runApiKeyAuth, runApiKeyAuthExcept, runOptionalAuth } from "./runAuth.js";
|
|
7
6
|
import { requireTenantAccess } from "./tenantAccess.js";
|
|
8
7
|
import { workAppsAuth } from "./workAppsAuth.js";
|
|
9
8
|
|
|
10
|
-
export { authCorsConfig, defaultCorsConfig, errorHandler, getBaseDomain, isOriginAllowed, manageApiKeyAuth,
|
|
9
|
+
export { authCorsConfig, defaultCorsConfig, errorHandler, getBaseDomain, isOriginAllowed, manageApiKeyAuth, manageApiKeyOrSessionAuth, playgroundCorsConfig, requireTenantAccess, runApiKeyAuth, runApiKeyAuthExcept, runCorsConfig, runOptionalAuth, sessionAuth, signozCorsConfig, workAppsAuth, workAppsCorsConfig };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseExecutionContext } from "@inkeep/agents-core";
|
|
2
|
-
import * as
|
|
2
|
+
import * as hono1 from "hono";
|
|
3
3
|
import { createAuth } from "@inkeep/agents-core/auth";
|
|
4
4
|
|
|
5
5
|
//#region src/middleware/manageAuth.d.ts
|
|
@@ -12,14 +12,19 @@ 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: () => hono1.MiddlewareHandler<{
|
|
16
16
|
Variables: {
|
|
17
17
|
executionContext: BaseExecutionContext;
|
|
18
18
|
userId?: string;
|
|
19
19
|
userEmail?: string;
|
|
20
20
|
tenantId?: string;
|
|
21
|
-
auth: ReturnType<typeof createAuth
|
|
21
|
+
auth: ReturnType<typeof createAuth>;
|
|
22
22
|
};
|
|
23
23
|
}, string, {}, Response>;
|
|
24
|
+
/**
|
|
25
|
+
* Middleware that gates a route with manage-domain authentication.
|
|
26
|
+
* Uses Bearer token → API key auth, otherwise falls back to session auth.
|
|
27
|
+
*/
|
|
28
|
+
declare const manageApiKeyOrSessionAuth: () => hono1.MiddlewareHandler<any, string, {}, Response>;
|
|
24
29
|
//#endregion
|
|
25
|
-
export { manageApiKeyAuth };
|
|
30
|
+
export { manageApiKeyAuth, manageApiKeyOrSessionAuth };
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { env } from "../env.js";
|
|
2
2
|
import runDbClient_default from "../data/db/runDbClient.js";
|
|
3
|
+
import { sessionAuth } from "./sessionAuth.js";
|
|
3
4
|
import { getLogger, isInternalServiceToken, isSlackUserToken, validateAndGetApiKey, verifyInternalServiceAuthHeader, verifySlackUserToken } from "@inkeep/agents-core";
|
|
5
|
+
import { registerAuthzMeta } from "@inkeep/agents-core/middleware";
|
|
4
6
|
import { createMiddleware } from "hono/factory";
|
|
5
7
|
import { HTTPException } from "hono/http-exception";
|
|
6
8
|
|
|
@@ -26,7 +28,7 @@ const manageApiKeyAuth = () => createMiddleware(async (c, next) => {
|
|
|
26
28
|
return;
|
|
27
29
|
}
|
|
28
30
|
const auth = c.get("auth");
|
|
29
|
-
|
|
31
|
+
try {
|
|
30
32
|
const headers$1 = new Headers();
|
|
31
33
|
headers$1.set("Authorization", authHeader);
|
|
32
34
|
const forwardedCookie = c.req.header("x-forwarded-cookie");
|
|
@@ -90,6 +92,26 @@ const manageApiKeyAuth = () => createMiddleware(async (c, next) => {
|
|
|
90
92
|
}
|
|
91
93
|
throw new HTTPException(401, { message: "Invalid Token" });
|
|
92
94
|
});
|
|
95
|
+
/**
|
|
96
|
+
* Middleware that gates a route with manage-domain authentication.
|
|
97
|
+
* Uses Bearer token → API key auth, otherwise falls back to session auth.
|
|
98
|
+
*/
|
|
99
|
+
const manageApiKeyOrSessionAuth = () => {
|
|
100
|
+
const mw = createMiddleware(async (c, next) => {
|
|
101
|
+
if (env.ENVIRONMENT === "test") {
|
|
102
|
+
await next();
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
if (c.req.header("Authorization")?.startsWith("Bearer ")) return manageApiKeyAuth()(c, next);
|
|
106
|
+
return sessionAuth()(c, next);
|
|
107
|
+
});
|
|
108
|
+
registerAuthzMeta(mw, {
|
|
109
|
+
resource: "organization",
|
|
110
|
+
permission: "member",
|
|
111
|
+
description: "Requires session cookie or API key authentication"
|
|
112
|
+
});
|
|
113
|
+
return mw;
|
|
114
|
+
};
|
|
93
115
|
|
|
94
116
|
//#endregion
|
|
95
|
-
export { manageApiKeyAuth };
|
|
117
|
+
export { manageApiKeyAuth, manageApiKeyOrSessionAuth };
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { ManageAppVariables } from "../types/app.js";
|
|
2
2
|
import { ProjectPermissionLevel } from "@inkeep/agents-core";
|
|
3
|
-
import
|
|
3
|
+
import { ProjectScopedMiddleware } from "@inkeep/agents-core/middleware";
|
|
4
4
|
|
|
5
5
|
//#region src/middleware/projectAccess.d.ts
|
|
6
|
+
|
|
6
7
|
/**
|
|
7
8
|
* Middleware to check project-level access.
|
|
8
9
|
*/
|
|
9
|
-
declare const requireProjectPermission: <Env
|
|
10
|
+
declare const requireProjectPermission: <Env extends {
|
|
10
11
|
Variables: ManageAppVariables;
|
|
11
12
|
} = {
|
|
12
13
|
Variables: ManageAppVariables;
|
|
13
|
-
}>(permission?: ProjectPermissionLevel) =>
|
|
14
|
+
}>(permission?: ProjectPermissionLevel) => ProjectScopedMiddleware;
|
|
14
15
|
//#endregion
|
|
15
16
|
export { requireProjectPermission };
|
|
@@ -1,79 +1,93 @@
|
|
|
1
1
|
import { canEditProject, canUseProject, canViewProject, createApiError } from "@inkeep/agents-core";
|
|
2
|
+
import { registerAuthzMeta } from "@inkeep/agents-core/middleware";
|
|
2
3
|
import { createMiddleware } from "hono/factory";
|
|
3
4
|
import { HTTPException } from "hono/http-exception";
|
|
4
5
|
|
|
5
6
|
//#region src/middleware/projectAccess.ts
|
|
7
|
+
const projectPermissionDescriptions = {
|
|
8
|
+
view: "Requires project view permission (project_viewer+, or org admin/owner)",
|
|
9
|
+
use: "Requires project use permission (project_member+, or org admin/owner)",
|
|
10
|
+
edit: "Requires project edit permission (project_admin, or org admin/owner)"
|
|
11
|
+
};
|
|
6
12
|
/**
|
|
7
13
|
* Middleware to check project-level access.
|
|
8
14
|
*/
|
|
9
|
-
const requireProjectPermission = (permission = "view") =>
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const userId = c.get("userId");
|
|
15
|
-
const tenantId = c.get("tenantId");
|
|
16
|
-
const tenantRole = c.get("tenantRole");
|
|
17
|
-
const projectId = c.req.param("projectId") || c.req.param("id");
|
|
18
|
-
if (!userId || !tenantId) throw createApiError({
|
|
19
|
-
code: "unauthorized",
|
|
20
|
-
message: "User or organization context not found",
|
|
21
|
-
instance: c.req.path
|
|
22
|
-
});
|
|
23
|
-
if (!projectId) throw createApiError({
|
|
24
|
-
code: "bad_request",
|
|
25
|
-
message: "Project ID is required",
|
|
26
|
-
instance: c.req.path
|
|
27
|
-
});
|
|
28
|
-
if (userId === "system" || userId.startsWith("apikey:")) {
|
|
29
|
-
await next();
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
try {
|
|
33
|
-
let hasAccess = false;
|
|
34
|
-
switch (permission) {
|
|
35
|
-
case "view":
|
|
36
|
-
hasAccess = await canViewProject({
|
|
37
|
-
userId,
|
|
38
|
-
tenantId,
|
|
39
|
-
projectId,
|
|
40
|
-
orgRole: tenantRole
|
|
41
|
-
});
|
|
42
|
-
break;
|
|
43
|
-
case "use":
|
|
44
|
-
hasAccess = await canUseProject({
|
|
45
|
-
userId,
|
|
46
|
-
tenantId,
|
|
47
|
-
projectId,
|
|
48
|
-
orgRole: tenantRole
|
|
49
|
-
});
|
|
50
|
-
break;
|
|
51
|
-
case "edit":
|
|
52
|
-
hasAccess = await canEditProject({
|
|
53
|
-
userId,
|
|
54
|
-
tenantId,
|
|
55
|
-
projectId,
|
|
56
|
-
orgRole: tenantRole
|
|
57
|
-
});
|
|
58
|
-
break;
|
|
15
|
+
const requireProjectPermission = (permission = "view") => {
|
|
16
|
+
const mw = createMiddleware(async (c, next) => {
|
|
17
|
+
if (process.env.ENVIRONMENT === "test") {
|
|
18
|
+
await next();
|
|
19
|
+
return;
|
|
59
20
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
21
|
+
const userId = c.get("userId");
|
|
22
|
+
const tenantId = c.get("tenantId");
|
|
23
|
+
const tenantRole = c.get("tenantRole");
|
|
24
|
+
const projectId = c.req.param("projectId") || c.req.param("id");
|
|
25
|
+
if (!userId || !tenantId) throw createApiError({
|
|
26
|
+
code: "unauthorized",
|
|
27
|
+
message: "User or organization context not found",
|
|
63
28
|
instance: c.req.path
|
|
64
29
|
});
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
throw createApiError({
|
|
70
|
-
code: "internal_server_error",
|
|
71
|
-
message: "Failed to verify project access",
|
|
72
|
-
instance: c.req.path,
|
|
73
|
-
extensions: { internalError: errorMessage }
|
|
30
|
+
if (!projectId) throw createApiError({
|
|
31
|
+
code: "bad_request",
|
|
32
|
+
message: "Project ID is required",
|
|
33
|
+
instance: c.req.path
|
|
74
34
|
});
|
|
75
|
-
|
|
76
|
-
|
|
35
|
+
if (userId === "system" || userId.startsWith("apikey:")) {
|
|
36
|
+
await next();
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
try {
|
|
40
|
+
let hasAccess = false;
|
|
41
|
+
switch (permission) {
|
|
42
|
+
case "view":
|
|
43
|
+
hasAccess = await canViewProject({
|
|
44
|
+
userId,
|
|
45
|
+
tenantId,
|
|
46
|
+
projectId,
|
|
47
|
+
orgRole: tenantRole
|
|
48
|
+
});
|
|
49
|
+
break;
|
|
50
|
+
case "use":
|
|
51
|
+
hasAccess = await canUseProject({
|
|
52
|
+
userId,
|
|
53
|
+
tenantId,
|
|
54
|
+
projectId,
|
|
55
|
+
orgRole: tenantRole
|
|
56
|
+
});
|
|
57
|
+
break;
|
|
58
|
+
case "edit":
|
|
59
|
+
hasAccess = await canEditProject({
|
|
60
|
+
userId,
|
|
61
|
+
tenantId,
|
|
62
|
+
projectId,
|
|
63
|
+
orgRole: tenantRole
|
|
64
|
+
});
|
|
65
|
+
break;
|
|
66
|
+
}
|
|
67
|
+
if (!hasAccess) throw createApiError({
|
|
68
|
+
code: "not_found",
|
|
69
|
+
message: "Project not found",
|
|
70
|
+
instance: c.req.path
|
|
71
|
+
});
|
|
72
|
+
await next();
|
|
73
|
+
} catch (error) {
|
|
74
|
+
if (error instanceof HTTPException) throw error;
|
|
75
|
+
const errorMessage = error instanceof Error ? error.message : "Unknown error";
|
|
76
|
+
throw createApiError({
|
|
77
|
+
code: "internal_server_error",
|
|
78
|
+
message: "Failed to verify project access",
|
|
79
|
+
instance: c.req.path,
|
|
80
|
+
extensions: { internalError: errorMessage }
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
registerAuthzMeta(mw, {
|
|
85
|
+
resource: "project",
|
|
86
|
+
permission,
|
|
87
|
+
description: projectPermissionDescriptions[permission] ?? `Requires project ${permission} permission`
|
|
88
|
+
});
|
|
89
|
+
return mw;
|
|
90
|
+
};
|
|
77
91
|
|
|
78
92
|
//#endregion
|
|
79
93
|
export { requireProjectPermission };
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { BaseExecutionContext, ResolvedRef } from "@inkeep/agents-core";
|
|
2
|
-
import * as
|
|
2
|
+
import * as hono9 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: hono9.MiddlewareHandler<{
|
|
9
9
|
Variables: {
|
|
10
10
|
executionContext: BaseExecutionContext;
|
|
11
11
|
resolvedRef: ResolvedRef;
|
|
@@ -15,7 +15,7 @@ declare const projectConfigMiddleware: hono7.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) => hono9.MiddlewareHandler<{
|
|
19
19
|
Variables: {
|
|
20
20
|
executionContext: BaseExecutionContext;
|
|
21
21
|
resolvedRef: ResolvedRef;
|
package/dist/middleware/ref.d.ts
CHANGED
|
@@ -53,9 +53,5 @@ declare const createRefMiddleware: (db: AgentsManageDatabaseClient, options?: Re
|
|
|
53
53
|
declare const writeProtectionMiddleware: (c: Context, next: Next) => Promise<void>;
|
|
54
54
|
declare const manageRefMiddleware: (c: Context, next: Next) => Promise<void>;
|
|
55
55
|
declare const runRefMiddleware: (c: Context, next: Next) => Promise<void>;
|
|
56
|
-
/**
|
|
57
|
-
* Ref middleware for OAuth routes - extracts tenant/project from query params
|
|
58
|
-
*/
|
|
59
|
-
declare const oauthRefMiddleware: (c: Context, next: Next) => Promise<void>;
|
|
60
56
|
//#endregion
|
|
61
|
-
export { RefContext, RefMiddlewareOptions, createRefMiddleware, manageRefMiddleware,
|
|
57
|
+
export { RefContext, RefMiddlewareOptions, createRefMiddleware, manageRefMiddleware, runRefMiddleware, writeProtectionMiddleware };
|