@inkeep/agents-api 0.45.1 → 0.45.3
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 +16 -16
- package/dist/.well-known/workflow/v1/step.cjs +15 -62
- package/dist/createApp.d.ts +2 -2
- package/dist/domains/evals/routes/datasetTriggers.d.ts +2 -2
- package/dist/domains/evals/services/EvaluationService.js +1 -41
- 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/mcp.d.ts +2 -2
- package/dist/domains/manage/routes/signoz.d.ts +2 -2
- package/dist/domains/manage/routes/userOrganizations.d.ts +2 -2
- package/dist/domains/mcp/routes/mcp.d.ts +2 -2
- package/dist/domains/run/agents/Agent.js +4 -5
- package/dist/domains/run/agents/versions/v1/Phase1Config.js +1 -2
- package/dist/domains/run/services/AgentSession.js +1 -1
- package/dist/domains/run/utils/artifact-component-schema.d.ts +1 -5
- package/dist/domains/run/utils/artifact-component-schema.js +3 -38
- package/dist/domains/run/utils/schema-validation.d.ts +1 -19
- package/dist/domains/run/utils/schema-validation.js +1 -60
- package/dist/env.d.ts +2 -0
- package/dist/env.js +1 -0
- package/dist/factory.d.ts +18 -18
- package/dist/factory.js +1 -0
- package/dist/index.d.ts +18 -18
- package/dist/middleware/cors.d.ts +7 -2
- package/dist/middleware/cors.js +17 -2
- 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/package.json +6 -6
- package/dist/domains/run/utils/data-component-schema.d.ts +0 -2
- package/dist/domains/run/utils/data-component-schema.js +0 -3
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"steps": {
|
|
3
|
+
"node_modules/.pnpm/workflow@4.0.1-beta.33_@aws-sdk+client-sts@3.970.0_@opentelemetry+api@1.9.0_@types+reac_162752afbc89dc886082698201e5b45d/node_modules/workflow/dist/internal/builtins.js": {
|
|
4
|
+
"__builtin_response_array_buffer": {
|
|
5
|
+
"stepId": "__builtin_response_array_buffer"
|
|
6
|
+
},
|
|
7
|
+
"__builtin_response_json": {
|
|
8
|
+
"stepId": "__builtin_response_json"
|
|
9
|
+
},
|
|
10
|
+
"__builtin_response_text": {
|
|
11
|
+
"stepId": "__builtin_response_text"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
3
14
|
"src/domains/evals/workflow/functions/runDatasetItem.ts": {
|
|
4
15
|
"callChatApiStep": {
|
|
5
16
|
"stepId": "step//src/domains/evals/workflow/functions/runDatasetItem.ts//callChatApiStep"
|
|
@@ -14,17 +25,6 @@
|
|
|
14
25
|
"stepId": "step//src/domains/evals/workflow/functions/runDatasetItem.ts//logStep"
|
|
15
26
|
}
|
|
16
27
|
},
|
|
17
|
-
"node_modules/.pnpm/workflow@4.0.1-beta.33_@aws-sdk+client-sts@3.970.0_@opentelemetry+api@1.9.0_@types+reac_576b463f7ac3bd55d5340a4cbc23a887/node_modules/workflow/dist/internal/builtins.js": {
|
|
18
|
-
"__builtin_response_array_buffer": {
|
|
19
|
-
"stepId": "__builtin_response_array_buffer"
|
|
20
|
-
},
|
|
21
|
-
"__builtin_response_json": {
|
|
22
|
-
"stepId": "__builtin_response_json"
|
|
23
|
-
},
|
|
24
|
-
"__builtin_response_text": {
|
|
25
|
-
"stepId": "__builtin_response_text"
|
|
26
|
-
}
|
|
27
|
-
},
|
|
28
28
|
"src/domains/evals/workflow/functions/evaluateConversation.ts": {
|
|
29
29
|
"executeEvaluatorStep": {
|
|
30
30
|
"stepId": "step//src/domains/evals/workflow/functions/evaluateConversation.ts//executeEvaluatorStep"
|
|
@@ -41,15 +41,15 @@
|
|
|
41
41
|
}
|
|
42
42
|
},
|
|
43
43
|
"workflows": {
|
|
44
|
-
"src/domains/evals/workflow/functions/runDatasetItem.ts": {
|
|
45
|
-
"_runDatasetItemWorkflow": {
|
|
46
|
-
"workflowId": "workflow//src/domains/evals/workflow/functions/runDatasetItem.ts//_runDatasetItemWorkflow"
|
|
47
|
-
}
|
|
48
|
-
},
|
|
49
44
|
"src/domains/evals/workflow/functions/evaluateConversation.ts": {
|
|
50
45
|
"_evaluateConversationWorkflow": {
|
|
51
46
|
"workflowId": "workflow//src/domains/evals/workflow/functions/evaluateConversation.ts//_evaluateConversationWorkflow"
|
|
52
47
|
}
|
|
48
|
+
},
|
|
49
|
+
"src/domains/evals/workflow/functions/runDatasetItem.ts": {
|
|
50
|
+
"_runDatasetItemWorkflow": {
|
|
51
|
+
"workflowId": "workflow//src/domains/evals/workflow/functions/runDatasetItem.ts//_runDatasetItemWorkflow"
|
|
52
|
+
}
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
}
|
|
@@ -117196,7 +117196,7 @@ function getStepFunction(stepId) {
|
|
|
117196
117196
|
}
|
|
117197
117197
|
__name(getStepFunction, "getStepFunction");
|
|
117198
117198
|
|
|
117199
|
-
// ../node_modules/.pnpm/workflow@4.0.1-beta.33_@aws-sdk+client-sts@3.970.0_@opentelemetry+api@1.9.0_@types+
|
|
117199
|
+
// ../node_modules/.pnpm/workflow@4.0.1-beta.33_@aws-sdk+client-sts@3.970.0_@opentelemetry+api@1.9.0_@types+reac_162752afbc89dc886082698201e5b45d/node_modules/workflow/dist/internal/builtins.js
|
|
117200
117200
|
async function __builtin_response_array_buffer(res) {
|
|
117201
117201
|
return res.arrayBuffer();
|
|
117202
117202
|
}
|
|
@@ -127187,10 +127187,10 @@ var workAppGitHubMcpToolRepositoryAccessRelations = relations(workAppGitHubMcpTo
|
|
|
127187
127187
|
})
|
|
127188
127188
|
}));
|
|
127189
127189
|
|
|
127190
|
-
// ../node_modules/.pnpm/@hono+zod-openapi@1.2.0_hono@4.11.
|
|
127190
|
+
// ../node_modules/.pnpm/@hono+zod-openapi@1.2.0_hono@4.11.7_zod@4.3.6/node_modules/@hono/zod-openapi/dist/index.js
|
|
127191
127191
|
var import_zod_to_openapi = __toESM(require_dist(), 1);
|
|
127192
127192
|
|
|
127193
|
-
// ../node_modules/.pnpm/hono@4.11.
|
|
127193
|
+
// ../node_modules/.pnpm/hono@4.11.7/node_modules/hono/dist/utils/url.js
|
|
127194
127194
|
var tryDecode = /* @__PURE__ */ __name((str2, decoder) => {
|
|
127195
127195
|
try {
|
|
127196
127196
|
return decoder(str2);
|
|
@@ -127283,10 +127283,10 @@ var getQueryParams = /* @__PURE__ */ __name((url4, key) => {
|
|
|
127283
127283
|
}, "getQueryParams");
|
|
127284
127284
|
var decodeURIComponent_ = decodeURIComponent;
|
|
127285
127285
|
|
|
127286
|
-
// ../node_modules/.pnpm/hono@4.11.
|
|
127286
|
+
// ../node_modules/.pnpm/hono@4.11.7/node_modules/hono/dist/request/constants.js
|
|
127287
127287
|
var GET_MATCH_RESULT = /* @__PURE__ */ Symbol();
|
|
127288
127288
|
|
|
127289
|
-
// ../node_modules/.pnpm/hono@4.11.
|
|
127289
|
+
// ../node_modules/.pnpm/hono@4.11.7/node_modules/hono/dist/utils/body.js
|
|
127290
127290
|
var parseBody = /* @__PURE__ */ __name(async (request, options = /* @__PURE__ */ Object.create(null)) => {
|
|
127291
127291
|
const { all: all3 = false, dot = false } = options;
|
|
127292
127292
|
const headers2 = request instanceof HonoRequest ? request.raw.headers : request.headers;
|
|
@@ -127365,7 +127365,7 @@ var handleParsingNestedValues = /* @__PURE__ */ __name((form, key, value) => {
|
|
|
127365
127365
|
});
|
|
127366
127366
|
}, "handleParsingNestedValues");
|
|
127367
127367
|
|
|
127368
|
-
// ../node_modules/.pnpm/hono@4.11.
|
|
127368
|
+
// ../node_modules/.pnpm/hono@4.11.7/node_modules/hono/dist/request.js
|
|
127369
127369
|
var tryDecodeURIComponent = /* @__PURE__ */ __name((str2) => tryDecode(str2, decodeURIComponent_), "tryDecodeURIComponent");
|
|
127370
127370
|
var HonoRequest = class {
|
|
127371
127371
|
static {
|
|
@@ -127638,7 +127638,7 @@ var HonoRequest = class {
|
|
|
127638
127638
|
}
|
|
127639
127639
|
};
|
|
127640
127640
|
|
|
127641
|
-
// ../node_modules/.pnpm/hono@4.11.
|
|
127641
|
+
// ../node_modules/.pnpm/hono@4.11.7/node_modules/hono/dist/router/reg-exp-router/node.js
|
|
127642
127642
|
var regExpMetaChars = new Set(".\\+*[^]$()");
|
|
127643
127643
|
|
|
127644
127644
|
// ../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/external.js
|
|
@@ -142640,7 +142640,7 @@ __name(date5, "date");
|
|
|
142640
142640
|
// ../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/external.js
|
|
142641
142641
|
config(en_default());
|
|
142642
142642
|
|
|
142643
|
-
// ../node_modules/.pnpm/@hono+zod-openapi@1.2.0_hono@4.11.
|
|
142643
|
+
// ../node_modules/.pnpm/@hono+zod-openapi@1.2.0_hono@4.11.7_zod@4.3.6/node_modules/@hono/zod-openapi/dist/index.js
|
|
142644
142644
|
(0, import_zod_to_openapi.extendZodWithOpenApi)(external_exports);
|
|
142645
142645
|
|
|
142646
142646
|
// ../packages/agents-core/dist/validation/dolt-schemas.js
|
|
@@ -145069,7 +145069,7 @@ crypto2 = globalThis.crypto?.webcrypto ?? // Node.js [18-16] REPL
|
|
|
145069
145069
|
globalThis.crypto ?? // Node.js >18
|
|
145070
145070
|
import("node:crypto").then((m4) => m4.webcrypto);
|
|
145071
145071
|
|
|
145072
|
-
// ../node_modules/.pnpm/@modelcontextprotocol+sdk@1.25.3_hono@4.11.
|
|
145072
|
+
// ../node_modules/.pnpm/@modelcontextprotocol+sdk@1.25.3_hono@4.11.7_zod@4.3.6/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js
|
|
145073
145073
|
var RELATED_TASK_META_KEY = "io.modelcontextprotocol/related-task";
|
|
145074
145074
|
var JSONRPC_VERSION = "2.0";
|
|
145075
145075
|
var AssertObjectSchema = custom((v3) => v3 !== null && (typeof v3 === "object" || typeof v3 === "function"));
|
|
@@ -146655,7 +146655,7 @@ var ServerResultSchema = union2([
|
|
|
146655
146655
|
CreateTaskResultSchema
|
|
146656
146656
|
]);
|
|
146657
146657
|
|
|
146658
|
-
// ../node_modules/.pnpm/@modelcontextprotocol+sdk@1.25.3_hono@4.11.
|
|
146658
|
+
// ../node_modules/.pnpm/@modelcontextprotocol+sdk@1.25.3_hono@4.11.7_zod@4.3.6/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth.js
|
|
146659
146659
|
var SafeUrlSchema = url().superRefine((val, ctx) => {
|
|
146660
146660
|
if (!URL.canParse(val)) {
|
|
146661
146661
|
ctx.addIssue({
|
|
@@ -146800,7 +146800,7 @@ var OAuthTokenRevocationRequestSchema = object({
|
|
|
146800
146800
|
token_type_hint: string2().optional()
|
|
146801
146801
|
}).strip();
|
|
146802
146802
|
|
|
146803
|
-
// ../node_modules/.pnpm/@modelcontextprotocol+sdk@1.25.3_hono@4.11.
|
|
146803
|
+
// ../node_modules/.pnpm/@modelcontextprotocol+sdk@1.25.3_hono@4.11.7_zod@4.3.6/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/errors.js
|
|
146804
146804
|
var OAuthError = class extends Error {
|
|
146805
146805
|
static {
|
|
146806
146806
|
__name(this, "OAuthError");
|
|
@@ -147101,6 +147101,7 @@ var envSchema = external_exports.object({
|
|
|
147101
147101
|
OAUTH_PROXY_PRODUCTION_URL: external_exports.string().optional().describe("OAuth proxy URL for production environment (used in local/preview environments)"),
|
|
147102
147102
|
INKEEP_AGENTS_MANAGE_UI_URL: external_exports.string().optional().describe("URL where the management UI is hosted"),
|
|
147103
147103
|
INKEEP_AGENTS_API_URL: external_exports.string().optional().describe("URL where the agents management API is running"),
|
|
147104
|
+
AUTH_COOKIE_DOMAIN: external_exports.string().optional().describe("Explicit cookie domain for cross-subdomain auth (e.g., .inkeep.com). Required when the API and UI do not share a common 3-part parent domain."),
|
|
147104
147105
|
GITHUB_MCP_API_KEY: external_exports.string().optional().describe("API key for the GitHub MCP")
|
|
147105
147106
|
});
|
|
147106
147107
|
var parseEnv = /* @__PURE__ */ __name(() => {
|
|
@@ -197260,7 +197261,7 @@ var logger13 = getLogger("JsonTransformer");
|
|
|
197260
197261
|
// ../packages/agents-core/dist/utils/json-parser.js
|
|
197261
197262
|
var import_traverse = __toESM(require_traverse(), 1);
|
|
197262
197263
|
|
|
197263
|
-
// ../node_modules/.pnpm/@modelcontextprotocol+sdk@1.25.3_hono@4.11.
|
|
197264
|
+
// ../node_modules/.pnpm/@modelcontextprotocol+sdk@1.25.3_hono@4.11.7_zod@4.3.6/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js
|
|
197264
197265
|
var import_ajv2 = __toESM(require_ajv(), 1);
|
|
197265
197266
|
var import_ajv_formats = __toESM(require_dist3(), 1);
|
|
197266
197267
|
|
|
@@ -228778,6 +228779,7 @@ var envSchema2 = external_exports.object({
|
|
|
228778
228779
|
INKEEP_AGENTS_RUN_DATABASE_URL: external_exports.string().describe("PostgreSQL connection URL for the runtime database (Doltgres with Git version control)"),
|
|
228779
228780
|
INKEEP_AGENTS_MANAGE_UI_URL: external_exports.string().optional().describe("URL where the management UI is hosted"),
|
|
228780
228781
|
INKEEP_AGENTS_API_URL: external_exports.string().optional().default("http://localhost:3002").describe("URL where the agents management API is running"),
|
|
228782
|
+
AUTH_COOKIE_DOMAIN: external_exports.string().optional().describe("Explicit cookie domain for cross-subdomain auth (e.g., .inkeep.com). Required when the API and UI do not share a common 3-part parent domain."),
|
|
228781
228783
|
// Authentication
|
|
228782
228784
|
BETTER_AUTH_SECRET: external_exports.string().optional().describe("Secret key for Better Auth session encryption (change in production)"),
|
|
228783
228785
|
INKEEP_AGENTS_MANAGE_UI_USERNAME: external_exports.string().optional().refine((val) => !val || /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(val), {
|
|
@@ -228857,55 +228859,6 @@ var runDbClient_default = runDbClient;
|
|
|
228857
228859
|
|
|
228858
228860
|
// src/domains/evals/services/EvaluationService.ts
|
|
228859
228861
|
var logger21 = getLogger("EvaluationService");
|
|
228860
|
-
function jsonSchemaToZod3(jsonSchema3) {
|
|
228861
|
-
if (!jsonSchema3 || typeof jsonSchema3 !== "object") {
|
|
228862
|
-
logger21.warn({
|
|
228863
|
-
jsonSchema: jsonSchema3
|
|
228864
|
-
}, "Invalid JSON schema provided, using string fallback");
|
|
228865
|
-
return external_exports.string();
|
|
228866
|
-
}
|
|
228867
|
-
switch (jsonSchema3.type) {
|
|
228868
|
-
case "object":
|
|
228869
|
-
if (jsonSchema3.properties) {
|
|
228870
|
-
const shape = {};
|
|
228871
|
-
const required3 = jsonSchema3.required || [];
|
|
228872
|
-
for (const [key, prop] of Object.entries(jsonSchema3.properties)) {
|
|
228873
|
-
const propSchema = prop;
|
|
228874
|
-
let zodType = jsonSchemaToZod3(propSchema);
|
|
228875
|
-
if (propSchema.description) {
|
|
228876
|
-
zodType = zodType.describe(String(propSchema.description));
|
|
228877
|
-
}
|
|
228878
|
-
if (!required3.includes(key)) {
|
|
228879
|
-
zodType = zodType.optional();
|
|
228880
|
-
}
|
|
228881
|
-
shape[key] = zodType;
|
|
228882
|
-
}
|
|
228883
|
-
return external_exports.object(shape);
|
|
228884
|
-
}
|
|
228885
|
-
return external_exports.record(external_exports.string(), external_exports.unknown());
|
|
228886
|
-
case "array": {
|
|
228887
|
-
const itemSchema = jsonSchema3.items ? jsonSchemaToZod3(jsonSchema3.items) : external_exports.unknown();
|
|
228888
|
-
return external_exports.array(itemSchema);
|
|
228889
|
-
}
|
|
228890
|
-
case "string":
|
|
228891
|
-
return external_exports.string();
|
|
228892
|
-
case "number":
|
|
228893
|
-
return external_exports.number();
|
|
228894
|
-
case "integer":
|
|
228895
|
-
return external_exports.number().int();
|
|
228896
|
-
case "boolean":
|
|
228897
|
-
return external_exports.boolean();
|
|
228898
|
-
case "null":
|
|
228899
|
-
return external_exports.null();
|
|
228900
|
-
default:
|
|
228901
|
-
logger21.warn({
|
|
228902
|
-
unsupportedType: jsonSchema3.type,
|
|
228903
|
-
schema: jsonSchema3
|
|
228904
|
-
}, "Unsupported JSON schema type, using unknown validation");
|
|
228905
|
-
return external_exports.unknown();
|
|
228906
|
-
}
|
|
228907
|
-
}
|
|
228908
|
-
__name(jsonSchemaToZod3, "jsonSchemaToZod");
|
|
228909
228862
|
var EvaluationService = class {
|
|
228910
228863
|
static {
|
|
228911
228864
|
__name(this, "EvaluationService");
|
|
@@ -229652,7 +229605,7 @@ Return your evaluation as a JSON object matching the schema above.`;
|
|
|
229652
229605
|
const providerOptions = modelConfig?.providerOptions || {};
|
|
229653
229606
|
let resultSchema;
|
|
229654
229607
|
try {
|
|
229655
|
-
resultSchema =
|
|
229608
|
+
resultSchema = external_exports.fromJSONSchema(schema);
|
|
229656
229609
|
logger21.info({
|
|
229657
229610
|
schemaType: typeof schema,
|
|
229658
229611
|
schemaKeys: schema && typeof schema === "object" ? Object.keys(schema) : [],
|
package/dist/createApp.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { AppConfig } from "./types/app.js";
|
|
2
2
|
import "./types/index.js";
|
|
3
3
|
import { Hono } from "hono";
|
|
4
|
-
import * as
|
|
4
|
+
import * as hono_types3 from "hono/types";
|
|
5
5
|
|
|
6
6
|
//#region src/createApp.d.ts
|
|
7
7
|
declare const isWebhookRoute: (path: string) => boolean;
|
|
8
|
-
declare function createAgentsHono(config: AppConfig): Hono<
|
|
8
|
+
declare function createAgentsHono(config: AppConfig): Hono<hono_types3.BlankEnv, hono_types3.BlankSchema, "/">;
|
|
9
9
|
//#endregion
|
|
10
10
|
export { createAgentsHono, isWebhookRoute };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { OpenAPIHono } from "@hono/zod-openapi";
|
|
2
|
-
import * as
|
|
2
|
+
import * as hono16 from "hono";
|
|
3
3
|
|
|
4
4
|
//#region src/domains/evals/routes/datasetTriggers.d.ts
|
|
5
|
-
declare const app: OpenAPIHono<
|
|
5
|
+
declare const app: OpenAPIHono<hono16.Env, {}, "/">;
|
|
6
6
|
//#endregion
|
|
7
7
|
export { app as default };
|
|
@@ -10,46 +10,6 @@ import { z } from "zod";
|
|
|
10
10
|
//#region src/domains/evals/services/EvaluationService.ts
|
|
11
11
|
const logger = getLogger$1("EvaluationService");
|
|
12
12
|
/**
|
|
13
|
-
* Converts JSON Schema objects to Zod schema types
|
|
14
|
-
*/
|
|
15
|
-
function jsonSchemaToZod(jsonSchema) {
|
|
16
|
-
if (!jsonSchema || typeof jsonSchema !== "object") {
|
|
17
|
-
logger.warn({ jsonSchema }, "Invalid JSON schema provided, using string fallback");
|
|
18
|
-
return z.string();
|
|
19
|
-
}
|
|
20
|
-
switch (jsonSchema.type) {
|
|
21
|
-
case "object":
|
|
22
|
-
if (jsonSchema.properties) {
|
|
23
|
-
const shape = {};
|
|
24
|
-
const required = jsonSchema.required || [];
|
|
25
|
-
for (const [key, prop] of Object.entries(jsonSchema.properties)) {
|
|
26
|
-
const propSchema = prop;
|
|
27
|
-
let zodType = jsonSchemaToZod(propSchema);
|
|
28
|
-
if (propSchema.description) zodType = zodType.describe(String(propSchema.description));
|
|
29
|
-
if (!required.includes(key)) zodType = zodType.optional();
|
|
30
|
-
shape[key] = zodType;
|
|
31
|
-
}
|
|
32
|
-
return z.object(shape);
|
|
33
|
-
}
|
|
34
|
-
return z.record(z.string(), z.unknown());
|
|
35
|
-
case "array": {
|
|
36
|
-
const itemSchema = jsonSchema.items ? jsonSchemaToZod(jsonSchema.items) : z.unknown();
|
|
37
|
-
return z.array(itemSchema);
|
|
38
|
-
}
|
|
39
|
-
case "string": return z.string();
|
|
40
|
-
case "number": return z.number();
|
|
41
|
-
case "integer": return z.number().int();
|
|
42
|
-
case "boolean": return z.boolean();
|
|
43
|
-
case "null": return z.null();
|
|
44
|
-
default:
|
|
45
|
-
logger.warn({
|
|
46
|
-
unsupportedType: jsonSchema.type,
|
|
47
|
-
schema: jsonSchema
|
|
48
|
-
}, "Unsupported JSON schema type, using unknown validation");
|
|
49
|
-
return z.unknown();
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
13
|
* Service for running dataset items through the chat API endpoint
|
|
54
14
|
*/
|
|
55
15
|
var EvaluationService = class {
|
|
@@ -698,7 +658,7 @@ Return your evaluation as a JSON object matching the schema above.`;
|
|
|
698
658
|
const providerOptions = modelConfig?.providerOptions || {};
|
|
699
659
|
let resultSchema;
|
|
700
660
|
try {
|
|
701
|
-
resultSchema =
|
|
661
|
+
resultSchema = z.fromJSONSchema(schema);
|
|
702
662
|
logger.info({
|
|
703
663
|
schemaType: typeof schema,
|
|
704
664
|
schemaKeys: schema && typeof schema === "object" ? Object.keys(schema) : [],
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Hono } from "hono";
|
|
2
|
-
import * as
|
|
2
|
+
import * as hono_types12 from "hono/types";
|
|
3
3
|
|
|
4
4
|
//#region src/domains/evals/workflow/routes.d.ts
|
|
5
|
-
declare const workflowRoutes: Hono<
|
|
5
|
+
declare const workflowRoutes: Hono<hono_types12.BlankEnv, hono_types12.BlankSchema, "/">;
|
|
6
6
|
//#endregion
|
|
7
7
|
export { workflowRoutes };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { OpenAPIHono } from "@hono/zod-openapi";
|
|
2
|
-
import * as
|
|
2
|
+
import * as hono17 from "hono";
|
|
3
3
|
|
|
4
4
|
//#region src/domains/manage/routes/availableAgents.d.ts
|
|
5
|
-
declare const app: OpenAPIHono<
|
|
5
|
+
declare const app: OpenAPIHono<hono17.Env, {}, "/">;
|
|
6
6
|
//#endregion
|
|
7
7
|
export { app as default };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { OpenAPIHono } from "@hono/zod-openapi";
|
|
2
|
-
import * as
|
|
2
|
+
import * as hono8 from "hono";
|
|
3
3
|
|
|
4
4
|
//#region src/domains/manage/routes/conversations.d.ts
|
|
5
|
-
declare const app: OpenAPIHono<
|
|
5
|
+
declare const app: OpenAPIHono<hono8.Env, {}, "/">;
|
|
6
6
|
//#endregion
|
|
7
7
|
export { app as default };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { OpenAPIHono } from "@hono/zod-openapi";
|
|
2
|
-
import * as
|
|
2
|
+
import * as hono15 from "hono";
|
|
3
3
|
|
|
4
4
|
//#region src/domains/manage/routes/index.d.ts
|
|
5
|
-
declare const app: OpenAPIHono<
|
|
5
|
+
declare const app: OpenAPIHono<hono15.Env, {}, "/">;
|
|
6
6
|
//#endregion
|
|
7
7
|
export { app as default };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Hono } from "hono";
|
|
2
|
-
import * as
|
|
2
|
+
import * as hono_types6 from "hono/types";
|
|
3
3
|
|
|
4
4
|
//#region src/domains/manage/routes/mcp.d.ts
|
|
5
|
-
declare const app: Hono<
|
|
5
|
+
declare const app: Hono<hono_types6.BlankEnv, hono_types6.BlankSchema, "/">;
|
|
6
6
|
//#endregion
|
|
7
7
|
export { app as default };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { ManageAppVariables } from "../../../types/app.js";
|
|
2
2
|
import { Hono } from "hono";
|
|
3
|
-
import * as
|
|
3
|
+
import * as hono_types11 from "hono/types";
|
|
4
4
|
|
|
5
5
|
//#region src/domains/manage/routes/signoz.d.ts
|
|
6
6
|
declare const app: Hono<{
|
|
7
7
|
Variables: ManageAppVariables;
|
|
8
|
-
},
|
|
8
|
+
}, hono_types11.BlankSchema, "/">;
|
|
9
9
|
//#endregion
|
|
10
10
|
export { app as default };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { ManageAppVariables } from "../../../types/app.js";
|
|
2
2
|
import { Hono } from "hono";
|
|
3
|
-
import * as
|
|
3
|
+
import * as hono_types8 from "hono/types";
|
|
4
4
|
|
|
5
5
|
//#region src/domains/manage/routes/userOrganizations.d.ts
|
|
6
6
|
declare const userOrganizationsRoutes: Hono<{
|
|
7
7
|
Variables: ManageAppVariables;
|
|
8
|
-
},
|
|
8
|
+
}, hono_types8.BlankSchema, "/">;
|
|
9
9
|
//#endregion
|
|
10
10
|
export { userOrganizationsRoutes as default };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Hono } from "hono";
|
|
2
|
-
import * as
|
|
2
|
+
import * as hono_types9 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_types9.BlankEnv, hono_types9.BlankSchema, "/">;
|
|
6
6
|
//#endregion
|
|
7
7
|
export { app as default };
|
|
@@ -18,7 +18,6 @@ import { pendingToolApprovalManager } from "../services/PendingToolApprovalManag
|
|
|
18
18
|
import { ResponseFormatter } from "../services/ResponseFormatter.js";
|
|
19
19
|
import { toolApprovalUiBus } from "../services/ToolApprovalUiBus.js";
|
|
20
20
|
import { generateToolId } from "../utils/agent-operations.js";
|
|
21
|
-
import { jsonSchemaToZod } from "../utils/data-component-schema.js";
|
|
22
21
|
import { ArtifactCreateSchema, ArtifactReferenceSchema } from "../utils/artifact-component-schema.js";
|
|
23
22
|
import { withJsonPostProcessing } from "../utils/json-postprocessor.js";
|
|
24
23
|
import { calculateBreakdownTotal, estimateTokens } from "../utils/token-estimator.js";
|
|
@@ -824,7 +823,7 @@ var Agent = class {
|
|
|
824
823
|
}, "Function not found in functions table");
|
|
825
824
|
continue;
|
|
826
825
|
}
|
|
827
|
-
const zodSchema =
|
|
826
|
+
const zodSchema = functionData.inputSchema ? z.fromJSONSchema(functionData.inputSchema) : z.string();
|
|
828
827
|
const toolPolicies = functionToolDef.toolPolicies;
|
|
829
828
|
const needsApproval = !!toolPolicies?.["*"]?.needsApproval || !!toolPolicies?.[functionToolDef.name]?.needsApproval;
|
|
830
829
|
const aiTool = tool({
|
|
@@ -1351,7 +1350,7 @@ var Agent = class {
|
|
|
1351
1350
|
}, "Processing tool override");
|
|
1352
1351
|
let inputSchema;
|
|
1353
1352
|
try {
|
|
1354
|
-
inputSchema = override.schema ?
|
|
1353
|
+
inputSchema = override.schema ? z.fromJSONSchema(override.schema) : toolDef.inputSchema;
|
|
1355
1354
|
} catch (schemaError) {
|
|
1356
1355
|
logger.error({
|
|
1357
1356
|
mcpToolName: mcpTool.name,
|
|
@@ -2120,8 +2119,8 @@ ${output}${structureHintsFormatted}`;
|
|
|
2120
2119
|
}
|
|
2121
2120
|
buildDataComponentsSchema() {
|
|
2122
2121
|
const componentSchemas = [];
|
|
2123
|
-
|
|
2124
|
-
const propsSchema =
|
|
2122
|
+
this.config.dataComponents?.forEach((dc) => {
|
|
2123
|
+
const propsSchema = dc.props ? z.fromJSONSchema(dc.props) : z.string();
|
|
2125
2124
|
componentSchemas.push(z.object({
|
|
2126
2125
|
id: z.string(),
|
|
2127
2126
|
name: z.literal(dc.name),
|
|
@@ -4,8 +4,7 @@ import thinking_preparation_default from "../../../../../templates/v1/phase1/thi
|
|
|
4
4
|
import tool_default from "../../../../../templates/v1/phase1/tool.js";
|
|
5
5
|
import artifact_default from "../../../../../templates/v1/shared/artifact.js";
|
|
6
6
|
import artifact_retrieval_guidance_default from "../../../../../templates/v1/shared/artifact-retrieval-guidance.js";
|
|
7
|
-
import { V1_BREAKDOWN_SCHEMA } from "@inkeep/agents-core";
|
|
8
|
-
import { convertZodToJsonSchema, isZodSchema } from "@inkeep/agents-core/utils/schema-conversion";
|
|
7
|
+
import { V1_BREAKDOWN_SCHEMA, convertZodToJsonSchema, isZodSchema } from "@inkeep/agents-core";
|
|
9
8
|
|
|
10
9
|
//#region src/domains/run/agents/versions/v1/Phase1Config.ts
|
|
11
10
|
var Phase1Config = class Phase1Config {
|
|
@@ -526,7 +526,7 @@ var AgentSession = class {
|
|
|
526
526
|
const previousSummaryContext = previousSummaries.length > 0 ? `\nPrevious updates sent to user:\n${previousSummaries.map((s, i) => `${i + 1}. ${s}`).join("\n")}\n` : "";
|
|
527
527
|
const selectionSchema = z.object({ updates: z.array(z.union([z.object({
|
|
528
528
|
type: z.literal("no_relevant_updates"),
|
|
529
|
-
data: z.object({ no_updates: z.boolean()
|
|
529
|
+
data: z.object({ no_updates: z.boolean() }).describe("Use when nothing substantially new to report. Should only use on its own.")
|
|
530
530
|
}), ...statusComponents.map((component) => z.object({
|
|
531
531
|
type: z.literal(component.type),
|
|
532
532
|
data: this.getComponentSchema(component).describe(component.description || component.type)
|
|
@@ -3,10 +3,6 @@ import { ArtifactComponentApiInsert, ArtifactComponentApiSelect, DataComponentIn
|
|
|
3
3
|
|
|
4
4
|
//#region src/domains/run/utils/artifact-component-schema.d.ts
|
|
5
5
|
|
|
6
|
-
/**
|
|
7
|
-
* Converts artifact component configurations to Zod schema for structured generation
|
|
8
|
-
*/
|
|
9
|
-
declare function createArtifactComponentsSchema(artifactComponents?: ArtifactComponentApiSelect[]): z.ZodObject<{}, z.core.$strip> | z.ZodUnion<any>;
|
|
10
6
|
/**
|
|
11
7
|
* Standard artifact reference component schema for tool responses
|
|
12
8
|
*/
|
|
@@ -39,4 +35,4 @@ declare class ArtifactCreateSchema {
|
|
|
39
35
|
static getDataComponents(tenantId: string, projectId: string | undefined, artifactComponents: Array<ArtifactComponentApiInsert | ArtifactComponentApiSelect>): DataComponentInsert[];
|
|
40
36
|
}
|
|
41
37
|
//#endregion
|
|
42
|
-
export { ArtifactCreateSchema, ArtifactReferenceSchema
|
|
38
|
+
export { ArtifactCreateSchema, ArtifactReferenceSchema };
|
|
@@ -1,42 +1,7 @@
|
|
|
1
|
-
import { getLogger } from "../../../logger.js";
|
|
2
|
-
import { jsonSchemaToZod } from "./data-component-schema.js";
|
|
3
1
|
import { SchemaProcessor } from "./SchemaProcessor.js";
|
|
4
2
|
import { z } from "@hono/zod-openapi";
|
|
5
3
|
|
|
6
4
|
//#region src/domains/run/utils/artifact-component-schema.ts
|
|
7
|
-
getLogger("ArtifactComponentSchema");
|
|
8
|
-
/**
|
|
9
|
-
* Converts artifact component configurations to Zod schema for structured generation
|
|
10
|
-
*/
|
|
11
|
-
function createArtifactComponentsSchema(artifactComponents) {
|
|
12
|
-
const componentSchemas = artifactComponents?.map((component) => {
|
|
13
|
-
const propsSchema = jsonSchemaToZod(component.props ? removePreviewFlags(component.props) : {});
|
|
14
|
-
return z.object({
|
|
15
|
-
id: z.string().describe(component.id),
|
|
16
|
-
name: z.literal(component.name).describe(component.name),
|
|
17
|
-
props: propsSchema
|
|
18
|
-
}).describe(`${component.name}: ${component.description}`);
|
|
19
|
-
}) || [];
|
|
20
|
-
if (componentSchemas.length === 0) return z.object({});
|
|
21
|
-
if (componentSchemas.length === 1) return componentSchemas[0];
|
|
22
|
-
return z.union(componentSchemas);
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Remove inPreview flags from schema properties (for LLM consumption)
|
|
26
|
-
*/
|
|
27
|
-
function removePreviewFlags(schema) {
|
|
28
|
-
const cleanSchema = { ...schema };
|
|
29
|
-
if (cleanSchema.properties) {
|
|
30
|
-
const cleanProperties = {};
|
|
31
|
-
for (const [key, prop] of Object.entries(cleanSchema.properties)) {
|
|
32
|
-
const cleanProp = { ...prop };
|
|
33
|
-
delete cleanProp.inPreview;
|
|
34
|
-
cleanProperties[key] = cleanProp;
|
|
35
|
-
}
|
|
36
|
-
cleanSchema.properties = cleanProperties;
|
|
37
|
-
}
|
|
38
|
-
return cleanSchema;
|
|
39
|
-
}
|
|
40
5
|
/**
|
|
41
6
|
* Standard artifact reference component schema for tool responses
|
|
42
7
|
*/
|
|
@@ -62,7 +27,7 @@ var ArtifactReferenceSchema = class ArtifactReferenceSchema {
|
|
|
62
27
|
return z.object({
|
|
63
28
|
id: z.string(),
|
|
64
29
|
name: z.literal("Artifact"),
|
|
65
|
-
props:
|
|
30
|
+
props: z.fromJSONSchema(ArtifactReferenceSchema.ARTIFACT_PROPS_SCHEMA)
|
|
66
31
|
});
|
|
67
32
|
}
|
|
68
33
|
/**
|
|
@@ -126,7 +91,7 @@ var ArtifactCreateSchema = class {
|
|
|
126
91
|
return z.object({
|
|
127
92
|
id: z.string(),
|
|
128
93
|
name: z.literal(`ArtifactCreate_${component.name}`),
|
|
129
|
-
props:
|
|
94
|
+
props: z.fromJSONSchema(propsSchema)
|
|
130
95
|
});
|
|
131
96
|
});
|
|
132
97
|
}
|
|
@@ -183,4 +148,4 @@ var ArtifactCreateSchema = class {
|
|
|
183
148
|
};
|
|
184
149
|
|
|
185
150
|
//#endregion
|
|
186
|
-
export { ArtifactCreateSchema, ArtifactReferenceSchema
|
|
151
|
+
export { ArtifactCreateSchema, ArtifactReferenceSchema };
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
//#region src/domains/run/utils/schema-validation.d.ts
|
|
2
|
-
/**
|
|
3
|
-
* Clear the validator cache to free memory
|
|
4
|
-
* Useful for testing or when memory usage becomes a concern
|
|
5
|
-
*/
|
|
6
|
-
declare function clearValidatorCache(): void;
|
|
7
|
-
/**
|
|
8
|
-
* Get the current cache size for monitoring
|
|
9
|
-
*/
|
|
10
|
-
declare function getValidatorCacheSize(): number;
|
|
11
2
|
/**
|
|
12
3
|
* Extended JSON Schema that includes preview field indicators
|
|
13
4
|
*/
|
|
@@ -23,15 +14,6 @@ interface ExtendedJsonSchemaProperty {
|
|
|
23
14
|
inPreview?: boolean;
|
|
24
15
|
[key: string]: any;
|
|
25
16
|
}
|
|
26
|
-
/**
|
|
27
|
-
* Validate that a schema is valid (either JSON Schema or Zod)
|
|
28
|
-
* Following the same pattern as context validation
|
|
29
|
-
*/
|
|
30
|
-
declare function validateComponentSchema(schema: any, componentName: string): {
|
|
31
|
-
isValid: boolean;
|
|
32
|
-
error?: string;
|
|
33
|
-
validatedSchema?: ExtendedJsonSchema;
|
|
34
|
-
};
|
|
35
17
|
/**
|
|
36
18
|
* Extract preview fields from a schema (fields marked with inPreview: true)
|
|
37
19
|
*/
|
|
@@ -41,4 +23,4 @@ declare function extractPreviewFields(schema: ExtendedJsonSchema): Record<string
|
|
|
41
23
|
*/
|
|
42
24
|
declare function extractFullFields(schema: ExtendedJsonSchema): Record<string, any>;
|
|
43
25
|
//#endregion
|
|
44
|
-
export { ExtendedJsonSchema, ExtendedJsonSchemaProperty,
|
|
26
|
+
export { ExtendedJsonSchema, ExtendedJsonSchemaProperty, extractFullFields, extractPreviewFields };
|
|
@@ -1,63 +1,4 @@
|
|
|
1
|
-
import { getLogger } from "../../../logger.js";
|
|
2
|
-
import { z } from "@hono/zod-openapi";
|
|
3
|
-
import { convertZodToJsonSchemaWithPreview } from "@inkeep/agents-core/utils/schema-conversion";
|
|
4
|
-
import Ajv from "ajv";
|
|
5
|
-
|
|
6
1
|
//#region src/domains/run/utils/schema-validation.ts
|
|
7
|
-
const logger = getLogger("SchemaValidation");
|
|
8
|
-
const ajv = new Ajv({
|
|
9
|
-
allErrors: true,
|
|
10
|
-
strict: false
|
|
11
|
-
});
|
|
12
|
-
const validatorCache = /* @__PURE__ */ new Map();
|
|
13
|
-
/**
|
|
14
|
-
* Clear the validator cache to free memory
|
|
15
|
-
* Useful for testing or when memory usage becomes a concern
|
|
16
|
-
*/
|
|
17
|
-
function clearValidatorCache() {
|
|
18
|
-
validatorCache.clear();
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Get the current cache size for monitoring
|
|
22
|
-
*/
|
|
23
|
-
function getValidatorCacheSize() {
|
|
24
|
-
return validatorCache.size;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Validate that a schema is valid (either JSON Schema or Zod)
|
|
28
|
-
* Following the same pattern as context validation
|
|
29
|
-
*/
|
|
30
|
-
function validateComponentSchema(schema, componentName) {
|
|
31
|
-
try {
|
|
32
|
-
if (schema instanceof z.ZodType) return {
|
|
33
|
-
isValid: true,
|
|
34
|
-
validatedSchema: convertZodToJsonSchemaWithPreview(schema)
|
|
35
|
-
};
|
|
36
|
-
if (!schema || typeof schema !== "object" || Array.isArray(schema)) return {
|
|
37
|
-
isValid: false,
|
|
38
|
-
error: "Schema must be a valid JSON Schema object or Zod schema"
|
|
39
|
-
};
|
|
40
|
-
const schemaKey = JSON.stringify(schema);
|
|
41
|
-
let validator = validatorCache.get(schemaKey);
|
|
42
|
-
if (!validator) {
|
|
43
|
-
validator = ajv.compile(schema);
|
|
44
|
-
validatorCache.set(schemaKey, validator);
|
|
45
|
-
}
|
|
46
|
-
return {
|
|
47
|
-
isValid: true,
|
|
48
|
-
validatedSchema: schema
|
|
49
|
-
};
|
|
50
|
-
} catch (error) {
|
|
51
|
-
logger.error({
|
|
52
|
-
componentName,
|
|
53
|
-
error: error instanceof Error ? error.message : "Unknown error"
|
|
54
|
-
}, "Invalid component schema");
|
|
55
|
-
return {
|
|
56
|
-
isValid: false,
|
|
57
|
-
error: error instanceof Error ? error.message : "Invalid JSON Schema"
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
2
|
/**
|
|
62
3
|
* Extract preview fields from a schema (fields marked with inPreview: true)
|
|
63
4
|
*/
|
|
@@ -94,4 +35,4 @@ function extractFullFields(schema) {
|
|
|
94
35
|
}
|
|
95
36
|
|
|
96
37
|
//#endregion
|
|
97
|
-
export {
|
|
38
|
+
export { extractFullFields, extractPreviewFields };
|
package/dist/env.d.ts
CHANGED
|
@@ -24,6 +24,7 @@ declare const envSchema: z.ZodObject<{
|
|
|
24
24
|
INKEEP_AGENTS_RUN_DATABASE_URL: z.ZodString;
|
|
25
25
|
INKEEP_AGENTS_MANAGE_UI_URL: z.ZodOptional<z.ZodString>;
|
|
26
26
|
INKEEP_AGENTS_API_URL: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
27
|
+
AUTH_COOKIE_DOMAIN: z.ZodOptional<z.ZodString>;
|
|
27
28
|
BETTER_AUTH_SECRET: z.ZodOptional<z.ZodString>;
|
|
28
29
|
INKEEP_AGENTS_MANAGE_UI_USERNAME: z.ZodOptional<z.ZodString>;
|
|
29
30
|
INKEEP_AGENTS_MANAGE_UI_PASSWORD: z.ZodOptional<z.ZodString>;
|
|
@@ -68,6 +69,7 @@ declare const env: {
|
|
|
68
69
|
TENANT_ID: string;
|
|
69
70
|
ANTHROPIC_API_KEY: string;
|
|
70
71
|
INKEEP_AGENTS_MANAGE_UI_URL?: string | undefined;
|
|
72
|
+
AUTH_COOKIE_DOMAIN?: string | undefined;
|
|
71
73
|
BETTER_AUTH_SECRET?: string | undefined;
|
|
72
74
|
INKEEP_AGENTS_MANAGE_UI_USERNAME?: string | undefined;
|
|
73
75
|
INKEEP_AGENTS_MANAGE_UI_PASSWORD?: string | undefined;
|
package/dist/env.js
CHANGED
|
@@ -26,6 +26,7 @@ const envSchema = z.object({
|
|
|
26
26
|
INKEEP_AGENTS_RUN_DATABASE_URL: z.string().describe("PostgreSQL connection URL for the runtime database (Doltgres with Git version control)"),
|
|
27
27
|
INKEEP_AGENTS_MANAGE_UI_URL: z.string().optional().describe("URL where the management UI is hosted"),
|
|
28
28
|
INKEEP_AGENTS_API_URL: z.string().optional().default("http://localhost:3002").describe("URL where the agents management API is running"),
|
|
29
|
+
AUTH_COOKIE_DOMAIN: z.string().optional().describe("Explicit cookie domain for cross-subdomain auth (e.g., .inkeep.com). Required when the API and UI do not share a common 3-part parent domain."),
|
|
29
30
|
BETTER_AUTH_SECRET: z.string().optional().describe("Secret key for Better Auth session encryption (change in production)"),
|
|
30
31
|
INKEEP_AGENTS_MANAGE_UI_USERNAME: z.string().optional().refine((val) => !val || /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(val), { message: "Invalid email address" }).describe("Admin email address for management UI login"),
|
|
31
32
|
INKEEP_AGENTS_MANAGE_UI_PASSWORD: z.string().optional().refine((val) => !val || val.length >= 8, { message: "Password must be at least 8 characters" }).describe("Admin password for management UI login (min 8 characters)"),
|
package/dist/factory.d.ts
CHANGED
|
@@ -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 "organization" | "member" | "invitation" | "project" | "ac" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins0.Statements>[key] | {
|
|
798
|
+
actions: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", 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<"organization" | "member" | "invitation" | "project" | "ac" | "team", 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 "organization" | "member" | "invitation" | "project" | "ac" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins0.Statements>[key] | {
|
|
805
|
+
actions: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", 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<"organization" | "member" | "invitation" | "project" | "ac" | "team", 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 "organization" | "member" | "invitation" | "project" | "ac" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins0.Statements>[key] | {
|
|
812
|
+
actions: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", 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<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins0.Statements>;
|
|
816
816
|
};
|
|
817
817
|
};
|
|
818
818
|
creatorRole: "admin";
|
|
@@ -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 "organization" | "member" | "invitation" | "project" | "ac" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins0.Statements>[key] | {
|
|
1108
|
+
actions: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", 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<"organization" | "member" | "invitation" | "project" | "ac" | "team", 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 "organization" | "member" | "invitation" | "project" | "ac" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins0.Statements>[key] | {
|
|
1115
|
+
actions: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", 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<"organization" | "member" | "invitation" | "project" | "ac" | "team", 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 "organization" | "member" | "invitation" | "project" | "ac" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins0.Statements>[key] | {
|
|
1122
|
+
actions: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", 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<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins0.Statements>;
|
|
1126
1126
|
};
|
|
1127
1127
|
};
|
|
1128
1128
|
creatorRole: "admin";
|
package/dist/factory.js
CHANGED
|
@@ -19,6 +19,7 @@ function createAgentsAuth(userAuthConfig) {
|
|
|
19
19
|
baseURL: env.INKEEP_AGENTS_API_URL || `http://localhost:3002`,
|
|
20
20
|
secret: env.BETTER_AUTH_SECRET || "development-secret-change-in-production",
|
|
21
21
|
dbClient: runDbClient_default,
|
|
22
|
+
...env.AUTH_COOKIE_DOMAIN && { cookieDomain: env.AUTH_COOKIE_DOMAIN },
|
|
22
23
|
...userAuthConfig?.ssoProviders && { ssoProviders: userAuthConfig.ssoProviders },
|
|
23
24
|
...userAuthConfig?.socialProviders && { socialProviders: userAuthConfig.socialProviders }
|
|
24
25
|
});
|
package/dist/index.d.ts
CHANGED
|
@@ -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 "organization" | "member" | "invitation" | "project" | "ac" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins69.Statements>[key] | {
|
|
799
|
+
actions: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", 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<"organization" | "member" | "invitation" | "project" | "ac" | "team", 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 "organization" | "member" | "invitation" | "project" | "ac" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins69.Statements>[key] | {
|
|
806
|
+
actions: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", 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<"organization" | "member" | "invitation" | "project" | "ac" | "team", 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 "organization" | "member" | "invitation" | "project" | "ac" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins69.Statements>[key] | {
|
|
813
|
+
actions: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", 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<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins69.Statements>;
|
|
817
817
|
};
|
|
818
818
|
};
|
|
819
819
|
creatorRole: "admin";
|
|
@@ -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 "organization" | "member" | "invitation" | "project" | "ac" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins69.Statements>[key] | {
|
|
1109
|
+
actions: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", 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<"organization" | "member" | "invitation" | "project" | "ac" | "team", 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 "organization" | "member" | "invitation" | "project" | "ac" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins69.Statements>[key] | {
|
|
1116
|
+
actions: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", 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<"organization" | "member" | "invitation" | "project" | "ac" | "team", 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 "organization" | "member" | "invitation" | "project" | "ac" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins69.Statements>[key] | {
|
|
1123
|
+
actions: better_auth_plugins69.Subset<"organization" | "member" | "invitation" | "project" | "ac" | "team", 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<"organization" | "member" | "invitation" | "project" | "ac" | "team", better_auth_plugins69.Statements>;
|
|
1127
1127
|
};
|
|
1128
1128
|
};
|
|
1129
1129
|
creatorRole: "admin";
|
|
@@ -6,10 +6,15 @@ type CorsOptions = Parameters<typeof cors>[0];
|
|
|
6
6
|
* Extract the base domain from a hostname (e.g., 'app.preview.inkeep.com' -> 'preview.inkeep.com')
|
|
7
7
|
*/
|
|
8
8
|
declare function getBaseDomain(hostname: string): string;
|
|
9
|
+
/**
|
|
10
|
+
* Extract the registrable domain (eTLD+1) from a hostname.
|
|
11
|
+
* e.g., 'api.agents.inkeep.com' -> 'inkeep.com', 'app.inkeep.com' -> 'inkeep.com'
|
|
12
|
+
*/
|
|
13
|
+
declare function getRootDomain(hostname: string): string;
|
|
9
14
|
/**
|
|
10
15
|
* Check if a request origin is allowed for CORS
|
|
11
16
|
* Development: Allow any localhost origin
|
|
12
|
-
* Production: Allow same base domain or configured UI URL
|
|
17
|
+
* Production: Allow same base domain, same root domain (when UI URL is configured), or configured UI URL
|
|
13
18
|
*/
|
|
14
19
|
declare function isOriginAllowed(origin: string | undefined): origin is string;
|
|
15
20
|
/**
|
|
@@ -33,4 +38,4 @@ declare const runCorsConfig: CorsOptions;
|
|
|
33
38
|
*/
|
|
34
39
|
declare const signozCorsConfig: CorsOptions;
|
|
35
40
|
//#endregion
|
|
36
|
-
export { authCorsConfig, defaultCorsConfig, getBaseDomain, isOriginAllowed, playgroundCorsConfig, runCorsConfig, signozCorsConfig };
|
|
41
|
+
export { authCorsConfig, defaultCorsConfig, getBaseDomain, getRootDomain, isOriginAllowed, playgroundCorsConfig, runCorsConfig, signozCorsConfig };
|
package/dist/middleware/cors.js
CHANGED
|
@@ -10,9 +10,18 @@ function getBaseDomain(hostname) {
|
|
|
10
10
|
return hostname;
|
|
11
11
|
}
|
|
12
12
|
/**
|
|
13
|
+
* Extract the registrable domain (eTLD+1) from a hostname.
|
|
14
|
+
* e.g., 'api.agents.inkeep.com' -> 'inkeep.com', 'app.inkeep.com' -> 'inkeep.com'
|
|
15
|
+
*/
|
|
16
|
+
function getRootDomain(hostname) {
|
|
17
|
+
const parts = hostname.split(".");
|
|
18
|
+
if (parts.length >= 2) return parts.slice(-2).join(".");
|
|
19
|
+
return hostname;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
13
22
|
* Check if a request origin is allowed for CORS
|
|
14
23
|
* Development: Allow any localhost origin
|
|
15
|
-
* Production: Allow same base domain or configured UI URL
|
|
24
|
+
* Production: Allow same base domain, same root domain (when UI URL is configured), or configured UI URL
|
|
16
25
|
*/
|
|
17
26
|
function isOriginAllowed(origin) {
|
|
18
27
|
if (!origin) return false;
|
|
@@ -23,6 +32,12 @@ function isOriginAllowed(origin) {
|
|
|
23
32
|
if (requestUrl.hostname === "localhost" || requestUrl.hostname === "127.0.0.1") return true;
|
|
24
33
|
if (uiUrl && requestUrl.hostname === uiUrl.hostname) return true;
|
|
25
34
|
if (getBaseDomain(requestUrl.hostname) === getBaseDomain(apiUrl.hostname)) return true;
|
|
35
|
+
if (uiUrl) {
|
|
36
|
+
const requestRootDomain = getRootDomain(requestUrl.hostname);
|
|
37
|
+
const apiRootDomain = getRootDomain(apiUrl.hostname);
|
|
38
|
+
const uiRootDomain = getRootDomain(uiUrl.hostname);
|
|
39
|
+
if (requestRootDomain === apiRootDomain && apiRootDomain === uiRootDomain && requestRootDomain === uiRootDomain) return true;
|
|
40
|
+
}
|
|
26
41
|
return false;
|
|
27
42
|
} catch {
|
|
28
43
|
return false;
|
|
@@ -128,4 +143,4 @@ const signozCorsConfig = {
|
|
|
128
143
|
};
|
|
129
144
|
|
|
130
145
|
//#endregion
|
|
131
|
-
export { authCorsConfig, defaultCorsConfig, getBaseDomain, isOriginAllowed, playgroundCorsConfig, runCorsConfig, signozCorsConfig };
|
|
146
|
+
export { authCorsConfig, defaultCorsConfig, getBaseDomain, getRootDomain, isOriginAllowed, playgroundCorsConfig, runCorsConfig, signozCorsConfig };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseExecutionContext } from "@inkeep/agents-core";
|
|
2
|
-
import * as
|
|
2
|
+
import * as hono4 from "hono";
|
|
3
3
|
|
|
4
4
|
//#region src/middleware/evalsAuth.d.ts
|
|
5
5
|
|
|
@@ -7,7 +7,7 @@ import * as hono1 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: () => hono4.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 hono11 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: () => hono11.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 hono12 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) => hono12.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 hono13 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: hono13.MiddlewareHandler<{
|
|
9
9
|
Variables: {
|
|
10
10
|
executionContext: BaseExecutionContext;
|
|
11
11
|
resolvedRef: ResolvedRef;
|
|
@@ -15,7 +15,7 @@ declare const projectConfigMiddleware: hono5.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) => hono13.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 hono0 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) => hono0.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 hono1 from "hono";
|
|
3
3
|
|
|
4
4
|
//#region src/middleware/runAuth.d.ts
|
|
5
|
-
declare const runApiKeyAuth: () =>
|
|
5
|
+
declare const runApiKeyAuth: () => hono1.MiddlewareHandler<{
|
|
6
6
|
Variables: {
|
|
7
7
|
executionContext: BaseExecutionContext;
|
|
8
8
|
};
|
|
@@ -11,7 +11,7 @@ declare const runApiKeyAuth: () => hono8.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) => hono1.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: () => hono1.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 hono11 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 hono7 from "hono";
|
|
2
2
|
|
|
3
3
|
//#region src/middleware/tenantAccess.d.ts
|
|
4
4
|
|
|
@@ -11,7 +11,7 @@ import * as hono14 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: () => hono7.MiddlewareHandler<{
|
|
15
15
|
Variables: {
|
|
16
16
|
userId: string;
|
|
17
17
|
tenantId: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as hono9 from "hono";
|
|
2
2
|
|
|
3
3
|
//#region src/middleware/tracing.d.ts
|
|
4
|
-
declare const otelBaggageMiddleware: () =>
|
|
5
|
-
declare const executionBaggageMiddleware: () =>
|
|
4
|
+
declare const otelBaggageMiddleware: () => hono9.MiddlewareHandler<any, string, {}, Response>;
|
|
5
|
+
declare const executionBaggageMiddleware: () => hono9.MiddlewareHandler<any, string, {}, Response>;
|
|
6
6
|
//#endregion
|
|
7
7
|
export { executionBaggageMiddleware, otelBaggageMiddleware };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inkeep/agents-api",
|
|
3
|
-
"version": "0.45.
|
|
3
|
+
"version": "0.45.3",
|
|
4
4
|
"description": "Unified Inkeep Agents API - combines management, runtime, and evaluation capabilities",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"exports": {
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"axios": "^1.13.2",
|
|
59
59
|
"drizzle-orm": "^0.44.4",
|
|
60
60
|
"fetch-to-node": "^2.1.0",
|
|
61
|
-
"hono": "^4.
|
|
61
|
+
"hono": "^4.11.7",
|
|
62
62
|
"hono-pino": "^0.10.1",
|
|
63
63
|
"jmespath": "^0.16.0",
|
|
64
64
|
"jose": "^6.1.0",
|
|
@@ -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.45.
|
|
70
|
-
"@inkeep/agents-manage-mcp": "^0.45.
|
|
71
|
-
"@inkeep/agents-mcp": "^0.45.
|
|
72
|
-
"@inkeep/agents-work-apps": "^0.45.
|
|
69
|
+
"@inkeep/agents-core": "^0.45.3",
|
|
70
|
+
"@inkeep/agents-manage-mcp": "^0.45.3",
|
|
71
|
+
"@inkeep/agents-mcp": "^0.45.3",
|
|
72
|
+
"@inkeep/agents-work-apps": "^0.45.3"
|
|
73
73
|
},
|
|
74
74
|
"peerDependencies": {
|
|
75
75
|
"@hono/zod-openapi": "^1.1.5",
|