@inkeep/agents-core 0.58.14 → 0.58.16

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.
Files changed (75) hide show
  1. package/dist/auth/auth-schema.d.ts +85 -85
  2. package/dist/auth/auth-validation-schemas.d.ts +135 -135
  3. package/dist/auth/auth.js +17 -45
  4. package/dist/data-access/index.d.ts +5 -2
  5. package/dist/data-access/index.js +5 -2
  6. package/dist/data-access/manage/agentFull.js +28 -12
  7. package/dist/data-access/manage/agents.d.ts +35 -34
  8. package/dist/data-access/manage/agents.js +33 -33
  9. package/dist/data-access/manage/artifactComponents.d.ts +12 -12
  10. package/dist/data-access/manage/artifactComponents.js +14 -13
  11. package/dist/data-access/manage/audit-queries.js +6 -5
  12. package/dist/data-access/manage/contextConfigs.d.ts +12 -12
  13. package/dist/data-access/manage/contextConfigs.js +7 -6
  14. package/dist/data-access/manage/credentialReferences.js +12 -11
  15. package/dist/data-access/manage/dataComponents.d.ts +6 -6
  16. package/dist/data-access/manage/dataComponents.js +13 -11
  17. package/dist/data-access/manage/evalConfig.js +42 -41
  18. package/dist/data-access/manage/externalAgents.js +8 -7
  19. package/dist/data-access/manage/functionTools.d.ts +17 -21
  20. package/dist/data-access/manage/functionTools.js +27 -65
  21. package/dist/data-access/manage/functions.js +7 -10
  22. package/dist/data-access/manage/projects.js +37 -36
  23. package/dist/data-access/manage/scheduledTriggers.js +10 -6
  24. package/dist/data-access/manage/scheduledWorkflows.js +3 -2
  25. package/dist/data-access/manage/scope-helpers.d.ts +2 -1
  26. package/dist/data-access/manage/scope-helpers.js +2 -1
  27. package/dist/data-access/manage/skills.d.ts +14 -14
  28. package/dist/data-access/manage/skills.js +14 -9
  29. package/dist/data-access/manage/subAgentExternalAgentRelations.d.ts +24 -24
  30. package/dist/data-access/manage/subAgentRelations.d.ts +28 -28
  31. package/dist/data-access/manage/subAgentRelations.js +28 -26
  32. package/dist/data-access/manage/subAgentTeamAgentRelations.d.ts +24 -24
  33. package/dist/data-access/manage/subAgentTeamAgentRelations.js +16 -16
  34. package/dist/data-access/manage/subAgents.d.ts +18 -18
  35. package/dist/data-access/manage/subAgents.js +8 -7
  36. package/dist/data-access/manage/tools.d.ts +24 -24
  37. package/dist/data-access/manage/tools.js +8 -6
  38. package/dist/data-access/manage/triggers.js +12 -8
  39. package/dist/data-access/runtime/apiKeys.d.ts +20 -20
  40. package/dist/data-access/runtime/apiKeys.js +16 -12
  41. package/dist/data-access/runtime/apps.d.ts +10 -10
  42. package/dist/data-access/runtime/apps.js +8 -7
  43. package/dist/data-access/runtime/audit-queries.js +7 -7
  44. package/dist/data-access/runtime/auth.d.ts +18 -0
  45. package/dist/data-access/runtime/auth.js +35 -0
  46. package/dist/data-access/runtime/cascade-delete.js +29 -24
  47. package/dist/data-access/runtime/contextCache.d.ts +1 -0
  48. package/dist/data-access/runtime/contextCache.js +9 -8
  49. package/dist/data-access/runtime/conversations.d.ts +27 -27
  50. package/dist/data-access/runtime/conversations.js +8 -12
  51. package/dist/data-access/runtime/evalRuns.js +23 -22
  52. package/dist/data-access/runtime/github-work-app-installations.js +32 -21
  53. package/dist/data-access/runtime/ledgerArtifacts.js +9 -24
  54. package/dist/data-access/runtime/messages.d.ts +24 -19
  55. package/dist/data-access/runtime/messages.js +15 -9
  56. package/dist/data-access/runtime/projects.js +6 -5
  57. package/dist/data-access/runtime/scheduledTriggerInvocations.js +16 -26
  58. package/dist/data-access/runtime/slack-work-app-mcp.js +6 -5
  59. package/dist/data-access/runtime/tasks.d.ts +10 -6
  60. package/dist/data-access/runtime/tasks.js +4 -5
  61. package/dist/data-access/runtime/triggerInvocations.js +4 -8
  62. package/dist/data-access/runtime/workAppSlack.js +21 -14
  63. package/dist/db/manage/manage-schema.d.ts +357 -357
  64. package/dist/db/runtime/runtime-schema.d.ts +300 -300
  65. package/dist/index.d.ts +7 -3
  66. package/dist/index.js +8 -2
  67. package/dist/retry/index.d.ts +3 -0
  68. package/dist/retry/index.js +4 -0
  69. package/dist/retry/retryable-errors.d.ts +10 -0
  70. package/dist/retry/retryable-errors.js +72 -0
  71. package/dist/retry/withRetry.d.ts +15 -0
  72. package/dist/retry/withRetry.js +37 -0
  73. package/dist/validation/dolt-schemas.d.ts +1 -1
  74. package/dist/validation/schemas.d.ts +1704 -1704
  75. package/package.json +1 -1
