@mcp-monorepo/ics 1.0.0 → 1.1.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.
@@ -1 +1 @@
1
- {"version":3,"file":"event-store.d.ts","sourceRoot":"","sources":["../../src/lib/event-store.ts"],"names":[],"mappings":"AAGA,OAAO,EAAmB,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAI1E,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,YAAY,EAAkB,MAAM,YAAY,CAAA;AAEnF,eAAO,MAAM,UAAU,QAAO,cAAc,EAsB3C,CAAA;AAED,eAAO,MAAM,eAAe,GAAU,YAAY,MAAM,EAAE,QAAQ,MAAM,KAAG,OAAO,CAAC,YAAY,EAAE,CAkBhG,CAAA;AAmDD,eAAO,MAAM,SAAS;YAhDZ,YAAY,EAAE;YACd,MAAM,EAAE;EA+C4C,CAAA"}
1
+ {"version":3,"file":"event-store.d.ts","sourceRoot":"","sources":["../../src/lib/event-store.ts"],"names":[],"mappings":"AAGA,OAAO,EAAmB,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAI1E,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,YAAY,EAAkB,MAAM,YAAY,CAAA;AAEnF,eAAO,MAAM,UAAU,QAAO,cAAc,EAsB3C,CAAA;AAED,eAAO,MAAM,eAAe,GAAU,YAAY,MAAM,EAAE,QAAQ,MAAM,KAAG,OAAO,CAAC,YAAY,EAAE,CAkBhG,CAAA;AAuDD,eAAO,MAAM,SAAS;YApDZ,YAAY,EAAE;YACd,MAAM,EAAE;EAmD4C,CAAA"}
@@ -1,4 +1,4 @@
1
- import { access, mkdir, readFile, writeFile } from 'fs/promises';
1
+ import { mkdir, readFile, writeFile } from 'fs/promises';
2
2
  import { dirname, join } from 'path';
3
3
  import { findProjectRoot, RefreshablePromise } from '@mcp-monorepo/shared';
4
4
  import { logger } from '@mcp-monorepo/shared';
