@t4dhg/mcp-factorial 1.1.0 → 3.0.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.
Files changed (52) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +175 -58
  3. package/dist/api.d.ts +424 -8
  4. package/dist/api.d.ts.map +1 -1
  5. package/dist/api.js +1156 -100
  6. package/dist/api.js.map +1 -1
  7. package/dist/audit.d.ts +86 -0
  8. package/dist/audit.d.ts.map +1 -0
  9. package/dist/audit.js +119 -0
  10. package/dist/audit.js.map +1 -0
  11. package/dist/cache.d.ts +88 -0
  12. package/dist/cache.d.ts.map +1 -0
  13. package/dist/cache.js +169 -0
  14. package/dist/cache.js.map +1 -0
  15. package/dist/config.d.ts +57 -0
  16. package/dist/config.d.ts.map +1 -0
  17. package/dist/config.js +112 -0
  18. package/dist/config.js.map +1 -0
  19. package/dist/confirmation.d.ts +118 -0
  20. package/dist/confirmation.d.ts.map +1 -0
  21. package/dist/confirmation.js +153 -0
  22. package/dist/confirmation.js.map +1 -0
  23. package/dist/errors.d.ts +133 -0
  24. package/dist/errors.d.ts.map +1 -0
  25. package/dist/errors.js +251 -0
  26. package/dist/errors.js.map +1 -0
  27. package/dist/http-client.d.ts +80 -0
  28. package/dist/http-client.d.ts.map +1 -0
  29. package/dist/http-client.js +243 -0
  30. package/dist/http-client.js.map +1 -0
  31. package/dist/index.d.ts +12 -2
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +3272 -73
  34. package/dist/index.js.map +1 -1
  35. package/dist/pagination.d.ts +96 -0
  36. package/dist/pagination.d.ts.map +1 -0
  37. package/dist/pagination.js +114 -0
  38. package/dist/pagination.js.map +1 -0
  39. package/dist/schemas.d.ts +1789 -0
  40. package/dist/schemas.d.ts.map +1 -0
  41. package/dist/schemas.js +718 -0
  42. package/dist/schemas.js.map +1 -0
  43. package/dist/types.d.ts +61 -50
  44. package/dist/types.d.ts.map +1 -1
  45. package/dist/types.js +6 -1
  46. package/dist/types.js.map +1 -1
  47. package/dist/write-safety.d.ts +53 -0
  48. package/dist/write-safety.d.ts.map +1 -0
  49. package/dist/write-safety.js +239 -0
  50. package/dist/write-safety.js.map +1 -0
  51. package/llms.txt +115 -0
  52. package/package.json +63 -7
