@inkeep/agents-core 0.58.1 → 0.58.3

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 (61) 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/client-exports.d.ts +2 -2
  4. package/dist/client-exports.js +2 -2
  5. package/dist/constants/allowed-image-formats.d.ts +8 -0
  6. package/dist/constants/allowed-image-formats.js +38 -0
  7. package/dist/constants/models.d.ts +2 -0
  8. package/dist/constants/models.js +2 -0
  9. package/dist/constants/otel-attributes.d.ts +1 -0
  10. package/dist/constants/otel-attributes.js +1 -0
  11. package/dist/data-access/index.d.ts +2 -1
  12. package/dist/data-access/index.js +2 -1
  13. package/dist/data-access/manage/agents.d.ts +20 -20
  14. package/dist/data-access/manage/artifactComponents.d.ts +12 -12
  15. package/dist/data-access/manage/contextConfigs.d.ts +12 -12
  16. package/dist/data-access/manage/dataComponents.d.ts +6 -6
  17. package/dist/data-access/manage/functionTools.d.ts +14 -14
  18. package/dist/data-access/manage/skills.d.ts +15 -15
  19. package/dist/data-access/manage/subAgentExternalAgentRelations.d.ts +18 -18
  20. package/dist/data-access/manage/subAgentRelations.d.ts +28 -28
  21. package/dist/data-access/manage/subAgentTeamAgentRelations.d.ts +18 -18
  22. package/dist/data-access/manage/subAgents.d.ts +12 -12
  23. package/dist/data-access/manage/tools.d.ts +30 -30
  24. package/dist/data-access/manage/tools.js +14 -2
  25. package/dist/data-access/manage/triggers.d.ts +1 -1
  26. package/dist/data-access/runtime/apiKeys.d.ts +20 -20
  27. package/dist/data-access/runtime/cascade-delete.d.ts +3 -0
  28. package/dist/data-access/runtime/cascade-delete.js +9 -2
  29. package/dist/data-access/runtime/conversations.d.ts +16 -16
  30. package/dist/data-access/runtime/messages.d.ts +12 -12
  31. package/dist/data-access/runtime/scheduledTriggerInvocations.d.ts +3 -3
  32. package/dist/data-access/runtime/slack-work-app-mcp.d.ts +26 -0
  33. package/dist/data-access/runtime/slack-work-app-mcp.js +69 -0
  34. package/dist/data-access/runtime/tasks.d.ts +5 -5
  35. package/dist/data-access/runtime/workAppSlack.js +2 -2
  36. package/dist/db/manage/manage-schema.d.ts +451 -451
  37. package/dist/db/manage/scope-definitions.d.ts +3 -1
  38. package/dist/db/manage/scope-definitions.js +5 -0
  39. package/dist/db/runtime/runtime-schema.d.ts +459 -305
  40. package/dist/db/runtime/runtime-schema.js +24 -1
  41. package/dist/db/utils.js +4 -0
  42. package/dist/dolt/migrate-all-branches.js +4 -1
  43. package/dist/dolt/migrate-dolt.js +20 -3
  44. package/dist/env.d.ts +2 -0
  45. package/dist/env.js +1 -0
  46. package/dist/index.d.ts +5 -4
  47. package/dist/index.js +4 -3
  48. package/dist/middleware/authz-meta.d.ts +2 -2
  49. package/dist/middleware/create-protected-route.d.ts +2 -2
  50. package/dist/middleware/no-auth.d.ts +2 -2
  51. package/dist/types/index.d.ts +2 -2
  52. package/dist/types/utility.d.ts +9 -2
  53. package/dist/validation/drizzle-schema-helpers.d.ts +3 -3
  54. package/dist/validation/index.d.ts +2 -2
  55. package/dist/validation/index.js +2 -2
  56. package/dist/validation/schemas.d.ts +1855 -1826
  57. package/dist/validation/schemas.js +16 -2
  58. package/drizzle/runtime/0020_tiny_killmonger.sql +15 -0
  59. package/drizzle/runtime/meta/0020_snapshot.json +4122 -0
  60. package/drizzle/runtime/meta/_journal.json +7 -0
  61. package/package.json +5 -1