@@ -49,30 +49,34 @@ async function refreshEvents() {
49
49
  const events = [];
50
50
  const errors = [];
51
51
  for (const source of sources) {
52
+ const dataFile = join(await findProjectRoot(import.meta.dirname), 'data', 'ics', source.url.replace(/[^a-zA-Z0-9]/g, '_') + '.json');
52
53
  try {
53
- const dataFile = join(await findProjectRoot(import.meta.dirname), 'data', 'ics', source.url.replace(/[^a-zA-Z0-9]/g, '_') + '.json');
54
- if (await access(dataFile).then(() => true, () => false)) {
55
- logger.info('File found. Using cache of: ' + source.name + ' path: ' + dataFile);
54
+ logger.info(`[${source.name}] Attempting to fetch fresh data...`);
55
+ const icsContent = await fetch(source.url);
56
+ if (!icsContent.ok) {
57
+ throw new Error(`Fetch failed with status ${icsContent.status}`);
58
+ }
59
+ const text = await icsContent.text();
60
+ const parsed = await parseIcsContent(text, source.name);
61
+ events.push(...parsed);
62
+ await mkdir(dirname(dataFile), { recursive: true });
63
+ await writeFile(dataFile, JSON.stringify(parsed));
64
+ logger.info(`[${source.name}] Successfully fetched and cached new data.`);
65
+ }
66
+ catch (e) {
67
+ logger.warn(`[${source.name}] Fetch failed: ${e.message}. Attempting to use cache.`);
68
+ try {
56
69
  const data = await readFile(dataFile, 'utf-8');
57
70
  const parsed = JSON.parse(data);
58
71
  events.push(...parsed);
72
+ logger.info(`[${source.name}] Successfully loaded data from cache.`);
59
73
  }
60
- else {
61
- logger.info('File not found. Fetching source: ' + source.name + ' url: ' + source.url);
62
- const icsContent = await fetch(source.url);
63
- if (!(icsContent && icsContent.ok))
64
- throw new Error(`Fetch failed for ${source.url}`);
65
- const text = await icsContent.text();
66
- const parsed = await parseIcsContent(text, source.name);
67
- await mkdir(dirname(dataFile), { recursive: true });
68
- await writeFile(dataFile, JSON.stringify(parsed));
69
- events.push(...parsed);
74
+ catch {
75
+ const finalErrorMsg = `[${source.name}] Fetch failed and cache is unavailable or corrupt.`;
76
+ logger.error(finalErrorMsg);
77
+ errors.push(finalErrorMsg);
70
78
  }
71
79
  }
72
- catch (e) {
73
- logger.error(e);
74
- errors.push(`${source.name}: ${e.message}`);
75
- }
76
80
  }
77
81
  errors.forEach((e) => logger.error(e));
78
82
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"event-store.js","sourceRoot":"","sources":["../../src/lib/event-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAChE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAEpC,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,IAAqB,MAAM,WAAW,CAAA;AAI7C,MAAM,CAAC,MAAM,UAAU,GAAG,GAAqB,EAAE;IAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAA;IAC3B,MAAM,eAAe,GAAqB,EAAE,CAAA;IAE5C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACnC,MAAM,UAAU,GAAG,WAAW,CAAA;QAC9B,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;YACxB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;gBACrE,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;gBAC7C,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;YACrC,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,wCAAwC,GAAG,KAAK,GAAG,EAAE,CAAC,CAAA;YACxE,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;IACzE,CAAC;IAED,OAAO,eAAe,CAAA;AACxB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAE,UAAkB,EAAE,MAAc,EAA2B,EAAE;IACnG,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAA;IACpE,OAAO,OAAO;SACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;SAClC,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE;QACrB,OAAO;YACL,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,OAAO,EAAE,KAAK,CAAC,KAAK;YACpB,KAAK,EAAE,KAAK,CAAC,GAAG;YAChB,MAAM,EAAE,KAAK,CAAC,QAAQ,KAAK,MAAM;YACjC,MAAM;YACN,KAAK,EAAE,KAAK,CAAC,KAA8B;YAC3C,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,KAAK,CAAC,KAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;SAC/E,CAAA;IACH,CAAC,CAAC,CAAA;AACN,CAAC,CAAA;AAED,KAAK,UAAU,aAAa;IAI1B,MAAM,OAAO,GAAG,UAAU,EAAE,CAAA;IAC5B,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAA;IAChD,MAAM,MAAM,GAAmB,EAAE,CAAA;IACjC,MAAM,MAAM,GAAa,EAAE,CAAA;IAE3B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CACnB,MAAM,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAC1C,MAAM,EACN,KAAK,EACL,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,GAAG,OAAO,CACnD,CAAA;YACD,IACE,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CACzB,GAAG,EAAE,CAAC,IAAI,EACV,GAAG,EAAE,CAAC,KAAK,CACZ,EACD,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,8BAA8B,GAAG,MAAM,CAAC,IAAI,GAAG,SAAS,GAAG,QAAQ,CAAC,CAAA;gBAChF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;gBAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;gBAC/B,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAA;YACxB,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,mCAAmC,GAAG,MAAM,CAAC,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;gBACtF,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBAC1C,IAAI,CAAC,CAAC,UAAU,IAAI,UAAU,CAAC,EAAE,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,MAAM,CAAC,GAAG,EAAE,CAAC,CAAA;gBACrF,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,CAAA;gBACpC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;gBACvD,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;gBACnD,MAAM,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;gBACjD,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAA;YACxB,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YACf,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,KAAM,CAAW,CAAC,OAAO,EAAE,CAAC,CAAA;QACxD,CAAC;IACH,CAAC;IACD,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACtC,OAAO;QACL,MAAM;QACN,MAAM;KACP,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,kBAAkB,CAAC,aAAa,CAAC,CAAA"}
1
+ {"version":3,"file":"event-store.js","sourceRoot":"","sources":["../../src/lib/event-store.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@mcp-monorepo/ics",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "type": "module",
5
5
  "description": "MCP server for calendar tools using ICS/ical feeds",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
8
8
  "bin": {
9
- "mcp-npm-server": "./dist/index.js"
9
+ "@mcp-monorepo/ics": "./dist/index.js"
10
10
  },
11
11
  "files": [
12
12
  "dist"