@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,132 @@
|
|
|
1
|
+
import { loadEnvironmentFiles } from "../../env.js";
|
|
2
|
+
import { createAgentsManageDatabaseClient } from "./manage-client.js";
|
|
3
|
+
import { sql } from "drizzle-orm";
|
|
4
|
+
|
|
5
|
+
//#region src/db/manage/dolt-cleanup.ts
|
|
6
|
+
loadEnvironmentFiles();
|
|
7
|
+
/**
|
|
8
|
+
* Get a database client for cleanup operations
|
|
9
|
+
* Allows passing a custom client or uses a default one
|
|
10
|
+
*/
|
|
11
|
+
const getIntegrationTestClient = (db) => {
|
|
12
|
+
if (db) return db;
|
|
13
|
+
return createAgentsManageDatabaseClient({});
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Delete all branches matching a prefix pattern
|
|
17
|
+
* Used for cleaning up integration test data
|
|
18
|
+
*/
|
|
19
|
+
const cleanupBranchesByPrefix = async (prefix, db) => {
|
|
20
|
+
const dbClient = getIntegrationTestClient(db);
|
|
21
|
+
try {
|
|
22
|
+
const branches = await dbClient.execute(sql.raw(`SELECT name FROM dolt_branches WHERE name LIKE '${prefix}%'`));
|
|
23
|
+
for (const branch of branches.rows) {
|
|
24
|
+
const branchName = branch.name;
|
|
25
|
+
try {
|
|
26
|
+
await dbClient.execute(sql.raw(` DOLT_BRANCH('-D', '${branchName}')`));
|
|
27
|
+
} catch (error) {
|
|
28
|
+
console.debug(`Could not delete branch ${branchName}:`, error);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
} catch (error) {
|
|
32
|
+
console.error(`Error cleaning up branches with prefix ${prefix}:`, error);
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Delete all tags matching a prefix pattern
|
|
37
|
+
* Used for cleaning up integration test data
|
|
38
|
+
*/
|
|
39
|
+
const cleanupTagsByPrefix = async (prefix, db) => {
|
|
40
|
+
const dbClient = getIntegrationTestClient(db);
|
|
41
|
+
try {
|
|
42
|
+
const tags = await dbClient.execute(sql.raw(`SELECT tag_name FROM dolt_tags WHERE tag_name LIKE '${prefix}%'`));
|
|
43
|
+
for (const tag of tags.rows) {
|
|
44
|
+
const tagName = tag.tag_name;
|
|
45
|
+
try {
|
|
46
|
+
await dbClient.execute(sql.raw(`SELECT DOLT_TAG('-d', '${tagName}')`));
|
|
47
|
+
} catch (error) {
|
|
48
|
+
console.debug(`Could not delete tag ${tagName}:`, error);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
} catch (error) {
|
|
52
|
+
console.error(`Error cleaning up tags with prefix ${prefix}:`, error);
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Delete specific branches by name
|
|
57
|
+
* Used for cleaning up integration test data
|
|
58
|
+
*/
|
|
59
|
+
const cleanupBranches = async (branchNames, db) => {
|
|
60
|
+
const dbClient = getIntegrationTestClient(db);
|
|
61
|
+
for (const branchName of branchNames) try {
|
|
62
|
+
await dbClient.execute(sql.raw(`SELECT DOLT_BRANCH('-D', '${branchName}')`));
|
|
63
|
+
} catch (error) {
|
|
64
|
+
console.debug(`Could not delete branch ${branchName}:`, error);
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* Delete specific tags by name
|
|
69
|
+
* Used for cleaning up integration test data
|
|
70
|
+
*/
|
|
71
|
+
const cleanupTags = async (tagNames, db) => {
|
|
72
|
+
const dbClient = getIntegrationTestClient(db);
|
|
73
|
+
for (const tagName of tagNames) try {
|
|
74
|
+
await dbClient.execute(sql.raw(`SELECT DOLT_TAG('-d', '${tagName}')`));
|
|
75
|
+
} catch (error) {
|
|
76
|
+
console.debug(`Could not delete tag ${tagName}:`, error);
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Comprehensive cleanup for test data by prefix
|
|
81
|
+
* Used for cleaning up integration test data
|
|
82
|
+
*/
|
|
83
|
+
const cleanupTestData = async (prefix, branches, tags, db) => {
|
|
84
|
+
if (tags && tags.size > 0) await cleanupTags(tags, db);
|
|
85
|
+
await cleanupTagsByPrefix(prefix, db);
|
|
86
|
+
if (branches && branches.size > 0) await cleanupBranches(branches, db);
|
|
87
|
+
await cleanupBranchesByPrefix(prefix, db);
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* Delete all branches matching a tenant prefix
|
|
91
|
+
* Used for cleaning up integration test data
|
|
92
|
+
*/
|
|
93
|
+
const cleanupTenantBranches = async (tenantId, db) => {
|
|
94
|
+
const dbClient = getIntegrationTestClient(db);
|
|
95
|
+
try {
|
|
96
|
+
const pattern = `${tenantId}_%`;
|
|
97
|
+
const branches = await dbClient.execute(sql.raw(`SELECT name FROM dolt_branches WHERE name LIKE '${pattern}'`));
|
|
98
|
+
for (const branch of branches.rows) {
|
|
99
|
+
const branchName = branch.name;
|
|
100
|
+
try {
|
|
101
|
+
await dbClient.execute(sql.raw(`SELECT DOLT_BRANCH('-D', '${branchName}')`));
|
|
102
|
+
} catch (error) {
|
|
103
|
+
console.debug(`Could not delete branch ${branchName}:`, error);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
} catch (error) {
|
|
107
|
+
console.error(`Error cleaning up branches for tenant ${tenantId}:`, error);
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
/**
|
|
111
|
+
* Comprehensive cleanup for a tenant: deletes tags and branches
|
|
112
|
+
* Used for cleaning up integration test data
|
|
113
|
+
*/
|
|
114
|
+
const cleanupTenant = async (tenantId, tagNames, db) => {
|
|
115
|
+
try {
|
|
116
|
+
if (tagNames && tagNames.size > 0) await cleanupTags(tagNames, db);
|
|
117
|
+
await cleanupTenantBranches(tenantId, db);
|
|
118
|
+
} catch (error) {
|
|
119
|
+
console.error(`Error cleaning up tenant ${tenantId}:`, error);
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
/**
|
|
123
|
+
* Cleanup multiple tenants
|
|
124
|
+
* Used for cleaning up integration test data
|
|
125
|
+
*/
|
|
126
|
+
const cleanupTenants = async (tenantIds, tagNames, db) => {
|
|
127
|
+
if (tagNames && tagNames.size > 0) await cleanupTags(tagNames, db);
|
|
128
|
+
for (const tenantId of tenantIds) await cleanupTenantBranches(tenantId, db);
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
//#endregion
|
|
132
|
+
export { cleanupBranches, cleanupBranchesByPrefix, cleanupTags, cleanupTagsByPrefix, cleanupTenant, cleanupTenantBranches, cleanupTenants, cleanupTestData, getIntegrationTestClient };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { manage_schema_d_exports } from "./manage-schema.js";
|
|
2
|
+
import { NodePgDatabase } from "drizzle-orm/node-postgres";
|
|
3
|
+
import { Pool } from "pg";
|
|
4
|
+
import { PgliteDatabase } from "drizzle-orm/pglite";
|
|
5
|
+
|
|
6
|
+
//#region src/db/manage/manage-client.d.ts
|
|
7
|
+
type AgentsManageDatabaseClient = NodePgDatabase<typeof manage_schema_d_exports> | PgliteDatabase<typeof manage_schema_d_exports>;
|
|
8
|
+
interface AgentsManageDatabaseConfig {
|
|
9
|
+
connectionString?: string;
|
|
10
|
+
poolSize?: number;
|
|
11
|
+
ssl?: boolean;
|
|
12
|
+
logger?: {
|
|
13
|
+
logQuery: (query: string, params: unknown[]) => void;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
declare function createAgentsManageDatabasePool(config: AgentsManageDatabaseConfig): Pool;
|
|
17
|
+
/**
|
|
18
|
+
* Creates a PostgreSQL database client with connection pooling
|
|
19
|
+
*/
|
|
20
|
+
declare function createAgentsManageDatabaseClient(config: AgentsManageDatabaseConfig): AgentsManageDatabaseClient;
|
|
21
|
+
declare function createAgentManageDatabaseConnection(config: AgentsManageDatabaseConfig): Promise<{
|
|
22
|
+
db: AgentsManageDatabaseClient;
|
|
23
|
+
release: () => Promise<void>;
|
|
24
|
+
}>;
|
|
25
|
+
//#endregion
|
|
26
|
+
export { AgentsManageDatabaseClient, AgentsManageDatabaseConfig, createAgentManageDatabaseConnection, createAgentsManageDatabaseClient, createAgentsManageDatabasePool };
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { manage_schema_exports } from "./manage-schema.js";
|
|
2
|
+
import { env, loadEnvironmentFiles } from "../../env.js";
|
|
3
|
+
import { createTestManageDatabaseClientNoMigrations } from "./test-manage-client.js";
|
|
4
|
+
import { drizzle } from "drizzle-orm/node-postgres";
|
|
5
|
+
import { Pool } from "pg";
|
|
6
|
+
|
|
7
|
+
//#region src/db/manage/manage-client.ts
|
|
8
|
+
loadEnvironmentFiles();
|
|
9
|
+
function createAgentsManageDatabasePool(config) {
|
|
10
|
+
const connectionString = config.connectionString || env.INKEEP_AGENTS_MANAGE_DATABASE_URL;
|
|
11
|
+
if (!connectionString) throw new Error("INKEEP_AGENTS_MANAGE_DATABASE_URL environment variable is required. Please set it to your PostgreSQL connection string.");
|
|
12
|
+
const pool = new Pool({
|
|
13
|
+
connectionString,
|
|
14
|
+
max: config.poolSize || Number(env.POSTGRES_POOL_SIZE) || 100
|
|
15
|
+
});
|
|
16
|
+
pool.on("error", (err) => {
|
|
17
|
+
console.error("Unexpected PostgreSQL pool error:", err);
|
|
18
|
+
});
|
|
19
|
+
return pool;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Creates a PostgreSQL database client with connection pooling
|
|
23
|
+
*/
|
|
24
|
+
function createAgentsManageDatabaseClient(config) {
|
|
25
|
+
const connectionString = config.connectionString || env.INKEEP_AGENTS_MANAGE_DATABASE_URL;
|
|
26
|
+
if (env.ENVIRONMENT === "test") return createTestManageDatabaseClientNoMigrations();
|
|
27
|
+
if (!connectionString) throw new Error("INKEEP_AGENTS_MANAGE_DATABASE_URL environment variable is required. Please set it to your PostgreSQL connection string.");
|
|
28
|
+
const pool = new Pool({
|
|
29
|
+
connectionString,
|
|
30
|
+
max: config.poolSize || Number(env.POSTGRES_POOL_SIZE) || 100
|
|
31
|
+
});
|
|
32
|
+
pool.on("error", (err) => {
|
|
33
|
+
console.error("Unexpected PostgreSQL pool error:", err);
|
|
34
|
+
});
|
|
35
|
+
return drizzle(pool, {
|
|
36
|
+
schema: manage_schema_exports,
|
|
37
|
+
logger: config.logger
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
function createAgentManageDatabaseConnection(config) {
|
|
41
|
+
const connectionString = config.connectionString || env.INKEEP_AGENTS_MANAGE_DATABASE_URL;
|
|
42
|
+
if (env.ENVIRONMENT === "test") throw new Error("createAgentManageDatabaseConnection is not supported in test environment");
|
|
43
|
+
if (!connectionString) throw new Error("INKEEP_AGENTS_MANAGE_DATABASE_URL environment variable is required. Please set it to your PostgreSQL connection string.");
|
|
44
|
+
const pool = new Pool({
|
|
45
|
+
connectionString,
|
|
46
|
+
max: 1
|
|
47
|
+
});
|
|
48
|
+
pool.on("error", (err) => {
|
|
49
|
+
console.error("Unexpected PostgreSQL pool error:", err);
|
|
50
|
+
});
|
|
51
|
+
return pool.connect().then((connection) => {
|
|
52
|
+
const db = drizzle(connection, {
|
|
53
|
+
schema: manage_schema_exports,
|
|
54
|
+
logger: config.logger
|
|
55
|
+
});
|
|
56
|
+
const release = async () => {
|
|
57
|
+
connection.release();
|
|
58
|
+
await pool.end();
|
|
59
|
+
};
|
|
60
|
+
return {
|
|
61
|
+
db,
|
|
62
|
+
release
|
|
63
|
+
};
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
//#endregion
|
|
68
|
+
export { createAgentManageDatabaseConnection, createAgentsManageDatabaseClient, createAgentsManageDatabasePool };
|