@@ -1,4 +1,5 @@
1
1
  import { workAppSlackChannelAgentConfigs, workAppSlackUserMappings, workAppSlackWorkspaces } from "../../db/runtime/runtime-schema.js";
2
+ import { projectScopedWhere, tenantScopedWhere } from "../manage/scope-helpers.js";
2
3
  import { and, eq } from "drizzle-orm";
3
4
  import { existsSync, readFileSync, writeFileSync } from "node:fs";
4
5
  import { dirname, join } from "node:path";
@@ -18,7 +19,7 @@ const createWorkAppSlackWorkspace = (db) => async (data) => {
18
19
  return result;
19
20
  };
20
21
  const findWorkAppSlackWorkspaceByTeamId = (db) => async (tenantId, slackTeamId) => {
21
- return (await db.select().from(workAppSlackWorkspaces).where(and(eq(workAppSlackWorkspaces.tenantId, tenantId), eq(workAppSlackWorkspaces.slackTeamId, slackTeamId))).limit(1))[0] || null;
22
+ return (await db.select().from(workAppSlackWorkspaces).where(and(tenantScopedWhere(workAppSlackWorkspaces, { tenantId }), eq(workAppSlackWorkspaces.slackTeamId, slackTeamId))).limit(1))[0] || null;
22
23
  };
