Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion agents-api/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@
"altcha-lib": "^1.4.1",
"axios": "^1.13.5",
"cron-parser": "^5.5.0",
"drizzle-orm": "^0.44.4",
"drizzle-orm": "1.0.0-beta.20",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pinning to drizzle-orm@1.0.0-beta.20 (a beta prerelease) in production is a significant risk. Has the team explicitly signed off on this?

"fetch-to-node": "^2.1.0",
"file-type": "^21.3.1",
"hono": "^4.12.7",
Expand Down
7 changes: 6 additions & 1 deletion agents-api/src/middleware/branchScopedDb.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import {
doltStatus,
generateId,
} from '@inkeep/agents-core';
import { manageRelations } from '@inkeep/agents-core/db/manage-relations';
import * as schema from '@inkeep/agents-core/db/manage-schema';
import { drizzle } from 'drizzle-orm/node-postgres';
import type { Context, Next } from 'hono';
Expand Down Expand Up @@ -75,7 +76,11 @@ export const branchScopedDbMiddleware = async (c: Context, next: Next) => {

try {
// Create a Drizzle client wrapping this specific connection
const requestDb = drizzle(connection, { schema }) as unknown as AgentsManageDatabaseClient;
const requestDb = drizzle({
client: connection,
schema,
relations: manageRelations,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The relations: manageRelations param here and the import at line 9 are the new Drizzle v1 pattern. The PR description doesn't mention this is a Drizzle v1 upgrade — please update the title/description to reflect the actual scope.

}) as unknown as AgentsManageDatabaseClient;

if (resolvedRef.type === 'branch') {
logger.debug({ branch: resolvedRef.name }, 'Checking out branch');
Expand Down
7 changes: 6 additions & 1 deletion agents-docs/content/api-reference/(openapi)/evaluations.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,9 @@ _openapi:
- depth: 2
title: Get Evaluators by IDs
url: '#get-evaluators-by-ids'
- depth: 2
title: Batch get agent scopes for evaluators
url: '#batch-get-agent-scopes-for-evaluators'
- depth: 2
title: Get Evaluator by ID
url: '#get-evaluator-by-id'
Expand Down Expand Up @@ -295,6 +298,8 @@ _openapi:
id: create-evaluator
- content: Get Evaluators by IDs
id: get-evaluators-by-ids
- content: Batch get agent scopes for evaluators
id: batch-get-agent-scopes-for-evaluators
- content: Get Evaluator by ID
id: get-evaluator-by-id
- content: Update Evaluator
Expand All @@ -312,4 +317,4 @@ _openapi:

{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}

<APIPage document={"index"} webhooks={[]} operations={[{"path":"/evals/tenants/{tenantId}/projects/{projectId}/evaluate-conversation","method":"post"},{"path":"/evals/tenants/{tenantId}/projects/{projectId}/evaluate-conversations","method":"post"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/dataset-items/{datasetId}","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/dataset-items/{datasetId}/items","method":"post"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/dataset-items/{datasetId}/items/bulk","method":"post"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/dataset-items/{datasetId}/items/{itemId}","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/dataset-items/{datasetId}/items/{itemId}","method":"patch"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/dataset-items/{datasetId}/items/{itemId}","method":"delete"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/dataset-run-configs","method":"post"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/dataset-run-configs/by-dataset/{datasetId}","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/dataset-run-configs/{runConfigId}","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/dataset-run-configs/{runConfigId}","method":"patch"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/dataset-run-configs/{runConfigId}","method":"delete"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/dataset-run-configs/{runConfigId}/run","method":"post"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/dataset-runs/by-dataset/{datasetId}","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/dataset-runs/{runId}","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/dataset-runs/{runId}/items","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/datasets","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/datasets","method":"post"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/datasets/{datasetId}","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/datasets/{datasetId}","method":"patch"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/datasets/{datasetId}","method":"delete"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/datasets/{datasetId}/agents","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/datasets/{datasetId}/agents/{agentId}","method":"post"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/datasets/{datasetId}/agents/{agentId}","method":"delete"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-job-configs","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-job-configs","method":"post"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-job-configs/{configId}","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-job-configs/{configId}","method":"delete"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-job-configs/{configId}/evaluators","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-job-configs/{configId}/evaluators/{evaluatorId}","method":"post"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-job-configs/{configId}/evaluators/{evaluatorId}","method":"delete"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-job-configs/{configId}/results","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-results","method":"post"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-results/{resultId}","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-results/{resultId}","method":"patch"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-results/{resultId}","method":"delete"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-run-configs","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-run-configs","method":"post"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-run-configs/{configId}","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-run-configs/{configId}","method":"patch"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-run-configs/{configId}","method":"delete"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-run-configs/{configId}/results","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-suite-configs","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-suite-configs","method":"post"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-suite-configs/{configId}","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-suite-configs/{configId}","method":"patch"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-suite-configs/{configId}","method":"delete"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-suite-configs/{configId}/evaluators","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-suite-configs/{configId}/evaluators/{evaluatorId}","method":"post"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-suite-configs/{configId}/evaluators/{evaluatorId}","method":"delete"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluators","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluators","method":"post"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluators/batch","method":"post"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluators/{evaluatorId}","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluators/{evaluatorId}","method":"patch"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluators/{evaluatorId}","method":"delete"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluators/{evaluatorId}/agents","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluators/{evaluatorId}/agents/{agentId}","method":"post"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluators/{evaluatorId}/agents/{agentId}","method":"delete"}]} showTitle={true} />
<APIPage document={"index"} webhooks={[]} operations={[{"path":"/evals/tenants/{tenantId}/projects/{projectId}/evaluate-conversation","method":"post"},{"path":"/evals/tenants/{tenantId}/projects/{projectId}/evaluate-conversations","method":"post"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/dataset-items/{datasetId}","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/dataset-items/{datasetId}/items","method":"post"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/dataset-items/{datasetId}/items/bulk","method":"post"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/dataset-items/{datasetId}/items/{itemId}","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/dataset-items/{datasetId}/items/{itemId}","method":"patch"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/dataset-items/{datasetId}/items/{itemId}","method":"delete"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/dataset-run-configs","method":"post"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/dataset-run-configs/by-dataset/{datasetId}","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/dataset-run-configs/{runConfigId}","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/dataset-run-configs/{runConfigId}","method":"patch"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/dataset-run-configs/{runConfigId}","method":"delete"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/dataset-run-configs/{runConfigId}/run","method":"post"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/dataset-runs/by-dataset/{datasetId}","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/dataset-runs/{runId}","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/dataset-runs/{runId}/items","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/datasets","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/datasets","method":"post"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/datasets/{datasetId}","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/datasets/{datasetId}","method":"patch"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/datasets/{datasetId}","method":"delete"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/datasets/{datasetId}/agents","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/datasets/{datasetId}/agents/{agentId}","method":"post"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/datasets/{datasetId}/agents/{agentId}","method":"delete"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-job-configs","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-job-configs","method":"post"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-job-configs/{configId}","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-job-configs/{configId}","method":"delete"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-job-configs/{configId}/evaluators","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-job-configs/{configId}/evaluators/{evaluatorId}","method":"post"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-job-configs/{configId}/evaluators/{evaluatorId}","method":"delete"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-job-configs/{configId}/results","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-results","method":"post"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-results/{resultId}","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-results/{resultId}","method":"patch"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-results/{resultId}","method":"delete"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-run-configs","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-run-configs","method":"post"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-run-configs/{configId}","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-run-configs/{configId}","method":"patch"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-run-configs/{configId}","method":"delete"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-run-configs/{configId}/results","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-suite-configs","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-suite-configs","method":"post"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-suite-configs/{configId}","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-suite-configs/{configId}","method":"patch"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-suite-configs/{configId}","method":"delete"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-suite-configs/{configId}/evaluators","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-suite-configs/{configId}/evaluators/{evaluatorId}","method":"post"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluation-suite-configs/{configId}/evaluators/{evaluatorId}","method":"delete"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluators","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluators","method":"post"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluators/batch","method":"post"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluators/batch-agent-scopes","method":"post"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluators/{evaluatorId}","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluators/{evaluatorId}","method":"patch"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluators/{evaluatorId}","method":"delete"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluators/{evaluatorId}/agents","method":"get"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluators/{evaluatorId}/agents/{agentId}","method":"post"},{"path":"/manage/tenants/{tenantId}/projects/{projectId}/evals/evaluators/{evaluatorId}/agents/{agentId}","method":"delete"}]} showTitle={true} />
4 changes: 2 additions & 2 deletions create-agents-template/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@
"@inkeep/agents-cli": "^0.59.4",
"@types/node": "^22.13.14",
"concurrently": "^9.2.1",
"drizzle-kit": "^0.31.4",
"drizzle-orm": "^0.44.4",
"drizzle-kit": "1.0.0-beta.20",
"drizzle-orm": "1.0.0-beta.20",
"mprocs": "^0.7.3",
"pg": "^8.16.3",
"tsx": "^4.19.0",
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@
"devDependencies": {
"@biomejs/biome": "2.3.11",
"@changesets/cli": "2.29.7",
"drizzle-kit": "^0.31.5",
"drizzle-kit": "1.0.0-beta.20",
"husky": "^9.1.6",
"knip": "5.82.0",
"lint-staged": "^16.1.5",
Expand Down
Loading