@inkeep/agents-core 0.41.2 → 0.43.0
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/api-client/base-client.d.ts +87 -8
- package/dist/api-client/base-client.js +174 -1
- package/dist/api-client/eval-api-client.d.ts +47 -0
- package/dist/api-client/eval-api-client.js +65 -0
- package/dist/api-client/index.d.ts +4 -0
- package/dist/api-client/index.js +5 -0
- package/dist/api-client/manage-api-client.d.ts +34 -0
- package/dist/api-client/manage-api-client.js +104 -0
- package/dist/auth/auth.d.ts +86 -20
- package/dist/auth/auth.js +60 -2
- package/dist/auth/authz/client.d.ts +87 -0
- package/dist/auth/authz/client.js +196 -0
- package/dist/auth/authz/config.d.ts +103 -0
- package/dist/auth/authz/config.js +93 -0
- package/dist/auth/authz/index.d.ts +5 -0
- package/dist/auth/authz/index.js +6 -0
- package/dist/auth/authz/permissions.d.ts +53 -0
- package/dist/auth/authz/permissions.js +83 -0
- package/dist/auth/authz/sync.d.ts +106 -0
- package/dist/auth/authz/sync.js +321 -0
- package/dist/auth/permissions.d.ts +13 -13
- package/dist/auth/permissions.js +2 -181
- package/dist/client-exports.d.ts +9 -3
- package/dist/client-exports.js +4 -2
- package/dist/constants/context-breakdown.d.ts +61 -0
- package/dist/constants/context-breakdown.js +124 -0
- package/dist/constants/execution-limits-shared/defaults.d.ts +1 -1
- package/dist/constants/execution-limits-shared/defaults.js +1 -1
- package/dist/constants/execution-limits-shared/index.d.ts +1 -1
- package/dist/constants/otel-attributes.d.ts +4 -0
- package/dist/constants/otel-attributes.js +4 -0
- package/dist/context/ContextConfig.d.ts +2 -2
- package/dist/context/ContextConfig.js +3 -3
- package/dist/context/TemplateEngine.d.ts +0 -6
- package/dist/context/TemplateEngine.js +4 -19
- package/dist/context/index.d.ts +1 -5
- package/dist/context/index.js +1 -5
- package/dist/credential-stores/keychain-store.d.ts +20 -8
- package/dist/credential-stores/keychain-store.js +107 -43
- package/dist/credential-stuffer/CredentialStuffer.d.ts +1 -1
- package/dist/data-access/index.d.ts +34 -26
- package/dist/data-access/index.js +34 -26
- package/dist/data-access/manage/agentFull.d.ts +36 -0
- package/dist/data-access/{agentFull.js → manage/agentFull.js} +209 -7
- package/dist/data-access/{agents.d.ts → manage/agents.d.ts} +64 -63
- package/dist/data-access/{agents.js → manage/agents.js} +80 -27
- package/dist/data-access/{artifactComponents.d.ts → manage/artifactComponents.d.ts} +33 -33
- package/dist/data-access/{artifactComponents.js → manage/artifactComponents.js} +5 -5
- package/dist/data-access/{contextConfigs.d.ts → manage/contextConfigs.d.ts} +26 -26
- package/dist/data-access/{contextConfigs.js → manage/contextConfigs.js} +3 -3
- package/dist/data-access/{credentialReferences.d.ts → manage/credentialReferences.d.ts} +17 -17
- package/dist/data-access/{credentialReferences.js → manage/credentialReferences.js} +2 -2
- package/dist/data-access/{dataComponents.d.ts → manage/dataComponents.d.ts} +26 -26
- package/dist/data-access/{dataComponents.js → manage/dataComponents.js} +7 -7
- package/dist/data-access/manage/evalConfig.d.ts +221 -0
- package/dist/data-access/manage/evalConfig.js +275 -0
- package/dist/data-access/{externalAgents.d.ts → manage/externalAgents.d.ts} +16 -16
- package/dist/data-access/{externalAgents.js → manage/externalAgents.js} +2 -2
- package/dist/data-access/manage/functionTools.d.ts +242 -0
- package/dist/data-access/{functionTools.js → manage/functionTools.js} +124 -30
- package/dist/data-access/{functions.d.ts → manage/functions.d.ts} +9 -9
- package/dist/data-access/{functions.js → manage/functions.js} +3 -3
- package/dist/data-access/manage/projectFull.d.ts +38 -0
- package/dist/data-access/{projectFull.js → manage/projectFull.js} +64 -65
- package/dist/data-access/manage/projectLifecycle.d.ts +119 -0
- package/dist/data-access/manage/projectLifecycle.js +234 -0
- package/dist/data-access/manage/projects.d.ts +75 -0
- package/dist/data-access/{projects.js → manage/projects.js} +15 -16
- package/dist/data-access/{subAgentExternalAgentRelations.d.ts → manage/subAgentExternalAgentRelations.d.ts} +43 -43
- package/dist/data-access/{subAgentExternalAgentRelations.js → manage/subAgentExternalAgentRelations.js} +2 -2
- package/dist/data-access/{subAgentRelations.d.ts → manage/subAgentRelations.d.ts} +65 -65
- package/dist/data-access/{subAgentRelations.js → manage/subAgentRelations.js} +3 -3
- package/dist/data-access/{subAgentTeamAgentRelations.d.ts → manage/subAgentTeamAgentRelations.d.ts} +43 -43
- package/dist/data-access/{subAgentTeamAgentRelations.js → manage/subAgentTeamAgentRelations.js} +2 -2
- package/dist/data-access/{subAgents.d.ts → manage/subAgents.d.ts} +28 -28
- package/dist/data-access/{subAgents.js → manage/subAgents.js} +4 -4
- package/dist/data-access/{tools.d.ts → manage/tools.d.ts} +65 -52
- package/dist/data-access/{tools.js → manage/tools.js} +109 -64
- package/dist/data-access/manage/triggers.d.ts +106 -0
- package/dist/data-access/manage/triggers.js +81 -0
- package/dist/data-access/{apiKeys.d.ts → runtime/apiKeys.d.ts} +37 -37
- package/dist/data-access/{apiKeys.js → runtime/apiKeys.js} +3 -3
- package/dist/data-access/runtime/cascade-delete.d.ts +77 -0
- package/dist/data-access/runtime/cascade-delete.js +111 -0
- package/dist/data-access/{contextCache.d.ts → runtime/contextCache.d.ts} +13 -13
- package/dist/data-access/{contextCache.js → runtime/contextCache.js} +5 -5
- package/dist/data-access/{conversations.d.ts → runtime/conversations.d.ts} +80 -31
- package/dist/data-access/{conversations.js → runtime/conversations.js} +13 -7
- package/dist/data-access/runtime/evalRuns.d.ts +120 -0
- package/dist/data-access/runtime/evalRuns.js +168 -0
- package/dist/data-access/{ledgerArtifacts.d.ts → runtime/ledgerArtifacts.d.ts} +13 -13
- package/dist/data-access/{ledgerArtifacts.js → runtime/ledgerArtifacts.js} +3 -3
- package/dist/data-access/{messages.d.ts → runtime/messages.d.ts} +24 -24
- package/dist/data-access/{messages.js → runtime/messages.js} +2 -2
- package/dist/data-access/{organizations.d.ts → runtime/organizations.d.ts} +16 -7
- package/dist/data-access/{organizations.js → runtime/organizations.js} +16 -4
- package/dist/data-access/runtime/projects.d.ts +62 -0
- package/dist/data-access/runtime/projects.js +90 -0
- package/dist/data-access/runtime/tasks.d.ts +55 -0
- package/dist/data-access/{tasks.js → runtime/tasks.js} +2 -2
- package/dist/data-access/runtime/triggerInvocations.d.ts +62 -0
- package/dist/data-access/runtime/triggerInvocations.js +54 -0
- package/dist/data-access/runtime/users.d.ts +19 -0
- package/dist/data-access/{users.js → runtime/users.js} +2 -2
- package/dist/data-access/validation.d.ts +4 -4
- package/dist/data-access/validation.js +1 -1
- package/dist/db/clean.d.ts +8 -4
- package/dist/db/clean.js +14 -105
- package/dist/db/delete.d.ts +1 -1
- package/dist/db/delete.js +7 -10
- package/dist/db/manage/dolt-cleanup.d.ts +51 -0
- package/dist/db/manage/dolt-cleanup.js +132 -0
- package/dist/db/manage/manage-client.d.ts +26 -0
- package/dist/db/manage/manage-client.js +68 -0
- package/dist/db/{schema.d.ts → manage/manage-schema.d.ts} +1257 -969
- package/dist/db/{schema.js → manage/manage-schema.js} +436 -334
- package/dist/db/manage/test-manage-client.d.ts +27 -0
- package/dist/db/manage/test-manage-client.js +68 -0
- package/dist/db/runtime/runtime-client.d.ts +20 -0
- package/dist/db/runtime/runtime-client.js +30 -0
- package/dist/db/runtime/runtime-schema.d.ts +2834 -0
- package/dist/db/runtime/runtime-schema.js +483 -0
- package/dist/db/runtime/test-runtime-client.d.ts +27 -0
- package/dist/db/{test-client.js → runtime/test-runtime-client.js} +11 -25
- package/dist/db/utils.d.ts +6 -0
- package/dist/db/utils.js +42 -0
- package/dist/dolt/branch.d.ts +62 -0
- package/dist/dolt/branch.js +82 -0
- package/dist/dolt/branches-api.d.ts +108 -0
- package/dist/dolt/branches-api.js +162 -0
- package/dist/dolt/commit.d.ts +94 -0
- package/dist/dolt/commit.js +103 -0
- package/dist/dolt/diff.d.ts +27 -0
- package/dist/dolt/diff.js +21 -0
- package/dist/dolt/index.d.ts +10 -0
- package/dist/dolt/index.js +11 -0
- package/dist/dolt/merge.d.ts +63 -0
- package/dist/dolt/merge.js +81 -0
- package/dist/dolt/migrate-all-branches.d.ts +4 -0
- package/dist/dolt/migrate-all-branches.js +83 -0
- package/dist/dolt/migrate-dolt.d.ts +1 -0
- package/dist/dolt/migrate-dolt.js +25 -0
- package/dist/dolt/ref-helpers.d.ts +19 -0
- package/dist/dolt/ref-helpers.js +65 -0
- package/dist/dolt/ref-middleware.d.ts +82 -0
- package/dist/dolt/ref-middleware.js +217 -0
- package/dist/dolt/ref-scope.d.ts +101 -0
- package/dist/dolt/ref-scope.js +231 -0
- package/dist/dolt/schema-sync.d.ts +135 -0
- package/dist/dolt/schema-sync.js +255 -0
- package/dist/env.d.ts +6 -4
- package/dist/env.js +3 -2
- package/dist/index.d.ts +73 -46
- package/dist/index.js +76 -49
- package/dist/types/@napi-rs__keyring/index.d.ts +14 -0
- package/dist/types/entities.d.ts +81 -2
- package/dist/types/index.d.ts +3 -3
- package/dist/types/utility.d.ts +46 -5
- package/dist/types/utility.js +2 -1
- package/dist/utils/JsonTransformer.d.ts +42 -0
- package/dist/utils/JsonTransformer.js +103 -0
- package/dist/utils/apiKeys.d.ts +5 -1
- package/dist/utils/apiKeys.js +11 -1
- package/dist/utils/colors.d.ts +34 -0
- package/dist/utils/colors.js +49 -0
- package/dist/utils/credential-store-utils.d.ts +1 -1
- package/dist/utils/format-messages.d.ts +1 -1
- package/dist/utils/index.d.ts +8 -4
- package/dist/utils/index.js +8 -4
- package/dist/utils/internal-service-auth.d.ts +79 -0
- package/dist/utils/internal-service-auth.js +140 -0
- package/dist/utils/jmespath-utils.d.ts +152 -0
- package/dist/utils/jmespath-utils.js +213 -0
- package/dist/utils/jwt-helpers.d.ts +56 -0
- package/dist/utils/jwt-helpers.js +90 -0
- package/dist/utils/mcp-client.d.ts +1 -1
- package/dist/utils/mcp-client.js +1 -1
- package/dist/utils/service-token-auth.d.ts +9 -27
- package/dist/utils/service-token-auth.js +48 -96
- package/dist/utils/signature-validation.d.ts +2 -0
- package/dist/utils/signature-validation.js +3 -0
- package/dist/utils/template-interpolation.d.ts +22 -0
- package/dist/utils/template-interpolation.js +62 -0
- package/dist/utils/third-party-mcp-servers/composio-client.d.ts +13 -1
- package/dist/utils/third-party-mcp-servers/composio-client.js +47 -29
- package/dist/utils/third-party-mcp-servers/index.d.ts +2 -2
- package/dist/utils/third-party-mcp-servers/index.js +2 -2
- package/dist/utils/trigger-auth.d.ts +85 -0
- package/dist/utils/trigger-auth.js +233 -0
- package/dist/validation/agentFull.js +2 -4
- package/dist/validation/dolt-schemas.d.ts +49 -0
- package/dist/validation/dolt-schemas.js +44 -0
- package/dist/validation/drizzle-schema-helpers.d.ts +4 -26
- package/dist/validation/drizzle-schema-helpers.js +5 -151
- package/dist/validation/index.d.ts +5 -4
- package/dist/validation/index.js +4 -3
- package/dist/validation/render-validation.js +19 -0
- package/dist/validation/schemas.d.ts +18223 -5148
- package/dist/validation/schemas.js +559 -12
- package/dist/validation/stream-event-schemas.d.ts +96 -1
- package/dist/validation/stream-event-schemas.js +67 -2
- package/drizzle/manage/0000_tearful_rhodey.sql +414 -0
- package/drizzle/manage/0001_broken_wendell_vaughn.sql +19 -0
- package/drizzle/manage/0002_bent_sunfire.sql +1 -0
- package/drizzle/manage/0003_tiny_captain_universe.sql +8 -0
- package/drizzle/manage/0004_curious_phil_sheldon.sql +2 -0
- package/drizzle/manage/0005_silent_shatterstar.sql +53 -0
- package/drizzle/manage/meta/0000_snapshot.json +2987 -0
- package/drizzle/manage/meta/0001_snapshot.json +3115 -0
- package/drizzle/manage/meta/0002_snapshot.json +3115 -0
- package/drizzle/manage/meta/0003_snapshot.json +3134 -0
- package/drizzle/manage/meta/0004_snapshot.json +3141 -0
- package/drizzle/manage/meta/0005_snapshot.json +3141 -0
- package/drizzle/manage/meta/_journal.json +48 -0
- package/drizzle/runtime/0008_silly_preak.sql +127 -0
- package/drizzle/runtime/0009_freezing_leo.sql +17 -0
- package/drizzle/runtime/meta/0008_snapshot.json +2263 -0
- package/drizzle/runtime/meta/0009_snapshot.json +2397 -0
- package/drizzle/{meta → runtime/meta}/_journal.json +14 -0
- package/package.json +56 -18
- package/spicedb/schema.zed +114 -0
- package/dist/context/ContextFetcher.d.ts +0 -73
- package/dist/context/ContextFetcher.js +0 -291
- package/dist/context/ContextResolver.d.ts +0 -60
- package/dist/context/ContextResolver.js +0 -278
- package/dist/context/context.d.ts +0 -27
- package/dist/context/context.js +0 -128
- package/dist/context/contextCache.d.ts +0 -58
- package/dist/context/contextCache.js +0 -177
- package/dist/data-access/agentFull.d.ts +0 -33
- package/dist/data-access/functionTools.d.ts +0 -169
- package/dist/data-access/projectFull.d.ts +0 -32
- package/dist/data-access/projects.d.ts +0 -71
- package/dist/data-access/tasks.d.ts +0 -45
- package/dist/data-access/users.d.ts +0 -19
- package/dist/db/client.d.ts +0 -20
- package/dist/db/client.js +0 -28
- package/dist/db/test-client.d.ts +0 -31
- package/dist/middleware/contextValidation.d.ts +0 -46
- package/dist/middleware/contextValidation.js +0 -280
- package/dist/middleware/index.d.ts +0 -2
- package/dist/middleware/index.js +0 -3
- package/dist/utils/execution.d.ts +0 -22
- package/dist/utils/execution.js +0 -25
- /package/drizzle/{0000_exotic_mysterio.sql → runtime/0000_exotic_mysterio.sql} +0 -0
- /package/drizzle/{0001_calm_sheva_callister.sql → runtime/0001_calm_sheva_callister.sql} +0 -0
- /package/drizzle/{0002_puzzling_goblin_queen.sql → runtime/0002_puzzling_goblin_queen.sql} +0 -0
- /package/drizzle/{0003_sweet_human_robot.sql → runtime/0003_sweet_human_robot.sql} +0 -0
- /package/drizzle/{0004_cuddly_shooting_star.sql → runtime/0004_cuddly_shooting_star.sql} +0 -0
- /package/drizzle/{0005_reflective_starfox.sql → runtime/0005_reflective_starfox.sql} +0 -0
- /package/drizzle/{0006_stale_thaddeus_ross.sql → runtime/0006_stale_thaddeus_ross.sql} +0 -0
- /package/drizzle/{0007_slim_karma.sql → runtime/0007_slim_karma.sql} +0 -0
- /package/drizzle/{meta → runtime/meta}/0000_snapshot.json +0 -0
- /package/drizzle/{meta → runtime/meta}/0001_snapshot.json +0 -0
- /package/drizzle/{meta → runtime/meta}/0003_snapshot.json +0 -0
- /package/drizzle/{meta → runtime/meta}/0005_snapshot.json +0 -0
- /package/drizzle/{meta → runtime/meta}/0006_snapshot.json +0 -0
- /package/drizzle/{meta → runtime/meta}/0007_snapshot.json +0 -0
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
import { dataset, datasetItem, datasetRunConfig, datasetRunConfigAgentRelations, evaluationJobConfig, evaluationJobConfigEvaluatorRelations, evaluationRunConfig, evaluationRunConfigEvaluationSuiteConfigRelations, evaluationSuiteConfig, evaluationSuiteConfigEvaluatorRelations, evaluator } from "../../db/manage/manage-schema.js";
|
|
2
|
+
import { datasetRun } from "../../db/runtime/runtime-schema.js";
|
|
3
|
+
import { and, eq, inArray } from "drizzle-orm";
|
|
4
|
+
|
|
5
|
+
//#region src/data-access/manage/evalConfig.ts
|
|
6
|
+
const getDatasetById = (db) => async (params) => {
|
|
7
|
+
return (await db.select().from(dataset).where(and(eq(dataset.tenantId, params.scopes.tenantId), eq(dataset.projectId, params.scopes.projectId), eq(dataset.id, params.scopes.datasetId))).limit(1))[0] ?? null;
|
|
8
|
+
};
|
|
9
|
+
const listDatasets = (db) => async (params) => {
|
|
10
|
+
return await db.select().from(dataset).where(and(eq(dataset.tenantId, params.scopes.tenantId), eq(dataset.projectId, params.scopes.projectId)));
|
|
11
|
+
};
|
|
12
|
+
const createDataset = (db) => async (data) => {
|
|
13
|
+
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
14
|
+
const [created] = await db.insert(dataset).values({
|
|
15
|
+
...data,
|
|
16
|
+
createdAt: now,
|
|
17
|
+
updatedAt: now
|
|
18
|
+
}).returning();
|
|
19
|
+
return created;
|
|
20
|
+
};
|
|
21
|
+
const updateDataset = (db) => async (params) => {
|
|
22
|
+
const updateData = { updatedAt: (/* @__PURE__ */ new Date()).toISOString() };
|
|
23
|
+
for (const [key, value] of Object.entries(params.data)) if (value !== void 0) updateData[key] = value;
|
|
24
|
+
const [updated] = await db.update(dataset).set(updateData).where(and(eq(dataset.tenantId, params.scopes.tenantId), eq(dataset.projectId, params.scopes.projectId), eq(dataset.id, params.scopes.datasetId))).returning();
|
|
25
|
+
return updated ?? null;
|
|
26
|
+
};
|
|
27
|
+
const deleteDataset = (db) => async (params) => {
|
|
28
|
+
return (await db.delete(dataset).where(and(eq(dataset.tenantId, params.scopes.tenantId), eq(dataset.projectId, params.scopes.projectId), eq(dataset.id, params.scopes.datasetId))).returning()).length > 0;
|
|
29
|
+
};
|
|
30
|
+
const getDatasetItemById = (db) => async (params) => {
|
|
31
|
+
return (await db.select().from(datasetItem).where(and(eq(datasetItem.tenantId, params.scopes.tenantId), eq(datasetItem.projectId, params.scopes.projectId), eq(datasetItem.id, params.scopes.datasetItemId))).limit(1))[0] ?? null;
|
|
32
|
+
};
|
|
33
|
+
const listDatasetItems = (db) => async (params) => {
|
|
34
|
+
return await db.select().from(datasetItem).where(and(eq(datasetItem.tenantId, params.scopes.tenantId), eq(datasetItem.projectId, params.scopes.projectId), eq(datasetItem.datasetId, params.scopes.datasetId)));
|
|
35
|
+
};
|
|
36
|
+
const createDatasetItem = (db) => async (data) => {
|
|
37
|
+
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
38
|
+
const [created] = await db.insert(datasetItem).values({
|
|
39
|
+
...data,
|
|
40
|
+
createdAt: now,
|
|
41
|
+
updatedAt: now
|
|
42
|
+
}).returning();
|
|
43
|
+
return created;
|
|
44
|
+
};
|
|
45
|
+
const createDatasetItems = (db) => async (data) => {
|
|
46
|
+
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
47
|
+
const values = data.map((item) => ({
|
|
48
|
+
...item,
|
|
49
|
+
createdAt: now,
|
|
50
|
+
updatedAt: now
|
|
51
|
+
}));
|
|
52
|
+
return await db.insert(datasetItem).values(values).returning();
|
|
53
|
+
};
|
|
54
|
+
const updateDatasetItem = (db) => async (params) => {
|
|
55
|
+
const updateData = { updatedAt: (/* @__PURE__ */ new Date()).toISOString() };
|
|
56
|
+
for (const [key, value] of Object.entries(params.data)) if (value !== void 0) updateData[key] = value;
|
|
57
|
+
const [updated] = await db.update(datasetItem).set(updateData).where(and(eq(datasetItem.tenantId, params.scopes.tenantId), eq(datasetItem.projectId, params.scopes.projectId), eq(datasetItem.id, params.scopes.datasetItemId))).returning();
|
|
58
|
+
return updated ?? null;
|
|
59
|
+
};
|
|
60
|
+
const deleteDatasetItem = (db) => async (params) => {
|
|
61
|
+
return (await db.delete(datasetItem).where(and(eq(datasetItem.tenantId, params.scopes.tenantId), eq(datasetItem.projectId, params.scopes.projectId), eq(datasetItem.id, params.scopes.datasetItemId))).returning()).length > 0;
|
|
62
|
+
};
|
|
63
|
+
const deleteDatasetItemsByDataset = (db) => async (params) => {
|
|
64
|
+
return (await db.delete(datasetItem).where(and(eq(datasetItem.tenantId, params.scopes.tenantId), eq(datasetItem.projectId, params.scopes.projectId), eq(datasetItem.datasetId, params.scopes.datasetId))).returning()).length;
|
|
65
|
+
};
|
|
66
|
+
const getDatasetRunConfigById = (db) => async (params) => {
|
|
67
|
+
return (await db.select().from(datasetRunConfig).where(and(eq(datasetRunConfig.tenantId, params.scopes.tenantId), eq(datasetRunConfig.projectId, params.scopes.projectId), eq(datasetRunConfig.id, params.scopes.datasetRunConfigId))).limit(1))[0] ?? null;
|
|
68
|
+
};
|
|
69
|
+
const listDatasetRunConfigs = (db) => async (params) => {
|
|
70
|
+
return await db.select().from(datasetRunConfig).where(and(eq(datasetRunConfig.tenantId, params.scopes.tenantId), eq(datasetRunConfig.projectId, params.scopes.projectId)));
|
|
71
|
+
};
|
|
72
|
+
const createDatasetRunConfig = (db) => async (data) => {
|
|
73
|
+
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
74
|
+
const [created] = await db.insert(datasetRunConfig).values({
|
|
75
|
+
...data,
|
|
76
|
+
createdAt: now,
|
|
77
|
+
updatedAt: now
|
|
78
|
+
}).returning();
|
|
79
|
+
return created;
|
|
80
|
+
};
|
|
81
|
+
const updateDatasetRunConfig = (db) => async (params) => {
|
|
82
|
+
const updateData = { updatedAt: (/* @__PURE__ */ new Date()).toISOString() };
|
|
83
|
+
for (const [key, value] of Object.entries(params.data)) if (value !== void 0) updateData[key] = value;
|
|
84
|
+
const [updated] = await db.update(datasetRunConfig).set(updateData).where(and(eq(datasetRunConfig.tenantId, params.scopes.tenantId), eq(datasetRunConfig.projectId, params.scopes.projectId), eq(datasetRunConfig.id, params.scopes.datasetRunConfigId))).returning();
|
|
85
|
+
return updated ?? null;
|
|
86
|
+
};
|
|
87
|
+
const deleteDatasetRunConfig = (db) => async (params) => {
|
|
88
|
+
return (await db.delete(datasetRunConfig).where(and(eq(datasetRunConfig.tenantId, params.scopes.tenantId), eq(datasetRunConfig.projectId, params.scopes.projectId), eq(datasetRunConfig.id, params.scopes.datasetRunConfigId))).returning()).length > 0;
|
|
89
|
+
};
|
|
90
|
+
const getDatasetRunConfigAgentRelations = (db) => async (params) => {
|
|
91
|
+
return await db.select().from(datasetRunConfigAgentRelations).where(and(eq(datasetRunConfigAgentRelations.tenantId, params.scopes.tenantId), eq(datasetRunConfigAgentRelations.projectId, params.scopes.projectId), eq(datasetRunConfigAgentRelations.datasetRunConfigId, params.scopes.datasetRunConfigId)));
|
|
92
|
+
};
|
|
93
|
+
const createDatasetRunConfigAgentRelation = (db) => async (data) => {
|
|
94
|
+
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
95
|
+
const [created] = await db.insert(datasetRunConfigAgentRelations).values({
|
|
96
|
+
...data,
|
|
97
|
+
createdAt: now,
|
|
98
|
+
updatedAt: now
|
|
99
|
+
}).returning();
|
|
100
|
+
return created;
|
|
101
|
+
};
|
|
102
|
+
const deleteDatasetRunConfigAgentRelation = (db) => async (params) => {
|
|
103
|
+
return (await db.delete(datasetRunConfigAgentRelations).where(and(eq(datasetRunConfigAgentRelations.tenantId, params.scopes.tenantId), eq(datasetRunConfigAgentRelations.projectId, params.scopes.projectId), eq(datasetRunConfigAgentRelations.datasetRunConfigId, params.scopes.datasetRunConfigId), eq(datasetRunConfigAgentRelations.agentId, params.scopes.agentId))).returning()).length > 0;
|
|
104
|
+
};
|
|
105
|
+
const getEvaluatorById = (db) => async (params) => {
|
|
106
|
+
return (await db.select().from(evaluator).where(and(eq(evaluator.tenantId, params.scopes.tenantId), eq(evaluator.projectId, params.scopes.projectId), eq(evaluator.id, params.scopes.evaluatorId))).limit(1))[0] ?? null;
|
|
107
|
+
};
|
|
108
|
+
const listEvaluators = (db) => async (params) => {
|
|
109
|
+
return await db.select().from(evaluator).where(and(eq(evaluator.tenantId, params.scopes.tenantId), eq(evaluator.projectId, params.scopes.projectId)));
|
|
110
|
+
};
|
|
111
|
+
const getEvaluatorsByIds = (db) => async (params) => {
|
|
112
|
+
if (params.evaluatorIds.length === 0) return [];
|
|
113
|
+
return await db.select().from(evaluator).where(and(eq(evaluator.tenantId, params.scopes.tenantId), eq(evaluator.projectId, params.scopes.projectId), inArray(evaluator.id, params.evaluatorIds)));
|
|
114
|
+
};
|
|
115
|
+
const createEvaluator = (db) => async (data) => {
|
|
116
|
+
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
117
|
+
const [created] = await db.insert(evaluator).values({
|
|
118
|
+
...data,
|
|
119
|
+
createdAt: now,
|
|
120
|
+
updatedAt: now
|
|
121
|
+
}).returning();
|
|
122
|
+
return created;
|
|
123
|
+
};
|
|
124
|
+
const updateEvaluator = (db) => async (params) => {
|
|
125
|
+
const updateData = { updatedAt: (/* @__PURE__ */ new Date()).toISOString() };
|
|
126
|
+
for (const [key, value] of Object.entries(params.data)) if (value !== void 0) updateData[key] = value;
|
|
127
|
+
const [updated] = await db.update(evaluator).set(updateData).where(and(eq(evaluator.tenantId, params.scopes.tenantId), eq(evaluator.projectId, params.scopes.projectId), eq(evaluator.id, params.scopes.evaluatorId))).returning();
|
|
128
|
+
return updated ?? null;
|
|
129
|
+
};
|
|
130
|
+
const deleteEvaluator = (db) => async (params) => {
|
|
131
|
+
return (await db.delete(evaluator).where(and(eq(evaluator.tenantId, params.scopes.tenantId), eq(evaluator.projectId, params.scopes.projectId), eq(evaluator.id, params.scopes.evaluatorId))).returning()).length > 0;
|
|
132
|
+
};
|
|
133
|
+
const getEvaluationSuiteConfigById = (db) => async (params) => {
|
|
134
|
+
return (await db.select().from(evaluationSuiteConfig).where(and(eq(evaluationSuiteConfig.tenantId, params.scopes.tenantId), eq(evaluationSuiteConfig.projectId, params.scopes.projectId), eq(evaluationSuiteConfig.id, params.scopes.evaluationSuiteConfigId))).limit(1))[0] ?? null;
|
|
135
|
+
};
|
|
136
|
+
const listEvaluationSuiteConfigs = (db) => async (params) => {
|
|
137
|
+
return await db.select().from(evaluationSuiteConfig).where(and(eq(evaluationSuiteConfig.tenantId, params.scopes.tenantId), eq(evaluationSuiteConfig.projectId, params.scopes.projectId)));
|
|
138
|
+
};
|
|
139
|
+
const createEvaluationSuiteConfig = (db) => async (data) => {
|
|
140
|
+
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
141
|
+
const [created] = await db.insert(evaluationSuiteConfig).values({
|
|
142
|
+
...data,
|
|
143
|
+
createdAt: now,
|
|
144
|
+
updatedAt: now
|
|
145
|
+
}).returning();
|
|
146
|
+
return created;
|
|
147
|
+
};
|
|
148
|
+
const updateEvaluationSuiteConfig = (db) => async (params) => {
|
|
149
|
+
const updateData = { updatedAt: (/* @__PURE__ */ new Date()).toISOString() };
|
|
150
|
+
for (const [key, value] of Object.entries(params.data)) if (value !== void 0) updateData[key] = value;
|
|
151
|
+
const [updated] = await db.update(evaluationSuiteConfig).set(updateData).where(and(eq(evaluationSuiteConfig.tenantId, params.scopes.tenantId), eq(evaluationSuiteConfig.projectId, params.scopes.projectId), eq(evaluationSuiteConfig.id, params.scopes.evaluationSuiteConfigId))).returning();
|
|
152
|
+
return updated ?? null;
|
|
153
|
+
};
|
|
154
|
+
const deleteEvaluationSuiteConfig = (db) => async (params) => {
|
|
155
|
+
return (await db.delete(evaluationSuiteConfig).where(and(eq(evaluationSuiteConfig.tenantId, params.scopes.tenantId), eq(evaluationSuiteConfig.projectId, params.scopes.projectId), eq(evaluationSuiteConfig.id, params.scopes.evaluationSuiteConfigId))).returning()).length > 0;
|
|
156
|
+
};
|
|
157
|
+
const getEvaluationSuiteConfigEvaluatorRelations = (db) => async (params) => {
|
|
158
|
+
return await db.select().from(evaluationSuiteConfigEvaluatorRelations).where(and(eq(evaluationSuiteConfigEvaluatorRelations.tenantId, params.scopes.tenantId), eq(evaluationSuiteConfigEvaluatorRelations.projectId, params.scopes.projectId), eq(evaluationSuiteConfigEvaluatorRelations.evaluationSuiteConfigId, params.scopes.evaluationSuiteConfigId)));
|
|
159
|
+
};
|
|
160
|
+
const createEvaluationSuiteConfigEvaluatorRelation = (db) => async (data) => {
|
|
161
|
+
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
162
|
+
const [created] = await db.insert(evaluationSuiteConfigEvaluatorRelations).values({
|
|
163
|
+
...data,
|
|
164
|
+
createdAt: now,
|
|
165
|
+
updatedAt: now
|
|
166
|
+
}).returning();
|
|
167
|
+
return created;
|
|
168
|
+
};
|
|
169
|
+
const deleteEvaluationSuiteConfigEvaluatorRelation = (db) => async (params) => {
|
|
170
|
+
return (await db.delete(evaluationSuiteConfigEvaluatorRelations).where(and(eq(evaluationSuiteConfigEvaluatorRelations.tenantId, params.scopes.tenantId), eq(evaluationSuiteConfigEvaluatorRelations.projectId, params.scopes.projectId), eq(evaluationSuiteConfigEvaluatorRelations.evaluationSuiteConfigId, params.scopes.evaluationSuiteConfigId), eq(evaluationSuiteConfigEvaluatorRelations.evaluatorId, params.scopes.evaluatorId))).returning()).length > 0;
|
|
171
|
+
};
|
|
172
|
+
const deleteEvaluationSuiteConfigEvaluatorRelationsByEvaluator = (db) => async (params) => {
|
|
173
|
+
return (await db.delete(evaluationSuiteConfigEvaluatorRelations).where(and(eq(evaluationSuiteConfigEvaluatorRelations.tenantId, params.scopes.tenantId), eq(evaluationSuiteConfigEvaluatorRelations.projectId, params.scopes.projectId), eq(evaluationSuiteConfigEvaluatorRelations.evaluatorId, params.scopes.evaluatorId))).returning()).length;
|
|
174
|
+
};
|
|
175
|
+
const getEvaluationRunConfigById = (db) => async (params) => {
|
|
176
|
+
return (await db.select().from(evaluationRunConfig).where(and(eq(evaluationRunConfig.tenantId, params.scopes.tenantId), eq(evaluationRunConfig.projectId, params.scopes.projectId), eq(evaluationRunConfig.id, params.scopes.evaluationRunConfigId))).limit(1))[0] ?? null;
|
|
177
|
+
};
|
|
178
|
+
const listEvaluationRunConfigs = (db) => async (params) => {
|
|
179
|
+
return await db.select().from(evaluationRunConfig).where(and(eq(evaluationRunConfig.tenantId, params.scopes.tenantId), eq(evaluationRunConfig.projectId, params.scopes.projectId)));
|
|
180
|
+
};
|
|
181
|
+
const listEvaluationRunConfigsWithSuiteConfigs = (db) => async (params) => {
|
|
182
|
+
const rows = await db.select({
|
|
183
|
+
runConfig: evaluationRunConfig,
|
|
184
|
+
suiteConfigId: evaluationRunConfigEvaluationSuiteConfigRelations.evaluationSuiteConfigId
|
|
185
|
+
}).from(evaluationRunConfig).leftJoin(evaluationRunConfigEvaluationSuiteConfigRelations, and(eq(evaluationRunConfigEvaluationSuiteConfigRelations.tenantId, evaluationRunConfig.tenantId), eq(evaluationRunConfigEvaluationSuiteConfigRelations.projectId, evaluationRunConfig.projectId), eq(evaluationRunConfigEvaluationSuiteConfigRelations.evaluationRunConfigId, evaluationRunConfig.id))).where(and(eq(evaluationRunConfig.tenantId, params.scopes.tenantId), eq(evaluationRunConfig.projectId, params.scopes.projectId)));
|
|
186
|
+
const runConfigsById = /* @__PURE__ */ new Map();
|
|
187
|
+
for (const row of rows) {
|
|
188
|
+
const runConfig = row.runConfig;
|
|
189
|
+
const runConfigId = runConfig.id;
|
|
190
|
+
if (!runConfigsById.has(runConfigId)) {
|
|
191
|
+
const { tenantId: _tenantId, projectId: _projectId, ...apiRunConfig } = runConfig;
|
|
192
|
+
runConfigsById.set(runConfigId, {
|
|
193
|
+
...apiRunConfig,
|
|
194
|
+
suiteConfigIds: []
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
if (row.suiteConfigId) runConfigsById.get(runConfigId)?.suiteConfigIds.push(row.suiteConfigId);
|
|
198
|
+
}
|
|
199
|
+
return Array.from(runConfigsById.values());
|
|
200
|
+
};
|
|
201
|
+
const createEvaluationRunConfig = (db) => async (data) => {
|
|
202
|
+
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
203
|
+
const [created] = await db.insert(evaluationRunConfig).values({
|
|
204
|
+
...data,
|
|
205
|
+
createdAt: now,
|
|
206
|
+
updatedAt: now
|
|
207
|
+
}).returning();
|
|
208
|
+
return created;
|
|
209
|
+
};
|
|
210
|
+
const updateEvaluationRunConfig = (db) => async (params) => {
|
|
211
|
+
const updateData = { updatedAt: (/* @__PURE__ */ new Date()).toISOString() };
|
|
212
|
+
for (const [key, value] of Object.entries(params.data)) if (value !== void 0) updateData[key] = value;
|
|
213
|
+
const [updated] = await db.update(evaluationRunConfig).set(updateData).where(and(eq(evaluationRunConfig.tenantId, params.scopes.tenantId), eq(evaluationRunConfig.projectId, params.scopes.projectId), eq(evaluationRunConfig.id, params.scopes.evaluationRunConfigId))).returning();
|
|
214
|
+
return updated ?? null;
|
|
215
|
+
};
|
|
216
|
+
const deleteEvaluationRunConfig = (db) => async (params) => {
|
|
217
|
+
return (await db.delete(evaluationRunConfig).where(and(eq(evaluationRunConfig.tenantId, params.scopes.tenantId), eq(evaluationRunConfig.projectId, params.scopes.projectId), eq(evaluationRunConfig.id, params.scopes.evaluationRunConfigId))).returning()).length > 0;
|
|
218
|
+
};
|
|
219
|
+
const getEvaluationRunConfigEvaluationSuiteConfigRelations = (db) => async (params) => {
|
|
220
|
+
return await db.select().from(evaluationRunConfigEvaluationSuiteConfigRelations).where(and(eq(evaluationRunConfigEvaluationSuiteConfigRelations.tenantId, params.scopes.tenantId), eq(evaluationRunConfigEvaluationSuiteConfigRelations.projectId, params.scopes.projectId), eq(evaluationRunConfigEvaluationSuiteConfigRelations.evaluationRunConfigId, params.scopes.evaluationRunConfigId)));
|
|
221
|
+
};
|
|
222
|
+
const createEvaluationRunConfigEvaluationSuiteConfigRelation = (db) => async (data) => {
|
|
223
|
+
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
224
|
+
const [created] = await db.insert(evaluationRunConfigEvaluationSuiteConfigRelations).values({
|
|
225
|
+
...data,
|
|
226
|
+
createdAt: now,
|
|
227
|
+
updatedAt: now
|
|
228
|
+
}).returning();
|
|
229
|
+
return created;
|
|
230
|
+
};
|
|
231
|
+
const deleteEvaluationRunConfigEvaluationSuiteConfigRelation = (db) => async (params) => {
|
|
232
|
+
return (await db.delete(evaluationRunConfigEvaluationSuiteConfigRelations).where(and(eq(evaluationRunConfigEvaluationSuiteConfigRelations.tenantId, params.scopes.tenantId), eq(evaluationRunConfigEvaluationSuiteConfigRelations.projectId, params.scopes.projectId), eq(evaluationRunConfigEvaluationSuiteConfigRelations.evaluationRunConfigId, params.scopes.evaluationRunConfigId), eq(evaluationRunConfigEvaluationSuiteConfigRelations.evaluationSuiteConfigId, params.scopes.evaluationSuiteConfigId))).returning()).length > 0;
|
|
233
|
+
};
|
|
234
|
+
const getEvaluationJobConfigById = (db) => async (params) => {
|
|
235
|
+
return (await db.select().from(evaluationJobConfig).where(and(eq(evaluationJobConfig.tenantId, params.scopes.tenantId), eq(evaluationJobConfig.projectId, params.scopes.projectId), eq(evaluationJobConfig.id, params.scopes.evaluationJobConfigId))).limit(1))[0] ?? null;
|
|
236
|
+
};
|
|
237
|
+
const listEvaluationJobConfigs = (db) => async (params) => {
|
|
238
|
+
return await db.select().from(evaluationJobConfig).where(and(eq(evaluationJobConfig.tenantId, params.scopes.tenantId), eq(evaluationJobConfig.projectId, params.scopes.projectId)));
|
|
239
|
+
};
|
|
240
|
+
const createEvaluationJobConfig = (db) => async (data) => {
|
|
241
|
+
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
242
|
+
const [created] = await db.insert(evaluationJobConfig).values({
|
|
243
|
+
...data,
|
|
244
|
+
createdAt: now,
|
|
245
|
+
updatedAt: now
|
|
246
|
+
}).returning();
|
|
247
|
+
return created;
|
|
248
|
+
};
|
|
249
|
+
const deleteEvaluationJobConfig = (db) => async (params) => {
|
|
250
|
+
return (await db.delete(evaluationJobConfig).where(and(eq(evaluationJobConfig.tenantId, params.scopes.tenantId), eq(evaluationJobConfig.projectId, params.scopes.projectId), eq(evaluationJobConfig.id, params.scopes.evaluationJobConfigId))).returning()).length > 0;
|
|
251
|
+
};
|
|
252
|
+
const getEvaluationJobConfigEvaluatorRelations = (db) => async (params) => {
|
|
253
|
+
return await db.select().from(evaluationJobConfigEvaluatorRelations).where(and(eq(evaluationJobConfigEvaluatorRelations.tenantId, params.scopes.tenantId), eq(evaluationJobConfigEvaluatorRelations.projectId, params.scopes.projectId), eq(evaluationJobConfigEvaluatorRelations.evaluationJobConfigId, params.scopes.evaluationJobConfigId)));
|
|
254
|
+
};
|
|
255
|
+
const createEvaluationJobConfigEvaluatorRelation = (db) => async (data) => {
|
|
256
|
+
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
257
|
+
const [created] = await db.insert(evaluationJobConfigEvaluatorRelations).values({
|
|
258
|
+
...data,
|
|
259
|
+
createdAt: now,
|
|
260
|
+
updatedAt: now
|
|
261
|
+
}).returning();
|
|
262
|
+
return created;
|
|
263
|
+
};
|
|
264
|
+
const deleteEvaluationJobConfigEvaluatorRelation = (db) => async (params) => {
|
|
265
|
+
return (await db.delete(evaluationJobConfigEvaluatorRelations).where(and(eq(evaluationJobConfigEvaluatorRelations.tenantId, params.scopes.tenantId), eq(evaluationJobConfigEvaluatorRelations.projectId, params.scopes.projectId), eq(evaluationJobConfigEvaluatorRelations.evaluationJobConfigId, params.scopes.evaluationJobConfigId), eq(evaluationJobConfigEvaluatorRelations.evaluatorId, params.scopes.evaluatorId))).returning()).length > 0;
|
|
266
|
+
};
|
|
267
|
+
const deleteEvaluationJobConfigEvaluatorRelationsByEvaluator = (db) => async (params) => {
|
|
268
|
+
return (await db.delete(evaluationJobConfigEvaluatorRelations).where(and(eq(evaluationJobConfigEvaluatorRelations.tenantId, params.scopes.tenantId), eq(evaluationJobConfigEvaluatorRelations.projectId, params.scopes.projectId), eq(evaluationJobConfigEvaluatorRelations.evaluatorId, params.scopes.evaluatorId))).returning()).length;
|
|
269
|
+
};
|
|
270
|
+
const linkDatasetRunToEvaluationJobConfig = (db) => async (params) => {
|
|
271
|
+
await db.update(datasetRun).set({ evaluationJobConfigId: params.evaluationJobConfigId }).where(and(eq(datasetRun.tenantId, params.scopes.tenantId), eq(datasetRun.projectId, params.scopes.projectId), eq(datasetRun.id, params.scopes.datasetRunId)));
|
|
272
|
+
};
|
|
273
|
+
|
|
274
|
+
//#endregion
|
|
275
|
+
export { createDataset, createDatasetItem, createDatasetItems, createDatasetRunConfig, createDatasetRunConfigAgentRelation, createEvaluationJobConfig, createEvaluationJobConfigEvaluatorRelation, createEvaluationRunConfig, createEvaluationRunConfigEvaluationSuiteConfigRelation, createEvaluationSuiteConfig, createEvaluationSuiteConfigEvaluatorRelation, createEvaluator, deleteDataset, deleteDatasetItem, deleteDatasetItemsByDataset, deleteDatasetRunConfig, deleteDatasetRunConfigAgentRelation, deleteEvaluationJobConfig, deleteEvaluationJobConfigEvaluatorRelation, deleteEvaluationJobConfigEvaluatorRelationsByEvaluator, deleteEvaluationRunConfig, deleteEvaluationRunConfigEvaluationSuiteConfigRelation, deleteEvaluationSuiteConfig, deleteEvaluationSuiteConfigEvaluatorRelation, deleteEvaluationSuiteConfigEvaluatorRelationsByEvaluator, deleteEvaluator, getDatasetById, getDatasetItemById, getDatasetRunConfigAgentRelations, getDatasetRunConfigById, getEvaluationJobConfigById, getEvaluationJobConfigEvaluatorRelations, getEvaluationRunConfigById, getEvaluationRunConfigEvaluationSuiteConfigRelations, getEvaluationSuiteConfigById, getEvaluationSuiteConfigEvaluatorRelations, getEvaluatorById, getEvaluatorsByIds, linkDatasetRunToEvaluationJobConfig, listDatasetItems, listDatasetRunConfigs, listDatasets, listEvaluationJobConfigs, listEvaluationRunConfigs, listEvaluationRunConfigsWithSuiteConfigs, listEvaluationSuiteConfigs, listEvaluators, updateDataset, updateDatasetItem, updateDatasetRunConfig, updateEvaluationRunConfig, updateEvaluationSuiteConfig, updateEvaluator };
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import "
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { PaginationConfig, ProjectScopeConfig } from "../../types/utility.js";
|
|
2
|
+
import "../../types/index.js";
|
|
3
|
+
import { AgentsManageDatabaseClient } from "../../db/manage/manage-client.js";
|
|
4
|
+
import { ExternalAgentInsert, ExternalAgentSelect, ExternalAgentUpdate } from "../../types/entities.js";
|
|
5
5
|
|
|
6
|
-
//#region src/data-access/externalAgents.d.ts
|
|
6
|
+
//#region src/data-access/manage/externalAgents.d.ts
|
|
7
7
|
/**
|
|
8
8
|
* Create a new external agent
|
|
9
9
|
*/
|
|
10
|
-
declare const createExternalAgent: (db:
|
|
10
|
+
declare const createExternalAgent: (db: AgentsManageDatabaseClient) => (params: ExternalAgentInsert) => Promise<ExternalAgentSelect>;
|
|
11
11
|
/**
|
|
12
12
|
* Get external agent by ID
|
|
13
13
|
*/
|
|
14
|
-
declare const getExternalAgent: (db:
|
|
14
|
+
declare const getExternalAgent: (db: AgentsManageDatabaseClient) => (params: {
|
|
15
15
|
scopes: ProjectScopeConfig;
|
|
16
16
|
externalAgentId: string;
|
|
17
17
|
}) => Promise<ExternalAgentSelect | null>;
|
|
18
18
|
/**
|
|
19
19
|
* Get external agent by base URL
|
|
20
20
|
*/
|
|
21
|
-
declare const getExternalAgentByUrl: (db:
|
|
21
|
+
declare const getExternalAgentByUrl: (db: AgentsManageDatabaseClient) => (params: {
|
|
22
22
|
scopes: ProjectScopeConfig;
|
|
23
23
|
baseUrl: string;
|
|
24
24
|
}) => Promise<ExternalAgentSelect | null>;
|
|
25
25
|
/**
|
|
26
26
|
* List external agents for a project
|
|
27
27
|
*/
|
|
28
|
-
declare const listExternalAgents: (db:
|
|
28
|
+
declare const listExternalAgents: (db: AgentsManageDatabaseClient) => (params: {
|
|
29
29
|
scopes: ProjectScopeConfig;
|
|
30
30
|
}) => Promise<ExternalAgentSelect[]>;
|
|
31
31
|
/**
|
|
32
32
|
* List external agents with pagination
|
|
33
33
|
*/
|
|
34
|
-
declare const listExternalAgentsPaginated: (db:
|
|
34
|
+
declare const listExternalAgentsPaginated: (db: AgentsManageDatabaseClient) => (params: {
|
|
35
35
|
scopes: ProjectScopeConfig;
|
|
36
36
|
pagination?: PaginationConfig;
|
|
37
37
|
}) => Promise<{
|
|
@@ -46,7 +46,7 @@ declare const listExternalAgentsPaginated: (db: DatabaseClient) => (params: {
|
|
|
46
46
|
/**
|
|
47
47
|
* Update an existing external agent
|
|
48
48
|
*/
|
|
49
|
-
declare const updateExternalAgent: (db:
|
|
49
|
+
declare const updateExternalAgent: (db: AgentsManageDatabaseClient) => (params: {
|
|
50
50
|
scopes: ProjectScopeConfig;
|
|
51
51
|
externalAgentId: string;
|
|
52
52
|
data: Partial<ExternalAgentUpdate>;
|
|
@@ -54,34 +54,34 @@ declare const updateExternalAgent: (db: DatabaseClient) => (params: {
|
|
|
54
54
|
/**
|
|
55
55
|
* Upsert external agent (create if it doesn't exist, update if it does)
|
|
56
56
|
*/
|
|
57
|
-
declare const upsertExternalAgent: (db:
|
|
57
|
+
declare const upsertExternalAgent: (db: AgentsManageDatabaseClient) => (params: {
|
|
58
58
|
data: ExternalAgentInsert;
|
|
59
59
|
}) => Promise<ExternalAgentSelect>;
|
|
60
60
|
/**
|
|
61
61
|
* Delete an external agent
|
|
62
62
|
*/
|
|
63
|
-
declare const deleteExternalAgent: (db:
|
|
63
|
+
declare const deleteExternalAgent: (db: AgentsManageDatabaseClient) => (params: {
|
|
64
64
|
scopes: ProjectScopeConfig;
|
|
65
65
|
externalAgentId: string;
|
|
66
66
|
}) => Promise<boolean>;
|
|
67
67
|
/**
|
|
68
68
|
* Check if an external agent exists
|
|
69
69
|
*/
|
|
70
|
-
declare const externalAgentExists: (db:
|
|
70
|
+
declare const externalAgentExists: (db: AgentsManageDatabaseClient) => (params: {
|
|
71
71
|
scopes: ProjectScopeConfig;
|
|
72
72
|
externalAgentId: string;
|
|
73
73
|
}) => Promise<boolean>;
|
|
74
74
|
/**
|
|
75
75
|
* Check if an external agent exists by URL
|
|
76
76
|
*/
|
|
77
|
-
declare const externalAgentUrlExists: (db:
|
|
77
|
+
declare const externalAgentUrlExists: (db: AgentsManageDatabaseClient) => (params: {
|
|
78
78
|
scopes: ProjectScopeConfig;
|
|
79
79
|
baseUrl: string;
|
|
80
80
|
}) => Promise<boolean>;
|
|
81
81
|
/**
|
|
82
82
|
* Count external agents for a project
|
|
83
83
|
*/
|
|
84
|
-
declare const countExternalAgents: (db:
|
|
84
|
+
declare const countExternalAgents: (db: AgentsManageDatabaseClient) => (params: {
|
|
85
85
|
scopes: ProjectScopeConfig;
|
|
86
86
|
}) => Promise<number>;
|
|
87
87
|
//#endregion
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { externalAgents } from "
|
|
1
|
+
import { externalAgents } from "../../db/manage/manage-schema.js";
|
|
2
2
|
import { and, asc, count, desc, eq } from "drizzle-orm";
|
|
3
3
|
|
|
4
|
-
//#region src/data-access/externalAgents.ts
|
|
4
|
+
//#region src/data-access/manage/externalAgents.ts
|
|
5
5
|
/**
|
|
6
6
|
* Create a new external agent
|
|
7
7
|
*/
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
import { AgentScopeConfig, PaginationConfig } from "../../types/utility.js";
|
|
2
|
+
import { AgentsManageDatabaseClient } from "../../db/manage/manage-client.js";
|
|
3
|
+
import { FunctionToolApiInsert, FunctionToolApiUpdate } from "../../types/entities.js";
|
|
4
|
+
|
|
5
|
+
//#region src/data-access/manage/functionTools.d.ts
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Get a function tool by ID (agent-scoped)
|
|
9
|
+
*/
|
|
10
|
+
declare const getFunctionToolById: (db: AgentsManageDatabaseClient) => (params: {
|
|
11
|
+
scopes: AgentScopeConfig;
|
|
12
|
+
functionToolId: string;
|
|
13
|
+
}) => Promise<{
|
|
14
|
+
createdAt: string;
|
|
15
|
+
updatedAt: string;
|
|
16
|
+
name: string;
|
|
17
|
+
description: string | null;
|
|
18
|
+
functionId: string;
|
|
19
|
+
agentId: string;
|
|
20
|
+
projectId: string;
|
|
21
|
+
tenantId: string;
|
|
22
|
+
id: string;
|
|
23
|
+
}>;
|
|
24
|
+
/**
|
|
25
|
+
* List function tools (agent-scoped)
|
|
26
|
+
*/
|
|
27
|
+
declare const listFunctionTools: (db: AgentsManageDatabaseClient) => (params: {
|
|
28
|
+
scopes: AgentScopeConfig;
|
|
29
|
+
pagination?: PaginationConfig;
|
|
30
|
+
}) => Promise<{
|
|
31
|
+
data: {
|
|
32
|
+
createdAt: string;
|
|
33
|
+
updatedAt: string;
|
|
34
|
+
name: string;
|
|
35
|
+
description: string | null;
|
|
36
|
+
functionId: string;
|
|
37
|
+
agentId: string;
|
|
38
|
+
projectId: string;
|
|
39
|
+
tenantId: string;
|
|
40
|
+
id: string;
|
|
41
|
+
}[];
|
|
42
|
+
pagination: {
|
|
43
|
+
page: number;
|
|
44
|
+
limit: number;
|
|
45
|
+
total: number;
|
|
46
|
+
pages: number;
|
|
47
|
+
};
|
|
48
|
+
}>;
|
|
49
|
+
/**
|
|
50
|
+
* Create a function tool (agent-scoped)
|
|
51
|
+
*/
|
|
52
|
+
declare const createFunctionTool: (db: AgentsManageDatabaseClient) => (params: {
|
|
53
|
+
data: FunctionToolApiInsert;
|
|
54
|
+
scopes: AgentScopeConfig;
|
|
55
|
+
}) => Promise<{
|
|
56
|
+
id: string;
|
|
57
|
+
name: string;
|
|
58
|
+
createdAt: string;
|
|
59
|
+
updatedAt: string;
|
|
60
|
+
description: string | null;
|
|
61
|
+
tenantId: string;
|
|
62
|
+
agentId: string;
|
|
63
|
+
projectId: string;
|
|
64
|
+
functionId: string;
|
|
65
|
+
}>;
|
|
66
|
+
/**
|
|
67
|
+
* Update a function tool (agent-scoped)
|
|
68
|
+
*/
|
|
69
|
+
declare const updateFunctionTool: (db: AgentsManageDatabaseClient) => (params: {
|
|
70
|
+
scopes: AgentScopeConfig;
|
|
71
|
+
functionToolId: string;
|
|
72
|
+
data: FunctionToolApiUpdate;
|
|
73
|
+
}) => Promise<{
|
|
74
|
+
createdAt: string;
|
|
75
|
+
updatedAt: string;
|
|
76
|
+
name: string;
|
|
77
|
+
description: string | null;
|
|
78
|
+
functionId: string;
|
|
79
|
+
agentId: string;
|
|
80
|
+
projectId: string;
|
|
81
|
+
tenantId: string;
|
|
82
|
+
id: string;
|
|
83
|
+
}>;
|
|
84
|
+
/**
|
|
85
|
+
* Delete a function tool (agent-scoped)
|
|
86
|
+
*/
|
|
87
|
+
declare const deleteFunctionTool: (db: AgentsManageDatabaseClient) => (params: {
|
|
88
|
+
scopes: AgentScopeConfig;
|
|
89
|
+
functionToolId: string;
|
|
90
|
+
}) => Promise<boolean>;
|
|
91
|
+
/**
|
|
92
|
+
* Upsert a function tool (create if it doesn't exist, update if it does)
|
|
93
|
+
*/
|
|
94
|
+
declare const upsertFunctionTool: (db: AgentsManageDatabaseClient) => (params: {
|
|
95
|
+
data: FunctionToolApiInsert;
|
|
96
|
+
scopes: AgentScopeConfig;
|
|
97
|
+
}) => Promise<{
|
|
98
|
+
id: string;
|
|
99
|
+
name: string;
|
|
100
|
+
createdAt: string;
|
|
101
|
+
updatedAt: string;
|
|
102
|
+
description: string | null;
|
|
103
|
+
tenantId: string;
|
|
104
|
+
agentId: string;
|
|
105
|
+
projectId: string;
|
|
106
|
+
functionId: string;
|
|
107
|
+
}>;
|
|
108
|
+
declare const getFunctionToolsForSubAgent: (db: AgentsManageDatabaseClient) => (params: {
|
|
109
|
+
scopes: {
|
|
110
|
+
tenantId: string;
|
|
111
|
+
projectId: string;
|
|
112
|
+
agentId: string;
|
|
113
|
+
};
|
|
114
|
+
subAgentId: string;
|
|
115
|
+
pagination?: PaginationConfig;
|
|
116
|
+
}) => Promise<{
|
|
117
|
+
data: {
|
|
118
|
+
id: string;
|
|
119
|
+
name: string;
|
|
120
|
+
description: string | null;
|
|
121
|
+
functionId: string;
|
|
122
|
+
createdAt: string;
|
|
123
|
+
updatedAt: string;
|
|
124
|
+
tenantId: string;
|
|
125
|
+
projectId: string;
|
|
126
|
+
agentId: string;
|
|
127
|
+
relationshipId: string;
|
|
128
|
+
toolPolicies: Record<string, {
|
|
129
|
+
needsApproval?: boolean;
|
|
130
|
+
}> | null;
|
|
131
|
+
}[];
|
|
132
|
+
pagination: {
|
|
133
|
+
page: number;
|
|
134
|
+
limit: number;
|
|
135
|
+
total: number;
|
|
136
|
+
pages: number;
|
|
137
|
+
};
|
|
138
|
+
}>;
|
|
139
|
+
/**
|
|
140
|
+
* Upsert a sub_agent-function tool relation (create if it doesn't exist, update if it does)
|
|
141
|
+
*/
|
|
142
|
+
declare const upsertSubAgentFunctionToolRelation: (db: AgentsManageDatabaseClient) => (params: {
|
|
143
|
+
scopes: AgentScopeConfig;
|
|
144
|
+
subAgentId: string;
|
|
145
|
+
functionToolId: string;
|
|
146
|
+
toolPolicies?: Record<string, {
|
|
147
|
+
needsApproval?: boolean;
|
|
148
|
+
}> | null;
|
|
149
|
+
relationId?: string;
|
|
150
|
+
}) => Promise<{
|
|
151
|
+
id: string;
|
|
152
|
+
}>;
|
|
153
|
+
/**
|
|
154
|
+
* Add a function tool to an agent
|
|
155
|
+
*/
|
|
156
|
+
declare const addFunctionToolToSubAgent: (db: AgentsManageDatabaseClient) => (params: {
|
|
157
|
+
scopes: AgentScopeConfig;
|
|
158
|
+
subAgentId: string;
|
|
159
|
+
functionToolId: string;
|
|
160
|
+
toolPolicies?: Record<string, {
|
|
161
|
+
needsApproval?: boolean;
|
|
162
|
+
}> | null;
|
|
163
|
+
}) => Promise<{
|
|
164
|
+
id: string;
|
|
165
|
+
createdAt: string;
|
|
166
|
+
updatedAt: string;
|
|
167
|
+
tenantId: string;
|
|
168
|
+
agentId: string;
|
|
169
|
+
projectId: string;
|
|
170
|
+
subAgentId: string;
|
|
171
|
+
toolPolicies: Record<string, {
|
|
172
|
+
needsApproval?: boolean;
|
|
173
|
+
}> | null;
|
|
174
|
+
functionToolId: string;
|
|
175
|
+
}>;
|
|
176
|
+
/**
|
|
177
|
+
* Update an agent-function tool relation
|
|
178
|
+
*/
|
|
179
|
+
declare const updateSubAgentFunctionToolRelation: (db: AgentsManageDatabaseClient) => (params: {
|
|
180
|
+
scopes: AgentScopeConfig;
|
|
181
|
+
relationId: string;
|
|
182
|
+
data: {
|
|
183
|
+
subAgentId: string;
|
|
184
|
+
functionToolId: string;
|
|
185
|
+
toolPolicies?: Record<string, {
|
|
186
|
+
needsApproval?: boolean;
|
|
187
|
+
}> | null;
|
|
188
|
+
};
|
|
189
|
+
}) => Promise<{
|
|
190
|
+
id: string;
|
|
191
|
+
}>;
|
|
192
|
+
/**
|
|
193
|
+
* Get all sub-agents that use a specific function tool
|
|
194
|
+
*/
|
|
195
|
+
declare const getSubAgentsUsingFunctionTool: (db: AgentsManageDatabaseClient) => (params: {
|
|
196
|
+
scopes: AgentScopeConfig;
|
|
197
|
+
functionToolId: string;
|
|
198
|
+
}) => Promise<{
|
|
199
|
+
subAgentId: string;
|
|
200
|
+
createdAt: string;
|
|
201
|
+
}[]>;
|
|
202
|
+
/**
|
|
203
|
+
* Remove a function tool from a sub-agent
|
|
204
|
+
*/
|
|
205
|
+
declare const removeFunctionToolFromSubAgent: (db: AgentsManageDatabaseClient) => (params: {
|
|
206
|
+
scopes: AgentScopeConfig;
|
|
207
|
+
subAgentId: string;
|
|
208
|
+
functionToolId: string;
|
|
209
|
+
}) => Promise<boolean>;
|
|
210
|
+
/**
|
|
211
|
+
* Check if a function tool is associated with a sub-agent
|
|
212
|
+
*/
|
|
213
|
+
declare const isFunctionToolAssociatedWithSubAgent: (db: AgentsManageDatabaseClient) => (params: {
|
|
214
|
+
scopes: AgentScopeConfig;
|
|
215
|
+
subAgentId: string;
|
|
216
|
+
functionToolId: string;
|
|
217
|
+
}) => Promise<boolean>;
|
|
218
|
+
/**
|
|
219
|
+
* Associate a function tool with a sub-agent (alias for addFunctionToolToSubAgent)
|
|
220
|
+
*/
|
|
221
|
+
declare const associateFunctionToolWithSubAgent: (db: AgentsManageDatabaseClient) => (params: {
|
|
222
|
+
scopes: AgentScopeConfig;
|
|
223
|
+
subAgentId: string;
|
|
224
|
+
functionToolId: string;
|
|
225
|
+
toolPolicies?: Record<string, {
|
|
226
|
+
needsApproval?: boolean;
|
|
227
|
+
}> | null;
|
|
228
|
+
}) => Promise<{
|
|
229
|
+
id: string;
|
|
230
|
+
createdAt: string;
|
|
231
|
+
updatedAt: string;
|
|
232
|
+
tenantId: string;
|
|
233
|
+
agentId: string;
|
|
234
|
+
projectId: string;
|
|
235
|
+
subAgentId: string;
|
|
236
|
+
toolPolicies: Record<string, {
|
|
237
|
+
needsApproval?: boolean;
|
|
238
|
+
}> | null;
|
|
239
|
+
functionToolId: string;
|
|
240
|
+
}>;
|
|
241
|
+
//#endregion
|
|
242
|
+
export { addFunctionToolToSubAgent, associateFunctionToolWithSubAgent, createFunctionTool, deleteFunctionTool, getFunctionToolById, getFunctionToolsForSubAgent, getSubAgentsUsingFunctionTool, isFunctionToolAssociatedWithSubAgent, listFunctionTools, removeFunctionToolFromSubAgent, updateFunctionTool, updateSubAgentFunctionToolRelation, upsertFunctionTool, upsertSubAgentFunctionToolRelation };
|