23
24
  /**
24
25
  * Find a workspace by Slack team ID only (without tenant filter).
@@ -39,7 +40,7 @@ const findWorkAppSlackWorkspaceByNangoConnectionId = (db) => async (nangoConnect
39
40
  return (await db.select().from(workAppSlackWorkspaces).where(eq(workAppSlackWorkspaces.nangoConnectionId, nangoConnectionId)))[0] || null;
40
41
  };
41
42
  const listWorkAppSlackWorkspacesByTenant = (db) => async (tenantId) => {
42
- return db.select().from(workAppSlackWorkspaces).where(eq(workAppSlackWorkspaces.tenantId, tenantId));
43
+ return db.select().from(workAppSlackWorkspaces).where(tenantScopedWhere(workAppSlackWorkspaces, { tenantId }));
43
44
  };
44
45
  const updateWorkAppSlackWorkspace = (db) => async (id, data) => {
45
46
  const [result] = await db.update(workAppSlackWorkspaces).set({
@@ -55,7 +56,7 @@ const deleteWorkAppSlackWorkspaceByNangoConnectionId = (db) => async (nangoConne
55
56
  return (await db.delete(workAppSlackWorkspaces).where(eq(workAppSlackWorkspaces.nangoConnectionId, nangoConnectionId)).returning()).length > 0;
56
57
  };
57
58
  const findWorkAppSlackUserMapping = (db) => async (tenantId, slackUserId, slackTeamId, clientId = DEFAULT_CLIENT_ID) => {
58
- return (await db.select().from(workAppSlackUserMappings).where(and(eq(workAppSlackUserMappings.tenantId, tenantId), eq(workAppSlackUserMappings.clientId, clientId), eq(workAppSlackUserMappings.slackUserId, slackUserId), eq(workAppSlackUserMappings.slackTeamId, slackTeamId))).limit(1))[0] || null;
59
+ return (await db.select().from(workAppSlackUserMappings).where(and(tenantScopedWhere(workAppSlackUserMappings, { tenantId }), eq(workAppSlackUserMappings.clientId, clientId), eq(workAppSlackUserMappings.slackUserId, slackUserId), eq(workAppSlackUserMappings.slackTeamId, slackTeamId))).limit(1))[0] || null;
59
60
  };
60
61
  const findWorkAppSlackUserMappingByInkeepUserId = (db) => async (inkeepUserId) => {
61
62
  return db.select().from(workAppSlackUserMappings).where(eq(workAppSlackUserMappings.inkeepUserId, inkeepUserId));
@@ -68,7 +69,7 @@ const findWorkAppSlackUserMappingBySlackUser = (db) => async (slackUserId, slack
68
69
  return (await db.select().from(workAppSlackUserMappings).where(and(eq(workAppSlackUserMappings.clientId, clientId), eq(workAppSlackUserMappings.slackUserId, slackUserId), eq(workAppSlackUserMappings.slackTeamId, slackTeamId))).limit(1))[0] || null;
69
70
  };
70
71
  const listWorkAppSlackUserMappingsByTeam = (db) => async (tenantId, slackTeamId) => {
71
- return db.select().from(workAppSlackUserMappings).where(and(eq(workAppSlackUserMappings.tenantId, tenantId), eq(workAppSlackUserMappings.slackTeamId, slackTeamId)));
72
+ return db.select().from(workAppSlackUserMappings).where(and(tenantScopedWhere(workAppSlackUserMappings, { tenantId }), eq(workAppSlackUserMappings.slackTeamId, slackTeamId)));
72
73
  };
73
74
  const createWorkAppSlackUserMapping = (db) => async (data) => {
74
75
  const id = `wsum_${nanoid(21)}`;
@@ -84,10 +85,10 @@ const createWorkAppSlackUserMapping = (db) => async (data) => {
84
85
  return result;
85
86
  };
86
87
  const deleteWorkAppSlackUserMapping = (db) => async (tenantId, slackUserId, slackTeamId, clientId = DEFAULT_CLIENT_ID) => {
87
- return (await db.delete(workAppSlackUserMappings).where(and(eq(workAppSlackUserMappings.tenantId, tenantId), eq(workAppSlackUserMappings.clientId, clientId), eq(workAppSlackUserMappings.slackUserId, slackUserId), eq(workAppSlackUserMappings.slackTeamId, slackTeamId))).returning()).length > 0;
88
+ return (await db.delete(workAppSlackUserMappings).where(and(tenantScopedWhere(workAppSlackUserMappings, { tenantId }), eq(workAppSlackUserMappings.clientId, clientId), eq(workAppSlackUserMappings.slackUserId, slackUserId), eq(workAppSlackUserMappings.slackTeamId, slackTeamId))).returning()).length > 0;
88
89
  };
89
90
  const deleteAllWorkAppSlackUserMappingsByTeam = (db) => async (tenantId, slackTeamId, clientId = DEFAULT_CLIENT_ID) => {
90
- return (await db.delete(workAppSlackUserMappings).where(and(eq(workAppSlackUserMappings.tenantId, tenantId), eq(workAppSlackUserMappings.clientId, clientId), eq(workAppSlackUserMappings.slackTeamId, slackTeamId))).returning()).length;
91
+ return (await db.delete(workAppSlackUserMappings).where(and(tenantScopedWhere(workAppSlackUserMappings, { tenantId }), eq(workAppSlackUserMappings.clientId, clientId), eq(workAppSlackUserMappings.slackTeamId, slackTeamId))).returning()).length;
91
92
  };
92
93
  const createWorkAppSlackChannelAgentConfig = (db) => async (data) => {
93
94
  const id = `wscac_${nanoid(21)}`;
@@ -101,10 +102,10 @@ const createWorkAppSlackChannelAgentConfig = (db) => async (data) => {
101
102
  return result;
102
103
  };
103
104
  const findWorkAppSlackChannelAgentConfig = (db) => async (tenantId, slackTeamId, slackChannelId) => {
104
- return (await db.select().from(workAppSlackChannelAgentConfigs).where(and(eq(workAppSlackChannelAgentConfigs.tenantId, tenantId), eq(workAppSlackChannelAgentConfigs.slackTeamId, slackTeamId), eq(workAppSlackChannelAgentConfigs.slackChannelId, slackChannelId))).limit(1))[0] || null;
105
+ return (await db.select().from(workAppSlackChannelAgentConfigs).where(and(tenantScopedWhere(workAppSlackChannelAgentConfigs, { tenantId }), eq(workAppSlackChannelAgentConfigs.slackTeamId, slackTeamId), eq(workAppSlackChannelAgentConfigs.slackChannelId, slackChannelId))).limit(1))[0] || null;
105
106
  };
106
107
  const listWorkAppSlackChannelAgentConfigsByTeam = (db) => async (tenantId, slackTeamId) => {
107
- return db.select().from(workAppSlackChannelAgentConfigs).where(and(eq(workAppSlackChannelAgentConfigs.tenantId, tenantId), eq(workAppSlackChannelAgentConfigs.slackTeamId, slackTeamId)));
108
+ return db.select().from(workAppSlackChannelAgentConfigs).where(and(tenantScopedWhere(workAppSlackChannelAgentConfigs, { tenantId }), eq(workAppSlackChannelAgentConfigs.slackTeamId, slackTeamId)));
108
109
  };
109
110
  /**
110
111
  * Atomic upsert using onConflictDoUpdate to avoid TOCTOU race conditions.
@@ -138,16 +139,22 @@ const upsertWorkAppSlackChannelAgentConfig = (db) => async (data) => {
138
139
  return result;
139
140
  };
140
141
  const deleteWorkAppSlackChannelAgentConfig = (db) => async (tenantId, slackTeamId, slackChannelId) => {
141
- return (await db.delete(workAppSlackChannelAgentConfigs).where(and(eq(workAppSlackChannelAgentConfigs.tenantId, tenantId), eq(workAppSlackChannelAgentConfigs.slackTeamId, slackTeamId), eq(workAppSlackChannelAgentConfigs.slackChannelId, slackChannelId))).returning()).length > 0;
142
+ return (await db.delete(workAppSlackChannelAgentConfigs).where(and(tenantScopedWhere(workAppSlackChannelAgentConfigs, { tenantId }), eq(workAppSlackChannelAgentConfigs.slackTeamId, slackTeamId), eq(workAppSlackChannelAgentConfigs.slackChannelId, slackChannelId))).returning()).length > 0;
142
143
  };
143
144
  const deleteAllWorkAppSlackChannelAgentConfigsByTeam = (db) => async (tenantId, slackTeamId) => {
144
- return (await db.delete(workAppSlackChannelAgentConfigs).where(and(eq(workAppSlackChannelAgentConfigs.tenantId, tenantId), eq(workAppSlackChannelAgentConfigs.slackTeamId, slackTeamId))).returning()).length;
145
+ return (await db.delete(workAppSlackChannelAgentConfigs).where(and(tenantScopedWhere(workAppSlackChannelAgentConfigs, { tenantId }), eq(workAppSlackChannelAgentConfigs.slackTeamId, slackTeamId))).returning()).length;
145
146
  };
146
147
  const deleteWorkAppSlackChannelAgentConfigsByAgent = (db) => async (tenantId, projectId, agentId) => {
147
- return (await db.delete(workAppSlackChannelAgentConfigs).where(and(eq(workAppSlackChannelAgentConfigs.tenantId, tenantId), eq(workAppSlackChannelAgentConfigs.projectId, projectId), eq(workAppSlackChannelAgentConfigs.agentId, agentId))).returning()).length;
148
+ return (await db.delete(workAppSlackChannelAgentConfigs).where(and(projectScopedWhere(workAppSlackChannelAgentConfigs, {
149
+ tenantId,
150
+ projectId
151
+ }), eq(workAppSlackChannelAgentConfigs.agentId, agentId))).returning()).length;
148
152
  };
149
153
  const deleteWorkAppSlackChannelAgentConfigsByProject = (db) => async (tenantId, projectId) => {
150
- return (await db.delete(workAppSlackChannelAgentConfigs).where(and(eq(workAppSlackChannelAgentConfigs.tenantId, tenantId), eq(workAppSlackChannelAgentConfigs.projectId, projectId))).returning()).length;
154
+ return (await db.delete(workAppSlackChannelAgentConfigs).where(projectScopedWhere(workAppSlackChannelAgentConfigs, {
155
+ tenantId,
156
+ projectId
157
+ })).returning()).length;
151
158
  };
152
159
  const clearWorkspaceDefaultsByAgent = (db) => async (tenantId, projectId, agentId) => {
153
160
  return (await db.update(workAppSlackWorkspaces).set({
@@ -155,7 +162,7 @@ const clearWorkspaceDefaultsByAgent = (db) => async (tenantId, projectId, agentI
155
162
  defaultProjectId: null,
156
163
  defaultGrantAccessToMembers: null,
157
164
  updatedAt: (/* @__PURE__ */ new Date()).toISOString()
