@inkeep/agents-core 0.62.2 → 0.63.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/auth/auth-config-utils.js +1 -1
- package/dist/auth/auth.js +1 -1
- package/dist/client-exports.d.ts +2 -2
- package/dist/client-exports.js +2 -2
- package/dist/data-access/index.d.ts +4 -7
- package/dist/data-access/index.js +4 -7
- package/dist/data-access/manage/agentFull.js +0 -116
- package/dist/data-access/manage/agents.d.ts +27 -27
- package/dist/data-access/manage/agents.js +0 -30
- package/dist/data-access/manage/audit-queries.d.ts +1 -14
- package/dist/data-access/manage/audit-queries.js +2 -16
- package/dist/data-access/manage/contextConfigs.d.ts +4 -4
- package/dist/data-access/manage/functionTools.d.ts +2 -2
- package/dist/data-access/manage/skills.d.ts +3 -3
- package/dist/data-access/manage/subAgentRelations.d.ts +2 -2
- package/dist/data-access/manage/subAgents.d.ts +9 -9
- package/dist/data-access/manage/tools.d.ts +6 -6
- package/dist/data-access/manage/triggerCleanup.js +18 -7
- package/dist/data-access/runtime/cascade-delete.d.ts +2 -0
- package/dist/data-access/runtime/cascade-delete.js +13 -6
- package/dist/data-access/runtime/conversations.d.ts +4 -4
- package/dist/data-access/runtime/messages.d.ts +12 -12
- package/dist/data-access/runtime/scheduledTriggerInvocations.d.ts +5 -4
- package/dist/data-access/runtime/scheduledTriggers.d.ts +89 -0
- package/dist/data-access/runtime/scheduledTriggers.js +91 -0
- package/dist/data-access/runtime/schedulerState.d.ts +11 -0
- package/dist/data-access/runtime/schedulerState.js +30 -0
- package/dist/data-reconciliation/index.d.ts +2 -2
- package/dist/data-reconciliation/types.d.ts +1 -28
- package/dist/db/manage/manage-schema.d.ts +429 -783
- package/dist/db/manage/manage-schema.js +2 -4
- package/dist/db/runtime/runtime-schema.d.ts +811 -350
- package/dist/db/runtime/runtime-schema.js +38 -5
- package/dist/index.d.ts +11 -12
- package/dist/index.js +8 -10
- package/dist/types/entities.d.ts +12 -2
- package/dist/types/index.d.ts +2 -2
- package/dist/utils/compute-next-run-at.d.ts +9 -0
- package/dist/utils/compute-next-run-at.js +18 -0
- package/dist/utils/index.d.ts +2 -1
- package/dist/utils/index.js +2 -1
- package/dist/validation/index.d.ts +2 -2
- package/dist/validation/index.js +2 -2
- package/dist/validation/schemas.d.ts +2216 -3196
- package/dist/validation/schemas.js +16 -32
- package/drizzle/runtime/0028_thick_squirrel_girl.sql +36 -0
- package/drizzle/runtime/meta/0028_snapshot.json +4661 -0
- package/drizzle/runtime/meta/_journal.json +7 -0
- package/package.json +2 -1
- package/dist/data-access/manage/scheduledTriggers.d.ts +0 -91
- package/dist/data-access/manage/scheduledTriggers.js +0 -87
- package/dist/data-access/manage/scheduledWorkflows.d.ts +0 -29
- package/dist/data-access/manage/scheduledWorkflows.js +0 -33
|
@@ -197,6 +197,13 @@
|
|
|
197
197
|
"when": 1774595413621,
|
|
198
198
|
"tag": "0027_seed-playground-app",
|
|
199
199
|
"breakpoints": true
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"idx": 28,
|
|
203
|
+
"version": "7",
|
|
204
|
+
"when": 1774878983266,
|
|
205
|
+
"tag": "0028_thick_squirrel_girl",
|
|
206
|
+
"breakpoints": true
|
|
200
207
|
}
|
|
201
208
|
]
|
|
202
209
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inkeep/agents-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.63.0",
|
|
4
4
|
"description": "Agents Core contains the database schema, types, and validation schemas for Inkeep Agent Framework, along with core components.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
@@ -146,6 +146,7 @@
|
|
|
146
146
|
"ajv": "^8.18.0",
|
|
147
147
|
"altcha-lib": "^1.4.1",
|
|
148
148
|
"better-auth": "1.5.5",
|
|
149
|
+
"cron-parser": "^5.5.0",
|
|
149
150
|
"destr": "^2.0.3",
|
|
150
151
|
"dotenv": "^17.2.1",
|
|
151
152
|
"dotenv-expand": "^12.0.3",
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import { AgentScopeConfig } from "../../db/manage/scope-definitions.js";
|
|
2
|
-
import { PaginationConfig } from "../../types/utility.js";
|
|
3
|
-
import { AgentsManageDatabaseClient } from "../../db/manage/manage-client.js";
|
|
4
|
-
import { ScheduledTrigger, ScheduledTriggerInsert, ScheduledTriggerUpdate } from "../../validation/schemas.js";
|
|
5
|
-
|
|
6
|
-
//#region src/data-access/manage/scheduledTriggers.d.ts
|
|
7
|
-
/**
|
|
8
|
-
* Get a scheduled trigger by ID (agent-scoped)
|
|
9
|
-
*/
|
|
10
|
-
declare const getScheduledTriggerById: (db: AgentsManageDatabaseClient) => (params: {
|
|
11
|
-
scopes: AgentScopeConfig;
|
|
12
|
-
scheduledTriggerId: string;
|
|
13
|
-
}) => Promise<ScheduledTrigger | undefined>;
|
|
14
|
-
/**
|
|
15
|
-
* List scheduled triggers for an agent with pagination
|
|
16
|
-
*/
|
|
17
|
-
declare const listScheduledTriggersPaginated: (db: AgentsManageDatabaseClient) => (params: {
|
|
18
|
-
scopes: AgentScopeConfig;
|
|
19
|
-
pagination?: PaginationConfig;
|
|
20
|
-
}) => Promise<{
|
|
21
|
-
data: {
|
|
22
|
-
createdAt: string;
|
|
23
|
-
updatedAt: string;
|
|
24
|
-
enabled: boolean;
|
|
25
|
-
cronExpression: string | null;
|
|
26
|
-
cronTimezone: string | null;
|
|
27
|
-
runAt: string | null;
|
|
28
|
-
payload: Record<string, unknown> | null;
|
|
29
|
-
messageTemplate: string | null;
|
|
30
|
-
maxRetries: number;
|
|
31
|
-
retryDelaySeconds: number;
|
|
32
|
-
timeoutSeconds: number;
|
|
33
|
-
runAsUserId: string | null;
|
|
34
|
-
createdBy: string | null;
|
|
35
|
-
name: string;
|
|
36
|
-
description: string | null;
|
|
37
|
-
agentId: string;
|
|
38
|
-
projectId: string;
|
|
39
|
-
tenantId: string;
|
|
40
|
-
id: string;
|
|
41
|
-
}[];
|
|
42
|
-
pagination: {
|
|
43
|
-
page: number;
|
|
44
|
-
limit: number;
|
|
45
|
-
total: number;
|
|
46
|
-
pages: number;
|
|
47
|
-
};
|
|
48
|
-
}>;
|
|
49
|
-
/**
|
|
50
|
-
* Create a new scheduled trigger (agent-scoped)
|
|
51
|
-
*/
|
|
52
|
-
declare const createScheduledTrigger: (db: AgentsManageDatabaseClient) => (params: ScheduledTriggerInsert) => Promise<ScheduledTrigger>;
|
|
53
|
-
/**
|
|
54
|
-
* Update a scheduled trigger (agent-scoped)
|
|
55
|
-
*/
|
|
56
|
-
declare const updateScheduledTrigger: (db: AgentsManageDatabaseClient) => (params: {
|
|
57
|
-
scopes: AgentScopeConfig;
|
|
58
|
-
scheduledTriggerId: string;
|
|
59
|
-
data: ScheduledTriggerUpdate;
|
|
60
|
-
}) => Promise<ScheduledTrigger>;
|
|
61
|
-
/**
|
|
62
|
-
* Delete a scheduled trigger (agent-scoped)
|
|
63
|
-
*/
|
|
64
|
-
declare const deleteScheduledTrigger: (db: AgentsManageDatabaseClient) => (params: {
|
|
65
|
-
scopes: AgentScopeConfig;
|
|
66
|
-
scheduledTriggerId: string;
|
|
67
|
-
}) => Promise<void>;
|
|
68
|
-
/**
|
|
69
|
-
* Upsert a scheduled trigger (create if it doesn't exist, update if it does)
|
|
70
|
-
*/
|
|
71
|
-
declare const upsertScheduledTrigger: (db: AgentsManageDatabaseClient) => (params: {
|
|
72
|
-
scopes: AgentScopeConfig;
|
|
73
|
-
data: ScheduledTriggerInsert;
|
|
74
|
-
}) => Promise<ScheduledTrigger>;
|
|
75
|
-
/**
|
|
76
|
-
* Delete all scheduled triggers for a given runAsUserId within a tenant+project scope.
|
|
77
|
-
* Operates across all agents in the project (not agent-scoped).
|
|
78
|
-
*/
|
|
79
|
-
declare const deleteScheduledTriggersByRunAsUserId: (db: AgentsManageDatabaseClient) => (params: {
|
|
80
|
-
tenantId: string;
|
|
81
|
-
projectId: string;
|
|
82
|
-
runAsUserId: string;
|
|
83
|
-
}) => Promise<void>;
|
|
84
|
-
/**
|
|
85
|
-
* List all scheduled triggers for an agent (non-paginated, used by agentFull)
|
|
86
|
-
*/
|
|
87
|
-
declare const listScheduledTriggers: (db: AgentsManageDatabaseClient) => (params: {
|
|
88
|
-
scopes: AgentScopeConfig;
|
|
89
|
-
}) => Promise<ScheduledTrigger[]>;
|
|
90
|
-
//#endregion
|
|
91
|
-
export { createScheduledTrigger, deleteScheduledTrigger, deleteScheduledTriggersByRunAsUserId, getScheduledTriggerById, listScheduledTriggers, listScheduledTriggersPaginated, updateScheduledTrigger, upsertScheduledTrigger };
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { scheduledTriggers } from "../../db/manage/manage-schema.js";
|
|
2
|
-
import { agentScopedWhere, projectScopedWhere } from "./scope-helpers.js";
|
|
3
|
-
import { and, count, desc, eq } from "drizzle-orm";
|
|
4
|
-
|
|
5
|
-
//#region src/data-access/manage/scheduledTriggers.ts
|
|
6
|
-
/**
|
|
7
|
-
* Get a scheduled trigger by ID (agent-scoped)
|
|
8
|
-
*/
|
|
9
|
-
const getScheduledTriggerById = (db) => async (params) => {
|
|
10
|
-
const { scopes, scheduledTriggerId } = params;
|
|
11
|
-
return await db.query.scheduledTriggers.findFirst({ where: and(agentScopedWhere(scheduledTriggers, scopes), eq(scheduledTriggers.id, scheduledTriggerId)) });
|
|
12
|
-
};
|
|
13
|
-
/**
|
|
14
|
-
* List scheduled triggers for an agent with pagination
|
|
15
|
-
*/
|
|
16
|
-
const listScheduledTriggersPaginated = (db) => async (params) => {
|
|
17
|
-
const page = params.pagination?.page || 1;
|
|
18
|
-
const limit = Math.min(params.pagination?.limit || 10, 100);
|
|
19
|
-
const offset = (page - 1) * limit;
|
|
20
|
-
const whereClause = agentScopedWhere(scheduledTriggers, params.scopes);
|
|
21
|
-
const [data, totalResult] = await Promise.all([db.select().from(scheduledTriggers).where(whereClause).limit(limit).offset(offset).orderBy(desc(scheduledTriggers.createdAt)), db.select({ count: count() }).from(scheduledTriggers).where(whereClause)]);
|
|
22
|
-
const total = totalResult[0]?.count || 0;
|
|
23
|
-
return {
|
|
24
|
-
data,
|
|
25
|
-
pagination: {
|
|
26
|
-
page,
|
|
27
|
-
limit,
|
|
28
|
-
total,
|
|
29
|
-
pages: Math.ceil(total / limit)
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
};
|
|
33
|
-
/**
|
|
34
|
-
* Create a new scheduled trigger (agent-scoped)
|
|
35
|
-
*/
|
|
36
|
-
const createScheduledTrigger = (db) => async (params) => {
|
|
37
|
-
return (await db.insert(scheduledTriggers).values(params).returning())[0];
|
|
38
|
-
};
|
|
39
|
-
/**
|
|
40
|
-
* Update a scheduled trigger (agent-scoped)
|
|
41
|
-
*/
|
|
42
|
-
const updateScheduledTrigger = (db) => async (params) => {
|
|
43
|
-
const updateData = {
|
|
44
|
-
...params.data,
|
|
45
|
-
updatedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
46
|
-
};
|
|
47
|
-
return (await db.update(scheduledTriggers).set(updateData).where(and(agentScopedWhere(scheduledTriggers, params.scopes), eq(scheduledTriggers.id, params.scheduledTriggerId))).returning())[0];
|
|
48
|
-
};
|
|
49
|
-
/**
|
|
50
|
-
* Delete a scheduled trigger (agent-scoped)
|
|
51
|
-
*/
|
|
52
|
-
const deleteScheduledTrigger = (db) => async (params) => {
|
|
53
|
-
await db.delete(scheduledTriggers).where(and(agentScopedWhere(scheduledTriggers, params.scopes), eq(scheduledTriggers.id, params.scheduledTriggerId)));
|
|
54
|
-
};
|
|
55
|
-
/**
|
|
56
|
-
* Upsert a scheduled trigger (create if it doesn't exist, update if it does)
|
|
57
|
-
*/
|
|
58
|
-
const upsertScheduledTrigger = (db) => async (params) => {
|
|
59
|
-
if (await getScheduledTriggerById(db)({
|
|
60
|
-
scopes: params.scopes,
|
|
61
|
-
scheduledTriggerId: params.data.id
|
|
62
|
-
})) return await updateScheduledTrigger(db)({
|
|
63
|
-
scopes: params.scopes,
|
|
64
|
-
scheduledTriggerId: params.data.id,
|
|
65
|
-
data: params.data
|
|
66
|
-
});
|
|
67
|
-
return await createScheduledTrigger(db)(params.data);
|
|
68
|
-
};
|
|
69
|
-
/**
|
|
70
|
-
* Delete all scheduled triggers for a given runAsUserId within a tenant+project scope.
|
|
71
|
-
* Operates across all agents in the project (not agent-scoped).
|
|
72
|
-
*/
|
|
73
|
-
const deleteScheduledTriggersByRunAsUserId = (db) => async (params) => {
|
|
74
|
-
await db.delete(scheduledTriggers).where(and(projectScopedWhere(scheduledTriggers, {
|
|
75
|
-
tenantId: params.tenantId,
|
|
76
|
-
projectId: params.projectId
|
|
77
|
-
}), eq(scheduledTriggers.runAsUserId, params.runAsUserId)));
|
|
78
|
-
};
|
|
79
|
-
/**
|
|
80
|
-
* List all scheduled triggers for an agent (non-paginated, used by agentFull)
|
|
81
|
-
*/
|
|
82
|
-
const listScheduledTriggers = (db) => async (params) => {
|
|
83
|
-
return await db.select().from(scheduledTriggers).where(agentScopedWhere(scheduledTriggers, params.scopes));
|
|
84
|
-
};
|
|
85
|
-
|
|
86
|
-
//#endregion
|
|
87
|
-
export { createScheduledTrigger, deleteScheduledTrigger, deleteScheduledTriggersByRunAsUserId, getScheduledTriggerById, listScheduledTriggers, listScheduledTriggersPaginated, updateScheduledTrigger, upsertScheduledTrigger };
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { AgentScopeConfig } from "../../db/manage/scope-definitions.js";
|
|
2
|
-
import "../../types/utility.js";
|
|
3
|
-
import { AgentsManageDatabaseClient } from "../../db/manage/manage-client.js";
|
|
4
|
-
import { ScheduledWorkflow, ScheduledWorkflowInsert } from "../../validation/schemas.js";
|
|
5
|
-
|
|
6
|
-
//#region src/data-access/manage/scheduledWorkflows.d.ts
|
|
7
|
-
/**
|
|
8
|
-
* Get a scheduled workflow by trigger ID (agent-scoped)
|
|
9
|
-
*/
|
|
10
|
-
declare const getScheduledWorkflowByTriggerId: (db: AgentsManageDatabaseClient) => (params: {
|
|
11
|
-
scopes: AgentScopeConfig;
|
|
12
|
-
scheduledTriggerId: string;
|
|
13
|
-
}) => Promise<ScheduledWorkflow | undefined>;
|
|
14
|
-
/**
|
|
15
|
-
* Create a new scheduled workflow (agent-scoped)
|
|
16
|
-
*/
|
|
17
|
-
declare const createScheduledWorkflow: (db: AgentsManageDatabaseClient) => (params: ScheduledWorkflowInsert) => Promise<ScheduledWorkflow>;
|
|
18
|
-
/**
|
|
19
|
-
* Update workflow run ID and/or status for a scheduled workflow
|
|
20
|
-
* Used when a workflow is started/restarted/cancelled
|
|
21
|
-
*/
|
|
22
|
-
declare const updateScheduledWorkflowRunId: (db: AgentsManageDatabaseClient) => (params: {
|
|
23
|
-
scopes: AgentScopeConfig;
|
|
24
|
-
scheduledWorkflowId: string;
|
|
25
|
-
workflowRunId: string | null;
|
|
26
|
-
status?: "running" | "completed" | "cancelled" | "failed";
|
|
27
|
-
}) => Promise<ScheduledWorkflow>;
|
|
28
|
-
//#endregion
|
|
29
|
-
export { createScheduledWorkflow, getScheduledWorkflowByTriggerId, updateScheduledWorkflowRunId };
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { scheduledWorkflows } from "../../db/manage/manage-schema.js";
|
|
2
|
-
import { agentScopedWhere } from "./scope-helpers.js";
|
|
3
|
-
import { and, eq } from "drizzle-orm";
|
|
4
|
-
|
|
5
|
-
//#region src/data-access/manage/scheduledWorkflows.ts
|
|
6
|
-
/**
|
|
7
|
-
* Get a scheduled workflow by trigger ID (agent-scoped)
|
|
8
|
-
*/
|
|
9
|
-
const getScheduledWorkflowByTriggerId = (db) => async (params) => {
|
|
10
|
-
const { scopes, scheduledTriggerId } = params;
|
|
11
|
-
return await db.query.scheduledWorkflows.findFirst({ where: and(agentScopedWhere(scheduledWorkflows, scopes), eq(scheduledWorkflows.scheduledTriggerId, scheduledTriggerId)) });
|
|
12
|
-
};
|
|
13
|
-
/**
|
|
14
|
-
* Create a new scheduled workflow (agent-scoped)
|
|
15
|
-
*/
|
|
16
|
-
const createScheduledWorkflow = (db) => async (params) => {
|
|
17
|
-
return (await db.insert(scheduledWorkflows).values(params).returning())[0];
|
|
18
|
-
};
|
|
19
|
-
/**
|
|
20
|
-
* Update workflow run ID and/or status for a scheduled workflow
|
|
21
|
-
* Used when a workflow is started/restarted/cancelled
|
|
22
|
-
*/
|
|
23
|
-
const updateScheduledWorkflowRunId = (db) => async (params) => {
|
|
24
|
-
const updateData = {
|
|
25
|
-
workflowRunId: params.workflowRunId,
|
|
26
|
-
updatedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
27
|
-
};
|
|
28
|
-
if (params.status) updateData.status = params.status;
|
|
29
|
-
return (await db.update(scheduledWorkflows).set(updateData).where(and(agentScopedWhere(scheduledWorkflows, params.scopes), eq(scheduledWorkflows.id, params.scheduledWorkflowId))).returning())[0];
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
//#endregion
|
|
33
|
-
export { createScheduledWorkflow, getScheduledWorkflowByTriggerId, updateScheduledWorkflowRunId };
|