@inkeep/agents-core 0.0.0-dev-20260204170416 → 0.0.0-dev-20260204182014
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/auth/auth.d.ts +54 -54
- package/dist/auth/create-test-users.d.ts +1 -0
- package/dist/auth/create-test-users.js +102 -0
- package/dist/auth/permissions.d.ts +13 -13
- package/dist/client-exports.d.ts +3 -4
- package/dist/data-access/index.d.ts +3 -1
- package/dist/data-access/index.js +3 -1
- package/dist/data-access/manage/agents.d.ts +10 -10
- package/dist/data-access/manage/artifactComponents.d.ts +4 -4
- package/dist/data-access/manage/contextConfigs.d.ts +8 -8
- package/dist/data-access/manage/dataComponents.d.ts +2 -2
- package/dist/data-access/manage/functionTools.d.ts +6 -6
- package/dist/data-access/manage/subAgentExternalAgentRelations.d.ts +12 -12
- package/dist/data-access/manage/subAgentRelations.d.ts +6 -6
- package/dist/data-access/manage/subAgentTeamAgentRelations.d.ts +6 -6
- package/dist/data-access/manage/subAgents.d.ts +6 -6
- package/dist/data-access/manage/tools.d.ts +18 -18
- package/dist/data-access/manage/workAppConfigs.d.ts +228 -0
- package/dist/data-access/manage/workAppConfigs.js +120 -0
- package/dist/data-access/runtime/apiKeys.d.ts +8 -8
- package/dist/data-access/runtime/conversations.d.ts +20 -20
- package/dist/data-access/runtime/messages.d.ts +15 -15
- package/dist/data-access/runtime/tasks.d.ts +4 -4
- package/dist/data-access/runtime/workAppSlack.d.ts +45 -0
- package/dist/data-access/runtime/workAppSlack.js +154 -0
- package/dist/db/manage/manage-schema.d.ts +600 -380
- package/dist/db/manage/manage-schema.js +27 -2
- package/dist/db/runtime/runtime-schema.d.ts +1147 -234
- package/dist/db/runtime/runtime-schema.js +98 -2
- package/dist/index.d.ts +10 -5
- package/dist/index.js +9 -4
- package/dist/types/entities.d.ts +8 -2
- package/dist/types/index.d.ts +2 -2
- package/dist/utils/index.d.ts +4 -1
- package/dist/utils/index.js +4 -1
- package/dist/utils/slack-link-token.d.ts +60 -0
- package/dist/utils/slack-link-token.js +124 -0
- package/dist/utils/slack-user-token.d.ts +87 -0
- package/dist/utils/slack-user-token.js +156 -0
- package/dist/utils/sse-parser.d.ts +35 -0
- package/dist/utils/sse-parser.js +71 -0
- package/dist/utils/trigger-auth.d.ts +1 -1
- package/dist/validation/index.d.ts +2 -2
- package/dist/validation/index.js +2 -2
- package/dist/validation/schemas.d.ts +3912 -1352
- package/dist/validation/schemas.js +65 -3
- package/drizzle/manage/0007_whole_skreet.sql +17 -0
- package/drizzle/manage/meta/0007_snapshot.json +3265 -0
- package/drizzle/manage/meta/_journal.json +7 -0
- package/drizzle/runtime/0011_grey_energizer.sql +131 -0
- package/drizzle/runtime/0012_salty_zuras.sql +6 -0
- package/drizzle/runtime/meta/0011_snapshot.json +3747 -0
- package/drizzle/runtime/meta/0012_snapshot.json +3747 -0
- package/drizzle/runtime/meta/_journal.json +14 -0
- package/package.json +1 -1
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { workAppSlackChannelAgentConfigs, workAppSlackUserMappings, workAppSlackUserSettings, workAppSlackWorkspaces } from "../../db/runtime/runtime-schema.js";
|
|
2
|
+
import { and, eq } from "drizzle-orm";
|
|
3
|
+
import { nanoid } from "nanoid";
|
|
4
|
+
|
|
5
|
+
//#region src/data-access/runtime/workAppSlack.ts
|
|
6
|
+
const DEFAULT_CLIENT_ID = "work-apps-slack";
|
|
7
|
+
const createWorkAppSlackWorkspace = (db) => async (data) => {
|
|
8
|
+
const id = `wsw_${nanoid(21)}`;
|
|
9
|
+
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
10
|
+
const [result] = await db.insert(workAppSlackWorkspaces).values({
|
|
11
|
+
id,
|
|
12
|
+
...data,
|
|
13
|
+
createdAt: now,
|
|
14
|
+
updatedAt: now
|
|
15
|
+
}).returning();
|
|
16
|
+
return result;
|
|
17
|
+
};
|
|
18
|
+
const findWorkAppSlackWorkspaceByTeamId = (db) => async (tenantId, slackTeamId) => {
|
|
19
|
+
return (await db.select().from(workAppSlackWorkspaces).where(and(eq(workAppSlackWorkspaces.tenantId, tenantId), eq(workAppSlackWorkspaces.slackTeamId, slackTeamId))).limit(1))[0] || null;
|
|
20
|
+
};
|
|
21
|
+
const findWorkAppSlackWorkspaceByNangoConnectionId = (db) => async (nangoConnectionId) => {
|
|
22
|
+
return (await db.select().from(workAppSlackWorkspaces).where(eq(workAppSlackWorkspaces.nangoConnectionId, nangoConnectionId)).limit(1))[0] || null;
|
|
23
|
+
};
|
|
24
|
+
const listWorkAppSlackWorkspacesByTenant = (db) => async (tenantId) => {
|
|
25
|
+
return db.select().from(workAppSlackWorkspaces).where(eq(workAppSlackWorkspaces.tenantId, tenantId));
|
|
26
|
+
};
|
|
27
|
+
const updateWorkAppSlackWorkspace = (db) => async (id, data) => {
|
|
28
|
+
const [result] = await db.update(workAppSlackWorkspaces).set({
|
|
29
|
+
...data,
|
|
30
|
+
updatedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
31
|
+
}).where(eq(workAppSlackWorkspaces.id, id)).returning();
|
|
32
|
+
return result || null;
|
|
33
|
+
};
|
|
34
|
+
const deleteWorkAppSlackWorkspace = (db) => async (id) => {
|
|
35
|
+
return (await db.delete(workAppSlackWorkspaces).where(eq(workAppSlackWorkspaces.id, id)).returning()).length > 0;
|
|
36
|
+
};
|
|
37
|
+
const deleteWorkAppSlackWorkspaceByNangoConnectionId = (db) => async (nangoConnectionId) => {
|
|
38
|
+
return (await db.delete(workAppSlackWorkspaces).where(eq(workAppSlackWorkspaces.nangoConnectionId, nangoConnectionId)).returning()).length > 0;
|
|
39
|
+
};
|
|
40
|
+
const findWorkAppSlackUserMapping = (db) => async (tenantId, slackUserId, slackTeamId, clientId = DEFAULT_CLIENT_ID) => {
|
|
41
|
+
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;
|
|
42
|
+
};
|
|
43
|
+
const findWorkAppSlackUserMappingByInkeepUserId = (db) => async (inkeepUserId) => {
|
|
44
|
+
return db.select().from(workAppSlackUserMappings).where(eq(workAppSlackUserMappings.inkeepUserId, inkeepUserId));
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Find a user mapping by Slack user ID and team ID only (ignores tenant).
|
|
48
|
+
* Use this when you need to find the user's tenant from their mapping.
|
|
49
|
+
*/
|
|
50
|
+
const findWorkAppSlackUserMappingBySlackUser = (db) => async (slackUserId, slackTeamId, clientId = DEFAULT_CLIENT_ID) => {
|
|
51
|
+
return (await db.select().from(workAppSlackUserMappings).where(and(eq(workAppSlackUserMappings.clientId, clientId), eq(workAppSlackUserMappings.slackUserId, slackUserId), eq(workAppSlackUserMappings.slackTeamId, slackTeamId))).limit(1))[0] || null;
|
|
52
|
+
};
|
|
53
|
+
const listWorkAppSlackUserMappingsByTeam = (db) => async (tenantId, slackTeamId) => {
|
|
54
|
+
return db.select().from(workAppSlackUserMappings).where(and(eq(workAppSlackUserMappings.tenantId, tenantId), eq(workAppSlackUserMappings.slackTeamId, slackTeamId)));
|
|
55
|
+
};
|
|
56
|
+
const createWorkAppSlackUserMapping = (db) => async (data) => {
|
|
57
|
+
const id = `wsum_${nanoid(21)}`;
|
|
58
|
+
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
59
|
+
const [result] = await db.insert(workAppSlackUserMappings).values({
|
|
60
|
+
id,
|
|
61
|
+
clientId: data.clientId || DEFAULT_CLIENT_ID,
|
|
62
|
+
...data,
|
|
63
|
+
linkedAt: now,
|
|
64
|
+
createdAt: now,
|
|
65
|
+
updatedAt: now
|
|
66
|
+
}).returning();
|
|
67
|
+
return result;
|
|
68
|
+
};
|
|
69
|
+
const updateWorkAppSlackUserMappingLastUsed = (db) => async (tenantId, slackUserId, slackTeamId, clientId = DEFAULT_CLIENT_ID) => {
|
|
70
|
+
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
71
|
+
await db.update(workAppSlackUserMappings).set({
|
|
72
|
+
lastUsedAt: now,
|
|
73
|
+
updatedAt: now
|
|
74
|
+
}).where(and(eq(workAppSlackUserMappings.tenantId, tenantId), eq(workAppSlackUserMappings.clientId, clientId), eq(workAppSlackUserMappings.slackUserId, slackUserId), eq(workAppSlackUserMappings.slackTeamId, slackTeamId)));
|
|
75
|
+
};
|
|
76
|
+
const deleteWorkAppSlackUserMapping = (db) => async (tenantId, slackUserId, slackTeamId, clientId = DEFAULT_CLIENT_ID) => {
|
|
77
|
+
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;
|
|
78
|
+
};
|
|
79
|
+
const deleteAllWorkAppSlackUserMappingsByTeam = (db) => async (tenantId, slackTeamId, clientId = DEFAULT_CLIENT_ID) => {
|
|
80
|
+
return (await db.delete(workAppSlackUserMappings).where(and(eq(workAppSlackUserMappings.tenantId, tenantId), eq(workAppSlackUserMappings.clientId, clientId), eq(workAppSlackUserMappings.slackTeamId, slackTeamId))).returning()).length;
|
|
81
|
+
};
|
|
82
|
+
const createWorkAppSlackChannelAgentConfig = (db) => async (data) => {
|
|
83
|
+
const id = `wscac_${nanoid(21)}`;
|
|
84
|
+
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
85
|
+
const [result] = await db.insert(workAppSlackChannelAgentConfigs).values({
|
|
86
|
+
id,
|
|
87
|
+
...data,
|
|
88
|
+
createdAt: now,
|
|
89
|
+
updatedAt: now
|
|
90
|
+
}).returning();
|
|
91
|
+
return result;
|
|
92
|
+
};
|
|
93
|
+
const findWorkAppSlackChannelAgentConfig = (db) => async (tenantId, slackTeamId, slackChannelId) => {
|
|
94
|
+
return (await db.select().from(workAppSlackChannelAgentConfigs).where(and(eq(workAppSlackChannelAgentConfigs.tenantId, tenantId), eq(workAppSlackChannelAgentConfigs.slackTeamId, slackTeamId), eq(workAppSlackChannelAgentConfigs.slackChannelId, slackChannelId))).limit(1))[0] || null;
|
|
95
|
+
};
|
|
96
|
+
const listWorkAppSlackChannelAgentConfigsByTeam = (db) => async (tenantId, slackTeamId) => {
|
|
97
|
+
return db.select().from(workAppSlackChannelAgentConfigs).where(and(eq(workAppSlackChannelAgentConfigs.tenantId, tenantId), eq(workAppSlackChannelAgentConfigs.slackTeamId, slackTeamId)));
|
|
98
|
+
};
|
|
99
|
+
const upsertWorkAppSlackChannelAgentConfig = (db) => async (data) => {
|
|
100
|
+
const existing = await findWorkAppSlackChannelAgentConfig(db)(data.tenantId, data.slackTeamId, data.slackChannelId);
|
|
101
|
+
if (existing) {
|
|
102
|
+
const [updated] = await db.update(workAppSlackChannelAgentConfigs).set({
|
|
103
|
+
projectId: data.projectId,
|
|
104
|
+
agentId: data.agentId,
|
|
105
|
+
agentName: data.agentName,
|
|
106
|
+
slackChannelName: data.slackChannelName,
|
|
107
|
+
slackChannelType: data.slackChannelType,
|
|
108
|
+
enabled: data.enabled,
|
|
109
|
+
configuredByUserId: data.configuredByUserId,
|
|
110
|
+
updatedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
111
|
+
}).where(eq(workAppSlackChannelAgentConfigs.id, existing.id)).returning();
|
|
112
|
+
return updated;
|
|
113
|
+
}
|
|
114
|
+
return createWorkAppSlackChannelAgentConfig(db)(data);
|
|
115
|
+
};
|
|
116
|
+
const deleteWorkAppSlackChannelAgentConfig = (db) => async (tenantId, slackTeamId, slackChannelId) => {
|
|
117
|
+
return (await db.delete(workAppSlackChannelAgentConfigs).where(and(eq(workAppSlackChannelAgentConfigs.tenantId, tenantId), eq(workAppSlackChannelAgentConfigs.slackTeamId, slackTeamId), eq(workAppSlackChannelAgentConfigs.slackChannelId, slackChannelId))).returning()).length > 0;
|
|
118
|
+
};
|
|
119
|
+
const deleteAllWorkAppSlackChannelAgentConfigsByTeam = (db) => async (tenantId, slackTeamId) => {
|
|
120
|
+
return (await db.delete(workAppSlackChannelAgentConfigs).where(and(eq(workAppSlackChannelAgentConfigs.tenantId, tenantId), eq(workAppSlackChannelAgentConfigs.slackTeamId, slackTeamId))).returning()).length;
|
|
121
|
+
};
|
|
122
|
+
const createWorkAppSlackUserSettings = (db) => async (data) => {
|
|
123
|
+
const id = `wsus_${nanoid(21)}`;
|
|
124
|
+
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
125
|
+
const [result] = await db.insert(workAppSlackUserSettings).values({
|
|
126
|
+
id,
|
|
127
|
+
...data,
|
|
128
|
+
createdAt: now,
|
|
129
|
+
updatedAt: now
|
|
130
|
+
}).returning();
|
|
131
|
+
return result;
|
|
132
|
+
};
|
|
133
|
+
const findWorkAppSlackUserSettings = (db) => async (tenantId, slackTeamId, slackUserId) => {
|
|
134
|
+
return (await db.select().from(workAppSlackUserSettings).where(and(eq(workAppSlackUserSettings.tenantId, tenantId), eq(workAppSlackUserSettings.slackTeamId, slackTeamId), eq(workAppSlackUserSettings.slackUserId, slackUserId))).limit(1))[0] || null;
|
|
135
|
+
};
|
|
136
|
+
const upsertWorkAppSlackUserSettings = (db) => async (data) => {
|
|
137
|
+
const existing = await findWorkAppSlackUserSettings(db)(data.tenantId, data.slackTeamId, data.slackUserId);
|
|
138
|
+
if (existing) {
|
|
139
|
+
const [updated] = await db.update(workAppSlackUserSettings).set({
|
|
140
|
+
defaultProjectId: data.defaultProjectId,
|
|
141
|
+
defaultAgentId: data.defaultAgentId,
|
|
142
|
+
defaultAgentName: data.defaultAgentName,
|
|
143
|
+
updatedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
144
|
+
}).where(eq(workAppSlackUserSettings.id, existing.id)).returning();
|
|
145
|
+
return updated;
|
|
146
|
+
}
|
|
147
|
+
return createWorkAppSlackUserSettings(db)(data);
|
|
148
|
+
};
|
|
149
|
+
const deleteWorkAppSlackUserSettings = (db) => async (tenantId, slackTeamId, slackUserId) => {
|
|
150
|
+
return (await db.delete(workAppSlackUserSettings).where(and(eq(workAppSlackUserSettings.tenantId, tenantId), eq(workAppSlackUserSettings.slackTeamId, slackTeamId), eq(workAppSlackUserSettings.slackUserId, slackUserId))).returning()).length > 0;
|
|
151
|
+
};
|
|
152
|
+
|
|
153
|
+
//#endregion
|
|
154
|
+
export { createWorkAppSlackChannelAgentConfig, createWorkAppSlackUserMapping, createWorkAppSlackUserSettings, createWorkAppSlackWorkspace, deleteAllWorkAppSlackChannelAgentConfigsByTeam, deleteAllWorkAppSlackUserMappingsByTeam, deleteWorkAppSlackChannelAgentConfig, deleteWorkAppSlackUserMapping, deleteWorkAppSlackUserSettings, deleteWorkAppSlackWorkspace, deleteWorkAppSlackWorkspaceByNangoConnectionId, findWorkAppSlackChannelAgentConfig, findWorkAppSlackUserMapping, findWorkAppSlackUserMappingByInkeepUserId, findWorkAppSlackUserMappingBySlackUser, findWorkAppSlackUserSettings, findWorkAppSlackWorkspaceByNangoConnectionId, findWorkAppSlackWorkspaceByTeamId, listWorkAppSlackChannelAgentConfigsByTeam, listWorkAppSlackUserMappingsByTeam, listWorkAppSlackWorkspacesByTenant, updateWorkAppSlackUserMappingLastUsed, updateWorkAppSlackWorkspace, upsertWorkAppSlackChannelAgentConfig, upsertWorkAppSlackUserSettings };
|