package/dist/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Audit logging for write operations
3
+ *
4
+ * Logs all write operations for compliance and debugging.
5
+ * In production, this could be extended to log to external systems.
6
+ */
7
+ /**
8
+ * Audit action types for write operations
9
+ */
10
+ export declare enum AuditAction {
11
+ CREATE = "CREATE",
12
+ UPDATE = "UPDATE",
13
+ DELETE = "DELETE",
14
+ APPROVE = "APPROVE",
15
+ REJECT = "REJECT",
16
+ TERMINATE = "TERMINATE",
17
+ ARCHIVE = "ARCHIVE",
18
+ UNARCHIVE = "UNARCHIVE",
19
+ ASSIGN = "ASSIGN",
20
+ UNASSIGN = "UNASSIGN"
21
+ }
22
+ /**
23
+ * Audit log entry structure
24
+ */
25
+ export interface AuditEntry {
26
+ timestamp: string;
27
+ action: AuditAction;
28
+ entityType: string;
29
+ entityId?: number;
30
+ changes?: Record<string, {
31
+ from?: unknown;
32
+ to: unknown;
33
+ }>;
34
+ success: boolean;
35
+ error?: string;
36
+ durationMs: number;
37
+ idempotencyKey?: string;
38
+ }
39
+ /**
40
+ * Audit logger class
41
+ *
42
+ * Maintains an in-memory log of recent write operations for debugging.
43
+ * In production, this could be extended to persist logs to external systems.
44
+ */
45
+ declare class AuditLogger {
46
+ private logs;
47
+ private readonly maxEntries;
48
+ /**
49
+ * Log an audit entry
50
+ */
51
+ log(entry: AuditEntry): void;
52
+ /**
53
+ * Get recent audit logs
54
+ */
55
+ getRecentLogs(limit?: number): AuditEntry[];
56
+ /**
57
+ * Get logs for a specific entity type
58
+ */
59
+ getLogsByEntityType(entityType: string): AuditEntry[];
60
+ /**
61
+ * Get logs for a specific entity
62
+ */
63
+ getLogsByEntity(entityType: string, entityId: number): AuditEntry[];
64
+ /**
65
+ * Clear all logs (useful for testing)
66
+ */
67
+ clear(): void;
68
+ }
69
+ export declare const auditLogger: AuditLogger;
70
+ /**
71
+ * Helper to wrap write operations with audit logging
72
+ *
73
+ * @param action - The audit action type
74
+ * @param entityType - The type of entity being modified
75
+ * @param entityId - Optional ID of the entity
76
+ * @param operation - The async operation to execute
77
+ * @param changes - Optional changes being made
78
+ * @param idempotencyKey - Optional idempotency key
79
+ * @returns The result of the operation
80
+ */
81
+ export declare function auditedOperation<T>(action: AuditAction, entityType: string, entityId: number | undefined, operation: () => Promise<T>, changes?: Record<string, {
82
+ from?: unknown;
83
+ to: unknown;
84
+ }>, idempotencyKey?: string): Promise<T>;
85
+ export {};
86
+ //# sourceMappingURL=audit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;GAEG;AACH,oBAAY,WAAW;IACrB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,QAAQ,aAAa;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,EAAE,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC1D,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;GAKG;AACH,cAAM,WAAW;IACf,OAAO,CAAC,IAAI,CAAoB;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IAEnC;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAoB5B;;OAEG;IACH,aAAa,CAAC,KAAK,SAAM,GAAG,UAAU,EAAE;IAIxC;;OAEG;IACH,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,EAAE;IAIrD;;OAEG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE;IAInE;;OAEG;IACH,KAAK,IAAI,IAAI;CAGd;AAGD,eAAO,MAAM,WAAW,aAAoB,CAAC;AAE7C;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,EACtC,MAAM,EAAE,WAAW,EACnB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,OAAO,CAAA;CAAE,CAAC,EACzD,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,CAAC,CAAC,CAiCZ"}
package/dist/audit.js ADDED
@@ -0,0 +1,119 @@
1
+ /**
2
+ * Audit logging for write operations
3
+ *
4
+ * Logs all write operations for compliance and debugging.
5
+ * In production, this could be extended to log to external systems.
6
+ */
7
+ import { debug } from './config.js';
8
+ /**
9
+ * Audit action types for write operations
10
+ */
11
+ export var AuditAction;
12
+ (function (AuditAction) {
13
+ AuditAction["CREATE"] = "CREATE";
14
+ AuditAction["UPDATE"] = "UPDATE";
15
+ AuditAction["DELETE"] = "DELETE";
16
+ AuditAction["APPROVE"] = "APPROVE";
17
+ AuditAction["REJECT"] = "REJECT";
18
+ AuditAction["TERMINATE"] = "TERMINATE";
19
+ AuditAction["ARCHIVE"] = "ARCHIVE";
20
+ AuditAction["UNARCHIVE"] = "UNARCHIVE";
21
+ AuditAction["ASSIGN"] = "ASSIGN";
22
+ AuditAction["UNASSIGN"] = "UNASSIGN";
23
+ })(AuditAction || (AuditAction = {}));
24
+ /**
25
+ * Audit logger class
26
+ *
27
+ * Maintains an in-memory log of recent write operations for debugging.
28
+ * In production, this could be extended to persist logs to external systems.
29
+ */
30
+ class AuditLogger {
31
+ logs = [];
32
+ maxEntries = 1000; // Keep last 1000 entries in memory
33
+ /**
34
+ * Log an audit entry
35
+ */
36
+ log(entry) {
37
+ this.logs.push(entry);
38
+ // Trim old entries
39
+ if (this.logs.length > this.maxEntries) {
40
+ this.logs = this.logs.slice(-this.maxEntries);
41
+ }
42
+ // Always debug log write operations
43
+ const status = entry.success ? 'SUCCESS' : 'FAILED';
44
+ const entityRef = entry.entityId ? ` #${entry.entityId}` : '';
45
+ debug(`[AUDIT] ${status} ${entry.action} ${entry.entityType}${entityRef} (${entry.durationMs}ms)`, {
46
+ changes: entry.changes,
47
+ error: entry.error,
48
+ });
49
+ }
50
+ /**
51
+ * Get recent audit logs
52
+ */
53
+ getRecentLogs(limit = 100) {
54
+ return this.logs.slice(-limit);
55
+ }
56
+ /**
57
+ * Get logs for a specific entity type
58
+ */
59
+ getLogsByEntityType(entityType) {
60
+ return this.logs.filter(log => log.entityType === entityType);
61
+ }
62
+ /**
63
+ * Get logs for a specific entity
64
+ */
65
+ getLogsByEntity(entityType, entityId) {
66
+ return this.logs.filter(log => log.entityType === entityType && log.entityId === entityId);
67
+ }
68
+ /**
69
+ * Clear all logs (useful for testing)
70
+ */
71
+ clear() {
72
+ this.logs = [];
73
+ }
74
+ }
75
+ // Singleton instance
76
+ export const auditLogger = new AuditLogger();
77
+ /**
78
+ * Helper to wrap write operations with audit logging
79
+ *
80
+ * @param action - The audit action type
81
+ * @param entityType - The type of entity being modified
82
+ * @param entityId - Optional ID of the entity
83
+ * @param operation - The async operation to execute
84
+ * @param changes - Optional changes being made
85
+ * @param idempotencyKey - Optional idempotency key
86
+ * @returns The result of the operation
87
+ */
88
+ export async function auditedOperation(action, entityType, entityId, operation, changes, idempotencyKey) {
89
+ const startTime = Date.now();
90
+ try {
91
+ const result = await operation();
92
+ auditLogger.log({
93
+ timestamp: new Date().toISOString(),
94
+ action,
95
+ entityType,
96
+ entityId,
97
+ changes,
98
+ success: true,
99
+ durationMs: Date.now() - startTime,
100
+ idempotencyKey,
101
+ });
102
+ return result;
103
+ }
104
+ catch (error) {
105
+ auditLogger.log({
106
+ timestamp: new Date().toISOString(),
107
+ action,
108
+ entityType,
109
+ entityId,
110
+ changes,
111
+ success: false,
112
+ error: error instanceof Error ? error.message : 'Unknown error',
113
+ durationMs: Date.now() - startTime,
114
+ idempotencyKey,
115
+ });
116
+ throw error;
117
+ }
118
+ }
119
+ //# sourceMappingURL=audit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Simple in-memory TTL cache for MCP FactorialHR
3
+ *
4
+ * Reduces API calls by caching frequently accessed data.
5
+ */
6
+ /**
7
+ * TTL values for different resource types (in milliseconds)
8
+ */
9
+ export declare const CACHE_TTL: {
10
+ readonly employees: number;
11
+ readonly teams: number;
12
+ readonly locations: number;
13
+ readonly contracts: number;
14
+ readonly leaves: number;
15
+ readonly shifts: number;
16
+ readonly default: number;
17
+ };
18
+ /**
19
+ * Resource types for TTL lookup
20
+ */
21
+ export type ResourceType = keyof typeof CACHE_TTL;
22
+ /**
23
+ * Simple TTL-based cache manager
24
+ */
25
+ export declare class CacheManager {
26
+ private cache;
27
+ private cleanupInterval;
28
+ constructor();
29
+ /**
30
+ * Generate a cache key from resource type and parameters
31
+ */
32
+ static key(resource: string, params?: object): string;
33
+ /**
34
+ * Get a value from the cache
35
+ * @returns The cached value or undefined if not found/expired
36
+ */
37
+ get<T>(key: string): T | undefined;
38
+ /**
39
+ * Set a value in the cache
40
+ * @param key - Cache key
41
+ * @param data - Data to cache
42
+ * @param ttlMs - Time to live in milliseconds
43
+ */
44
+ set<T>(key: string, data: T, ttlMs?: number): void;
45
+ /**
46
+ * Invalidate a specific cache entry
47
+ */
48
+ invalidate(key: string): boolean;
49
+ /**
50
+ * Invalidate all cache entries matching a prefix
51
+ */
52
+ invalidatePrefix(prefix: string): number;
53
+ /**
54
+ * Clear all cache entries
55
+ */
56
+ clear(): void;
57
+ /**
58
+ * Get cache statistics
59
+ */
60
+ stats(): {
61
+ size: number;
62
+ keys: string[];
63
+ };
64
+ /**
65
+ * Remove expired entries
66
+ */
67
+ private cleanup;
68
+ /**
69
+ * Stop the cleanup interval (for testing/cleanup)
70
+ */
71
+ destroy(): void;
72
+ }
73
+ /**
74
+ * Global cache instance
75
+ */
76
+ export declare const cache: CacheManager;
77
+ /**
78
+ * Helper to get cached data or fetch it
79
+ * @param key - Cache key
80
+ * @param fetcher - Function to fetch data if not cached
81
+ * @param ttlMs - Time to live in milliseconds
82
+ */
83
+ export declare function cached<T>(key: string, fetcher: () => Promise<T>, ttlMs?: number): Promise<T>;
84
+ /**
85
+ * Get the TTL for a resource type
86
+ */
87
+ export declare function getTTL(resourceType: ResourceType): number;
88
+ //# sourceMappingURL=cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;;;;CAQZ,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,SAAS,CAAC;AAElD;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAA0C;IACvD,OAAO,CAAC,eAAe,CAA+C;;IAOtE;;OAEG;IACH,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;IAcrD;;;OAGG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAgBlC;;;;;OAKG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,GAAE,MAA0B,GAAG,IAAI;IAQrE;;OAEG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAQhC;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAcxC;;OAEG;IACH,KAAK,IAAI,IAAI;IAMb;;OAEG;IACH,KAAK,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE;IAOzC;;OAEG;IACH,OAAO,CAAC,OAAO;IAcf;;OAEG;IACH,OAAO,IAAI,IAAI;CAMhB;AAED;;GAEG;AACH,eAAO,MAAM,KAAK,cAAqB,CAAC;AAExC;;;;;GAKG;AACH,wBAAsB,MAAM,CAAC,CAAC,EAC5B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACzB,KAAK,GAAE,MAA0B,GAChC,OAAO,CAAC,CAAC,CAAC,CASZ;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM,CAEzD"}
package/dist/cache.js ADDED
@@ -0,0 +1,169 @@
1
+ /**
2
+ * Simple in-memory TTL cache for MCP FactorialHR
3
+ *
4
+ * Reduces API calls by caching frequently accessed data.
5
+ */
6
+ import { debug } from './config.js';
7
+ /**
8
+ * TTL values for different resource types (in milliseconds)
9
+ */
10
+ export const CACHE_TTL = {
11
+ employees: 5 * 60 * 1000, // 5 minutes
12
+ teams: 10 * 60 * 1000, // 10 minutes
13
+ locations: 15 * 60 * 1000, // 15 minutes
14
+ contracts: 3 * 60 * 1000, // 3 minutes
15
+ leaves: 2 * 60 * 1000, // 2 minutes
16
+ shifts: 1 * 60 * 1000, // 1 minute
17
+ default: 5 * 60 * 1000, // 5 minutes default
18
+ };
19
+ /**
20
+ * Simple TTL-based cache manager
21
+ */
22
+ export class CacheManager {
23
+ cache = new Map();
24
+ cleanupInterval = null;
25
+ constructor() {
26
+ // Run cleanup every minute
27
+ this.cleanupInterval = setInterval(() => this.cleanup(), 60000);
28
+ }
29
+ /**
30
+ * Generate a cache key from resource type and parameters
31
+ */
32
+ static key(resource, params) {
33
+ if (!params || Object.keys(params).length === 0) {
34
+ return resource;
35
+ }
36
+ // Sort params for consistent key generation
37
+ const record = params;
38
+ const sortedParams = Object.keys(record)
39
+ .sort()
40
+ .filter(k => record[k] !== undefined)
41
+ .map(k => `${k}=${JSON.stringify(record[k])}`)
42
+ .join('&');
43
+ return `${resource}:${sortedParams}`;
44
+ }
45
+ /**
46
+ * Get a value from the cache
47
+ * @returns The cached value or undefined if not found/expired
48
+ */
49
+ get(key) {
50
+ const entry = this.cache.get(key);
51
+ if (!entry) {
52
+ return undefined;
53
+ }
54
+ if (Date.now() > entry.expiresAt) {
55
+ this.cache.delete(key);
56
+ debug(`Cache miss (expired): ${key}`);
57
+ return undefined;
58
+ }
59
+ debug(`Cache hit: ${key}`);
60
+ return entry.data;
61
+ }
62
+ /**
63
+ * Set a value in the cache
64
+ * @param key - Cache key
65
+ * @param data - Data to cache
66
+ * @param ttlMs - Time to live in milliseconds
67
+ */
68
+ set(key, data, ttlMs = CACHE_TTL.default) {
69
+ this.cache.set(key, {
70
+ data,
71
+ expiresAt: Date.now() + ttlMs,
72
+ });
73
+ debug(`Cache set: ${key} (TTL: ${ttlMs}ms)`);
74
+ }
75
+ /**
76
+ * Invalidate a specific cache entry
77
+ */
78
+ invalidate(key) {
79
+ const deleted = this.cache.delete(key);
80
+ if (deleted) {
81
+ debug(`Cache invalidated: ${key}`);
82
+ }
83
+ return deleted;
84
+ }
85
+ /**
86
+ * Invalidate all cache entries matching a prefix
87
+ */
88
+ invalidatePrefix(prefix) {
89
+ let count = 0;
90
+ for (const key of this.cache.keys()) {
91
+ if (key.startsWith(prefix)) {
92
+ this.cache.delete(key);
93
+ count++;
94
+ }
95
+ }
96
+ if (count > 0) {
97
+ debug(`Cache invalidated ${count} entries with prefix: ${prefix}`);
98
+ }
99
+ return count;
100
+ }
101
+ /**
102
+ * Clear all cache entries
103
+ */
104
+ clear() {
105
+ const size = this.cache.size;
106
+ this.cache.clear();
107
+ debug(`Cache cleared (${size} entries)`);
108
+ }
109
+ /**
110
+ * Get cache statistics
111
+ */
112
+ stats() {
113
+ return {
114
+ size: this.cache.size,
115
+ keys: Array.from(this.cache.keys()),
116
+ };
117
+ }
118
+ /**
119
+ * Remove expired entries
120
+ */
121
+ cleanup() {
122
+ const now = Date.now();
123
+ let removed = 0;
124
+ for (const [key, entry] of this.cache.entries()) {
125
+ if (now > entry.expiresAt) {
126
+ this.cache.delete(key);
127
+ removed++;
128
+ }
129
+ }
130
+ if (removed > 0) {
131
+ debug(`Cache cleanup: removed ${removed} expired entries`);
132
+ }
133
+ }
134
+ /**
135
+ * Stop the cleanup interval (for testing/cleanup)
136
+ */
137
+ destroy() {
138
+ if (this.cleanupInterval) {
139
+ clearInterval(this.cleanupInterval);
140
+ this.cleanupInterval = null;
141
+ }
142
+ }
143
+ }
144
+ /**
145
+ * Global cache instance
146
+ */
147
+ export const cache = new CacheManager();
148
+ /**
149
+ * Helper to get cached data or fetch it
150
+ * @param key - Cache key
151
+ * @param fetcher - Function to fetch data if not cached
152
+ * @param ttlMs - Time to live in milliseconds
153
+ */
154
+ export async function cached(key, fetcher, ttlMs = CACHE_TTL.default) {
155
+ const cachedValue = cache.get(key);
156
+ if (cachedValue !== undefined) {
157
+ return cachedValue;
158
+ }
159
+ const data = await fetcher();
160
+ cache.set(key, data, ttlMs);
161
+ return data;
162
+ }
163
+ /**
164
+ * Get the TTL for a resource type
165
+ */
166
+ export function getTTL(resourceType) {
167
+ return CACHE_TTL[resourceType] ?? CACHE_TTL.default;
168
+ }
169
+ //# sourceMappingURL=cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Configuration management for MCP FactorialHR
3
+ *
4
+ * Centralizes all configuration options and environment variable handling.
5
+ */
6
+ /**
7
+ * Configuration interface for FactorialHR API client
8
+ */
9
+ export interface FactorialConfig {
10
+ /** FactorialHR API key (required) */
11
+ apiKey: string;
12
+ /** API version (e.g., '2025-10-01') */
13
+ apiVersion: string;
14
+ /** Base URL for the Factorial API */
15
+ baseUrl: string;
16
+ /** Request timeout in milliseconds */
17
+ timeout: number;
18
+ /** Maximum number of retry attempts */
19
+ maxRetries: number;
20
+ /** Enable debug logging */
21
+ debug: boolean;
22
+ }
23
+ /**
24
+ * Load environment variables from .env file with priority:
25
+ * 1. ENV_FILE_PATH environment variable
26
+ * 2. Current working directory .env
27
+ * 3. Home directory .env
28
+ * 4. Common project locations
29
+ * 5. Default dotenv behavior
30
+ */
31
+ export declare function loadEnv(): void;
32
+ /**
33
+ * Get the Factorial API key from environment variables
34
+ * @throws Error if API key is not set
35
+ */
36
+ export declare function getApiKey(): string;
37
+ /**
38
+ * Get the API version from environment or default
39
+ */
40
+ export declare function getApiVersion(): string;
41
+ /**
42
+ * Get the base URL for the Factorial API
43
+ */
44
+ export declare function getBaseUrl(): string;
45
+ /**
46
+ * Get the complete configuration object
47
+ */
48
+ export declare function getConfig(): FactorialConfig;
49
+ /**
50
+ * Check if debug mode is enabled
51
+ */
52
+ export declare function isDebugEnabled(): boolean;
53
+ /**
54
+ * Debug logger - only logs when DEBUG=true
55
+ */
56
+ export declare function debug(message: string, data?: unknown): void;
57
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,qCAAqC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,KAAK,EAAE,OAAO,CAAC;CAChB;AAOD;;;;;;;GAOG;AACH,wBAAgB,OAAO,IAAI,IAAI,CAkC9B;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAUlC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAKnC;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,eAAe,CAS3C;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAExC;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAS3D"}