@mcp-z/mcp-drive 1.0.5 → 1.0.6

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.
@@ -142,19 +142,46 @@ function _ts_generator(thisArg, body) {
142
142
  };
143
143
  }
144
144
  }
145
+ function parseDefaultTtl(uri) {
146
+ try {
147
+ var url = new URL(uri);
148
+ var ttlParam = url.searchParams.get('ttl');
149
+ var ttlSecondsParam = url.searchParams.get('ttlSeconds');
150
+ var ttlMs = ttlSecondsParam ? Number(ttlSecondsParam) * 1000 : ttlParam ? Number(ttlParam) : undefined;
151
+ url.searchParams.delete('ttl');
152
+ url.searchParams.delete('ttlSeconds');
153
+ return Number.isFinite(ttlMs) && ttlMs > 0 ? {
154
+ uri: url.toString(),
155
+ ttl: ttlMs
156
+ } : {
157
+ uri: url.toString()
158
+ };
159
+ } catch (unused) {
160
+ return {
161
+ uri: uri
162
+ };
163
+ }
164
+ }
145
165
  function createStore(uri) {
146
166
  return _async_to_generator(function() {
147
- var store;
167
+ var _parseDefaultTtl, parsedUri, defaultTtl, store, originalSet;
148
168
  return _ts_generator(this, function(_state) {
149
169
  switch(_state.label){
150
170
  case 0:
171
+ _parseDefaultTtl = parseDefaultTtl(uri), parsedUri = _parseDefaultTtl.uri, defaultTtl = _parseDefaultTtl.ttl;
151
172
  return [
152
173
  4,
153
- (0, _keyvregistry.default)(uri)
174
+ (0, _keyvregistry.default)(parsedUri)
154
175
  ];
155
176
  case 1:
156
177
  store = _state.sent();
157
178
  if (!store) throw new Error("Failed to create store for URI: ".concat(uri));
179
+ if (defaultTtl !== undefined) {
180
+ originalSet = store.set.bind(store);
181
+ store.set = function(key, value, ttl) {
182
+ return originalSet(key, value, ttl !== null && ttl !== void 0 ? ttl : defaultTtl);
183
+ };
184
+ }
158
185
  return [
159
186
  2,
160
187
  store
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/Projects/mcp-z/mcp-drive/src/lib/create-store.ts"],"sourcesContent":["import type Keyv from 'keyv';\nimport keyvRegistry from 'keyv-registry';\n\nexport default async function createStore<T>(uri: string): Promise<Keyv<T>> {\n const store = await keyvRegistry<T>(uri);\n if (!store) throw new Error(`Failed to create store for URI: ${uri}`);\n return store;\n}\n"],"names":["createStore","uri","store","keyvRegistry","Error"],"mappings":";;;;+BAGA;;;eAA8BA;;;mEAFL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEV,SAAeA,YAAeC,GAAW;;YAChDC;;;;oBAAQ;;wBAAMC,IAAAA,qBAAY,EAAIF;;;oBAA9BC,QAAQ;oBACd,IAAI,CAACA,OAAO,MAAM,IAAIE,MAAM,AAAC,mCAAsC,OAAJH;oBAC/D;;wBAAOC;;;;IACT"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/Projects/mcp-z/mcp-drive/src/lib/create-store.ts"],"sourcesContent":["import type Keyv from 'keyv';\nimport keyvRegistry from 'keyv-registry';\n\nfunction parseDefaultTtl(uri: string): { uri: string; ttl?: number } {\n try {\n const url = new URL(uri);\n const ttlParam = url.searchParams.get('ttl');\n const ttlSecondsParam = url.searchParams.get('ttlSeconds');\n const ttlMs = ttlSecondsParam ? Number(ttlSecondsParam) * 1000 : ttlParam ? Number(ttlParam) : undefined;\n url.searchParams.delete('ttl');\n url.searchParams.delete('ttlSeconds');\n return Number.isFinite(ttlMs) && (ttlMs as number) > 0 ? { uri: url.toString(), ttl: ttlMs } : { uri: url.toString() };\n } catch {\n return { uri };\n }\n}\n\nexport default async function createStore<T>(uri: string): Promise<Keyv<T>> {\n const { uri: parsedUri, ttl: defaultTtl } = parseDefaultTtl(uri);\n const store = await keyvRegistry<T>(parsedUri);\n if (!store) throw new Error(`Failed to create store for URI: ${uri}`);\n if (defaultTtl !== undefined) {\n const originalSet = store.set.bind(store);\n store.set = ((key, value, ttl) => originalSet(key, value, ttl ?? defaultTtl)) as typeof store.set;\n }\n return store;\n}\n"],"names":["createStore","parseDefaultTtl","uri","url","URL","ttlParam","searchParams","get","ttlSecondsParam","ttlMs","Number","undefined","delete","isFinite","toString","ttl","parsedUri","defaultTtl","store","originalSet","keyvRegistry","Error","set","bind","key","value"],"mappings":";;;;+BAiBA;;;eAA8BA;;;mEAhBL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEzB,SAASC,gBAAgBC,GAAW;IAClC,IAAI;QACF,IAAMC,MAAM,IAAIC,IAAIF;QACpB,IAAMG,WAAWF,IAAIG,YAAY,CAACC,GAAG,CAAC;QACtC,IAAMC,kBAAkBL,IAAIG,YAAY,CAACC,GAAG,CAAC;QAC7C,IAAME,QAAQD,kBAAkBE,OAAOF,mBAAmB,OAAOH,WAAWK,OAAOL,YAAYM;QAC/FR,IAAIG,YAAY,CAACM,MAAM,CAAC;QACxBT,IAAIG,YAAY,CAACM,MAAM,CAAC;QACxB,OAAOF,OAAOG,QAAQ,CAACJ,UAAU,AAACA,QAAmB,IAAI;YAAEP,KAAKC,IAAIW,QAAQ;YAAIC,KAAKN;QAAM,IAAI;YAAEP,KAAKC,IAAIW,QAAQ;QAAG;IACvH,EAAE,eAAM;QACN,OAAO;YAAEZ,KAAAA;QAAI;IACf;AACF;AAEe,SAAeF,YAAeE,GAAW;;YACVD,kBAA/Be,WAAgBC,YACvBC,OAGEC;;;;oBAJoClB,mBAAAA,gBAAgBC,MAA/Cc,YAA+Bf,iBAApCC,KAAqBe,aAAehB,iBAApBc;oBACV;;wBAAMK,IAAAA,qBAAY,EAAIJ;;;oBAA9BE,QAAQ;oBACd,IAAI,CAACA,OAAO,MAAM,IAAIG,MAAM,AAAC,mCAAsC,OAAJnB;oBAC/D,IAAIe,eAAeN,WAAW;wBACtBQ,cAAcD,MAAMI,GAAG,CAACC,IAAI,CAACL;wBACnCA,MAAMI,GAAG,GAAI,SAACE,KAAKC,OAAOV;mCAAQI,YAAYK,KAAKC,OAAOV,gBAAAA,iBAAAA,MAAOE;;oBACnE;oBACA;;wBAAOC;;;;IACT"}
@@ -1,6 +1,31 @@
1
1
  import keyvRegistry from 'keyv-registry';
2
+ function parseDefaultTtl(uri) {
3
+ try {
4
+ const url = new URL(uri);
5
+ const ttlParam = url.searchParams.get('ttl');
6
+ const ttlSecondsParam = url.searchParams.get('ttlSeconds');
7
+ const ttlMs = ttlSecondsParam ? Number(ttlSecondsParam) * 1000 : ttlParam ? Number(ttlParam) : undefined;
8
+ url.searchParams.delete('ttl');
9
+ url.searchParams.delete('ttlSeconds');
10
+ return Number.isFinite(ttlMs) && ttlMs > 0 ? {
11
+ uri: url.toString(),
12
+ ttl: ttlMs
13
+ } : {
14
+ uri: url.toString()
15
+ };
16
+ } catch {
17
+ return {
18
+ uri
19
+ };
20
+ }
21
+ }
2
22
  export default async function createStore(uri) {
3
- const store = await keyvRegistry(uri);
23
+ const { uri: parsedUri, ttl: defaultTtl } = parseDefaultTtl(uri);
24
+ const store = await keyvRegistry(parsedUri);
4
25
  if (!store) throw new Error(`Failed to create store for URI: ${uri}`);
26
+ if (defaultTtl !== undefined) {
27
+ const originalSet = store.set.bind(store);
28
+ store.set = (key, value, ttl)=>originalSet(key, value, ttl !== null && ttl !== void 0 ? ttl : defaultTtl);
29
+ }
5
30
  return store;
6
31
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/Projects/mcp-z/mcp-drive/src/lib/create-store.ts"],"sourcesContent":["import type Keyv from 'keyv';\nimport keyvRegistry from 'keyv-registry';\n\nexport default async function createStore<T>(uri: string): Promise<Keyv<T>> {\n const store = await keyvRegistry<T>(uri);\n if (!store) throw new Error(`Failed to create store for URI: ${uri}`);\n return store;\n}\n"],"names":["keyvRegistry","createStore","uri","store","Error"],"mappings":"AACA,OAAOA,kBAAkB,gBAAgB;AAEzC,eAAe,eAAeC,YAAeC,GAAW;IACtD,MAAMC,QAAQ,MAAMH,aAAgBE;IACpC,IAAI,CAACC,OAAO,MAAM,IAAIC,MAAM,CAAC,gCAAgC,EAAEF,KAAK;IACpE,OAAOC;AACT"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/Projects/mcp-z/mcp-drive/src/lib/create-store.ts"],"sourcesContent":["import type Keyv from 'keyv';\nimport keyvRegistry from 'keyv-registry';\n\nfunction parseDefaultTtl(uri: string): { uri: string; ttl?: number } {\n try {\n const url = new URL(uri);\n const ttlParam = url.searchParams.get('ttl');\n const ttlSecondsParam = url.searchParams.get('ttlSeconds');\n const ttlMs = ttlSecondsParam ? Number(ttlSecondsParam) * 1000 : ttlParam ? Number(ttlParam) : undefined;\n url.searchParams.delete('ttl');\n url.searchParams.delete('ttlSeconds');\n return Number.isFinite(ttlMs) && (ttlMs as number) > 0 ? { uri: url.toString(), ttl: ttlMs } : { uri: url.toString() };\n } catch {\n return { uri };\n }\n}\n\nexport default async function createStore<T>(uri: string): Promise<Keyv<T>> {\n const { uri: parsedUri, ttl: defaultTtl } = parseDefaultTtl(uri);\n const store = await keyvRegistry<T>(parsedUri);\n if (!store) throw new Error(`Failed to create store for URI: ${uri}`);\n if (defaultTtl !== undefined) {\n const originalSet = store.set.bind(store);\n store.set = ((key, value, ttl) => originalSet(key, value, ttl ?? defaultTtl)) as typeof store.set;\n }\n return store;\n}\n"],"names":["keyvRegistry","parseDefaultTtl","uri","url","URL","ttlParam","searchParams","get","ttlSecondsParam","ttlMs","Number","undefined","delete","isFinite","toString","ttl","createStore","parsedUri","defaultTtl","store","Error","originalSet","set","bind","key","value"],"mappings":"AACA,OAAOA,kBAAkB,gBAAgB;AAEzC,SAASC,gBAAgBC,GAAW;IAClC,IAAI;QACF,MAAMC,MAAM,IAAIC,IAAIF;QACpB,MAAMG,WAAWF,IAAIG,YAAY,CAACC,GAAG,CAAC;QACtC,MAAMC,kBAAkBL,IAAIG,YAAY,CAACC,GAAG,CAAC;QAC7C,MAAME,QAAQD,kBAAkBE,OAAOF,mBAAmB,OAAOH,WAAWK,OAAOL,YAAYM;QAC/FR,IAAIG,YAAY,CAACM,MAAM,CAAC;QACxBT,IAAIG,YAAY,CAACM,MAAM,CAAC;QACxB,OAAOF,OAAOG,QAAQ,CAACJ,UAAU,AAACA,QAAmB,IAAI;YAAEP,KAAKC,IAAIW,QAAQ;YAAIC,KAAKN;QAAM,IAAI;YAAEP,KAAKC,IAAIW,QAAQ;QAAG;IACvH,EAAE,OAAM;QACN,OAAO;YAAEZ;QAAI;IACf;AACF;AAEA,eAAe,eAAec,YAAed,GAAW;IACtD,MAAM,EAAEA,KAAKe,SAAS,EAAEF,KAAKG,UAAU,EAAE,GAAGjB,gBAAgBC;IAC5D,MAAMiB,QAAQ,MAAMnB,aAAgBiB;IACpC,IAAI,CAACE,OAAO,MAAM,IAAIC,MAAM,CAAC,gCAAgC,EAAElB,KAAK;IACpE,IAAIgB,eAAeP,WAAW;QAC5B,MAAMU,cAAcF,MAAMG,GAAG,CAACC,IAAI,CAACJ;QACnCA,MAAMG,GAAG,GAAI,CAACE,KAAKC,OAAOV,MAAQM,YAAYG,KAAKC,OAAOV,gBAAAA,iBAAAA,MAAOG;IACnE;IACA,OAAOC;AACT"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mcp-z/mcp-drive",
3
- "version": "1.0.5",
3
+ "version": "1.0.6",
4
4
  "description": "MCP server for Google Drive integration with file operations, folder navigation, search capabilities, and sharing management",
5
5
  "keywords": [
6
6
  "drive",