@yakirmar/mcp-toggl 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.
- package/LICENSE +21 -0
- package/README.md +268 -0
- package/dist/cache-manager.d.ts +43 -0
- package/dist/cache-manager.d.ts.map +1 -0
- package/dist/cache-manager.js +484 -0
- package/dist/cache-manager.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1264 -0
- package/dist/index.js.map +1 -0
- package/dist/timeline.d.ts +24 -0
- package/dist/timeline.d.ts.map +1 -0
- package/dist/timeline.js +55 -0
- package/dist/timeline.js.map +1 -0
- package/dist/toggl-api.d.ts +55 -0
- package/dist/toggl-api.d.ts.map +1 -0
- package/dist/toggl-api.js +402 -0
- package/dist/toggl-api.js.map +1 -0
- package/dist/types.d.ts +268 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils.d.ts +48 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +439 -0
- package/dist/utils.js.map +1 -0
- package/dist/workspace.d.ts +22 -0
- package/dist/workspace.d.ts.map +1 -0
- package/dist/workspace.js +65 -0
- package/dist/workspace.js.map +1 -0
- package/docs/images/drift-detection.svg +82 -0
- package/docs/images/monthly-heatmap.svg +124 -0
- package/docs/images/weekly-recap.svg +97 -0
- package/package.json +75 -0
|
@@ -0,0 +1,484 @@
|
|
|
1
|
+
export class CacheManager {
|
|
2
|
+
workspaces = new Map();
|
|
3
|
+
projects = new Map();
|
|
4
|
+
clients = new Map();
|
|
5
|
+
tasks = new Map();
|
|
6
|
+
users = new Map();
|
|
7
|
+
tags = new Map();
|
|
8
|
+
workspaceList = null;
|
|
9
|
+
projectsByWorkspace = new Map();
|
|
10
|
+
clientsByWorkspace = new Map();
|
|
11
|
+
tagsByWorkspace = new Map();
|
|
12
|
+
// Track cache performance
|
|
13
|
+
stats = {
|
|
14
|
+
hits: 0,
|
|
15
|
+
misses: 0,
|
|
16
|
+
lastReset: new Date(),
|
|
17
|
+
};
|
|
18
|
+
config;
|
|
19
|
+
api; // Will be set after API client is created
|
|
20
|
+
constructor(config) {
|
|
21
|
+
this.config = config;
|
|
22
|
+
}
|
|
23
|
+
setAPI(api) {
|
|
24
|
+
this.api = api;
|
|
25
|
+
}
|
|
26
|
+
// Check if cache entry is still valid
|
|
27
|
+
isValid(entry) {
|
|
28
|
+
if (!entry)
|
|
29
|
+
return false;
|
|
30
|
+
const age = Date.now() - entry.timestamp.getTime();
|
|
31
|
+
return age < entry.ttl;
|
|
32
|
+
}
|
|
33
|
+
// Generic cache getter
|
|
34
|
+
getCached(cache, id) {
|
|
35
|
+
const entry = cache.get(id);
|
|
36
|
+
if (this.isValid(entry)) {
|
|
37
|
+
this.stats.hits++;
|
|
38
|
+
return entry.data;
|
|
39
|
+
}
|
|
40
|
+
this.stats.misses++;
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
getCachedCollection(entry) {
|
|
44
|
+
if (this.isValid(entry)) {
|
|
45
|
+
this.stats.hits++;
|
|
46
|
+
return entry.data;
|
|
47
|
+
}
|
|
48
|
+
this.stats.misses++;
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
cacheBucketLimit() {
|
|
52
|
+
return Math.max(1, Math.ceil(this.config.maxSize / 6));
|
|
53
|
+
}
|
|
54
|
+
// Generic cache setter
|
|
55
|
+
setCached(cache, id, data) {
|
|
56
|
+
// Enforce per-cache bucket size using insertion-order eviction.
|
|
57
|
+
if (!cache.has(id) && cache.size >= this.cacheBucketLimit()) {
|
|
58
|
+
const firstKey = cache.keys().next().value;
|
|
59
|
+
if (firstKey !== undefined) {
|
|
60
|
+
cache.delete(firstKey);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
cache.set(id, {
|
|
64
|
+
data,
|
|
65
|
+
timestamp: new Date(),
|
|
66
|
+
ttl: this.config.ttl,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
setCachedCollection(cache, id, data) {
|
|
70
|
+
const limit = this.cacheBucketLimit();
|
|
71
|
+
if (data.length > limit) {
|
|
72
|
+
cache.delete(id);
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
if (!cache.has(id) && cache.size >= limit) {
|
|
76
|
+
const firstKey = cache.keys().next().value;
|
|
77
|
+
if (firstKey !== undefined) {
|
|
78
|
+
cache.delete(firstKey);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
cache.set(id, {
|
|
82
|
+
data,
|
|
83
|
+
timestamp: new Date(),
|
|
84
|
+
ttl: this.config.ttl,
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
setWorkspaceList(workspaces) {
|
|
88
|
+
this.workspaceList =
|
|
89
|
+
workspaces.length <= this.cacheBucketLimit()
|
|
90
|
+
? {
|
|
91
|
+
data: workspaces,
|
|
92
|
+
timestamp: new Date(),
|
|
93
|
+
ttl: this.config.ttl,
|
|
94
|
+
}
|
|
95
|
+
: null;
|
|
96
|
+
}
|
|
97
|
+
// Workspace methods
|
|
98
|
+
async getWorkspace(id) {
|
|
99
|
+
if (!id)
|
|
100
|
+
return null;
|
|
101
|
+
const cached = this.getCached(this.workspaces, id);
|
|
102
|
+
if (cached)
|
|
103
|
+
return cached;
|
|
104
|
+
if (!this.api)
|
|
105
|
+
return null;
|
|
106
|
+
try {
|
|
107
|
+
const workspace = await this.api.getWorkspace(id);
|
|
108
|
+
if (workspace) {
|
|
109
|
+
this.setCached(this.workspaces, id, workspace);
|
|
110
|
+
}
|
|
111
|
+
return workspace;
|
|
112
|
+
}
|
|
113
|
+
catch (error) {
|
|
114
|
+
console.error(`Failed to fetch workspace ${id}:`, error);
|
|
115
|
+
return null;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
async getWorkspaces() {
|
|
119
|
+
const cached = this.getCachedCollection(this.workspaceList);
|
|
120
|
+
if (cached)
|
|
121
|
+
return cached;
|
|
122
|
+
if (!this.api)
|
|
123
|
+
return [];
|
|
124
|
+
try {
|
|
125
|
+
const workspaces = await this.api.getWorkspaces();
|
|
126
|
+
// Cache all fetched workspaces
|
|
127
|
+
workspaces.forEach((ws) => {
|
|
128
|
+
this.setCached(this.workspaces, ws.id, ws);
|
|
129
|
+
});
|
|
130
|
+
this.setWorkspaceList(workspaces);
|
|
131
|
+
return workspaces;
|
|
132
|
+
}
|
|
133
|
+
catch (error) {
|
|
134
|
+
console.error('Failed to fetch workspaces:', error);
|
|
135
|
+
return [];
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
// Project methods
|
|
139
|
+
async getProject(id, workspaceId) {
|
|
140
|
+
const cached = this.getCached(this.projects, id);
|
|
141
|
+
if (cached)
|
|
142
|
+
return cached;
|
|
143
|
+
if (!this.api)
|
|
144
|
+
return null;
|
|
145
|
+
if (workspaceId) {
|
|
146
|
+
const projects = await this.getProjects(workspaceId);
|
|
147
|
+
return projects.find((project) => project.id === id) || null;
|
|
148
|
+
}
|
|
149
|
+
try {
|
|
150
|
+
const project = await this.api.getProject(id);
|
|
151
|
+
if (project) {
|
|
152
|
+
this.setCached(this.projects, id, project);
|
|
153
|
+
}
|
|
154
|
+
return project;
|
|
155
|
+
}
|
|
156
|
+
catch (error) {
|
|
157
|
+
console.error(`Failed to fetch project ${id}:`, error);
|
|
158
|
+
return null;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
async getProjects(workspaceId) {
|
|
162
|
+
const cached = this.getCachedCollection(this.projectsByWorkspace.get(workspaceId));
|
|
163
|
+
if (cached)
|
|
164
|
+
return cached;
|
|
165
|
+
if (!this.api)
|
|
166
|
+
return [];
|
|
167
|
+
try {
|
|
168
|
+
const projects = await this.api.getProjects(workspaceId);
|
|
169
|
+
// Cache all fetched projects
|
|
170
|
+
projects.forEach((proj) => {
|
|
171
|
+
this.setCached(this.projects, proj.id, proj);
|
|
172
|
+
});
|
|
173
|
+
this.setCachedCollection(this.projectsByWorkspace, workspaceId, projects);
|
|
174
|
+
return projects;
|
|
175
|
+
}
|
|
176
|
+
catch (error) {
|
|
177
|
+
console.error(`Failed to fetch projects for workspace ${workspaceId}:`, error);
|
|
178
|
+
return [];
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
// Client methods
|
|
182
|
+
async getClient(id, workspaceId) {
|
|
183
|
+
const cached = this.getCached(this.clients, id);
|
|
184
|
+
if (cached)
|
|
185
|
+
return cached;
|
|
186
|
+
if (!this.api)
|
|
187
|
+
return null;
|
|
188
|
+
if (workspaceId) {
|
|
189
|
+
const clients = await this.getClients(workspaceId);
|
|
190
|
+
return clients.find((client) => client.id === id) || null;
|
|
191
|
+
}
|
|
192
|
+
try {
|
|
193
|
+
const client = await this.api.getClient(id);
|
|
194
|
+
if (client) {
|
|
195
|
+
this.setCached(this.clients, id, client);
|
|
196
|
+
}
|
|
197
|
+
return client;
|
|
198
|
+
}
|
|
199
|
+
catch (error) {
|
|
200
|
+
console.error(`Failed to fetch client ${id}:`, error);
|
|
201
|
+
return null;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
async getClients(workspaceId) {
|
|
205
|
+
const cached = this.getCachedCollection(this.clientsByWorkspace.get(workspaceId));
|
|
206
|
+
if (cached)
|
|
207
|
+
return cached;
|
|
208
|
+
if (!this.api)
|
|
209
|
+
return [];
|
|
210
|
+
try {
|
|
211
|
+
const clients = await this.api.getClients(workspaceId);
|
|
212
|
+
// Cache all fetched clients
|
|
213
|
+
clients.forEach((client) => {
|
|
214
|
+
this.setCached(this.clients, client.id, client);
|
|
215
|
+
});
|
|
216
|
+
this.setCachedCollection(this.clientsByWorkspace, workspaceId, clients);
|
|
217
|
+
return clients;
|
|
218
|
+
}
|
|
219
|
+
catch (error) {
|
|
220
|
+
console.error(`Failed to fetch clients for workspace ${workspaceId}:`, error);
|
|
221
|
+
return [];
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
// Task methods
|
|
225
|
+
async getTask(id, workspaceId, projectId) {
|
|
226
|
+
const cached = this.getCached(this.tasks, id);
|
|
227
|
+
if (cached)
|
|
228
|
+
return cached;
|
|
229
|
+
if (!this.api)
|
|
230
|
+
return null;
|
|
231
|
+
try {
|
|
232
|
+
const task = await this.api.getTask(workspaceId, projectId, id);
|
|
233
|
+
if (task) {
|
|
234
|
+
this.setCached(this.tasks, id, task);
|
|
235
|
+
}
|
|
236
|
+
return task;
|
|
237
|
+
}
|
|
238
|
+
catch (error) {
|
|
239
|
+
console.error(`Failed to fetch task ${id}:`, error);
|
|
240
|
+
return null;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
async getTasks(workspaceId, projectId) {
|
|
244
|
+
if (!this.api)
|
|
245
|
+
return [];
|
|
246
|
+
try {
|
|
247
|
+
const tasks = await this.api.getTasks(workspaceId, projectId);
|
|
248
|
+
// Cache all fetched tasks
|
|
249
|
+
tasks.forEach((task) => {
|
|
250
|
+
this.setCached(this.tasks, task.id, task);
|
|
251
|
+
});
|
|
252
|
+
return tasks;
|
|
253
|
+
}
|
|
254
|
+
catch (error) {
|
|
255
|
+
console.error(`Failed to fetch tasks for project ${projectId}:`, error);
|
|
256
|
+
return [];
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
// User methods
|
|
260
|
+
async getUser(id) {
|
|
261
|
+
const cached = this.getCached(this.users, id);
|
|
262
|
+
if (cached)
|
|
263
|
+
return cached;
|
|
264
|
+
if (!this.api)
|
|
265
|
+
return null;
|
|
266
|
+
try {
|
|
267
|
+
const user = await this.api.getUser(id);
|
|
268
|
+
if (user) {
|
|
269
|
+
this.setCached(this.users, id, user);
|
|
270
|
+
}
|
|
271
|
+
return user;
|
|
272
|
+
}
|
|
273
|
+
catch (error) {
|
|
274
|
+
console.error(`Failed to fetch user ${id}:`, error);
|
|
275
|
+
return null;
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
// Tag methods
|
|
279
|
+
async getTag(id, workspaceId) {
|
|
280
|
+
const cached = this.getCached(this.tags, id);
|
|
281
|
+
if (cached)
|
|
282
|
+
return cached;
|
|
283
|
+
if (!this.api)
|
|
284
|
+
return null;
|
|
285
|
+
try {
|
|
286
|
+
const tags = await this.getTags(workspaceId);
|
|
287
|
+
return tags.find((tag) => tag.id === id) || null;
|
|
288
|
+
}
|
|
289
|
+
catch (error) {
|
|
290
|
+
console.error(`Failed to fetch tag ${id}:`, error);
|
|
291
|
+
return null;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
async getTags(workspaceId) {
|
|
295
|
+
const cached = this.getCachedCollection(this.tagsByWorkspace.get(workspaceId));
|
|
296
|
+
if (cached)
|
|
297
|
+
return cached;
|
|
298
|
+
if (!this.api)
|
|
299
|
+
return [];
|
|
300
|
+
try {
|
|
301
|
+
const tags = await this.api.getTags(workspaceId);
|
|
302
|
+
// Cache all fetched tags
|
|
303
|
+
tags.forEach((tag) => {
|
|
304
|
+
this.setCached(this.tags, tag.id, tag);
|
|
305
|
+
});
|
|
306
|
+
this.setCachedCollection(this.tagsByWorkspace, workspaceId, tags);
|
|
307
|
+
return tags;
|
|
308
|
+
}
|
|
309
|
+
catch (error) {
|
|
310
|
+
console.error(`Failed to fetch tags for workspace ${workspaceId}:`, error);
|
|
311
|
+
return [];
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
// Warm cache by pre-fetching common entities
|
|
315
|
+
async warmCache(workspaceId) {
|
|
316
|
+
// Log to stderr to avoid interfering with MCP stdio protocol
|
|
317
|
+
console.error('Warming cache...');
|
|
318
|
+
try {
|
|
319
|
+
// Fetch all workspaces
|
|
320
|
+
const workspaces = await this.getWorkspaces();
|
|
321
|
+
// If workspace specified, fetch its entities
|
|
322
|
+
if (workspaceId) {
|
|
323
|
+
await Promise.all([
|
|
324
|
+
this.getProjects(workspaceId),
|
|
325
|
+
this.getClients(workspaceId),
|
|
326
|
+
this.getTags(workspaceId),
|
|
327
|
+
]);
|
|
328
|
+
}
|
|
329
|
+
else {
|
|
330
|
+
// Fetch entities for all workspaces (be careful with rate limits)
|
|
331
|
+
for (const ws of workspaces.slice(0, 3)) {
|
|
332
|
+
// Limit to first 3 workspaces
|
|
333
|
+
await Promise.all([this.getProjects(ws.id), this.getClients(ws.id), this.getTags(ws.id)]);
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
console.error('Cache warmed successfully');
|
|
337
|
+
}
|
|
338
|
+
catch (error) {
|
|
339
|
+
console.error('Failed to warm cache:', error);
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
normalizeTimeEntry(entry) {
|
|
343
|
+
const running = entry.duration < 0 && !entry.stop;
|
|
344
|
+
const elapsedSeconds = running
|
|
345
|
+
? Math.max(0, Math.floor((Date.now() - new Date(entry.start).getTime()) / 1000))
|
|
346
|
+
: undefined;
|
|
347
|
+
const durationSeconds = running ? elapsedSeconds : Math.max(0, entry.duration);
|
|
348
|
+
const tags = normalizeStringArray(entry.tags);
|
|
349
|
+
const tagIds = normalizeNumberArray(entry.tag_ids);
|
|
350
|
+
const normalized = {
|
|
351
|
+
...entry,
|
|
352
|
+
workspace_name: `Workspace ${entry.workspace_id}`,
|
|
353
|
+
tags,
|
|
354
|
+
tag_ids: tagIds,
|
|
355
|
+
tag_names: [...tags],
|
|
356
|
+
running,
|
|
357
|
+
duration_seconds: durationSeconds,
|
|
358
|
+
};
|
|
359
|
+
if (elapsedSeconds !== undefined) {
|
|
360
|
+
normalized.elapsed_seconds = elapsedSeconds;
|
|
361
|
+
}
|
|
362
|
+
return normalized;
|
|
363
|
+
}
|
|
364
|
+
// Hydrate time entries with cached names
|
|
365
|
+
async hydrateTimeEntries(entries) {
|
|
366
|
+
const hydrated = [];
|
|
367
|
+
for (const entry of entries) {
|
|
368
|
+
const hydEntry = this.normalizeTimeEntry(entry);
|
|
369
|
+
// Add workspace name
|
|
370
|
+
const workspace = await this.getWorkspace(entry.workspace_id);
|
|
371
|
+
hydEntry.workspace_name = workspace?.name || `Workspace ${entry.workspace_id}`;
|
|
372
|
+
// Add project name and client info
|
|
373
|
+
if (entry.project_id) {
|
|
374
|
+
const project = await this.getProject(entry.project_id, entry.workspace_id);
|
|
375
|
+
hydEntry.project_name = project?.name || `Project ${entry.project_id}`;
|
|
376
|
+
if (project?.client_id) {
|
|
377
|
+
hydEntry.client_id = project.client_id;
|
|
378
|
+
const client = await this.getClient(project.client_id, entry.workspace_id);
|
|
379
|
+
hydEntry.client_name = client?.name || `Client ${project.client_id}`;
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
// Add task name
|
|
383
|
+
if (entry.task_id && entry.project_id) {
|
|
384
|
+
const task = await this.getTask(entry.task_id, entry.workspace_id, entry.project_id);
|
|
385
|
+
hydEntry.task_name = task?.name || `Task ${entry.task_id}`;
|
|
386
|
+
}
|
|
387
|
+
// Add user name if available
|
|
388
|
+
if (entry.user_id) {
|
|
389
|
+
const user = await this.getUser(entry.user_id);
|
|
390
|
+
hydEntry.user_name = user?.fullname || user?.email || `User ${entry.user_id}`;
|
|
391
|
+
}
|
|
392
|
+
// Add tag names
|
|
393
|
+
if (hydEntry.tag_ids.length > 0) {
|
|
394
|
+
const tagNames = new Set(hydEntry.tag_names);
|
|
395
|
+
for (const tagId of hydEntry.tag_ids) {
|
|
396
|
+
const tag = await this.getTag(tagId, entry.workspace_id);
|
|
397
|
+
if (tag) {
|
|
398
|
+
tagNames.add(tag.name);
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
hydEntry.tag_names = Array.from(tagNames);
|
|
402
|
+
hydEntry.tags = hydEntry.tag_names;
|
|
403
|
+
}
|
|
404
|
+
hydrated.push(hydEntry);
|
|
405
|
+
}
|
|
406
|
+
return hydrated;
|
|
407
|
+
}
|
|
408
|
+
// Clear cache
|
|
409
|
+
clearCache() {
|
|
410
|
+
this.workspaces.clear();
|
|
411
|
+
this.projects.clear();
|
|
412
|
+
this.clients.clear();
|
|
413
|
+
this.tasks.clear();
|
|
414
|
+
this.users.clear();
|
|
415
|
+
this.tags.clear();
|
|
416
|
+
this.workspaceList = null;
|
|
417
|
+
this.projectsByWorkspace.clear();
|
|
418
|
+
this.clientsByWorkspace.clear();
|
|
419
|
+
this.tagsByWorkspace.clear();
|
|
420
|
+
this.stats = {
|
|
421
|
+
hits: 0,
|
|
422
|
+
misses: 0,
|
|
423
|
+
lastReset: new Date(),
|
|
424
|
+
};
|
|
425
|
+
}
|
|
426
|
+
// Get cache statistics
|
|
427
|
+
getStats() {
|
|
428
|
+
return {
|
|
429
|
+
workspaces: this.workspaces.size,
|
|
430
|
+
projects: this.projects.size,
|
|
431
|
+
clients: this.clients.size,
|
|
432
|
+
tasks: this.tasks.size,
|
|
433
|
+
users: this.users.size,
|
|
434
|
+
tags: this.tags.size,
|
|
435
|
+
hits: this.stats.hits,
|
|
436
|
+
misses: this.stats.misses,
|
|
437
|
+
lastReset: this.stats.lastReset,
|
|
438
|
+
};
|
|
439
|
+
}
|
|
440
|
+
// Clear expired entries
|
|
441
|
+
pruneExpired() {
|
|
442
|
+
const prune = (cache) => {
|
|
443
|
+
const expired = [];
|
|
444
|
+
cache.forEach((entry, key) => {
|
|
445
|
+
if (!this.isValid(entry)) {
|
|
446
|
+
expired.push(key);
|
|
447
|
+
}
|
|
448
|
+
});
|
|
449
|
+
expired.forEach((key) => cache.delete(key));
|
|
450
|
+
};
|
|
451
|
+
prune(this.workspaces);
|
|
452
|
+
prune(this.projects);
|
|
453
|
+
prune(this.clients);
|
|
454
|
+
prune(this.tasks);
|
|
455
|
+
prune(this.users);
|
|
456
|
+
prune(this.tags);
|
|
457
|
+
if (!this.isValid(this.workspaceList)) {
|
|
458
|
+
this.workspaceList = null;
|
|
459
|
+
}
|
|
460
|
+
const pruneCollections = (cache) => {
|
|
461
|
+
const expired = [];
|
|
462
|
+
cache.forEach((entry, key) => {
|
|
463
|
+
if (!this.isValid(entry)) {
|
|
464
|
+
expired.push(key);
|
|
465
|
+
}
|
|
466
|
+
});
|
|
467
|
+
expired.forEach((key) => cache.delete(key));
|
|
468
|
+
};
|
|
469
|
+
pruneCollections(this.projectsByWorkspace);
|
|
470
|
+
pruneCollections(this.clientsByWorkspace);
|
|
471
|
+
pruneCollections(this.tagsByWorkspace);
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
function normalizeStringArray(value) {
|
|
475
|
+
return Array.isArray(value)
|
|
476
|
+
? value.filter((item) => typeof item === 'string')
|
|
477
|
+
: [];
|
|
478
|
+
}
|
|
479
|
+
function normalizeNumberArray(value) {
|
|
480
|
+
return Array.isArray(value)
|
|
481
|
+
? value.filter((item) => typeof item === 'number')
|
|
482
|
+
: [];
|
|
483
|
+
}
|
|
484
|
+
//# sourceMappingURL=cache-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache-manager.js","sourceRoot":"","sources":["../src/cache-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|