@inkeep/agents-core 0.62.1 → 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.
Files changed (63) hide show
  1. package/dist/auth/auth-config-utils.js +1 -1
  2. package/dist/auth/auth.js +1 -1
  3. package/dist/auth/init.js +12 -2
  4. package/dist/client-exports.d.ts +2 -2
  5. package/dist/client-exports.js +2 -2
  6. package/dist/data-access/index.d.ts +4 -7
  7. package/dist/data-access/index.js +4 -7
  8. package/dist/data-access/manage/agentFull.js +0 -116
  9. package/dist/data-access/manage/agents.d.ts +27 -27
  10. package/dist/data-access/manage/agents.js +0 -30
  11. package/dist/data-access/manage/artifactComponents.d.ts +6 -6
  12. package/dist/data-access/manage/audit-queries.d.ts +1 -14
  13. package/dist/data-access/manage/audit-queries.js +2 -16
  14. package/dist/data-access/manage/contextConfigs.d.ts +12 -12
  15. package/dist/data-access/manage/dataComponents.d.ts +4 -4
  16. package/dist/data-access/manage/functionTools.d.ts +10 -10
  17. package/dist/data-access/manage/skills.d.ts +5 -5
  18. package/dist/data-access/manage/subAgentExternalAgentRelations.d.ts +12 -12
  19. package/dist/data-access/manage/subAgentRelations.d.ts +18 -18
  20. package/dist/data-access/manage/subAgentTeamAgentRelations.d.ts +12 -12
  21. package/dist/data-access/manage/subAgents.d.ts +9 -9
  22. package/dist/data-access/manage/tools.d.ts +15 -15
  23. package/dist/data-access/manage/triggerCleanup.js +18 -7
  24. package/dist/data-access/runtime/apiKeys.d.ts +8 -8
  25. package/dist/data-access/runtime/apps.d.ts +4 -4
  26. package/dist/data-access/runtime/cascade-delete.d.ts +2 -0
  27. package/dist/data-access/runtime/cascade-delete.js +13 -6
  28. package/dist/data-access/runtime/conversations.d.ts +8 -8
  29. package/dist/data-access/runtime/messages.d.ts +3 -3
  30. package/dist/data-access/runtime/scheduledTriggerInvocations.d.ts +5 -4
  31. package/dist/data-access/runtime/scheduledTriggers.d.ts +89 -0
  32. package/dist/data-access/runtime/scheduledTriggers.js +91 -0
  33. package/dist/data-access/runtime/schedulerState.d.ts +11 -0
  34. package/dist/data-access/runtime/schedulerState.js +30 -0
  35. package/dist/data-access/runtime/tasks.d.ts +2 -2
  36. package/dist/data-reconciliation/index.d.ts +2 -2
  37. package/dist/data-reconciliation/types.d.ts +1 -28
  38. package/dist/db/manage/manage-schema.d.ts +340 -694
  39. package/dist/db/manage/manage-schema.js +2 -4
  40. package/dist/db/runtime/runtime-schema.d.ts +811 -350
  41. package/dist/db/runtime/runtime-schema.js +38 -5
  42. package/dist/index.d.ts +11 -12
  43. package/dist/index.js +8 -10
  44. package/dist/middleware/no-auth.d.ts +2 -2
  45. package/dist/types/entities.d.ts +12 -2
  46. package/dist/types/index.d.ts +2 -2
  47. package/dist/utils/compute-next-run-at.d.ts +9 -0
  48. package/dist/utils/compute-next-run-at.js +18 -0
  49. package/dist/utils/index.d.ts +2 -1
  50. package/dist/utils/index.js +2 -1
  51. package/dist/validation/drizzle-schema-helpers.d.ts +3 -3
  52. package/dist/validation/index.d.ts +2 -2
  53. package/dist/validation/index.js +2 -2
  54. package/dist/validation/schemas.d.ts +2714 -3694
  55. package/dist/validation/schemas.js +16 -32
  56. package/drizzle/runtime/0028_thick_squirrel_girl.sql +36 -0
  57. package/drizzle/runtime/meta/0028_snapshot.json +4661 -0
  58. package/drizzle/runtime/meta/_journal.json +7 -0
  59. package/package.json +2 -1
  60. package/dist/data-access/manage/scheduledTriggers.d.ts +0 -91
  61. package/dist/data-access/manage/scheduledTriggers.js +0 -87
  62. package/dist/data-access/manage/scheduledWorkflows.d.ts +0 -29
  63. 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.62.1",
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 };