@dexto/tools-scheduler 1.6.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 (70) hide show
  1. package/LICENSE +44 -0
  2. package/dist/error-codes.cjs +44 -0
  3. package/dist/error-codes.d.cts +21 -0
  4. package/dist/error-codes.d.ts +21 -0
  5. package/dist/error-codes.js +20 -0
  6. package/dist/errors.cjs +163 -0
  7. package/dist/errors.d.cts +64 -0
  8. package/dist/errors.d.ts +64 -0
  9. package/dist/errors.js +138 -0
  10. package/dist/executor.cjs +161 -0
  11. package/dist/executor.d.cts +46 -0
  12. package/dist/executor.d.ts +46 -0
  13. package/dist/executor.js +137 -0
  14. package/dist/index.cjs +89 -0
  15. package/dist/index.d.cts +19 -0
  16. package/dist/index.d.ts +19 -0
  17. package/dist/index.js +56 -0
  18. package/dist/manager.cjs +461 -0
  19. package/dist/manager.d.cts +113 -0
  20. package/dist/manager.d.ts +113 -0
  21. package/dist/manager.js +430 -0
  22. package/dist/schemas.cjs +138 -0
  23. package/dist/schemas.d.cts +263 -0
  24. package/dist/schemas.d.ts +263 -0
  25. package/dist/schemas.js +105 -0
  26. package/dist/storage.cjs +249 -0
  27. package/dist/storage.d.cts +62 -0
  28. package/dist/storage.d.ts +62 -0
  29. package/dist/storage.js +225 -0
  30. package/dist/tool-provider.cjs +239 -0
  31. package/dist/tool-provider.d.cts +34 -0
  32. package/dist/tool-provider.d.ts +34 -0
  33. package/dist/tool-provider.js +212 -0
  34. package/dist/tool-types.cjs +16 -0
  35. package/dist/tool-types.d.cts +9 -0
  36. package/dist/tool-types.d.ts +9 -0
  37. package/dist/tool-types.js +0 -0
  38. package/dist/tools/create-schedule.cjs +75 -0
  39. package/dist/tools/create-schedule.d.cts +14 -0
  40. package/dist/tools/create-schedule.d.ts +14 -0
  41. package/dist/tools/create-schedule.js +51 -0
  42. package/dist/tools/delete-schedule.cjs +45 -0
  43. package/dist/tools/delete-schedule.d.cts +14 -0
  44. package/dist/tools/delete-schedule.d.ts +14 -0
  45. package/dist/tools/delete-schedule.js +21 -0
  46. package/dist/tools/get-history.cjs +63 -0
  47. package/dist/tools/get-history.d.cts +14 -0
  48. package/dist/tools/get-history.d.ts +14 -0
  49. package/dist/tools/get-history.js +39 -0
  50. package/dist/tools/get-schedule.cjs +68 -0
  51. package/dist/tools/get-schedule.d.cts +14 -0
  52. package/dist/tools/get-schedule.d.ts +14 -0
  53. package/dist/tools/get-schedule.js +44 -0
  54. package/dist/tools/list-schedules.cjs +67 -0
  55. package/dist/tools/list-schedules.d.cts +14 -0
  56. package/dist/tools/list-schedules.d.ts +14 -0
  57. package/dist/tools/list-schedules.js +43 -0
  58. package/dist/tools/trigger-schedule.cjs +56 -0
  59. package/dist/tools/trigger-schedule.d.cts +14 -0
  60. package/dist/tools/trigger-schedule.d.ts +14 -0
  61. package/dist/tools/trigger-schedule.js +32 -0
  62. package/dist/tools/update-schedule.cjs +53 -0
  63. package/dist/tools/update-schedule.d.cts +14 -0
  64. package/dist/tools/update-schedule.d.ts +14 -0
  65. package/dist/tools/update-schedule.js +29 -0
  66. package/dist/types.cjs +16 -0
  67. package/dist/types.d.cts +72 -0
  68. package/dist/types.d.ts +72 -0
  69. package/dist/types.js +0 -0
  70. package/package.json +41 -0
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var executor_exports = {};
20
+ __export(executor_exports, {
21
+ ScheduleExecutor: () => ScheduleExecutor
22
+ });
23
+ module.exports = __toCommonJS(executor_exports);
24
+ var import_crypto = require("crypto");
25
+ var import_errors = require("./errors.js");
26
+ class ScheduleExecutor {
27
+ constructor(executionTimeout, logger) {
28
+ this.executionTimeout = executionTimeout;
29
+ this.logger = logger;
30
+ }
31
+ executorFn = null;
32
+ /**
33
+ * Set the executor function (called to run the agent with a prompt)
34
+ */
35
+ setExecutor(fn) {
36
+ this.executorFn = fn;
37
+ }
38
+ /**
39
+ * Resolve the session ID based on the schedule's session mode
40
+ *
41
+ * - ephemeral: New unique session each execution
42
+ * - dedicated: Persistent session per schedule (schedule-{id})
43
+ * - inherit: Use the captured session from schedule creation
44
+ * - fixed: Use the explicitly provided sessionId
45
+ */
46
+ resolveSessionId(schedule) {
47
+ switch (schedule.sessionMode) {
48
+ case "ephemeral":
49
+ return `schedule-${schedule.id}-${Date.now()}`;
50
+ case "dedicated":
51
+ return `schedule-${schedule.id}`;
52
+ case "inherit":
53
+ case "fixed":
54
+ if (!schedule.sessionId) {
55
+ this.logger.warn(
56
+ `Schedule ${schedule.id} has sessionMode '${schedule.sessionMode}' but no sessionId. Falling back to ephemeral.`
57
+ );
58
+ return `schedule-${schedule.id}-${Date.now()}`;
59
+ }
60
+ return schedule.sessionId;
61
+ default:
62
+ return `schedule-${schedule.id}-${Date.now()}`;
63
+ }
64
+ }
65
+ /**
66
+ * Execute a scheduled task
67
+ */
68
+ async execute(schedule) {
69
+ if (!this.executorFn) {
70
+ throw import_errors.SchedulerError.executionFailed(schedule.id, "Executor not initialized");
71
+ }
72
+ const startTime = Date.now();
73
+ const log = {
74
+ id: (0, import_crypto.randomUUID)(),
75
+ scheduleId: schedule.id,
76
+ triggeredAt: startTime,
77
+ status: "pending"
78
+ };
79
+ const sessionId = this.resolveSessionId(schedule);
80
+ try {
81
+ this.logger.info(`Executing schedule: ${schedule.name}`, {
82
+ scheduleId: schedule.id,
83
+ executionId: log.id,
84
+ sessionId,
85
+ sessionMode: schedule.sessionMode,
86
+ cronExpression: schedule.cronExpression
87
+ });
88
+ const result = await this.executeWithTimeout(schedule, sessionId);
89
+ const completedAt = Date.now();
90
+ log.completedAt = completedAt;
91
+ log.duration = completedAt - startTime;
92
+ log.status = "success";
93
+ log.result = result;
94
+ this.logger.info(`Schedule executed successfully: ${schedule.name}`, {
95
+ scheduleId: schedule.id,
96
+ executionId: log.id,
97
+ sessionId,
98
+ durationMs: log.duration
99
+ });
100
+ } catch (error) {
101
+ const completedAt = Date.now();
102
+ log.completedAt = completedAt;
103
+ log.duration = completedAt - startTime;
104
+ if (error instanceof Error && error.name === "TimeoutError") {
105
+ log.status = "timeout";
106
+ log.error = `Execution timed out after ${this.executionTimeout}ms`;
107
+ } else {
108
+ log.status = "failed";
109
+ log.error = error instanceof Error ? error.message : String(error);
110
+ }
111
+ this.logger.error(`Schedule execution failed: ${schedule.name}`, {
112
+ scheduleId: schedule.id,
113
+ executionId: log.id,
114
+ sessionId,
115
+ error: log.error,
116
+ durationMs: log.duration
117
+ });
118
+ }
119
+ return log;
120
+ }
121
+ /**
122
+ * Execute task with timeout
123
+ */
124
+ async executeWithTimeout(schedule, sessionId) {
125
+ return new Promise((resolve, reject) => {
126
+ const timeoutId = setTimeout(() => {
127
+ const error = new Error("Execution timeout");
128
+ error.name = "TimeoutError";
129
+ reject(error);
130
+ }, this.executionTimeout);
131
+ const contextualPrompt = this.wrapPromptWithContext(schedule);
132
+ this.executorFn({ prompt: contextualPrompt, sessionId, schedule }).then((result) => {
133
+ clearTimeout(timeoutId);
134
+ resolve(result);
135
+ }).catch((error) => {
136
+ clearTimeout(timeoutId);
137
+ reject(error);
138
+ });
139
+ });
140
+ }
141
+ /**
142
+ * Wrap prompt with execution context
143
+ * Provides context that this is a scheduled automation trigger
144
+ */
145
+ wrapPromptWithContext(schedule) {
146
+ const scheduleInfo = [
147
+ `<scheduled_automation_trigger>`,
148
+ `Task: ${schedule.name}`,
149
+ `Schedule: ${schedule.cronExpression} (${schedule.timezone})`,
150
+ `Triggered at: ${(/* @__PURE__ */ new Date()).toISOString()}`,
151
+ `</scheduled_automation_trigger>`,
152
+ ``,
153
+ schedule.task.instruction
154
+ ].join("\n");
155
+ return scheduleInfo;
156
+ }
157
+ }
158
+ // Annotate the CommonJS export names for ESM import in node:
159
+ 0 && (module.exports = {
160
+ ScheduleExecutor
161
+ });
@@ -0,0 +1,46 @@
1
+ import { Logger } from '@dexto/core';
2
+ import { ScheduleExecutorFn, Schedule, ExecutionLog } from './types.cjs';
3
+ import './schemas.cjs';
4
+ import 'zod';
5
+
6
+ /**
7
+ * Schedule executor - handles execution of scheduled tasks
8
+ */
9
+
10
+ /**
11
+ * Executes scheduled tasks by calling the provided executor function
12
+ */
13
+ declare class ScheduleExecutor {
14
+ private executionTimeout;
15
+ private logger;
16
+ private executorFn;
17
+ constructor(executionTimeout: number, logger: Logger);
18
+ /**
19
+ * Set the executor function (called to run the agent with a prompt)
20
+ */
21
+ setExecutor(fn: ScheduleExecutorFn): void;
22
+ /**
23
+ * Resolve the session ID based on the schedule's session mode
24
+ *
25
+ * - ephemeral: New unique session each execution
26
+ * - dedicated: Persistent session per schedule (schedule-{id})
27
+ * - inherit: Use the captured session from schedule creation
28
+ * - fixed: Use the explicitly provided sessionId
29
+ */
30
+ private resolveSessionId;
31
+ /**
32
+ * Execute a scheduled task
33
+ */
34
+ execute(schedule: Schedule): Promise<ExecutionLog>;
35
+ /**
36
+ * Execute task with timeout
37
+ */
38
+ private executeWithTimeout;
39
+ /**
40
+ * Wrap prompt with execution context
41
+ * Provides context that this is a scheduled automation trigger
42
+ */
43
+ private wrapPromptWithContext;
44
+ }
45
+
46
+ export { ScheduleExecutor };
@@ -0,0 +1,46 @@
1
+ import { Logger } from '@dexto/core';
2
+ import { ScheduleExecutorFn, Schedule, ExecutionLog } from './types.js';
3
+ import './schemas.js';
4
+ import 'zod';
5
+
6
+ /**
7
+ * Schedule executor - handles execution of scheduled tasks
8
+ */
9
+
10
+ /**
11
+ * Executes scheduled tasks by calling the provided executor function
12
+ */
13
+ declare class ScheduleExecutor {
14
+ private executionTimeout;
15
+ private logger;
16
+ private executorFn;
17
+ constructor(executionTimeout: number, logger: Logger);
18
+ /**
19
+ * Set the executor function (called to run the agent with a prompt)
20
+ */
21
+ setExecutor(fn: ScheduleExecutorFn): void;
22
+ /**
23
+ * Resolve the session ID based on the schedule's session mode
24
+ *
25
+ * - ephemeral: New unique session each execution
26
+ * - dedicated: Persistent session per schedule (schedule-{id})
27
+ * - inherit: Use the captured session from schedule creation
28
+ * - fixed: Use the explicitly provided sessionId
29
+ */
30
+ private resolveSessionId;
31
+ /**
32
+ * Execute a scheduled task
33
+ */
34
+ execute(schedule: Schedule): Promise<ExecutionLog>;
35
+ /**
36
+ * Execute task with timeout
37
+ */
38
+ private executeWithTimeout;
39
+ /**
40
+ * Wrap prompt with execution context
41
+ * Provides context that this is a scheduled automation trigger
42
+ */
43
+ private wrapPromptWithContext;
44
+ }
45
+
46
+ export { ScheduleExecutor };
@@ -0,0 +1,137 @@
1
+ import { randomUUID } from "crypto";
2
+ import { SchedulerError } from "./errors.js";
3
+ class ScheduleExecutor {
4
+ constructor(executionTimeout, logger) {
5
+ this.executionTimeout = executionTimeout;
6
+ this.logger = logger;
7
+ }
8
+ executorFn = null;
9
+ /**
10
+ * Set the executor function (called to run the agent with a prompt)
11
+ */
12
+ setExecutor(fn) {
13
+ this.executorFn = fn;
14
+ }
15
+ /**
16
+ * Resolve the session ID based on the schedule's session mode
17
+ *
18
+ * - ephemeral: New unique session each execution
19
+ * - dedicated: Persistent session per schedule (schedule-{id})
20
+ * - inherit: Use the captured session from schedule creation
21
+ * - fixed: Use the explicitly provided sessionId
22
+ */
23
+ resolveSessionId(schedule) {
24
+ switch (schedule.sessionMode) {
25
+ case "ephemeral":
26
+ return `schedule-${schedule.id}-${Date.now()}`;
27
+ case "dedicated":
28
+ return `schedule-${schedule.id}`;
29
+ case "inherit":
30
+ case "fixed":
31
+ if (!schedule.sessionId) {
32
+ this.logger.warn(
33
+ `Schedule ${schedule.id} has sessionMode '${schedule.sessionMode}' but no sessionId. Falling back to ephemeral.`
34
+ );
35
+ return `schedule-${schedule.id}-${Date.now()}`;
36
+ }
37
+ return schedule.sessionId;
38
+ default:
39
+ return `schedule-${schedule.id}-${Date.now()}`;
40
+ }
41
+ }
42
+ /**
43
+ * Execute a scheduled task
44
+ */
45
+ async execute(schedule) {
46
+ if (!this.executorFn) {
47
+ throw SchedulerError.executionFailed(schedule.id, "Executor not initialized");
48
+ }
49
+ const startTime = Date.now();
50
+ const log = {
51
+ id: randomUUID(),
52
+ scheduleId: schedule.id,
53
+ triggeredAt: startTime,
54
+ status: "pending"
55
+ };
56
+ const sessionId = this.resolveSessionId(schedule);
57
+ try {
58
+ this.logger.info(`Executing schedule: ${schedule.name}`, {
59
+ scheduleId: schedule.id,
60
+ executionId: log.id,
61
+ sessionId,
62
+ sessionMode: schedule.sessionMode,
63
+ cronExpression: schedule.cronExpression
64
+ });
65
+ const result = await this.executeWithTimeout(schedule, sessionId);
66
+ const completedAt = Date.now();
67
+ log.completedAt = completedAt;
68
+ log.duration = completedAt - startTime;
69
+ log.status = "success";
70
+ log.result = result;
71
+ this.logger.info(`Schedule executed successfully: ${schedule.name}`, {
72
+ scheduleId: schedule.id,
73
+ executionId: log.id,
74
+ sessionId,
75
+ durationMs: log.duration
76
+ });
77
+ } catch (error) {
78
+ const completedAt = Date.now();
79
+ log.completedAt = completedAt;
80
+ log.duration = completedAt - startTime;
81
+ if (error instanceof Error && error.name === "TimeoutError") {
82
+ log.status = "timeout";
83
+ log.error = `Execution timed out after ${this.executionTimeout}ms`;
84
+ } else {
85
+ log.status = "failed";
86
+ log.error = error instanceof Error ? error.message : String(error);
87
+ }
88
+ this.logger.error(`Schedule execution failed: ${schedule.name}`, {
89
+ scheduleId: schedule.id,
90
+ executionId: log.id,
91
+ sessionId,
92
+ error: log.error,
93
+ durationMs: log.duration
94
+ });
95
+ }
96
+ return log;
97
+ }
98
+ /**
99
+ * Execute task with timeout
100
+ */
101
+ async executeWithTimeout(schedule, sessionId) {
102
+ return new Promise((resolve, reject) => {
103
+ const timeoutId = setTimeout(() => {
104
+ const error = new Error("Execution timeout");
105
+ error.name = "TimeoutError";
106
+ reject(error);
107
+ }, this.executionTimeout);
108
+ const contextualPrompt = this.wrapPromptWithContext(schedule);
109
+ this.executorFn({ prompt: contextualPrompt, sessionId, schedule }).then((result) => {
110
+ clearTimeout(timeoutId);
111
+ resolve(result);
112
+ }).catch((error) => {
113
+ clearTimeout(timeoutId);
114
+ reject(error);
115
+ });
116
+ });
117
+ }
118
+ /**
119
+ * Wrap prompt with execution context
120
+ * Provides context that this is a scheduled automation trigger
121
+ */
122
+ wrapPromptWithContext(schedule) {
123
+ const scheduleInfo = [
124
+ `<scheduled_automation_trigger>`,
125
+ `Task: ${schedule.name}`,
126
+ `Schedule: ${schedule.cronExpression} (${schedule.timezone})`,
127
+ `Triggered at: ${(/* @__PURE__ */ new Date()).toISOString()}`,
128
+ `</scheduled_automation_trigger>`,
129
+ ``,
130
+ schedule.task.instruction
131
+ ].join("\n");
132
+ return scheduleInfo;
133
+ }
134
+ }
135
+ export {
136
+ ScheduleExecutor
137
+ };
package/dist/index.cjs ADDED
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var index_exports = {};
20
+ __export(index_exports, {
21
+ CreateScheduleInputSchema: () => import_schemas.CreateScheduleInputSchema,
22
+ DeleteScheduleInputSchema: () => import_schemas.DeleteScheduleInputSchema,
23
+ GetScheduleHistoryInputSchema: () => import_schemas.GetScheduleHistoryInputSchema,
24
+ GetScheduleInputSchema: () => import_schemas.GetScheduleInputSchema,
25
+ ListSchedulesInputSchema: () => import_schemas.ListSchedulesInputSchema,
26
+ ScheduleExecutor: () => import_executor.ScheduleExecutor,
27
+ ScheduleSessionModeSchema: () => import_schemas.ScheduleSessionModeSchema,
28
+ ScheduleStorage: () => import_storage.ScheduleStorage,
29
+ SchedulerError: () => import_errors.SchedulerError,
30
+ SchedulerErrorCode: () => import_error_codes.SchedulerErrorCode,
31
+ SchedulerManager: () => import_manager.SchedulerManager,
32
+ SchedulerToolsConfigSchema: () => import_schemas.SchedulerToolsConfigSchema,
33
+ TriggerScheduleInputSchema: () => import_schemas.TriggerScheduleInputSchema,
34
+ UpdateScheduleInputSchema: () => import_schemas.UpdateScheduleInputSchema,
35
+ createCreateScheduleTool: () => import_create_schedule.createCreateScheduleTool,
36
+ createDeleteScheduleTool: () => import_delete_schedule.createDeleteScheduleTool,
37
+ createGetScheduleHistoryTool: () => import_get_history.createGetScheduleHistoryTool,
38
+ createGetScheduleTool: () => import_get_schedule.createGetScheduleTool,
39
+ createListSchedulesTool: () => import_list_schedules.createListSchedulesTool,
40
+ createSchedulerTools: () => import_tool_provider.createSchedulerTools,
41
+ createTriggerScheduleTool: () => import_trigger_schedule.createTriggerScheduleTool,
42
+ createUpdateScheduleTool: () => import_update_schedule.createUpdateScheduleTool,
43
+ ensureSchedulerManagerForAgent: () => import_tool_provider.ensureSchedulerManagerForAgent,
44
+ getSchedulerManager: () => import_tool_provider.getSchedulerManager,
45
+ schedulerToolsFactory: () => import_tool_provider.schedulerToolsFactory
46
+ });
47
+ module.exports = __toCommonJS(index_exports);
48
+ var import_tool_provider = require("./tool-provider.js");
49
+ var import_schemas = require("./schemas.js");
50
+ var import_errors = require("./errors.js");
51
+ var import_error_codes = require("./error-codes.js");
52
+ var import_manager = require("./manager.js");
53
+ var import_storage = require("./storage.js");
54
+ var import_executor = require("./executor.js");
55
+ var import_create_schedule = require("./tools/create-schedule.js");
56
+ var import_list_schedules = require("./tools/list-schedules.js");
57
+ var import_get_schedule = require("./tools/get-schedule.js");
58
+ var import_update_schedule = require("./tools/update-schedule.js");
59
+ var import_delete_schedule = require("./tools/delete-schedule.js");
60
+ var import_trigger_schedule = require("./tools/trigger-schedule.js");
61
+ var import_get_history = require("./tools/get-history.js");
62
+ // Annotate the CommonJS export names for ESM import in node:
63
+ 0 && (module.exports = {
64
+ CreateScheduleInputSchema,
65
+ DeleteScheduleInputSchema,
66
+ GetScheduleHistoryInputSchema,
67
+ GetScheduleInputSchema,
68
+ ListSchedulesInputSchema,
69
+ ScheduleExecutor,
70
+ ScheduleSessionModeSchema,
71
+ ScheduleStorage,
72
+ SchedulerError,
73
+ SchedulerErrorCode,
74
+ SchedulerManager,
75
+ SchedulerToolsConfigSchema,
76
+ TriggerScheduleInputSchema,
77
+ UpdateScheduleInputSchema,
78
+ createCreateScheduleTool,
79
+ createDeleteScheduleTool,
80
+ createGetScheduleHistoryTool,
81
+ createGetScheduleTool,
82
+ createListSchedulesTool,
83
+ createSchedulerTools,
84
+ createTriggerScheduleTool,
85
+ createUpdateScheduleTool,
86
+ ensureSchedulerManagerForAgent,
87
+ getSchedulerManager,
88
+ schedulerToolsFactory
89
+ });
@@ -0,0 +1,19 @@
1
+ export { createSchedulerTools, ensureSchedulerManagerForAgent, getSchedulerManager, schedulerToolsFactory } from './tool-provider.cjs';
2
+ export { CreateScheduleInput, CreateScheduleInputSchema, DeleteScheduleInput, DeleteScheduleInputSchema, GetScheduleHistoryInput, GetScheduleHistoryInputSchema, GetScheduleInput, GetScheduleInputSchema, ListSchedulesInput, ListSchedulesInputSchema, ScheduleSessionMode, ScheduleSessionModeSchema, SchedulerToolsConfig, SchedulerToolsConfigSchema, TriggerScheduleInput, TriggerScheduleInputSchema, UpdateScheduleInput, UpdateScheduleInputSchema } from './schemas.cjs';
3
+ export { ExecutionLog, Schedule, ScheduleExecutorFn, ScheduleFilters } from './types.cjs';
4
+ export { SchedulerError } from './errors.cjs';
5
+ export { SchedulerErrorCode } from './error-codes.cjs';
6
+ export { SchedulerManager } from './manager.cjs';
7
+ export { ScheduleStorage } from './storage.cjs';
8
+ export { ScheduleExecutor } from './executor.cjs';
9
+ export { SchedulerManagerGetter } from './tool-types.cjs';
10
+ export { createCreateScheduleTool } from './tools/create-schedule.cjs';
11
+ export { createListSchedulesTool } from './tools/list-schedules.cjs';
12
+ export { createGetScheduleTool } from './tools/get-schedule.cjs';
13
+ export { createUpdateScheduleTool } from './tools/update-schedule.cjs';
14
+ export { createDeleteScheduleTool } from './tools/delete-schedule.cjs';
15
+ export { createTriggerScheduleTool } from './tools/trigger-schedule.cjs';
16
+ export { createGetScheduleHistoryTool } from './tools/get-history.cjs';
17
+ import '@dexto/agent-config';
18
+ import '@dexto/core';
19
+ import 'zod';
@@ -0,0 +1,19 @@
1
+ export { createSchedulerTools, ensureSchedulerManagerForAgent, getSchedulerManager, schedulerToolsFactory } from './tool-provider.js';
2
+ export { CreateScheduleInput, CreateScheduleInputSchema, DeleteScheduleInput, DeleteScheduleInputSchema, GetScheduleHistoryInput, GetScheduleHistoryInputSchema, GetScheduleInput, GetScheduleInputSchema, ListSchedulesInput, ListSchedulesInputSchema, ScheduleSessionMode, ScheduleSessionModeSchema, SchedulerToolsConfig, SchedulerToolsConfigSchema, TriggerScheduleInput, TriggerScheduleInputSchema, UpdateScheduleInput, UpdateScheduleInputSchema } from './schemas.js';
3
+ export { ExecutionLog, Schedule, ScheduleExecutorFn, ScheduleFilters } from './types.js';
4
+ export { SchedulerError } from './errors.js';
5
+ export { SchedulerErrorCode } from './error-codes.js';
6
+ export { SchedulerManager } from './manager.js';
7
+ export { ScheduleStorage } from './storage.js';
8
+ export { ScheduleExecutor } from './executor.js';
9
+ export { SchedulerManagerGetter } from './tool-types.js';
10
+ export { createCreateScheduleTool } from './tools/create-schedule.js';
11
+ export { createListSchedulesTool } from './tools/list-schedules.js';
12
+ export { createGetScheduleTool } from './tools/get-schedule.js';
13
+ export { createUpdateScheduleTool } from './tools/update-schedule.js';
14
+ export { createDeleteScheduleTool } from './tools/delete-schedule.js';
15
+ export { createTriggerScheduleTool } from './tools/trigger-schedule.js';
16
+ export { createGetScheduleHistoryTool } from './tools/get-history.js';
17
+ import '@dexto/agent-config';
18
+ import '@dexto/core';
19
+ import 'zod';
package/dist/index.js ADDED
@@ -0,0 +1,56 @@
1
+ import {
2
+ schedulerToolsFactory,
3
+ getSchedulerManager,
4
+ ensureSchedulerManagerForAgent,
5
+ createSchedulerTools
6
+ } from "./tool-provider.js";
7
+ import {
8
+ SchedulerToolsConfigSchema,
9
+ ScheduleSessionModeSchema,
10
+ CreateScheduleInputSchema,
11
+ UpdateScheduleInputSchema,
12
+ ListSchedulesInputSchema,
13
+ GetScheduleInputSchema,
14
+ DeleteScheduleInputSchema,
15
+ TriggerScheduleInputSchema,
16
+ GetScheduleHistoryInputSchema
17
+ } from "./schemas.js";
18
+ import { SchedulerError } from "./errors.js";
19
+ import { SchedulerErrorCode } from "./error-codes.js";
20
+ import { SchedulerManager } from "./manager.js";
21
+ import { ScheduleStorage } from "./storage.js";
22
+ import { ScheduleExecutor } from "./executor.js";
23
+ import { createCreateScheduleTool } from "./tools/create-schedule.js";
24
+ import { createListSchedulesTool } from "./tools/list-schedules.js";
25
+ import { createGetScheduleTool } from "./tools/get-schedule.js";
26
+ import { createUpdateScheduleTool } from "./tools/update-schedule.js";
27
+ import { createDeleteScheduleTool } from "./tools/delete-schedule.js";
28
+ import { createTriggerScheduleTool } from "./tools/trigger-schedule.js";
29
+ import { createGetScheduleHistoryTool } from "./tools/get-history.js";
30
+ export {
31
+ CreateScheduleInputSchema,
32
+ DeleteScheduleInputSchema,
33
+ GetScheduleHistoryInputSchema,
34
+ GetScheduleInputSchema,
35
+ ListSchedulesInputSchema,
36
+ ScheduleExecutor,
37
+ ScheduleSessionModeSchema,
38
+ ScheduleStorage,
39
+ SchedulerError,
40
+ SchedulerErrorCode,
41
+ SchedulerManager,
42
+ SchedulerToolsConfigSchema,
43
+ TriggerScheduleInputSchema,
44
+ UpdateScheduleInputSchema,
45
+ createCreateScheduleTool,
46
+ createDeleteScheduleTool,
47
+ createGetScheduleHistoryTool,
48
+ createGetScheduleTool,
49
+ createListSchedulesTool,
50
+ createSchedulerTools,
51
+ createTriggerScheduleTool,
52
+ createUpdateScheduleTool,
53
+ ensureSchedulerManagerForAgent,
54
+ getSchedulerManager,
55
+ schedulerToolsFactory
56
+ };