@@ -0,0 +1,26 @@
1
+ import { ToolScopeConfig } from "../../db/manage/scope-definitions.js";
2
+ import { AgentsRunDatabaseClient } from "../../db/runtime/runtime-client.js";
3
+ import { McpTool, ToolSelect } from "../../types/entities.js";
4
+
5
+ //#region src/data-access/runtime/slack-work-app-mcp.d.ts
6
+ type SlackMcpToolAccessConfig = {
7
+ channelAccessMode: 'all' | 'selected';
8
+ dmEnabled: boolean;
9
+ channelIds: string[];
10
+ };
11
+ declare const getSlackMcpToolAccessConfig: (db: AgentsRunDatabaseClient) => (scope: ToolScopeConfig) => Promise<SlackMcpToolAccessConfig>;
12
+ declare const setSlackMcpToolAccessConfig: (db: AgentsRunDatabaseClient) => (params: {
13
+ toolId: string;
14
+ tenantId: string;
15
+ projectId: string;
16
+ channelAccessMode: "all" | "selected";
17
+ dmEnabled: boolean;
18
+ channelIds: string[];
19
+ }) => Promise<void>;
20
+ declare const updateSlackMcpToolAccessChannelIds: (db: AgentsRunDatabaseClient) => (scope: ToolScopeConfig, channelIds: string[]) => Promise<void>;
21
+ declare const deleteSlackMcpToolAccessConfig: (db: AgentsRunDatabaseClient) => (scope: ToolScopeConfig) => Promise<boolean>;
22
+ declare const deleteAllSlackMcpToolAccessConfigsByTenant: (db: AgentsRunDatabaseClient) => (tenantId: string) => Promise<number>;
23
+ declare const isSlackWorkAppTool: (tool: ToolSelect | McpTool) => boolean | undefined;
24
+ declare const resolveSlackUserContext: (db: AgentsRunDatabaseClient) => (inkeepUserId: string) => Promise<string | undefined>;
25
+ //#endregion
26
+ export { SlackMcpToolAccessConfig, deleteAllSlackMcpToolAccessConfigsByTenant, deleteSlackMcpToolAccessConfig, getSlackMcpToolAccessConfig, isSlackWorkAppTool, resolveSlackUserContext, setSlackMcpToolAccessConfig, updateSlackMcpToolAccessChannelIds };
@@ -0,0 +1,69 @@
1
+ import { workAppSlackMcpToolAccessConfig, workAppSlackUserMappings } from "../../db/runtime/runtime-schema.js";
2
+ import { and, eq } from "drizzle-orm";
3
+
4
+ //#region src/data-access/runtime/slack-work-app-mcp.ts
5
+ const getSlackMcpToolAccessConfig = (db) => async (scope) => {
6
+ return (await db.select({
7
+ channelAccessMode: workAppSlackMcpToolAccessConfig.channelAccessMode,
8
+ dmEnabled: workAppSlackMcpToolAccessConfig.dmEnabled,
9
+ channelIds: workAppSlackMcpToolAccessConfig.channelIds
10
+ }).from(workAppSlackMcpToolAccessConfig).where(and(eq(workAppSlackMcpToolAccessConfig.tenantId, scope.tenantId), eq(workAppSlackMcpToolAccessConfig.projectId, scope.projectId), eq(workAppSlackMcpToolAccessConfig.toolId, scope.toolId))).limit(1))[0] ?? {
11
+ channelAccessMode: "selected",
12
+ dmEnabled: false,
13
+ channelIds: []
14
+ };
15
+ };
16
+ const setSlackMcpToolAccessConfig = (db) => async (params) => {
17
+ const now = (/* @__PURE__ */ new Date()).toISOString();
18
+ await db.insert(workAppSlackMcpToolAccessConfig).values({
19
+ toolId: params.toolId,
20
+ tenantId: params.tenantId,
21
+ projectId: params.projectId,
22
+ channelAccessMode: params.channelAccessMode,
23
+ dmEnabled: params.dmEnabled,
24
+ channelIds: params.channelIds,
25
+ createdAt: now,
26
+ updatedAt: now
27
+ }).onConflictDoUpdate({
28
+ target: [
29
+ workAppSlackMcpToolAccessConfig.tenantId,
30
+ workAppSlackMcpToolAccessConfig.projectId,
31
+ workAppSlackMcpToolAccessConfig.toolId
32
+ ],
33
+ set: {
34
+ channelAccessMode: params.channelAccessMode,
35
+ dmEnabled: params.dmEnabled,
36
+ channelIds: params.channelIds,
37
+ updatedAt: now
38
+ }
39
+ });
40
+ };
41
+ const updateSlackMcpToolAccessChannelIds = (db) => async (scope, channelIds) => {
42
+ await db.update(workAppSlackMcpToolAccessConfig).set({
43
+ channelIds,
44
+ updatedAt: (/* @__PURE__ */ new Date()).toISOString()
45
+ }).where(and(eq(workAppSlackMcpToolAccessConfig.tenantId, scope.tenantId), eq(workAppSlackMcpToolAccessConfig.projectId, scope.projectId), eq(workAppSlackMcpToolAccessConfig.toolId, scope.toolId)));
46
+ };
47
+ const deleteSlackMcpToolAccessConfig = (db) => async (scope) => {
48
+ return (await db.delete(workAppSlackMcpToolAccessConfig).where(and(eq(workAppSlackMcpToolAccessConfig.tenantId, scope.tenantId), eq(workAppSlackMcpToolAccessConfig.projectId, scope.projectId), eq(workAppSlackMcpToolAccessConfig.toolId, scope.toolId))).returning()).length > 0;
49
+ };
50
+ const deleteAllSlackMcpToolAccessConfigsByTenant = (db) => async (tenantId) => {
51
+ return (await db.delete(workAppSlackMcpToolAccessConfig).where(eq(workAppSlackMcpToolAccessConfig.tenantId, tenantId)).returning()).length;
52
+ };
53
+ const isSlackWorkAppTool = (tool) => {
54
+ return tool.isWorkApp && tool.config.mcp.server.url.includes("/slack/mcp");
55
+ };
56
+ const resolveSlackUserContext = (db) => async (inkeepUserId) => {
57
+ const mappings = await db.select({
58
+ slackUserId: workAppSlackUserMappings.slackUserId,
59
+ slackUsername: workAppSlackUserMappings.slackUsername
60
+ }).from(workAppSlackUserMappings).where(eq(workAppSlackUserMappings.inkeepUserId, inkeepUserId)).limit(1);
61
+ if (mappings.length === 0) return void 0;
62
+ const mapping = mappings[0];
63
+ const parts = [`The current user's Slack user ID is ${mapping.slackUserId}.`];
64
+ if (mapping.slackUsername) parts.push(`Their Slack username is @${mapping.slackUsername}.`);
65
+ return parts.join(" ");
66
+ };
67
+
68
+ //#endregion
69
+ export { deleteAllSlackMcpToolAccessConfigsByTenant, deleteSlackMcpToolAccessConfig, getSlackMcpToolAccessConfig, isSlackWorkAppTool, resolveSlackUserContext, setSlackMcpToolAccessConfig, updateSlackMcpToolAccessChannelIds };
@@ -6,21 +6,21 @@ import { TaskInsert, TaskSelect } from "../../types/entities.js";
6
6
 