158
- }).where(and(eq(workAppSlackWorkspaces.tenantId, tenantId), eq(workAppSlackWorkspaces.defaultProjectId, projectId), eq(workAppSlackWorkspaces.defaultAgentId, agentId))).returning()).length;
165
+ }).where(and(tenantScopedWhere(workAppSlackWorkspaces, { tenantId }), eq(workAppSlackWorkspaces.defaultProjectId, projectId), eq(workAppSlackWorkspaces.defaultAgentId, agentId))).returning()).length;
159
166
  };
160
167
  const clearWorkspaceDefaultsByProject = (db) => async (tenantId, projectId) => {
161
168
  return (await db.update(workAppSlackWorkspaces).set({
@@ -163,7 +170,7 @@ const clearWorkspaceDefaultsByProject = (db) => async (tenantId, projectId) => {
163
170
  defaultProjectId: null,
164
171
  defaultGrantAccessToMembers: null,
165
172
  updatedAt: (/* @__PURE__ */ new Date()).toISOString()
166
- }).where(and(eq(workAppSlackWorkspaces.tenantId, tenantId), eq(workAppSlackWorkspaces.defaultProjectId, projectId))).returning()).length;
173
+ }).where(and(tenantScopedWhere(workAppSlackWorkspaces, { tenantId }), eq(workAppSlackWorkspaces.defaultProjectId, projectId))).returning()).length;
167
174
  };
168
175
  const DEV_CONFIG_FILENAME = ".slack-dev.json";
169
176
  function findSlackDevConfigPath() {