@inkeep/agents-api 0.0.0-dev-20260204075611 → 0.0.0-dev-20260204152302

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.
@@ -179902,107 +179902,202 @@ function getConversationId() {
179902
179902
  }
179903
179903
  __name(getConversationId, "getConversationId");
179904
179904
 
179905
- // ../packages/agents-core/dist/data-access/manage/contextConfigs.js
179906
- var getContextConfigById = /* @__PURE__ */ __name((db) => async (params) => {
179907
- return await db.query.contextConfigs.findFirst({
179908
- where: and(eq(contextConfigs.tenantId, params.scopes.tenantId), eq(contextConfigs.projectId, params.scopes.projectId), eq(contextConfigs.agentId, params.scopes.agentId), eq(contextConfigs.id, params.id))
179905
+ // ../packages/agents-core/dist/dolt/merge.js
179906
+ var doltMerge = /* @__PURE__ */ __name((db) => async (params) => {
179907
+ console.log("merging branch", params.fromBranch, "into", params.toBranch);
179908
+ await doltCheckout(db)({
179909
+ branch: params.toBranch
179909
179910
  });
179910
- }, "getContextConfigById");
179911
-
179912
- // ../packages/agents-core/dist/data-access/manage/externalAgents.js
179913
- var getExternalAgent = /* @__PURE__ */ __name((db) => async (params) => {
179914
- return await db.query.externalAgents.findFirst({
179915
- where: and(eq(externalAgents.tenantId, params.scopes.tenantId), eq(externalAgents.projectId, params.scopes.projectId), eq(externalAgents.id, params.externalAgentId))
179916
- }) || null;
179917
- }, "getExternalAgent");
179918
-
179919
- // ../packages/agents-core/dist/data-access/manage/functions.js
179920
- var getFunction = /* @__PURE__ */ __name((db) => async (params) => {
179921
- const { functionId, scopes } = params;
179922
- const { tenantId, projectId } = scopes;
179923
- return (await db.select().from(functions).where(and(eq(functions.tenantId, tenantId), eq(functions.projectId, projectId), eq(functions.id, functionId))).limit(1))[0] || null;
179924
- }, "getFunction");
179925
-
179926
- // ../packages/agents-core/dist/data-access/manage/functionTools.js
179927
- var logger9 = getLogger("functionTools");
179928
- var listFunctionTools = /* @__PURE__ */ __name((db) => async (params) => {
179929
- const page = params.pagination?.page || 1;
179930
- const limit3 = Math.min(params.pagination?.limit || 10, 100);
179931
- const offset = (page - 1) * limit3;
179932
- const whereClause = and(eq(functionTools.tenantId, params.scopes.tenantId), eq(functionTools.projectId, params.scopes.projectId), eq(functionTools.agentId, params.scopes.agentId));
179933
- const [functionToolsDbResults, totalResult] = await Promise.all([
179934
- db.select().from(functionTools).where(whereClause).limit(limit3).offset(offset).orderBy(desc(functionTools.createdAt)),
179935
- db.select({
179936
- count: count()
179937
- }).from(functionTools).where(whereClause)
179938
- ]);
179939
- const total = totalResult[0]?.count || 0;
179911
+ const toHead = (await db.execute(sql`SELECT HASHOF('HEAD') as hash`)).rows[0]?.hash;
179912
+ const args2 = [
179913
+ `'${params.fromBranch}'`
179914
+ ];
179915
+ if (params.noFastForward) args2.push("'--no-ff'");
179916
+ if (params.message) args2.push("'-m'", `'${params.message.replace(/'/g, "''")}'`);
179917
+ if (params.author) args2.push("'--author'", `'${params.author.name} <${params.author.email}>'`);
179918
+ const firstRow = (await db.execute(sql.raw(`SELECT DOLT_MERGE(${args2.join(", ")})`))).rows[0] ?? {};
179919
+ const mergeResult = typeof firstRow.conflicts === "number" || typeof firstRow.conflicts === "string" || firstRow.conflicts == null ? firstRow : Object.values(firstRow)[0] ?? {};
179920
+ const conflicts = Number(mergeResult.conflicts ?? 0);
179921
+ if (Number.isFinite(conflicts) && conflicts > 0) return {
179922
+ status: "conflicts",
179923
+ from: params.fromBranch,
179924
+ to: params.toBranch,
179925
+ toHead,
179926
+ hasConflicts: true
179927
+ };
179940
179928
  return {
179941
- data: functionToolsDbResults,
179942
- pagination: {
179943
- page,
179944
- limit: limit3,
179945
- total,
179946
- pages: Math.ceil(total / limit3)
179947
- }
179929
+ status: "success",
179930
+ from: params.fromBranch,
179931
+ to: params.toBranch,
179932
+ toHead,
179933
+ hasConflicts: false
179948
179934
  };
179949
- }, "listFunctionTools");
179935
+ }, "doltMerge");
179936
+ var doltAbortMerge = /* @__PURE__ */ __name((db) => async () => {
179937
+ await db.execute(sql.raw(`SELECT DOLT_MERGE('--abort')`));
179938
+ }, "doltAbortMerge");
179950
179939
 
179951
- // ../packages/agents-core/dist/data-access/manage/subAgentExternalAgentRelations.js
179952
- var getSubAgentExternalAgentRelationsByAgent = /* @__PURE__ */ __name((db) => async (params) => {
179953
- return await db.query.subAgentExternalAgentRelations.findMany({
179954
- where: and(eq(subAgentExternalAgentRelations.tenantId, params.scopes.tenantId), eq(subAgentExternalAgentRelations.projectId, params.scopes.projectId), eq(subAgentExternalAgentRelations.agentId, params.scopes.agentId))
179940
+ // ../packages/agents-core/dist/dolt/schema-sync.js
179941
+ var import_node_crypto3 = require("node:crypto");
179942
+ var SCHEMA_SOURCE_BRANCH = "main";
179943
+ var getActiveBranch = /* @__PURE__ */ __name((db) => async () => {
179944
+ return (await db.execute(sql`SELECT active_branch() as branch`)).rows[0]?.branch;
179945
+ }, "getActiveBranch");
179946
+ var getSchemaDiff = /* @__PURE__ */ __name((db) => async (targetBranch) => {
179947
+ return (await db.execute(sql.raw(`SELECT * FROM dolt_schema_diff('${targetBranch}', '${SCHEMA_SOURCE_BRANCH}')`))).rows.map((row) => ({
179948
+ fromTableName: row.from_table_name,
179949
+ toTableName: row.to_table_name,
179950
+ fromCreateStatement: row.from_create_statement,
179951
+ toCreateStatement: row.to_create_statement
179952
+ }));
179953
+ }, "getSchemaDiff");
179954
+ var hasUncommittedChanges = /* @__PURE__ */ __name((db) => async () => {
179955
+ return (await doltStatus(db)()).length > 0;
179956
+ }, "hasUncommittedChanges");
179957
+ var commitPendingChanges = /* @__PURE__ */ __name((db) => async (options) => {
179958
+ const message = options.message ?? "Auto-commit pending changes before schema sync";
179959
+ await doltAddAndCommit(db)({
179960
+ message,
179961
+ author: options.author
179955
179962
  });
179956
- }, "getSubAgentExternalAgentRelationsByAgent");
179957
-
179958
- // ../packages/agents-core/dist/data-access/manage/subAgentRelations.js
179959
- var getAgentRelationsByAgent = /* @__PURE__ */ __name((db) => async (params) => {
179960
- return await db.query.subAgentRelations.findMany({
179961
- where: and(eq(subAgentRelations.tenantId, params.scopes.tenantId), eq(subAgentRelations.projectId, params.scopes.projectId), eq(subAgentRelations.agentId, params.scopes.agentId))
179963
+ }, "commitPendingChanges");
179964
+ var SCHEMA_SYNC_LOCK_PREFIX = "schema_sync_";
179965
+ var getSchemaSyncLockKey = /* @__PURE__ */ __name((branchName) => {
179966
+ const lockKey = `${SCHEMA_SYNC_LOCK_PREFIX}${branchName}`;
179967
+ return (0, import_node_crypto3.createHash)("sha256").update(lockKey).digest().readBigInt64BE(0);
179968
+ }, "getSchemaSyncLockKey");
179969
+ var tryAcquireSchemaSyncLock = /* @__PURE__ */ __name((db) => async (branchName) => {
179970
+ const key = getSchemaSyncLockKey(branchName);
179971
+ return (await db.execute(sql`SELECT pg_try_advisory_lock(CAST(${key} AS bigint)) as acquired`)).rows[0]?.acquired === true;
179972
+ }, "tryAcquireSchemaSyncLock");
179973
+ var releaseSchemaSyncLock = /* @__PURE__ */ __name((db) => async (branchName) => {
179974
+ const key = getSchemaSyncLockKey(branchName);
179975
+ await db.execute(sql`SELECT pg_advisory_unlock(CAST(${key} AS bigint))`);
179976
+ }, "releaseSchemaSyncLock");
179977
+ var getLatestCommitHash = /* @__PURE__ */ __name((db) => async () => {
179978
+ return (await db.execute(sql`SELECT commit_hash FROM dolt_log LIMIT 1`)).rows[0]?.commit_hash;
179979
+ }, "getLatestCommitHash");
179980
+ var syncSchemaFromMain = /* @__PURE__ */ __name((db) => async (options = {}) => {
179981
+ const currentBranch = await getActiveBranch(db)();
179982
+ if (currentBranch === SCHEMA_SOURCE_BRANCH) return {
179983
+ synced: true,
179984
+ hadDifferences: false,
179985
+ error: "Cannot sync schema: already on schema source branch"
179986
+ };
179987
+ if (!await tryAcquireSchemaSyncLock(db)(currentBranch)) return {
179988
+ synced: false,
179989
+ hadDifferences: true,
179990
+ skippedDueToLock: true
179991
+ };
179992
+ try {
179993
+ const differences = await getSchemaDiff(db)(currentBranch);
179994
+ if (differences.length === 0) return {
179995
+ synced: false,
179996
+ hadDifferences: false
179997
+ };
179998
+ if (await hasUncommittedChanges(db)()) if (options.autoCommitPending) await commitPendingChanges(db)({
179999
+ message: "Auto-commit pending changes before schema sync",
180000
+ author: options.author
180001
+ });
180002
+ else return {
180003
+ synced: false,
180004
+ hadDifferences: true,
180005
+ differences,
180006
+ error: "Cannot sync schema: uncommitted changes exist. Commit changes first or set autoCommitPending: true"
180007
+ };
180008
+ const mergeSchemaMessage = `Synced schema from ${SCHEMA_SOURCE_BRANCH}`;
180009
+ if ((await doltMerge(db)({
180010
+ fromBranch: SCHEMA_SOURCE_BRANCH,
180011
+ toBranch: currentBranch,
180012
+ message: mergeSchemaMessage,
180013
+ noFastForward: true,
180014
+ author: {
180015
+ name: "Schema Sync System",
180016
+ email: "system@inkeep.com"
180017
+ }
180018
+ })).status === "conflicts") {
180019
+ await doltAbortMerge(db)();
180020
+ return {
180021
+ synced: false,
180022
+ hadDifferences: true,
180023
+ differences,
180024
+ error: "Schema merge produced conflicts that require manual resolution. Merge has been aborted."
180025
+ };
180026
+ }
180027
+ return {
180028
+ synced: true,
180029
+ hadDifferences: true,
180030
+ differences,
180031
+ mergeCommitHash: await getLatestCommitHash(db)()
180032
+ };
180033
+ } catch (error46) {
180034
+ try {
180035
+ await doltAbortMerge(db)();
180036
+ } catch {
180037
+ }
180038
+ return {
180039
+ synced: false,
180040
+ hadDifferences: true,
180041
+ error: `Schema sync failed: ${error46 instanceof Error ? error46.message : "Unknown error"}`
180042
+ };
180043
+ } finally {
180044
+ try {
180045
+ await releaseSchemaSyncLock(db)(currentBranch);
180046
+ } catch {
180047
+ }
180048
+ }
180049
+ }, "syncSchemaFromMain");
180050
+ var ensureSchemaSync = /* @__PURE__ */ __name((db) => async (options = {}) => {
180051
+ const currentBranch = await getActiveBranch(db)();
180052
+ if (currentBranch === SCHEMA_SOURCE_BRANCH) return {
180053
+ synced: false,
180054
+ hadDifferences: false
180055
+ };
180056
+ const differences = await getSchemaDiff(db)(currentBranch);
180057
+ if (differences.length === 0) return {
180058
+ synced: false,
180059
+ hadDifferences: false
180060
+ };
180061
+ if (options.autoSync) return syncSchemaFromMain(db)({
180062
+ autoCommitPending: options.autoCommitPending,
180063
+ commitMessage: options.commitMessage,
180064
+ author: options.author
179962
180065
  });
179963
- }, "getAgentRelationsByAgent");
180066
+ return {
180067
+ synced: false,
180068
+ hadDifferences: true,
180069
+ differences,
180070
+ error: `Branch '${currentBranch}' has ${differences.length} schema difference(s) from '${SCHEMA_SOURCE_BRANCH}'. Set autoSync: true to automatically sync schema.`
180071
+ };
180072
+ }, "ensureSchemaSync");
179964
180073
 
179965
- // ../packages/agents-core/dist/data-access/manage/subAgentTeamAgentRelations.js
179966
- var getSubAgentTeamAgentRelationsByAgent = /* @__PURE__ */ __name((db) => async (params) => {
179967
- return await db.query.subAgentTeamAgentRelations.findMany({
179968
- where: and(eq(subAgentTeamAgentRelations.tenantId, params.scopes.tenantId), eq(subAgentTeamAgentRelations.projectId, params.scopes.projectId), eq(subAgentTeamAgentRelations.agentId, params.scopes.agentId))
180074
+ // ../packages/agents-core/dist/dolt/branches-api.js
180075
+ var checkoutBranch = /* @__PURE__ */ __name((db) => async (params) => {
180076
+ const { branchName, syncSchema = true, autoCommitPending = false } = params;
180077
+ const branch = (await doltListBranches(db)()).find((b3) => b3.name === branchName);
180078
+ if (!branch) throw new Error(`Branch '${branchName}' not found`);
180079
+ await doltCheckout(db)({
180080
+ branch: branchName
179969
180081
  });
179970
- }, "getSubAgentTeamAgentRelationsByAgent");
179971
-
179972
- // ../packages/agents-core/dist/dolt/commit.js
179973
- var doltAdd = /* @__PURE__ */ __name((db) => async (params = {}) => {
179974
- if (!params.tables || params.tables.length === 0) await db.execute(sql`SELECT DOLT_ADD('-A')`);
179975
- else {
179976
- const tableParams = params.tables.map((t2) => `'${t2}'`).join(", ");
179977
- console.log(tableParams);
179978
- await db.execute(sql.raw(`SELECT DOLT_ADD(${tableParams})`));
179979
- }
179980
- }, "doltAdd");
179981
- var doltCommit = /* @__PURE__ */ __name((db) => async (params) => {
179982
- const args2 = [];
179983
- args2.push("'-a'");
179984
- args2.push("'-m'", `'${params.message.replace(/'/g, "''")}'`);
179985
- if (params.author) args2.push("'--author'", `'${params.author.name} <${params.author.email}>'`);
179986
- await db.execute(sql.raw(`SELECT DOLT_COMMIT(${args2.join(", ")})`));
179987
- return "Commit successful";
179988
- }, "doltCommit");
179989
- var doltAddAndCommit = /* @__PURE__ */ __name((db) => async (params) => {
179990
- await doltAdd(db)({});
179991
- return doltCommit(db)(params);
179992
- }, "doltAddAndCommit");
179993
- var doltReset = /* @__PURE__ */ __name((db) => async (params) => {
179994
- if (params?.hard) await db.execute(sql`SELECT DOLT_RESET('--hard')`);
179995
- else if (params?.tables && params.tables.length > 0) {
179996
- const tableParams = params.tables.map((t2) => `'${t2}'`).join(", ");
179997
- await db.execute(sql.raw(`SELECT DOLT_RESET(${tableParams})`));
179998
- } else await db.execute(sql`SELECT DOLT_RESET()`);
179999
- }, "doltReset");
180000
- var doltStatus = /* @__PURE__ */ __name((db) => async () => {
180001
- return (await db.execute(sql`SELECT * FROM dolt_status`)).rows;
180002
- }, "doltStatus");
180003
- var doltListTags = /* @__PURE__ */ __name((db) => async () => {
180004
- return (await db.execute(sql`SELECT * FROM dolt_tags`)).rows;
180005
- }, "doltListTags");
180082
+ let schemaSyncResult = {
180083
+ synced: false,
180084
+ hadDifferences: false
180085
+ };
180086
+ if (syncSchema && branchName !== SCHEMA_SOURCE_BRANCH) schemaSyncResult = await ensureSchemaSync(db)({
180087
+ autoSync: true,
180088
+ autoCommitPending
180089
+ });
180090
+ return {
180091
+ branchName,
180092
+ hash: (await doltListBranches(db)()).find((b3) => b3.name === branchName)?.hash ?? branch.hash,
180093
+ schemaSync: {
180094
+ performed: schemaSyncResult.synced,
180095
+ hadDifferences: schemaSyncResult.hadDifferences,
180096
+ error: schemaSyncResult.error,
180097
+ mergeCommitHash: schemaSyncResult.mergeCommitHash
180098
+ }
180099
+ };
180100
+ }, "checkoutBranch");
180006
180101
 
180007
180102
  // ../packages/agents-core/dist/dolt/ref-helpers.js
180008
180103
  var isValidCommitHash = /* @__PURE__ */ __name((ref) => {
@@ -186985,12 +187080,12 @@ function unsafeStringify(arr, offset = 0) {
186985
187080
  __name(unsafeStringify, "unsafeStringify");
186986
187081
 
186987
187082
  // ../node_modules/.pnpm/uuid@13.0.0/node_modules/uuid/dist-node/rng.js
186988
- var import_node_crypto3 = require("node:crypto");
187083
+ var import_node_crypto4 = require("node:crypto");
186989
187084
  var rnds8Pool = new Uint8Array(256);
186990
187085
  var poolPtr = rnds8Pool.length;
186991
187086
  function rng() {
186992
187087
  if (poolPtr > rnds8Pool.length - 16) {
186993
- (0, import_node_crypto3.randomFillSync)(rnds8Pool);
187088
+ (0, import_node_crypto4.randomFillSync)(rnds8Pool);
186994
187089
  poolPtr = 0;
186995
187090
  }
186996
187091
  return rnds8Pool.slice(poolPtr, poolPtr += 16);
@@ -186998,9 +187093,9 @@ function rng() {
186998
187093
  __name(rng, "rng");
186999
187094
 
187000
187095
  // ../node_modules/.pnpm/uuid@13.0.0/node_modules/uuid/dist-node/native.js
187001
- var import_node_crypto4 = require("node:crypto");
187096
+ var import_node_crypto5 = require("node:crypto");
187002
187097
  var native_default = {
187003
- randomUUID: import_node_crypto4.randomUUID
187098
+ randomUUID: import_node_crypto5.randomUUID
187004
187099
  };
187005
187100
 
187006
187101
  // ../node_modules/.pnpm/uuid@13.0.0/node_modules/uuid/dist-node/v4.js
@@ -195427,8 +195522,8 @@ var Logger = class {
195427
195522
  }
195428
195523
  }
195429
195524
  };
195430
- var logger10 = new Logger();
195431
- var logger_default = logger10;
195525
+ var logger9 = new Logger();
195526
+ var logger_default = logger9;
195432
195527
  var ComposioError2 = class _ComposioError extends Error {
195433
195528
  static {
195434
195529
  __name(this, "_ComposioError");
@@ -196619,208 +196714,116 @@ var doltCheckout = /* @__PURE__ */ __name((db) => async (params) => {
196619
196714
  params.create ? await db.execute(sql.raw(`SELECT DOLT_CHECKOUT('-b', '${params.branch}')`)) : await db.execute(sql.raw(`SELECT DOLT_CHECKOUT('${params.branch}')`));
196620
196715
  }, "doltCheckout");
196621
196716
 
196622
- // ../packages/agents-core/dist/dolt/merge.js
196623
- var doltMerge = /* @__PURE__ */ __name((db) => async (params) => {
196624
- console.log("merging branch", params.fromBranch, "into", params.toBranch);
196625
- await doltCheckout(db)({
196626
- branch: params.toBranch
196627
- });
196628
- const toHead = (await db.execute(sql`SELECT HASHOF('HEAD') as hash`)).rows[0]?.hash;
196629
- const args2 = [
196630
- `'${params.fromBranch}'`
196631
- ];
196632
- if (params.noFastForward) args2.push("'--no-ff'");
196633
- if (params.message) args2.push("'-m'", `'${params.message.replace(/'/g, "''")}'`);
196717
+ // ../packages/agents-core/dist/dolt/commit.js
196718
+ var doltAdd = /* @__PURE__ */ __name((db) => async (params = {}) => {
196719
+ if (!params.tables || params.tables.length === 0) await db.execute(sql`SELECT DOLT_ADD('-A')`);
196720
+ else {
196721
+ const tableParams = params.tables.map((t2) => `'${t2}'`).join(", ");
196722
+ console.log(tableParams);
196723
+ await db.execute(sql.raw(`SELECT DOLT_ADD(${tableParams})`));
196724
+ }
196725
+ }, "doltAdd");
196726
+ var doltCommit = /* @__PURE__ */ __name((db) => async (params) => {
196727
+ const args2 = [];
196728
+ args2.push("'-a'");
196729
+ args2.push("'-m'", `'${params.message.replace(/'/g, "''")}'`);
196634
196730
  if (params.author) args2.push("'--author'", `'${params.author.name} <${params.author.email}>'`);
196635
- const firstRow = (await db.execute(sql.raw(`SELECT DOLT_MERGE(${args2.join(", ")})`))).rows[0] ?? {};
196636
- const mergeResult = typeof firstRow.conflicts === "number" || typeof firstRow.conflicts === "string" || firstRow.conflicts == null ? firstRow : Object.values(firstRow)[0] ?? {};
196637
- const conflicts = Number(mergeResult.conflicts ?? 0);
196638
- if (Number.isFinite(conflicts) && conflicts > 0) return {
196639
- status: "conflicts",
196640
- from: params.fromBranch,
196641
- to: params.toBranch,
196642
- toHead,
196643
- hasConflicts: true
196644
- };
196645
- return {
196646
- status: "success",
196647
- from: params.fromBranch,
196648
- to: params.toBranch,
196649
- toHead,
196650
- hasConflicts: false
196651
- };
196652
- }, "doltMerge");
196653
- var doltAbortMerge = /* @__PURE__ */ __name((db) => async () => {
196654
- await db.execute(sql.raw(`SELECT DOLT_MERGE('--abort')`));
196655
- }, "doltAbortMerge");
196731
+ await db.execute(sql.raw(`SELECT DOLT_COMMIT(${args2.join(", ")})`));
196732
+ return "Commit successful";
196733
+ }, "doltCommit");
196734
+ var doltAddAndCommit = /* @__PURE__ */ __name((db) => async (params) => {
196735
+ await doltAdd(db)({});
196736
+ return doltCommit(db)(params);
196737
+ }, "doltAddAndCommit");
196738
+ var doltReset = /* @__PURE__ */ __name((db) => async (params) => {
196739
+ if (params?.hard) await db.execute(sql`SELECT DOLT_RESET('--hard')`);
196740
+ else if (params?.tables && params.tables.length > 0) {
196741
+ const tableParams = params.tables.map((t2) => `'${t2}'`).join(", ");
196742
+ await db.execute(sql.raw(`SELECT DOLT_RESET(${tableParams})`));
196743
+ } else await db.execute(sql`SELECT DOLT_RESET()`);
196744
+ }, "doltReset");
196745
+ var doltStatus = /* @__PURE__ */ __name((db) => async () => {
196746
+ return (await db.execute(sql`SELECT * FROM dolt_status`)).rows;
196747
+ }, "doltStatus");
196748
+ var doltListTags = /* @__PURE__ */ __name((db) => async () => {
196749
+ return (await db.execute(sql`SELECT * FROM dolt_tags`)).rows;
196750
+ }, "doltListTags");
196656
196751
 
196657
- // ../packages/agents-core/dist/dolt/schema-sync.js
196658
- var import_node_crypto5 = require("node:crypto");
196659
- var SCHEMA_SOURCE_BRANCH = "main";
196660
- var getActiveBranch = /* @__PURE__ */ __name((db) => async () => {
196661
- return (await db.execute(sql`SELECT active_branch() as branch`)).rows[0]?.branch;
196662
- }, "getActiveBranch");
196663
- var getSchemaDiff = /* @__PURE__ */ __name((db) => async (targetBranch) => {
196664
- return (await db.execute(sql.raw(`SELECT * FROM dolt_schema_diff('${targetBranch}', '${SCHEMA_SOURCE_BRANCH}')`))).rows.map((row) => ({
196665
- fromTableName: row.from_table_name,
196666
- toTableName: row.to_table_name,
196667
- fromCreateStatement: row.from_create_statement,
196668
- toCreateStatement: row.to_create_statement
196669
- }));
196670
- }, "getSchemaDiff");
196671
- var hasUncommittedChanges = /* @__PURE__ */ __name((db) => async () => {
196672
- return (await doltStatus(db)()).length > 0;
196673
- }, "hasUncommittedChanges");
196674
- var commitPendingChanges = /* @__PURE__ */ __name((db) => async (options) => {
196675
- const message = options.message ?? "Auto-commit pending changes before schema sync";
196676
- await doltAddAndCommit(db)({
196677
- message,
196678
- author: options.author
196752
+ // ../packages/agents-core/dist/data-access/manage/projectLifecycle.js
196753
+ var logger10 = getLogger("project-lifecycle");
196754
+
196755
+ // ../packages/agents-core/dist/data-access/manage/contextConfigs.js
196756
+ var getContextConfigById = /* @__PURE__ */ __name((db) => async (params) => {
196757
+ return await db.query.contextConfigs.findFirst({
196758
+ where: and(eq(contextConfigs.tenantId, params.scopes.tenantId), eq(contextConfigs.projectId, params.scopes.projectId), eq(contextConfigs.agentId, params.scopes.agentId), eq(contextConfigs.id, params.id))
196679
196759
  });
196680
- }, "commitPendingChanges");
196681
- var SCHEMA_SYNC_LOCK_PREFIX = "schema_sync_";
196682
- var getSchemaSyncLockKey = /* @__PURE__ */ __name((branchName) => {
196683
- const lockKey = `${SCHEMA_SYNC_LOCK_PREFIX}${branchName}`;
196684
- return (0, import_node_crypto5.createHash)("sha256").update(lockKey).digest().readBigInt64BE(0);
196685
- }, "getSchemaSyncLockKey");
196686
- var tryAcquireSchemaSyncLock = /* @__PURE__ */ __name((db) => async (branchName) => {
196687
- const key = getSchemaSyncLockKey(branchName);
196688
- return (await db.execute(sql`SELECT pg_try_advisory_lock(CAST(${key} AS bigint)) as acquired`)).rows[0]?.acquired === true;
196689
- }, "tryAcquireSchemaSyncLock");
196690
- var releaseSchemaSyncLock = /* @__PURE__ */ __name((db) => async (branchName) => {
196691
- const key = getSchemaSyncLockKey(branchName);
196692
- await db.execute(sql`SELECT pg_advisory_unlock(CAST(${key} AS bigint))`);
196693
- }, "releaseSchemaSyncLock");
196694
- var getLatestCommitHash = /* @__PURE__ */ __name((db) => async () => {
196695
- return (await db.execute(sql`SELECT commit_hash FROM dolt_log LIMIT 1`)).rows[0]?.commit_hash;
196696
- }, "getLatestCommitHash");
196697
- var syncSchemaFromMain = /* @__PURE__ */ __name((db) => async (options = {}) => {
196698
- const currentBranch = await getActiveBranch(db)();
196699
- if (currentBranch === SCHEMA_SOURCE_BRANCH) return {
196700
- synced: true,
196701
- hadDifferences: false,
196702
- error: "Cannot sync schema: already on schema source branch"
196703
- };
196704
- if (!await tryAcquireSchemaSyncLock(db)(currentBranch)) return {
196705
- synced: false,
196706
- hadDifferences: true,
196707
- skippedDueToLock: true
196708
- };
196709
- try {
196710
- const differences = await getSchemaDiff(db)(currentBranch);
196711
- if (differences.length === 0) return {
196712
- synced: false,
196713
- hadDifferences: false
196714
- };
196715
- if (await hasUncommittedChanges(db)()) if (options.autoCommitPending) await commitPendingChanges(db)({
196716
- message: "Auto-commit pending changes before schema sync",
196717
- author: options.author
196718
- });
196719
- else return {
196720
- synced: false,
196721
- hadDifferences: true,
196722
- differences,
196723
- error: "Cannot sync schema: uncommitted changes exist. Commit changes first or set autoCommitPending: true"
196724
- };
196725
- const mergeSchemaMessage = `Synced schema from ${SCHEMA_SOURCE_BRANCH}`;
196726
- if ((await doltMerge(db)({
196727
- fromBranch: SCHEMA_SOURCE_BRANCH,
196728
- toBranch: currentBranch,
196729
- message: mergeSchemaMessage,
196730
- noFastForward: true,
196731
- author: {
196732
- name: "Schema Sync System",
196733
- email: "system@inkeep.com"
196734
- }
196735
- })).status === "conflicts") {
196736
- await doltAbortMerge(db)();
196737
- return {
196738
- synced: false,
196739
- hadDifferences: true,
196740
- differences,
196741
- error: "Schema merge produced conflicts that require manual resolution. Merge has been aborted."
196742
- };
196743
- }
196744
- return {
196745
- synced: true,
196746
- hadDifferences: true,
196747
- differences,
196748
- mergeCommitHash: await getLatestCommitHash(db)()
196749
- };
196750
- } catch (error46) {
196751
- try {
196752
- await doltAbortMerge(db)();
196753
- } catch {
196754
- }
196755
- return {
196756
- synced: false,
196757
- hadDifferences: true,
196758
- error: `Schema sync failed: ${error46 instanceof Error ? error46.message : "Unknown error"}`
196759
- };
196760
- } finally {
196761
- try {
196762
- await releaseSchemaSyncLock(db)(currentBranch);
196763
- } catch {
196760
+ }, "getContextConfigById");
196761
+
196762
+ // ../packages/agents-core/dist/data-access/manage/externalAgents.js
196763
+ var getExternalAgent = /* @__PURE__ */ __name((db) => async (params) => {
196764
+ return await db.query.externalAgents.findFirst({
196765
+ where: and(eq(externalAgents.tenantId, params.scopes.tenantId), eq(externalAgents.projectId, params.scopes.projectId), eq(externalAgents.id, params.externalAgentId))
196766
+ }) || null;
196767
+ }, "getExternalAgent");
196768
+
196769
+ // ../packages/agents-core/dist/data-access/manage/functions.js
196770
+ var getFunction = /* @__PURE__ */ __name((db) => async (params) => {
196771
+ const { functionId, scopes } = params;
196772
+ const { tenantId, projectId } = scopes;
196773
+ return (await db.select().from(functions).where(and(eq(functions.tenantId, tenantId), eq(functions.projectId, projectId), eq(functions.id, functionId))).limit(1))[0] || null;
196774
+ }, "getFunction");
196775
+
196776
+ // ../packages/agents-core/dist/data-access/manage/functionTools.js
196777
+ var logger11 = getLogger("functionTools");
196778
+ var listFunctionTools = /* @__PURE__ */ __name((db) => async (params) => {
196779
+ const page = params.pagination?.page || 1;
196780
+ const limit3 = Math.min(params.pagination?.limit || 10, 100);
196781
+ const offset = (page - 1) * limit3;
196782
+ const whereClause = and(eq(functionTools.tenantId, params.scopes.tenantId), eq(functionTools.projectId, params.scopes.projectId), eq(functionTools.agentId, params.scopes.agentId));
196783
+ const [functionToolsDbResults, totalResult] = await Promise.all([
196784
+ db.select().from(functionTools).where(whereClause).limit(limit3).offset(offset).orderBy(desc(functionTools.createdAt)),
196785
+ db.select({
196786
+ count: count()
196787
+ }).from(functionTools).where(whereClause)
196788
+ ]);
196789
+ const total = totalResult[0]?.count || 0;
196790
+ return {
196791
+ data: functionToolsDbResults,
196792
+ pagination: {
196793
+ page,
196794
+ limit: limit3,
196795
+ total,
196796
+ pages: Math.ceil(total / limit3)
196764
196797
  }
196765
- }
196766
- }, "syncSchemaFromMain");
196767
- var ensureSchemaSync = /* @__PURE__ */ __name((db) => async (options = {}) => {
196768
- const currentBranch = await getActiveBranch(db)();
196769
- if (currentBranch === SCHEMA_SOURCE_BRANCH) return {
196770
- synced: false,
196771
- hadDifferences: false
196772
196798
  };
196773
- const differences = await getSchemaDiff(db)(currentBranch);
196774
- if (differences.length === 0) return {
196775
- synced: false,
196776
- hadDifferences: false
196777
- };
196778
- if (options.autoSync) return syncSchemaFromMain(db)({
196779
- autoCommitPending: options.autoCommitPending,
196780
- commitMessage: options.commitMessage,
196781
- author: options.author
196799
+ }, "listFunctionTools");
196800
+
196801
+ // ../packages/agents-core/dist/data-access/manage/subAgentExternalAgentRelations.js
196802
+ var getSubAgentExternalAgentRelationsByAgent = /* @__PURE__ */ __name((db) => async (params) => {
196803
+ return await db.query.subAgentExternalAgentRelations.findMany({
196804
+ where: and(eq(subAgentExternalAgentRelations.tenantId, params.scopes.tenantId), eq(subAgentExternalAgentRelations.projectId, params.scopes.projectId), eq(subAgentExternalAgentRelations.agentId, params.scopes.agentId))
196782
196805
  });
196783
- return {
196784
- synced: false,
196785
- hadDifferences: true,
196786
- differences,
196787
- error: `Branch '${currentBranch}' has ${differences.length} schema difference(s) from '${SCHEMA_SOURCE_BRANCH}'. Set autoSync: true to automatically sync schema.`
196788
- };
196789
- }, "ensureSchemaSync");
196806
+ }, "getSubAgentExternalAgentRelationsByAgent");
196790
196807
 
196791
- // ../packages/agents-core/dist/dolt/branches-api.js
196792
- var checkoutBranch = /* @__PURE__ */ __name((db) => async (params) => {
196793
- const { branchName, syncSchema = true, autoCommitPending = false } = params;
196794
- const branch = (await doltListBranches(db)()).find((b3) => b3.name === branchName);
196795
- if (!branch) throw new Error(`Branch '${branchName}' not found`);
196796
- await doltCheckout(db)({
196797
- branch: branchName
196808
+ // ../packages/agents-core/dist/data-access/manage/subAgentRelations.js
196809
+ var getAgentRelationsByAgent = /* @__PURE__ */ __name((db) => async (params) => {
196810
+ return await db.query.subAgentRelations.findMany({
196811
+ where: and(eq(subAgentRelations.tenantId, params.scopes.tenantId), eq(subAgentRelations.projectId, params.scopes.projectId), eq(subAgentRelations.agentId, params.scopes.agentId))
196798
196812
  });
196799
- let schemaSyncResult = {
196800
- synced: false,
196801
- hadDifferences: false
196802
- };
196803
- if (syncSchema && branchName !== SCHEMA_SOURCE_BRANCH) schemaSyncResult = await ensureSchemaSync(db)({
196804
- autoSync: true,
196805
- autoCommitPending
196813
+ }, "getAgentRelationsByAgent");
196814
+
196815
+ // ../packages/agents-core/dist/data-access/manage/subAgentTeamAgentRelations.js
196816
+ var getSubAgentTeamAgentRelationsByAgent = /* @__PURE__ */ __name((db) => async (params) => {
196817
+ return await db.query.subAgentTeamAgentRelations.findMany({
196818
+ where: and(eq(subAgentTeamAgentRelations.tenantId, params.scopes.tenantId), eq(subAgentTeamAgentRelations.projectId, params.scopes.projectId), eq(subAgentTeamAgentRelations.agentId, params.scopes.agentId))
196806
196819
  });
196807
- return {
196808
- branchName,
196809
- hash: (await doltListBranches(db)()).find((b3) => b3.name === branchName)?.hash ?? branch.hash,
196810
- schemaSync: {
196811
- performed: schemaSyncResult.synced,
196812
- hadDifferences: schemaSyncResult.hadDifferences,
196813
- error: schemaSyncResult.error,
196814
- mergeCommitHash: schemaSyncResult.mergeCommitHash
196815
- }
196816
- };
196817
- }, "checkoutBranch");
196820
+ }, "getSubAgentTeamAgentRelationsByAgent");
196818
196821
 
196819
196822
  // ../packages/agents-core/dist/utils/apiKeys.js
196820
196823
  var import_node_crypto6 = require("node:crypto");
196821
196824
  var import_node_util2 = require("node:util");
196822
196825
  var scryptAsync = (0, import_node_util2.promisify)(import_node_crypto6.scrypt);
196823
- var logger11 = getLogger("api-key");
196826
+ var logger12 = getLogger("api-key");
196824
196827
  var generatePublicId = customAlphabet("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-", 12);
196825
196828
 
196826
196829
  // ../packages/agents-core/dist/utils/error.js
@@ -196973,7 +196976,7 @@ var commonDeleteErrorResponses = {
196973
196976
 
196974
196977
  // ../packages/agents-core/dist/utils/JsonTransformer.js
196975
196978
  var jmespath2 = __toESM(require_jmespath(), 1);
196976
- var logger12 = getLogger("JsonTransformer");
196979
+ var logger13 = getLogger("JsonTransformer");
196977
196980
 
196978
196981
  // ../packages/agents-core/dist/utils/json-parser.js
196979
196982
  var import_traverse = __toESM(require_traverse(), 1);
@@ -227410,7 +227413,7 @@ var openrouter = createOpenRouter({
227410
227413
  });
227411
227414
 
227412
227415
  // ../packages/agents-core/dist/utils/model-factory.js
227413
- var logger13 = getLogger("ModelFactory");
227416
+ var logger14 = getLogger("ModelFactory");
227414
227417
  var nimDefault = createOpenAICompatible({
227415
227418
  name: "nim",
227416
227419
  baseURL: "https://integrate.api.nvidia.com/v1",
@@ -227466,7 +227469,7 @@ var ModelFactory = class ModelFactory2 {
227466
227469
  },
227467
227470
  ...config3
227468
227471
  };
227469
- logger13.info({
227472
+ logger14.info({
227470
227473
  config: {
227471
227474
  baseURL: customConfig.baseURL,
227472
227475
  hasApiKey: !!process.env.CUSTOM_LLM_API_KEY,
@@ -227506,7 +227509,7 @@ var ModelFactory = class ModelFactory2 {
227506
227509
  if (!modelSettings.model) throw new Error("Model configuration is required");
227507
227510
  const modelString = modelSettings.model.trim();
227508
227511
  const { provider, modelName } = ModelFactory2.parseModelString(modelString);
227509
- logger13.debug({
227512
+ logger14.debug({
227510
227513
  provider,
227511
227514
  model: modelName,
227512
227515
  fullModelString: modelSettings.model,
@@ -227514,7 +227517,7 @@ var ModelFactory = class ModelFactory2 {
227514
227517
  }, "Creating language model from config");
227515
227518
  const providerConfig = ModelFactory2.extractProviderConfig(modelSettings.providerOptions);
227516
227519
  if (provider === "azure" || Object.keys(providerConfig).length > 0) {
227517
- logger13.info({
227520
+ logger14.info({
227518
227521
  config: providerConfig
227519
227522
  }, `Applying custom ${provider} provider configuration`);
227520
227523
  return ModelFactory2.createProvider(provider, providerConfig).languageModel(modelName);
@@ -227631,13 +227634,13 @@ var ModelFactory = class ModelFactory2 {
227631
227634
  };
227632
227635
 
227633
227636
  // ../packages/agents-core/dist/utils/service-token-auth.js
227634
- var logger14 = getLogger("service-token-auth");
227637
+ var logger15 = getLogger("service-token-auth");
227635
227638
 
227636
227639
  // ../packages/agents-core/dist/utils/third-party-mcp-servers/composio-client.js
227637
227640
  var logger$1 = getLogger("composio-client");
227638
227641
 
227639
227642
  // ../packages/agents-core/dist/utils/third-party-mcp-servers/third-party-check.js
227640
- var logger15 = getLogger("third-party-check");
227643
+ var logger16 = getLogger("third-party-check");
227641
227644
 
227642
227645
  // ../packages/agents-core/dist/utils/trigger-auth.js
227643
227646
  var import_node_crypto7 = require("node:crypto");
@@ -227645,10 +227648,10 @@ var import_node_util3 = require("node:util");
227645
227648
  var scryptAsync2 = (0, import_node_util3.promisify)(import_node_crypto7.scrypt);
227646
227649
 
227647
227650
  // ../packages/agents-core/dist/utils/tracer-factory.js
227648
- var logger16 = getLogger("tracer");
227651
+ var logger17 = getLogger("tracer");
227649
227652
 
227650
227653
  // ../packages/agents-core/dist/data-access/manage/tools.js
227651
- var logger17 = getLogger("tools");
227654
+ var logger18 = getLogger("tools");
227652
227655
  var listTools = /* @__PURE__ */ __name((db) => async (params) => {
227653
227656
  const page = params.pagination?.page || 1;
227654
227657
  const limit3 = Math.min(params.pagination?.limit || 10, 100);
@@ -227685,6 +227688,7 @@ var getAgentById = /* @__PURE__ */ __name((db) => async (params) => {
227685
227688
  where: and(eq(agents.tenantId, params.scopes.tenantId), eq(agents.projectId, params.scopes.projectId), eq(agents.id, params.scopes.agentId))
227686
227689
  }) ?? null;
227687
227690
  }, "getAgentById");
227691
+ var agentsLogger = getLogger("agents-data-access");
227688
227692
  var fetchComponentRelationships = /* @__PURE__ */ __name((db) => async (scopes, subAgentIds, config3) => {
227689
227693
  const componentsObject = {};
227690
227694
  if (subAgentIds.length > 0) {
@@ -228158,9 +228162,6 @@ var getEvaluationJobConfigEvaluatorRelations = /* @__PURE__ */ __name((db) => as
228158
228162
  // ../packages/agents-core/dist/data-access/manage/projectFull.js
228159
228163
  var defaultLogger2 = getLogger("projectFull");
228160
228164
 
228161
- // ../packages/agents-core/dist/data-access/manage/projectLifecycle.js
228162
- var logger18 = getLogger("project-lifecycle");
228163
-
228164
228165
  // ../packages/agents-core/dist/data-access/runtime/conversations.js
228165
228166
  var getConversation = /* @__PURE__ */ __name((db) => async (params) => {
228166
228167
  return await db.query.conversations.findFirst({