7
7
  //#region src/data-access/runtime/tasks.d.ts
8
8
  declare const createTask: (db: AgentsRunDatabaseClient) => (params: TaskInsert) => Promise<{
9
- tenantId: string;
10
- projectId: string;
11
- agentId: string;
12
9
  subAgentId: string;
13
- status: string;
14
10
  id: string;
15
11
  createdAt: string;
16
12
  updatedAt: string;
13
+ projectId: string;
14
+ tenantId: string;
17
15
  metadata: TaskMetadataConfig | null;
16
+ agentId: string;
17
+ status: string;
18
+ contextId: string;
18
19
  ref: {
19
20
  type: "commit" | "tag" | "branch";
20
21
  name: string;
21
22
  hash: string;
22
23
  } | null;
23
- contextId: string;
24
24
  }>;
25
25
  declare const getTask: (db: AgentsRunDatabaseClient) => (params: {
26
26
  id: string;
@@ -187,7 +187,7 @@ function clearDevConfigWorkspaceDefaultsByAgent(projectId, agentId) {
187
187
  const defaultAgent = JSON.parse(config.metadata.default_agent);
188
188
  if (defaultAgent.agentId === agentId && defaultAgent.projectId === projectId) {
189
189
  config.metadata.default_agent = "";
190
- writeFileSync(configPath, JSON.stringify(config, null, 2) + "\n", "utf-8");
190
+ writeFileSync(configPath, `${JSON.stringify(config, null, 2)}\n`, "utf-8");
191
191
  }
192
192
  } catch {}
193
193
  }
@@ -199,7 +199,7 @@ function clearDevConfigWorkspaceDefaultsByProject(projectId) {
199
199
  if (!config?.metadata?.default_agent) return;
200
200
  if (JSON.parse(config.metadata.default_agent).projectId === projectId) {
201
201
  config.metadata.default_agent = "";
202
- writeFileSync(configPath, JSON.stringify(config, null, 2) + "\n", "utf-8");
202
+ writeFileSync(configPath, `${JSON.stringify(config, null, 2)}\n`, "utf-8");
203
203
  }
204
204
  } catch {}
205
205
  }