@mgcrea/mcp-apple-calendar 1.24.0 → 1.25.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/cli.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { A as BUILD_INFO, C as CALENDAR_SURFACE, a as loadConfig, r as createServer } from "./server-BYn7aVfh.js";
2
+ import { A as BUILD_INFO, C as CALENDAR_SURFACE, a as loadConfig, r as createServer } from "./server-BtMtdn0V.js";
3
3
  import { runStdioServer } from "@mgcrea/mcp-apple-core";
4
4
  //#region src/cli.ts
5
5
  const LOG_PREFIX = "apple-calendar-mcp";
package/dist/index.d.ts CHANGED
@@ -164,7 +164,7 @@ declare const openStore: (path: string | null, mode: ReadOnlyMode, logger?: Logg
164
164
  * Configuration is environment-only — this server holds no secret at all, its
165
165
  * access is the macOS permission the user granted.
166
166
  *
167
- * `allowWrites`, `debug`, `osascriptPath`, `osascriptTimeoutMs` and `maxResults`
167
+ * `allowWrites`, `osascriptPath`, `osascriptTimeoutMs` and `maxResults`
168
168
  * come from `BaseConfigSchema`.
169
169
  *
170
170
  * Note what is deliberately ABSENT relative to `packages/reminders`: there is no
@@ -177,7 +177,6 @@ declare const ConfigSchema: z.ZodObject<{
177
177
  allowWrites: z.ZodDefault<z.ZodBoolean>;
178
178
  exposePrompts: z.ZodDefault<z.ZodBoolean>;
179
179
  lazyTools: z.ZodDefault<z.ZodBoolean>;
180
- debug: z.ZodDefault<z.ZodBoolean>;
181
180
  osascriptPath: z.ZodDefault<z.ZodString>;
182
181
  osascriptTimeoutMs: z.ZodDefault<z.ZodNumber>;
183
182
  maxResults: z.ZodDefault<z.ZodNumber>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/build-info.ts","../src/client/store.ts","../src/config.ts","../src/client/availability.ts","../src/client/dates.ts","../src/client/locate.ts","../src/client/recurrence.ts","../src/client/calendar.ts","../src/client/errors.ts","../src/client/ref.ts","../src/server.ts","../src/tools/index.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/build-info.ts","../src/client/store.ts","../src/config.ts","../src/client/availability.ts","../src/client/dates.ts","../src/client/locate.ts","../src/client/recurrence.ts","../src/client/calendar.ts","../src/client/errors.ts","../src/client/ref.ts","../src/server.ts","../src/tools/index.ts"],"mappings":";;;;;cAkBa,YAAY;;;KCiDb;EACV;;EAEA,aAAa;EACb,iBAAiB;EACjB,mBAAmB;EACnB,mBAAmB;EACnB,cAAc;;;;;;;;;EASd;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;KAIU;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA;;EAEA;;KAGU;;EAEV;;EAEA;;EAEA;EACA;;KAGU,cAAc;EACxB;EACA;;;KAIU;EAAa;EAAmB;EAAiB;;KAEjD;EACV;EACA;EACA;EACA;EACA;EACA;EACA;;;;;;;;;;;EAWA;EACA;;KAGU;EAAiB;EAAqB;EAAqB;;cAM1D;;WACF,IAAI;WACJ;WACA,MAAM;EAEf,YAAY,IAAI,cAAc,cAAc,MAAM;;;;;;;;;;;;EAyHlD,WAAW,GAAG,aAAa;;;;;;;;;EAuC3B,iBAAiB,GAAG,aAAa;;;;;;;;;EAgCjC,YAAY,GAAG,cAAc;;EAgC7B,OAAO,eAAe;;;;;;;;;EAuBtB,YAAY;EAgBZ,aAAa;EAgCb,YAAY;EAkBZ;;cASW,aAAU,IAAQ,iBAAe;cAuCjC,YAAS,qBACD,MACb,cAAY,SACT,WACR;;;;;;;;;;;;;;;;cCtfG,cAAY,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiEP,EAAA,KAAA;KAEC,SAAS,EAAE,aAAa;;;;;cAMvB,aAAU,MAAS,OAAO,eAA2B;;;cCvErD;KACD,qBAAqB;;;KCuBrB;EACN;EAAc;EAAa;;EAC3B;EAAe;EAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cChCrB;;cAGA;;cAGA;KAOD,iBAAiB;EAAe;;KAEhC,eAAe;EACzB;;EAEA;;EAEA,YAAY;;;;;;;;;EASZ;;EAEA;EACA;;cAGW,uBAAoB;cAGpB,mBAAgB;cAkChB,cAAW;EACd;EAAgC;MACvC;;;KCnES;;;;;;;;;;;;;;;;;KCmBA;;;;;;;;;;EAUV;EACA;EACA;EACA;EACA;;KAyCU;;EAEV;EACA;EACA,OAAO;EACP,KAAK;EACL;EACA;EACA;;EAEA;;EAEA;;EAEA;EACA;;EAEA,QAAQ;;KAGE,cAAc;EACxB;EACA;EACA;EACA;EACA;EACA;;KAGU;EACV,QAAQ;;;;;;;;;;EAUR;EACA,WAAW;EACX;;EAEA;IAAU;IAAc;IAAY;;EACpC;IAAY;IAAc;IAAY;;EACtC;IAAc;IAAgB;IAAiB;IAAwB;;EACvE;;KAGU;EACV;EACA;EACA;EACA;EACA;EACA;;;;;;KAOU;;EAEV;EACA;;EAEA;;EAEA;;KAGU;EACV;EACA;EACA;EACA;EACA;EACA;EACA,oBAAoB;EACpB;;EAEA;;EAEA;EACA;EACA;EACA;;;;;;;;;KAUU;EACV;EACA;EACA;EACA;;KAGU;EACV,OAAO;EACP;EACA;IACE;IACA;IACA;;IAEA;;EAEF;IACE;IACA;IACA,mBAAmB;IACnB;;IAEA;;EAEF;;IAEE;;IAEA;;;;;;EAMF;IAAgB;IAAa;IAAwB;;EACrD,WAAW;EACX;IAAY;IAAc;IAAY;;;EAEtC;IAAc;IAAgB;IAAsB;;;EAEpD;;KAGU;EACV,QAAQ;EACR,SAAS;;EAET,YAAY;;EAEZ,YAAY;;;KAIF;EACV;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;;KAGU;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;KAGU;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;cAGW;;WACF,QAAQ;WACR,QAAQ;EAQjB,YAAY,MAAM;;EAelB,UAAU;;;;;;;EAWV,SAAS;;;;;;;;EAoBT;EA2HA,WAAW,SAAS,eAAe;;;;;;;;EAyFnC,aACE,MAAM;IAAiB;IAAe;MACrC;;;;;;;;;;;;;;;;;;;;;;;;;;EA0EH,iBAAiB,MAAM,sBAAsB,qBAAqB;EA2OlE,SAAS,cAAc;EAkCvB,aAlCuB;EAsCvB,YAAY;EA+JN,YAAY,QAAQ,oBAAoB,QAAQ;EAuBhD,YAAY,QAAQ,oBAAoB,QAAQ;;;;;;;;;;;EA4EhD,aAAa,0BAA0B;IAAU;IAAoB;;EAkC3E,SAAS;;;;;;;;;;;cC5qCE,kBAAkB;;cAMlB;;cA0BA,2BAA2B;WACpB;EAElB,YAAY;;;cAUD,8BAA8B;WACvB;EAElB,YAAY,cAAc;;;;;;;;;;cAmBf,iCAAiC;WAC1B;EAElB,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cC3CD;KAWD;;EAEV;;EAEA;;EAEA,iBAAiB;;EAEjB;;cA4BW,YAAS,qBACD,kBACH,kBACE;cAQP,YAAS,gBAAkB;;cA2D3B,cAAW,KAAS;;cAGpB,SAAM;;;cClJN;cACA;KAED;EACV,QAAQ;EACR,SAAS;;EAET,YAAY;;EAEZ,YAAY;;KAGF;EACV,QAAQ;EACR,QAAQ;;;;;;;;cASG,eAAY,MAAU,wBAAsB;;;KC9B7C;;;;;EAKV;;;;;;;;;;;;;;;;cAiBW,gBAAa,QAChB,WAAS,QACT,qBAAmB,KACtB"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import { A as BUILD_INFO, C as CALENDAR_SURFACE, D as CalendarNotWritableError, E as CalendarNotRunningError, O as EventNotFoundError, S as CALENDAR_BUNDLE_ID, T as CalendarNotFoundError, _ as STORE_FILENAME, a as loadConfig, b as locateStore, c as introspect, d as decodeRef, f as encodeRef, g as GROUP_CONTAINER, h as EXTRAS_FILENAME, i as registerTools, k as InvalidDateError, l as openStore, m as uuidOf, n as SERVER_VERSION, o as AppleCalendarClient, p as seriesRefOf, r as createServer, s as CalendarStore, t as SERVER_NAME, u as REF_VERSION, v as defaultContainerPath, w as CalendarBusyError, x as AppleCalendarError, y as defaultStorePath } from "./server-BYn7aVfh.js";
1
+ import { A as BUILD_INFO, C as CALENDAR_SURFACE, D as CalendarNotWritableError, E as CalendarNotRunningError, O as EventNotFoundError, S as CALENDAR_BUNDLE_ID, T as CalendarNotFoundError, _ as STORE_FILENAME, a as loadConfig, b as locateStore, c as introspect, d as decodeRef, f as encodeRef, g as GROUP_CONTAINER, h as EXTRAS_FILENAME, i as registerTools, k as InvalidDateError, l as openStore, m as uuidOf, n as SERVER_VERSION, o as AppleCalendarClient, p as seriesRefOf, r as createServer, s as CalendarStore, t as SERVER_NAME, u as REF_VERSION, v as defaultContainerPath, w as CalendarBusyError, x as AppleCalendarError, y as defaultStorePath } from "./server-BtMtdn0V.js";
2
2
  export { AppleCalendarClient, AppleCalendarError, BUILD_INFO, CALENDAR_BUNDLE_ID, CALENDAR_SURFACE, CalendarBusyError, CalendarNotFoundError, CalendarNotRunningError, CalendarNotWritableError, CalendarStore, EXTRAS_FILENAME, EventNotFoundError, GROUP_CONTAINER, InvalidDateError, REF_VERSION, SERVER_NAME, SERVER_VERSION, STORE_FILENAME, createServer, decodeRef, defaultContainerPath, defaultStorePath, encodeRef, introspect, loadConfig, locateStore, openStore, registerTools, seriesRefOf, uuidOf };
@@ -1,4 +1,4 @@
1
- import { AppBusyError as CalendarBusyError, AppNotRunningError as CalendarNotRunningError, AppleAutomationError, AppleAutomationError as AppleCalendarError, BaseConfigSchema, CORE_DATA_EPOCH_OFFSET, IndexUnavailableError, InvalidDateError, PreconditionError, SchemaDriftError, addLocalDays, columnsOf, confirmArg, createOsascriptRunner, describeStore, escapeLike, fingerprintSchema, limitArg, ok, openReadOnly, parseBool, parseBound, parseBound as parseBound$1, parseConfig, parseDate, parseIntOpt, parseList, promptArg, readPackageIdentity, registerSurfaceResources, registerWorkflowPrompt, requiredPromptArg, resolveLimit, startOfLocalDay, toLocalIso, toLocalIso as toLocalIso$1, trimmed, withBusyRetry, withLazyTools, wrap } from "@mgcrea/mcp-apple-core";
1
+ import { AppBusyError as CalendarBusyError, AppNotRunningError as CalendarNotRunningError, AppleAutomationError, AppleAutomationError as AppleCalendarError, BaseConfigSchema, CORE_DATA_EPOCH_OFFSET, IndexUnavailableError, InvalidDateError, PreconditionError, SchemaDriftError, addLocalDays, buildBaseDiagnostics, columnsOf, confirmArg, createOsascriptRunner, describeStore, escapeLike, fingerprintSchema, limitArg, ok, openReadOnly, parseBool, parseBound, parseBound as parseBound$1, parseConfig, parseDate, parseIntOpt, parseList, promptArg, readPackageIdentity, registerSurfaceResources, registerWorkflowPrompt, requiredPromptArg, resolveLimit, startOfLocalDay, toLocalIso, toLocalIso as toLocalIso$1, trimmed, withBusyRetry, withLazyTools, wrap } from "@mgcrea/mcp-apple-core";
2
2
  import { readdirSync } from "node:fs";
3
3
  import { homedir } from "node:os";
4
4
  import { join } from "node:path";
@@ -12,8 +12,8 @@ const pkg = readPackageIdentity(new URL("../package.json", import.meta.url), {
12
12
  const BUILD_INFO = {
13
13
  name: pkg.name,
14
14
  version: pkg.version,
15
- gitCommit: "2398a54",
16
- gitCommitDate: "2026-09-26T21:25:01+02:00"
15
+ gitCommit: "782cb1c",
16
+ gitCommitDate: "2026-10-03T15:37:05+02:00"
17
17
  };
18
18
  //#endregion
19
19
  //#region src/client/errors.ts
@@ -2280,7 +2280,7 @@ const parseWorkdays = (raw) => raw?.map((d) => d.trim().toLowerCase().slice(0, 3
2280
2280
  * Configuration is environment-only — this server holds no secret at all, its
2281
2281
  * access is the macOS permission the user granted.
2282
2282
  *
2283
- * `allowWrites`, `debug`, `osascriptPath`, `osascriptTimeoutMs` and `maxResults`
2283
+ * `allowWrites`, `osascriptPath`, `osascriptTimeoutMs` and `maxResults`
2284
2284
  * come from `BaseConfigSchema`.
2285
2285
  *
2286
2286
  * Note what is deliberately ABSENT relative to `packages/reminders`: there is no
@@ -2359,7 +2359,6 @@ const loadConfig = (env = process.env) => parseConfig(ConfigSchema, {
2359
2359
  allowWrites: parseBool(env.APPLE_CALENDAR_ALLOW_WRITES),
2360
2360
  exposePrompts: parseBool(env.APPLE_CALENDAR_EXPOSE_PROMPTS),
2361
2361
  lazyTools: parseBool(env.APPLE_CALENDAR_LAZY_TOOLS),
2362
- debug: parseBool(env.APPLE_CALENDAR_DEBUG),
2363
2362
  accounts: parseList(env.APPLE_CALENDAR_ACCOUNTS),
2364
2363
  calendars: parseList(env.APPLE_CALENDAR_CALENDARS),
2365
2364
  storePath: trimmed(env.APPLE_CALENDAR_STORE),
@@ -2537,8 +2536,14 @@ const buildDiagnostics = async (client, ctx) => {
2537
2536
  * without the grant there is no path to test at all.
2538
2537
  */
2539
2538
  const fullDiskAccess = located.readable ? "granted" : located.exists ? "denied (found the store, cannot read it)" : "unknown (no store file at the expected path)";
2539
+ const base = buildBaseDiagnostics({
2540
+ build: BUILD_INFO,
2541
+ config: client.config,
2542
+ allowWrites: ctx.allowWrites
2543
+ });
2540
2544
  return {
2541
- server: { lanes },
2545
+ ...base,
2546
+ lanes,
2542
2547
  permissions: {
2543
2548
  fullDiskAccess,
2544
2549
  automation: ctx.allowWrites ? "needed for writes only. Reads never send an Apple Event, so a read-only setup prompts for nothing." : "not needed — writes are off, and reads never send an Apple Event. Turning writes on will prompt for Automation the first time one runs.",
@@ -2575,8 +2580,7 @@ const buildDiagnostics = async (client, ctx) => {
2575
2580
  calendarColumns: store.caps.calendarColumns.size
2576
2581
  } : null,
2577
2582
  settings: {
2578
- allowWrites: ctx.allowWrites,
2579
- exposePrompts: client.config.exposePrompts,
2583
+ ...base.settings,
2580
2584
  accountAllowlist: client.config.accounts,
2581
2585
  calendarAllowlist: client.config.calendars,
2582
2586
  defaultCalendar: client.config.defaultCalendar ?? null,
@@ -2850,4 +2854,4 @@ const createServer = (opts) => {
2850
2854
  //#endregion
2851
2855
  export { BUILD_INFO as A, CALENDAR_SURFACE as C, CalendarNotWritableError as D, CalendarNotRunningError as E, EventNotFoundError as O, CALENDAR_BUNDLE_ID as S, CalendarNotFoundError as T, STORE_FILENAME as _, loadConfig as a, locateStore as b, introspect as c, decodeRef as d, encodeRef as f, GROUP_CONTAINER as g, EXTRAS_FILENAME as h, registerTools as i, InvalidDateError as k, openStore as l, uuidOf as m, SERVER_VERSION as n, AppleCalendarClient as o, seriesRefOf as p, createServer as r, CalendarStore as s, SERVER_NAME as t, REF_VERSION as u, defaultContainerPath as v, CalendarBusyError as w, AppleCalendarError as x, defaultStorePath as y };
2852
2856
 
2853
- //# sourceMappingURL=server-BYn7aVfh.js.map
2857
+ //# sourceMappingURL=server-BtMtdn0V.js.map