@fbdo/smart-agentic-calendar 0.1.0 → 0.1.2
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/README.md +148 -63
- package/dist/analytics/analytics-engine.d.ts +3 -1
- package/dist/analytics/analytics-engine.d.ts.map +1 -1
- package/dist/analytics/analytics-engine.js +3 -1
- package/dist/analytics/analytics-engine.js.map +1 -1
- package/dist/common/logger.d.ts +30 -0
- package/dist/common/logger.d.ts.map +1 -0
- package/dist/common/logger.js +74 -0
- package/dist/common/logger.js.map +1 -0
- package/dist/engine/conflict-detector.d.ts +3 -0
- package/dist/engine/conflict-detector.d.ts.map +1 -1
- package/dist/engine/conflict-detector.js +4 -0
- package/dist/engine/conflict-detector.js.map +1 -1
- package/dist/engine/dependency-resolver.d.ts +3 -0
- package/dist/engine/dependency-resolver.d.ts.map +1 -1
- package/dist/engine/dependency-resolver.js +8 -1
- package/dist/engine/dependency-resolver.js.map +1 -1
- package/dist/engine/recurrence-manager.d.ts +3 -1
- package/dist/engine/recurrence-manager.d.ts.map +1 -1
- package/dist/engine/recurrence-manager.js +5 -2
- package/dist/engine/recurrence-manager.js.map +1 -1
- package/dist/engine/replan-coordinator.d.ts +3 -1
- package/dist/engine/replan-coordinator.d.ts.map +1 -1
- package/dist/engine/replan-coordinator.js +14 -2
- package/dist/engine/replan-coordinator.js.map +1 -1
- package/dist/engine/scheduler.d.ts +3 -1
- package/dist/engine/scheduler.d.ts.map +1 -1
- package/dist/engine/scheduler.js +15 -2
- package/dist/engine/scheduler.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +29 -23
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.d.ts +5 -3
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +76 -20
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools/analytics-tools.d.ts +3 -1
- package/dist/mcp/tools/analytics-tools.d.ts.map +1 -1
- package/dist/mcp/tools/analytics-tools.js +3 -1
- package/dist/mcp/tools/analytics-tools.js.map +1 -1
- package/dist/mcp/tools/config-tools.d.ts +3 -1
- package/dist/mcp/tools/config-tools.d.ts.map +1 -1
- package/dist/mcp/tools/config-tools.js +3 -1
- package/dist/mcp/tools/config-tools.js.map +1 -1
- package/dist/mcp/tools/event-tools.d.ts +3 -1
- package/dist/mcp/tools/event-tools.d.ts.map +1 -1
- package/dist/mcp/tools/event-tools.js +3 -1
- package/dist/mcp/tools/event-tools.js.map +1 -1
- package/dist/mcp/tools/schedule-tools.d.ts +3 -1
- package/dist/mcp/tools/schedule-tools.d.ts.map +1 -1
- package/dist/mcp/tools/schedule-tools.js +3 -1
- package/dist/mcp/tools/schedule-tools.js.map +1 -1
- package/dist/mcp/tools/task-tools.d.ts +3 -1
- package/dist/mcp/tools/task-tools.d.ts.map +1 -1
- package/dist/mcp/tools/task-tools.js +3 -1
- package/dist/mcp/tools/task-tools.js.map +1 -1
- package/dist/storage/analytics-repository.d.ts +3 -1
- package/dist/storage/analytics-repository.d.ts.map +1 -1
- package/dist/storage/analytics-repository.js +3 -1
- package/dist/storage/analytics-repository.js.map +1 -1
- package/dist/storage/config-repository.d.ts +3 -1
- package/dist/storage/config-repository.d.ts.map +1 -1
- package/dist/storage/config-repository.js +3 -1
- package/dist/storage/config-repository.js.map +1 -1
- package/dist/storage/database.d.ts +3 -1
- package/dist/storage/database.d.ts.map +1 -1
- package/dist/storage/database.js +5 -1
- package/dist/storage/database.js.map +1 -1
- package/dist/storage/event-repository.d.ts +3 -1
- package/dist/storage/event-repository.d.ts.map +1 -1
- package/dist/storage/event-repository.js +3 -1
- package/dist/storage/event-repository.js.map +1 -1
- package/dist/storage/recurrence-repository.d.ts +3 -1
- package/dist/storage/recurrence-repository.d.ts.map +1 -1
- package/dist/storage/recurrence-repository.js +3 -1
- package/dist/storage/recurrence-repository.js.map +1 -1
- package/dist/storage/schedule-repository.d.ts +3 -1
- package/dist/storage/schedule-repository.d.ts.map +1 -1
- package/dist/storage/schedule-repository.js +3 -1
- package/dist/storage/schedule-repository.js.map +1 -1
- package/dist/storage/task-repository.d.ts +3 -1
- package/dist/storage/task-repository.d.ts.map +1 -1
- package/dist/storage/task-repository.js +3 -1
- package/dist/storage/task-repository.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
import
|
|
1
|
+
import rruleLib from "rrule";
|
|
2
|
+
const { rrulestr } = rruleLib;
|
|
2
3
|
import { ValidationError, NotFoundError, InvalidStateError } from "../models/errors.js";
|
|
3
4
|
export class RecurrenceManager {
|
|
4
5
|
recurrenceRepo;
|
|
5
6
|
taskRepo;
|
|
7
|
+
logger;
|
|
6
8
|
currentHorizonEnd = null;
|
|
7
|
-
constructor(recurrenceRepo, taskRepo) {
|
|
9
|
+
constructor(recurrenceRepo, taskRepo, logger) {
|
|
8
10
|
this.recurrenceRepo = recurrenceRepo;
|
|
9
11
|
this.taskRepo = taskRepo;
|
|
12
|
+
this.logger = logger;
|
|
10
13
|
}
|
|
11
14
|
createRecurringTask(taskData, rruleString, now, horizonEnd) {
|
|
12
15
|
// Validate RRULE before creating anything
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recurrence-manager.js","sourceRoot":"","sources":["../../src/engine/recurrence-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"recurrence-manager.js","sourceRoot":"","sources":["../../src/engine/recurrence-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,17 +4,19 @@ import type { TaskRepository } from "../storage/task-repository.js";
|
|
|
4
4
|
import type { ConfigRepository } from "../storage/config-repository.js";
|
|
5
5
|
import type { RecurrenceManager } from "./recurrence-manager.js";
|
|
6
6
|
import type { ScheduleStatus } from "../models/schedule.js";
|
|
7
|
+
import type { Logger } from "../common/logger.js";
|
|
7
8
|
export declare class ReplanCoordinator {
|
|
8
9
|
private readonly scheduler;
|
|
9
10
|
private readonly scheduleRepo;
|
|
10
11
|
private readonly taskRepo;
|
|
11
12
|
private readonly configRepo;
|
|
12
13
|
private readonly recurrenceManager;
|
|
14
|
+
private readonly logger;
|
|
13
15
|
private dirty;
|
|
14
16
|
private replanning;
|
|
15
17
|
private pendingTimeout;
|
|
16
18
|
private awaitCallbacks;
|
|
17
|
-
constructor(scheduler: Scheduler, scheduleRepo: ScheduleRepository, taskRepo: TaskRepository, configRepo: ConfigRepository, recurrenceManager: RecurrenceManager);
|
|
19
|
+
constructor(scheduler: Scheduler, scheduleRepo: ScheduleRepository, taskRepo: TaskRepository, configRepo: ConfigRepository, recurrenceManager: RecurrenceManager, logger: Logger);
|
|
18
20
|
requestReplan(): void;
|
|
19
21
|
isReplanning(): boolean;
|
|
20
22
|
getScheduleStatus(): ScheduleStatus;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replan-coordinator.d.ts","sourceRoot":"","sources":["../../src/engine/replan-coordinator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"replan-coordinator.d.ts","sourceRoot":"","sources":["../../src/engine/replan-coordinator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAC9C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,cAAc,CAAsB;gBAG1C,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,kBAAkB,EAChC,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,gBAAgB,EAC5B,iBAAiB,EAAE,iBAAiB,EACpC,MAAM,EAAE,MAAM;IAUhB,aAAa,IAAI,IAAI;IAOrB,YAAY,IAAI,OAAO;IAIvB,iBAAiB,IAAI,cAAc;IAK7B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBlC,OAAO,CAAC,aAAa;CA0EtB"}
|
|
@@ -4,16 +4,18 @@ export class ReplanCoordinator {
|
|
|
4
4
|
taskRepo;
|
|
5
5
|
configRepo;
|
|
6
6
|
recurrenceManager;
|
|
7
|
+
logger;
|
|
7
8
|
dirty = false;
|
|
8
9
|
replanning = false;
|
|
9
10
|
pendingTimeout = null;
|
|
10
11
|
awaitCallbacks = [];
|
|
11
|
-
constructor(scheduler, scheduleRepo, taskRepo, configRepo, recurrenceManager) {
|
|
12
|
+
constructor(scheduler, scheduleRepo, taskRepo, configRepo, recurrenceManager, logger) {
|
|
12
13
|
this.scheduler = scheduler;
|
|
13
14
|
this.scheduleRepo = scheduleRepo;
|
|
14
15
|
this.taskRepo = taskRepo;
|
|
15
16
|
this.configRepo = configRepo;
|
|
16
17
|
this.recurrenceManager = recurrenceManager;
|
|
18
|
+
this.logger = logger;
|
|
17
19
|
}
|
|
18
20
|
requestReplan() {
|
|
19
21
|
this.dirty = true;
|
|
@@ -54,6 +56,7 @@ export class ReplanCoordinator {
|
|
|
54
56
|
this.dirty = false;
|
|
55
57
|
this.replanning = true;
|
|
56
58
|
this.scheduleRepo.setScheduleStatus("replan_in_progress");
|
|
59
|
+
this.logger.info("replan", "replan started");
|
|
57
60
|
try {
|
|
58
61
|
// Step 1: Expand recurrence horizon
|
|
59
62
|
const preferences = this.configRepo.getPreferences();
|
|
@@ -67,6 +70,10 @@ export class ReplanCoordinator {
|
|
|
67
70
|
// Step 3: Save results
|
|
68
71
|
this.scheduleRepo.clearSchedule();
|
|
69
72
|
this.scheduleRepo.saveSchedule(result.timeBlocks);
|
|
73
|
+
this.logger.info("replan", {
|
|
74
|
+
event: "replan_complete",
|
|
75
|
+
blocksCount: result.timeBlocks.length,
|
|
76
|
+
});
|
|
70
77
|
// Step 4: Update task statuses — mark scheduled tasks
|
|
71
78
|
const scheduledTaskIds = new Set(result.timeBlocks.map((b) => b.taskId));
|
|
72
79
|
const atRiskIds = new Set(result.atRiskTasks.map((a) => a.taskId));
|
|
@@ -85,8 +92,12 @@ export class ReplanCoordinator {
|
|
|
85
92
|
}
|
|
86
93
|
}
|
|
87
94
|
}
|
|
88
|
-
catch {
|
|
95
|
+
catch (error) {
|
|
89
96
|
// Graceful degradation: previous schedule preserved
|
|
97
|
+
this.logger.notice("replan", {
|
|
98
|
+
event: "replan_failed_graceful_degradation",
|
|
99
|
+
error: String(error),
|
|
100
|
+
});
|
|
90
101
|
}
|
|
91
102
|
finally {
|
|
92
103
|
this.replanning = false;
|
|
@@ -99,6 +110,7 @@ export class ReplanCoordinator {
|
|
|
99
110
|
}
|
|
100
111
|
// If dirty again (mutation during replan), schedule another
|
|
101
112
|
if (this.dirty) {
|
|
113
|
+
this.logger.debug("replan", "dirty during replan, scheduling another");
|
|
102
114
|
this.pendingTimeout = setTimeout(() => this.executeReplan(), 0);
|
|
103
115
|
}
|
|
104
116
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replan-coordinator.js","sourceRoot":"","sources":["../../src/engine/replan-coordinator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"replan-coordinator.js","sourceRoot":"","sources":["../../src/engine/replan-coordinator.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ import type { TaskRepository } from "../storage/task-repository.js";
|
|
|
6
6
|
import type { EventRepository } from "../storage/event-repository.js";
|
|
7
7
|
import type { ConfigRepository } from "../storage/config-repository.js";
|
|
8
8
|
import type { ScheduleRepository } from "../storage/schedule-repository.js";
|
|
9
|
+
import type { Logger } from "../common/logger.js";
|
|
9
10
|
import { ConflictDetector } from "./conflict-detector.js";
|
|
10
11
|
import { DependencyResolver } from "./dependency-resolver.js";
|
|
11
12
|
export interface AvailableSlot {
|
|
@@ -57,7 +58,8 @@ export declare class Scheduler {
|
|
|
57
58
|
private readonly conflictDetector;
|
|
58
59
|
private readonly dependencyResolver;
|
|
59
60
|
private readonly scheduleRepo;
|
|
60
|
-
|
|
61
|
+
private readonly logger;
|
|
62
|
+
constructor(taskRepo: TaskRepository, eventRepo: EventRepository, configRepo: ConfigRepository, conflictDetector: ConflictDetector, dependencyResolver: DependencyResolver, scheduleRepo: ScheduleRepository, logger: Logger);
|
|
61
63
|
generateSchedule(start: Date, end: Date): ScheduleResult;
|
|
62
64
|
}
|
|
63
65
|
export declare function placeTask(task: Task, availableSlots: AvailableSlot[], existingBlocks: TimeBlock[], now: Date, focusTime: FocusTime, energyConfig: EnergyConfig | null, bufferTimeMinutes: number, minimumBlockMinutes: number, focusMinimumBlockMinutes: number): TaskPlacement;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/engine/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/engine/scheduler.ts"],"names":[],"mappings":"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"}
|
package/dist/engine/scheduler.js
CHANGED
|
@@ -142,15 +142,22 @@ export class Scheduler {
|
|
|
142
142
|
conflictDetector;
|
|
143
143
|
dependencyResolver;
|
|
144
144
|
scheduleRepo;
|
|
145
|
-
|
|
145
|
+
logger;
|
|
146
|
+
constructor(taskRepo, eventRepo, configRepo, conflictDetector, dependencyResolver, scheduleRepo, logger) {
|
|
146
147
|
this.taskRepo = taskRepo;
|
|
147
148
|
this.eventRepo = eventRepo;
|
|
148
149
|
this.configRepo = configRepo;
|
|
149
150
|
this.conflictDetector = conflictDetector;
|
|
150
151
|
this.dependencyResolver = dependencyResolver;
|
|
151
152
|
this.scheduleRepo = scheduleRepo;
|
|
153
|
+
this.logger = logger;
|
|
152
154
|
}
|
|
153
155
|
generateSchedule(start, end) {
|
|
156
|
+
this.logger.debug("scheduler", {
|
|
157
|
+
event: "generate_start",
|
|
158
|
+
horizonStart: start.toISOString(),
|
|
159
|
+
horizonEnd: end.toISOString(),
|
|
160
|
+
});
|
|
154
161
|
const config = this.configRepo.getFullConfig();
|
|
155
162
|
const now = new Date();
|
|
156
163
|
// 1. Load inputs
|
|
@@ -206,11 +213,17 @@ export class Scheduler {
|
|
|
206
213
|
// 5. Run conflict detection
|
|
207
214
|
const newBlocks = allTimeBlocks.filter((b) => !pinnedBlocks.includes(b));
|
|
208
215
|
const conflicts = this.conflictDetector.detectConflicts(pendingTasks, newBlocks, config.availability, dependencies, now);
|
|
209
|
-
|
|
216
|
+
const result = {
|
|
210
217
|
timeBlocks: allTimeBlocks.filter((b) => !pinnedBlocks.includes(b)),
|
|
211
218
|
conflicts,
|
|
212
219
|
atRiskTasks,
|
|
213
220
|
};
|
|
221
|
+
this.logger.info("scheduler", {
|
|
222
|
+
event: "generate_complete",
|
|
223
|
+
blocksCount: result.timeBlocks.length,
|
|
224
|
+
atRiskCount: result.atRiskTasks.length,
|
|
225
|
+
});
|
|
226
|
+
return result;
|
|
214
227
|
}
|
|
215
228
|
}
|
|
216
229
|
// --- Task placement ---
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/engine/scheduler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/engine/scheduler.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,8 +6,10 @@ import { ScheduleTools } from "./mcp/tools/schedule-tools.js";
|
|
|
6
6
|
import { AnalyticsTools } from "./mcp/tools/analytics-tools.js";
|
|
7
7
|
import { ConfigTools } from "./mcp/tools/config-tools.js";
|
|
8
8
|
import { McpServer } from "./mcp/server.js";
|
|
9
|
+
import { type Logger } from "./common/logger.js";
|
|
10
|
+
export { createNoOpLogger } from "./common/logger.js";
|
|
9
11
|
export declare function getDbPath(): string;
|
|
10
|
-
export declare function createApp(dbPath: string): {
|
|
12
|
+
export declare function createApp(dbPath: string, logger?: Logger): {
|
|
11
13
|
server: McpServer;
|
|
12
14
|
database: Database;
|
|
13
15
|
taskTools: TaskTools;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAajD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAajD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAIL,KAAK,MAAM,EAEZ,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;;;;;;;;EAqFxD"}
|
package/dist/index.js
CHANGED
|
@@ -18,35 +18,39 @@ import { ScheduleTools } from "./mcp/tools/schedule-tools.js";
|
|
|
18
18
|
import { AnalyticsTools } from "./mcp/tools/analytics-tools.js";
|
|
19
19
|
import { ConfigTools } from "./mcp/tools/config-tools.js";
|
|
20
20
|
import { McpServer } from "./mcp/server.js";
|
|
21
|
+
import { AppLogger, createStderrTransport, createNoOpLogger, } from "./common/logger.js";
|
|
22
|
+
export { createNoOpLogger } from "./common/logger.js";
|
|
21
23
|
export function getDbPath() {
|
|
22
24
|
return process.env.CALENDAR_DB_PATH ?? "./calendar.db";
|
|
23
25
|
}
|
|
24
|
-
export function createApp(dbPath) {
|
|
26
|
+
export function createApp(dbPath, logger) {
|
|
27
|
+
// 0. Logger (defaults to no-op if not provided)
|
|
28
|
+
const log = logger ?? createNoOpLogger();
|
|
25
29
|
// 1. Database
|
|
26
|
-
const database = new Database(dbPath);
|
|
30
|
+
const database = new Database(dbPath, log);
|
|
27
31
|
// 2. Repositories
|
|
28
|
-
const taskRepo = new TaskRepository(database);
|
|
29
|
-
const eventRepo = new EventRepository(database);
|
|
30
|
-
const configRepo = new ConfigRepository(database);
|
|
31
|
-
const scheduleRepo = new ScheduleRepository(database);
|
|
32
|
-
const analyticsRepo = new AnalyticsRepository(database);
|
|
33
|
-
const recurrenceRepo = new RecurrenceRepository(database);
|
|
32
|
+
const taskRepo = new TaskRepository(database, log);
|
|
33
|
+
const eventRepo = new EventRepository(database, log);
|
|
34
|
+
const configRepo = new ConfigRepository(database, log);
|
|
35
|
+
const scheduleRepo = new ScheduleRepository(database, log);
|
|
36
|
+
const analyticsRepo = new AnalyticsRepository(database, log);
|
|
37
|
+
const recurrenceRepo = new RecurrenceRepository(database, log);
|
|
34
38
|
// 3. Engine components
|
|
35
|
-
const dependencyResolver = new DependencyResolver();
|
|
36
|
-
const conflictDetector = new ConflictDetector();
|
|
37
|
-
const scheduler = new Scheduler(taskRepo, eventRepo, configRepo, conflictDetector, dependencyResolver, scheduleRepo);
|
|
38
|
-
const recurrenceManager = new RecurrenceManager(recurrenceRepo, taskRepo);
|
|
39
|
-
const replanCoordinator = new ReplanCoordinator(scheduler, scheduleRepo, taskRepo, configRepo, recurrenceManager);
|
|
39
|
+
const dependencyResolver = new DependencyResolver(log);
|
|
40
|
+
const conflictDetector = new ConflictDetector(log);
|
|
41
|
+
const scheduler = new Scheduler(taskRepo, eventRepo, configRepo, conflictDetector, dependencyResolver, scheduleRepo, log);
|
|
42
|
+
const recurrenceManager = new RecurrenceManager(recurrenceRepo, taskRepo, log);
|
|
43
|
+
const replanCoordinator = new ReplanCoordinator(scheduler, scheduleRepo, taskRepo, configRepo, recurrenceManager, log);
|
|
40
44
|
// 4. Analytics
|
|
41
|
-
const analyticsEngine = new AnalyticsEngine(analyticsRepo, taskRepo, scheduleRepo, configRepo);
|
|
45
|
+
const analyticsEngine = new AnalyticsEngine(analyticsRepo, taskRepo, scheduleRepo, configRepo, log);
|
|
42
46
|
// 5. MCP Tool handlers
|
|
43
|
-
const taskTools = new TaskTools(taskRepo, recurrenceManager, dependencyResolver, replanCoordinator);
|
|
44
|
-
const eventTools = new EventTools(eventRepo, replanCoordinator);
|
|
45
|
-
const scheduleTools = new ScheduleTools(scheduleRepo, taskRepo, configRepo, replanCoordinator, conflictDetector);
|
|
46
|
-
const analyticsTools = new AnalyticsTools(analyticsEngine);
|
|
47
|
-
const configTools = new ConfigTools(configRepo, replanCoordinator);
|
|
47
|
+
const taskTools = new TaskTools(taskRepo, recurrenceManager, dependencyResolver, replanCoordinator, log);
|
|
48
|
+
const eventTools = new EventTools(eventRepo, replanCoordinator, log);
|
|
49
|
+
const scheduleTools = new ScheduleTools(scheduleRepo, taskRepo, configRepo, replanCoordinator, conflictDetector, log);
|
|
50
|
+
const analyticsTools = new AnalyticsTools(analyticsEngine, log);
|
|
51
|
+
const configTools = new ConfigTools(configRepo, replanCoordinator, log);
|
|
48
52
|
// 6. MCP Server
|
|
49
|
-
const server = new McpServer(taskTools, eventTools, scheduleTools, analyticsTools, configTools);
|
|
53
|
+
const server = new McpServer(taskTools, eventTools, scheduleTools, analyticsTools, configTools, log);
|
|
50
54
|
return {
|
|
51
55
|
server,
|
|
52
56
|
database,
|
|
@@ -60,9 +64,11 @@ export function createApp(dbPath) {
|
|
|
60
64
|
// Entry point — start the server when run directly (not imported by tests)
|
|
61
65
|
if (process.env.NODE_ENV !== "test" && !process.env.VITEST) {
|
|
62
66
|
const dbPath = getDbPath();
|
|
63
|
-
const
|
|
64
|
-
|
|
65
|
-
|
|
67
|
+
const logLevel = process.env.LOG_LEVEL ?? "warning";
|
|
68
|
+
const appLogger = new AppLogger([createStderrTransport(logLevel)]);
|
|
69
|
+
const { server } = createApp(dbPath, appLogger);
|
|
70
|
+
server.start(appLogger).catch((error) => {
|
|
71
|
+
appLogger.emergency("mcp", `Fatal: ${error}`);
|
|
66
72
|
process.exit(1);
|
|
67
73
|
});
|
|
68
74
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/server.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import type { Logger, AppLogger } from "../common/logger.js";
|
|
1
2
|
import type { TaskTools } from "./tools/task-tools.js";
|
|
2
3
|
import type { EventTools } from "./tools/event-tools.js";
|
|
3
4
|
import type { ScheduleTools } from "./tools/schedule-tools.js";
|
|
4
5
|
import type { AnalyticsTools } from "./tools/analytics-tools.js";
|
|
5
6
|
import type { ConfigTools } from "./tools/config-tools.js";
|
|
6
|
-
export declare function wrapToolHandler(handler: (input: Record<string, unknown>) => unknown): (input: Record<string, unknown>) => Promise<{
|
|
7
|
+
export declare function wrapToolHandler(handler: (input: Record<string, unknown>) => unknown, toolName: string, logger: Logger): (input: Record<string, unknown>) => Promise<{
|
|
7
8
|
content: {
|
|
8
9
|
type: string;
|
|
9
10
|
text: string;
|
|
@@ -12,9 +13,10 @@ export declare function wrapToolHandler(handler: (input: Record<string, unknown>
|
|
|
12
13
|
}>;
|
|
13
14
|
export declare class McpServer {
|
|
14
15
|
private readonly tools;
|
|
15
|
-
|
|
16
|
+
private readonly logger;
|
|
17
|
+
constructor(taskTools: TaskTools, eventTools: EventTools, scheduleTools: ScheduleTools, analyticsTools: AnalyticsTools, configTools: ConfigTools, logger: Logger);
|
|
16
18
|
getToolNames(): string[];
|
|
17
|
-
start(): Promise<void>;
|
|
19
|
+
start(appLogger?: AppLogger): Promise<void>;
|
|
18
20
|
private register;
|
|
19
21
|
private registerTaskTools;
|
|
20
22
|
private registerEventTools;
|
package/dist/mcp/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAgB,MAAM,qBAAqB,CAAC;AAC3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAoB3D,wBAAgB,eAAe,CAC7B,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,EACpD,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;IAC7C,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC,CA4CD;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqC;IAC3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAG9B,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM;IAUhB,YAAY,IAAI,MAAM,EAAE;IAIlB,KAAK,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAiDjD,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,iBAAiB;IAmIzB,OAAO,CAAC,kBAAkB;IAqF1B,OAAO,CAAC,qBAAqB;IAuC7B,OAAO,CAAC,sBAAsB;IA8D9B,OAAO,CAAC,mBAAmB;CAuF5B"}
|