@fractary/core 0.3.3 → 0.5.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/__tests__/factories.test.d.ts +5 -0
- package/dist/__tests__/factories.test.d.ts.map +1 -0
- package/dist/__tests__/factories.test.js +66 -0
- package/dist/__tests__/factories.test.js.map +1 -0
- package/dist/auth/__tests__/create-token-provider.test.d.ts +5 -0
- package/dist/auth/__tests__/create-token-provider.test.d.ts.map +1 -0
- package/dist/auth/__tests__/create-token-provider.test.js +104 -0
- package/dist/auth/__tests__/create-token-provider.test.js.map +1 -0
- package/dist/auth/__tests__/github-app-auth.test.d.ts +5 -0
- package/dist/auth/__tests__/github-app-auth.test.d.ts.map +1 -0
- package/dist/auth/__tests__/github-app-auth.test.js +293 -0
- package/dist/auth/__tests__/github-app-auth.test.js.map +1 -0
- package/dist/auth/__tests__/static-token-provider.test.d.ts +5 -0
- package/dist/auth/__tests__/static-token-provider.test.d.ts.map +1 -0
- package/dist/auth/__tests__/static-token-provider.test.js +54 -0
- package/dist/auth/__tests__/static-token-provider.test.js.map +1 -0
- package/dist/auth/github-app-auth.d.ts +109 -0
- package/dist/auth/github-app-auth.d.ts.map +1 -0
- package/dist/auth/github-app-auth.js +262 -0
- package/dist/auth/github-app-auth.js.map +1 -0
- package/dist/auth/github-app-token-provider.d.ts +59 -0
- package/dist/auth/github-app-token-provider.d.ts.map +1 -0
- package/dist/auth/github-app-token-provider.js +68 -0
- package/dist/auth/github-app-token-provider.js.map +1 -0
- package/dist/auth/index.d.ts +45 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +74 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/static-token-provider.d.ts +35 -0
- package/dist/auth/static-token-provider.d.ts.map +1 -0
- package/dist/auth/static-token-provider.js +45 -0
- package/dist/auth/static-token-provider.js.map +1 -0
- package/dist/auth/types.d.ts +49 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/auth/types.js +8 -0
- package/dist/auth/types.js.map +1 -0
- package/dist/common/__tests__/secrets.test.d.ts +7 -0
- package/dist/common/__tests__/secrets.test.d.ts.map +1 -0
- package/dist/common/__tests__/secrets.test.js +320 -0
- package/dist/common/__tests__/secrets.test.js.map +1 -0
- package/dist/common/config.d.ts +6 -4
- package/dist/common/config.d.ts.map +1 -1
- package/dist/common/config.js +4 -30
- package/dist/common/config.js.map +1 -1
- package/dist/common/index.d.ts +1 -0
- package/dist/common/index.d.ts.map +1 -1
- package/dist/common/index.js +1 -0
- package/dist/common/index.js.map +1 -1
- package/dist/common/secrets.d.ts +68 -0
- package/dist/common/secrets.d.ts.map +1 -0
- package/dist/common/secrets.js +180 -0
- package/dist/common/secrets.js.map +1 -0
- package/dist/common/yaml-config.d.ts +10 -0
- package/dist/common/yaml-config.d.ts.map +1 -1
- package/dist/common/yaml-config.js.map +1 -1
- package/dist/config/__tests__/loader.test.d.ts +5 -0
- package/dist/config/__tests__/loader.test.d.ts.map +1 -0
- package/dist/config/__tests__/loader.test.js +129 -0
- package/dist/config/__tests__/loader.test.js.map +1 -0
- package/dist/config/index.d.ts +8 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +27 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/loader.d.ts +126 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +277 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/docs/index.d.ts +5 -0
- package/dist/docs/index.d.ts.map +1 -1
- package/dist/docs/index.js +6 -1
- package/dist/docs/index.js.map +1 -1
- package/dist/docs/manager.d.ts +27 -0
- package/dist/docs/manager.d.ts.map +1 -1
- package/dist/docs/manager.js +168 -15
- package/dist/docs/manager.js.map +1 -1
- package/dist/docs/type-registry.d.ts +123 -0
- package/dist/docs/type-registry.d.ts.map +1 -0
- package/dist/docs/type-registry.js +393 -0
- package/dist/docs/type-registry.js.map +1 -0
- package/dist/docs/types.d.ts +93 -0
- package/dist/docs/types.d.ts.map +1 -1
- package/dist/factories.d.ts +89 -0
- package/dist/factories.d.ts.map +1 -0
- package/dist/factories.js +228 -0
- package/dist/factories.js.map +1 -0
- package/dist/file/factory.d.ts +41 -0
- package/dist/file/factory.d.ts.map +1 -0
- package/dist/file/factory.js +237 -0
- package/dist/file/factory.js.map +1 -0
- package/dist/file/gcs.d.ts +66 -0
- package/dist/file/gcs.d.ts.map +1 -0
- package/dist/file/gcs.js +226 -0
- package/dist/file/gcs.js.map +1 -0
- package/dist/file/gdrive.d.ts +78 -0
- package/dist/file/gdrive.d.ts.map +1 -0
- package/dist/file/gdrive.js +302 -0
- package/dist/file/gdrive.js.map +1 -0
- package/dist/file/index.d.ts +13 -1
- package/dist/file/index.d.ts.map +1 -1
- package/dist/file/index.js +25 -1
- package/dist/file/index.js.map +1 -1
- package/dist/file/manager.d.ts +83 -2
- package/dist/file/manager.d.ts.map +1 -1
- package/dist/file/manager.js +125 -4
- package/dist/file/manager.js.map +1 -1
- package/dist/file/r2.d.ts +56 -0
- package/dist/file/r2.d.ts.map +1 -0
- package/dist/file/r2.js +96 -0
- package/dist/file/r2.js.map +1 -0
- package/dist/file/s3.d.ts +61 -0
- package/dist/file/s3.d.ts.map +1 -0
- package/dist/file/s3.js +258 -0
- package/dist/file/s3.js.map +1 -0
- package/dist/file/types.d.ts +145 -2
- package/dist/file/types.d.ts.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/logs/index.d.ts +1 -0
- package/dist/logs/index.d.ts.map +1 -1
- package/dist/logs/index.js +3 -1
- package/dist/logs/index.js.map +1 -1
- package/dist/logs/manager.d.ts +29 -2
- package/dist/logs/manager.d.ts.map +1 -1
- package/dist/logs/manager.js +48 -7
- package/dist/logs/manager.js.map +1 -1
- package/dist/logs/type-registry.d.ts +180 -0
- package/dist/logs/type-registry.d.ts.map +1 -0
- package/dist/logs/type-registry.js +421 -0
- package/dist/logs/type-registry.js.map +1 -0
- package/dist/logs/type-registry.test.d.ts +5 -0
- package/dist/logs/type-registry.test.d.ts.map +1 -0
- package/dist/logs/type-registry.test.js +671 -0
- package/dist/logs/type-registry.test.js.map +1 -0
- package/dist/logs/types.d.ts +2 -0
- package/dist/logs/types.d.ts.map +1 -1
- package/package.json +76 -8
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fractary/core - Secrets Sanitization Utilities
|
|
3
|
+
*
|
|
4
|
+
* Unified utilities for redacting sensitive values from strings and objects.
|
|
5
|
+
* Used by CLI, MCP server, and other components to prevent token/secret exposure.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Sanitize token/secret values from error messages and logs.
|
|
9
|
+
* Replaces common secret patterns with [REDACTED].
|
|
10
|
+
*
|
|
11
|
+
* @param message - Error message or log string
|
|
12
|
+
* @returns Sanitized message with secrets redacted
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* const safe = sanitizeSecrets('Failed with token ghp_abc123...');
|
|
17
|
+
* // Returns: 'Failed with token [REDACTED_GITHUB_TOKEN]'
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export declare function sanitizeSecrets(message: string): string;
|
|
21
|
+
/**
|
|
22
|
+
* Check if a string contains potential security-sensitive information.
|
|
23
|
+
*
|
|
24
|
+
* @param value - String to check
|
|
25
|
+
* @returns True if string might contain secrets
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```typescript
|
|
29
|
+
* containsSecrets('my api_key is xyz'); // true
|
|
30
|
+
* containsSecrets('hello world'); // false
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export declare function containsSecrets(value: string): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Check if a key name indicates it holds a sensitive value.
|
|
36
|
+
*
|
|
37
|
+
* @param key - Key name to check
|
|
38
|
+
* @returns True if the key likely holds a secret
|
|
39
|
+
*/
|
|
40
|
+
export declare function isSensitiveKey(key: string): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Redact sensitive values from a configuration object for display.
|
|
43
|
+
* Preserves environment variable references like `${GITHUB_TOKEN}`.
|
|
44
|
+
*
|
|
45
|
+
* @param config - Configuration object to redact
|
|
46
|
+
* @returns Deep copy with sensitive values redacted
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```typescript
|
|
50
|
+
* const config = {
|
|
51
|
+
* token: 'ghp_secret123',
|
|
52
|
+
* owner: 'myorg',
|
|
53
|
+
* nested: { api_key: 'abc123' }
|
|
54
|
+
* };
|
|
55
|
+
* const safe = redactConfig(config);
|
|
56
|
+
* // Returns: { token: '********', owner: 'myorg', nested: { api_key: '********' } }
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
export declare function redactConfig(config: unknown): unknown;
|
|
60
|
+
/**
|
|
61
|
+
* Redact a single value if it appears to be a secret.
|
|
62
|
+
*
|
|
63
|
+
* @param value - Value to potentially redact
|
|
64
|
+
* @param key - Optional key name for context-aware redaction
|
|
65
|
+
* @returns Redacted value or original value if not sensitive
|
|
66
|
+
*/
|
|
67
|
+
export declare function redactValue(value: string, key?: string): string;
|
|
68
|
+
//# sourceMappingURL=secrets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../../src/common/secrets.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAqCH;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAgBvD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAatD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAGnD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAgCrD;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAmB/D"}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fractary/core - Secrets Sanitization Utilities
|
|
4
|
+
*
|
|
5
|
+
* Unified utilities for redacting sensitive values from strings and objects.
|
|
6
|
+
* Used by CLI, MCP server, and other components to prevent token/secret exposure.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.sanitizeSecrets = sanitizeSecrets;
|
|
10
|
+
exports.containsSecrets = containsSecrets;
|
|
11
|
+
exports.isSensitiveKey = isSensitiveKey;
|
|
12
|
+
exports.redactConfig = redactConfig;
|
|
13
|
+
exports.redactValue = redactValue;
|
|
14
|
+
/**
|
|
15
|
+
* Sensitive key names that should be redacted
|
|
16
|
+
*/
|
|
17
|
+
const SENSITIVE_KEYS = ['token', 'key', 'secret', 'password', 'api_key', 'apikey', 'auth'];
|
|
18
|
+
/**
|
|
19
|
+
* Token patterns for detection and redaction
|
|
20
|
+
*/
|
|
21
|
+
const TOKEN_PATTERNS = {
|
|
22
|
+
// GitHub tokens (ghp_, gho_, ghs_, ghu_, ghr_)
|
|
23
|
+
github: /gh[posuhr]_[A-Za-z0-9]{36,}/gi,
|
|
24
|
+
// GitLab tokens
|
|
25
|
+
gitlab: /glpat-[A-Za-z0-9_\-]{20,}/gi,
|
|
26
|
+
// Bearer tokens
|
|
27
|
+
bearer: /Bearer\s+[A-Za-z0-9\-._~+/]+=*/gi,
|
|
28
|
+
// Basic auth
|
|
29
|
+
basic: /Basic\s+[A-Za-z0-9+/=]+/gi,
|
|
30
|
+
// Generic key-value patterns (JSON, env vars, config)
|
|
31
|
+
keyValue: /(token|key|password|secret|api[_-]?key|access[_-]?token|auth[_-]?token|bearer)["']?\s*[=:]\s*["']?[^\s"',}]+/gi,
|
|
32
|
+
// Generic API keys (long alphanumeric strings after common keywords)
|
|
33
|
+
genericKey: /(api[_-]?key|apikey|access[_-]?key)\s*[=:]\s*["']?[A-Za-z0-9\-._~+/]{20,}["']?/gi,
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Redaction placeholders
|
|
37
|
+
*/
|
|
38
|
+
const REDACTED = {
|
|
39
|
+
default: '[REDACTED]',
|
|
40
|
+
github: '[REDACTED_GITHUB_TOKEN]',
|
|
41
|
+
gitlab: '[REDACTED_GITLAB_TOKEN]',
|
|
42
|
+
value: '********',
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Sanitize token/secret values from error messages and logs.
|
|
46
|
+
* Replaces common secret patterns with [REDACTED].
|
|
47
|
+
*
|
|
48
|
+
* @param message - Error message or log string
|
|
49
|
+
* @returns Sanitized message with secrets redacted
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```typescript
|
|
53
|
+
* const safe = sanitizeSecrets('Failed with token ghp_abc123...');
|
|
54
|
+
* // Returns: 'Failed with token [REDACTED_GITHUB_TOKEN]'
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
function sanitizeSecrets(message) {
|
|
58
|
+
return (message
|
|
59
|
+
// Redact tokens in key-value patterns (JSON, env vars, config)
|
|
60
|
+
.replace(TOKEN_PATTERNS.keyValue, '$1: [REDACTED]')
|
|
61
|
+
// Redact bearer tokens
|
|
62
|
+
.replace(TOKEN_PATTERNS.bearer, 'Bearer [REDACTED]')
|
|
63
|
+
// Redact Basic auth
|
|
64
|
+
.replace(TOKEN_PATTERNS.basic, 'Basic [REDACTED]')
|
|
65
|
+
// Redact GitHub tokens (ghp_, gho_, ghs_, ghu_, ghr_)
|
|
66
|
+
.replace(TOKEN_PATTERNS.github, REDACTED.github)
|
|
67
|
+
// Redact GitLab tokens
|
|
68
|
+
.replace(TOKEN_PATTERNS.gitlab, REDACTED.gitlab)
|
|
69
|
+
// Redact generic API keys (long alphanumeric strings after common keywords)
|
|
70
|
+
.replace(TOKEN_PATTERNS.genericKey, '$1: [REDACTED]'));
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Check if a string contains potential security-sensitive information.
|
|
74
|
+
*
|
|
75
|
+
* @param value - String to check
|
|
76
|
+
* @returns True if string might contain secrets
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```typescript
|
|
80
|
+
* containsSecrets('my api_key is xyz'); // true
|
|
81
|
+
* containsSecrets('hello world'); // false
|
|
82
|
+
* ```
|
|
83
|
+
*/
|
|
84
|
+
function containsSecrets(value) {
|
|
85
|
+
const secretPatterns = [
|
|
86
|
+
/token/i,
|
|
87
|
+
/password/i,
|
|
88
|
+
/secret/i,
|
|
89
|
+
/api[_-]?key/i,
|
|
90
|
+
/bearer/i,
|
|
91
|
+
/authorization/i,
|
|
92
|
+
/gh[posuhr]_/,
|
|
93
|
+
/glpat-/,
|
|
94
|
+
];
|
|
95
|
+
return secretPatterns.some((pattern) => pattern.test(value));
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Check if a key name indicates it holds a sensitive value.
|
|
99
|
+
*
|
|
100
|
+
* @param key - Key name to check
|
|
101
|
+
* @returns True if the key likely holds a secret
|
|
102
|
+
*/
|
|
103
|
+
function isSensitiveKey(key) {
|
|
104
|
+
const lowerKey = key.toLowerCase();
|
|
105
|
+
return SENSITIVE_KEYS.some((sensitiveKey) => lowerKey.includes(sensitiveKey));
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Redact sensitive values from a configuration object for display.
|
|
109
|
+
* Preserves environment variable references like `${GITHUB_TOKEN}`.
|
|
110
|
+
*
|
|
111
|
+
* @param config - Configuration object to redact
|
|
112
|
+
* @returns Deep copy with sensitive values redacted
|
|
113
|
+
*
|
|
114
|
+
* @example
|
|
115
|
+
* ```typescript
|
|
116
|
+
* const config = {
|
|
117
|
+
* token: 'ghp_secret123',
|
|
118
|
+
* owner: 'myorg',
|
|
119
|
+
* nested: { api_key: 'abc123' }
|
|
120
|
+
* };
|
|
121
|
+
* const safe = redactConfig(config);
|
|
122
|
+
* // Returns: { token: '********', owner: 'myorg', nested: { api_key: '********' } }
|
|
123
|
+
* ```
|
|
124
|
+
*/
|
|
125
|
+
function redactConfig(config) {
|
|
126
|
+
if (!config)
|
|
127
|
+
return config;
|
|
128
|
+
// Deep clone to avoid mutating original
|
|
129
|
+
const redacted = JSON.parse(JSON.stringify(config));
|
|
130
|
+
function redactObject(obj) {
|
|
131
|
+
for (const key in obj) {
|
|
132
|
+
const value = obj[key];
|
|
133
|
+
if (typeof value === 'string') {
|
|
134
|
+
// Check if key indicates sensitive data
|
|
135
|
+
if (isSensitiveKey(key)) {
|
|
136
|
+
// Preserve environment variable references
|
|
137
|
+
if (value.includes('${')) {
|
|
138
|
+
// Keep env var reference as-is
|
|
139
|
+
continue;
|
|
140
|
+
}
|
|
141
|
+
// Redact actual values
|
|
142
|
+
obj[key] = REDACTED.value;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
else if (typeof value === 'object' && value !== null) {
|
|
146
|
+
redactObject(value);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
if (typeof redacted === 'object' && redacted !== null) {
|
|
151
|
+
redactObject(redacted);
|
|
152
|
+
}
|
|
153
|
+
return redacted;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Redact a single value if it appears to be a secret.
|
|
157
|
+
*
|
|
158
|
+
* @param value - Value to potentially redact
|
|
159
|
+
* @param key - Optional key name for context-aware redaction
|
|
160
|
+
* @returns Redacted value or original value if not sensitive
|
|
161
|
+
*/
|
|
162
|
+
function redactValue(value, key) {
|
|
163
|
+
// If key suggests it's sensitive, redact
|
|
164
|
+
if (key && isSensitiveKey(key)) {
|
|
165
|
+
// Preserve env var references
|
|
166
|
+
if (value.includes('${')) {
|
|
167
|
+
return value;
|
|
168
|
+
}
|
|
169
|
+
return REDACTED.value;
|
|
170
|
+
}
|
|
171
|
+
// Check for known token patterns
|
|
172
|
+
if (TOKEN_PATTERNS.github.test(value)) {
|
|
173
|
+
return REDACTED.github;
|
|
174
|
+
}
|
|
175
|
+
if (TOKEN_PATTERNS.gitlab.test(value)) {
|
|
176
|
+
return REDACTED.gitlab;
|
|
177
|
+
}
|
|
178
|
+
return value;
|
|
179
|
+
}
|
|
180
|
+
//# sourceMappingURL=secrets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../src/common/secrets.ts"],"names":[],"mappings":"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"}
|
|
@@ -71,6 +71,11 @@ export interface RepoConfig {
|
|
|
71
71
|
*/
|
|
72
72
|
export interface LogsConfig {
|
|
73
73
|
schema_version: string;
|
|
74
|
+
/**
|
|
75
|
+
* Path to custom log type templates manifest (local project overrides)
|
|
76
|
+
* Falls back to core templates if not specified
|
|
77
|
+
*/
|
|
78
|
+
custom_templates_path?: string;
|
|
74
79
|
storage?: Record<string, any>;
|
|
75
80
|
retention?: Record<string, any>;
|
|
76
81
|
session_logging?: Record<string, any>;
|
|
@@ -125,6 +130,11 @@ export interface SpecConfig {
|
|
|
125
130
|
*/
|
|
126
131
|
export interface DocsConfig {
|
|
127
132
|
schema_version: string;
|
|
133
|
+
/**
|
|
134
|
+
* Path to custom doc type templates manifest (local project overrides)
|
|
135
|
+
* Falls back to core templates if not specified
|
|
136
|
+
*/
|
|
137
|
+
custom_templates_path?: string;
|
|
128
138
|
hooks?: Record<string, any>;
|
|
129
139
|
doc_types?: Record<string, any>;
|
|
130
140
|
output_paths?: Record<string, any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yaml-config.d.ts","sourceRoot":"","sources":["../../src/common/yaml-config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"yaml-config.d.ts","sourceRoot":"","sources":["../../src/common/yaml-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yaml-config.js","sourceRoot":"","sources":["../../src/common/yaml-config.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"yaml-config.js","sourceRoot":"","sources":["../../src/common/yaml-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.test.d.ts","sourceRoot":"","sources":["../../../src/config/__tests__/loader.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Unit tests for config loader
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
17
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
18
|
+
}) : function(o, v) {
|
|
19
|
+
o["default"] = v;
|
|
20
|
+
});
|
|
21
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
+
var ownKeys = function(o) {
|
|
23
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
+
var ar = [];
|
|
25
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
return ownKeys(o);
|
|
29
|
+
};
|
|
30
|
+
return function (mod) {
|
|
31
|
+
if (mod && mod.__esModule) return mod;
|
|
32
|
+
var result = {};
|
|
33
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
+
__setModuleDefault(result, mod);
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
const loader_1 = require("../loader");
|
|
40
|
+
const fs = __importStar(require("fs"));
|
|
41
|
+
const path = __importStar(require("path"));
|
|
42
|
+
// Mock fs module
|
|
43
|
+
jest.mock('fs');
|
|
44
|
+
const mockedFs = fs;
|
|
45
|
+
// Mock dotenv
|
|
46
|
+
jest.mock('dotenv', () => ({
|
|
47
|
+
config: jest.fn(),
|
|
48
|
+
}));
|
|
49
|
+
const dotenv = __importStar(require("dotenv"));
|
|
50
|
+
const mockedDotenv = dotenv;
|
|
51
|
+
describe('loadEnv', () => {
|
|
52
|
+
const originalCwd = process.cwd;
|
|
53
|
+
beforeEach(() => {
|
|
54
|
+
jest.clearAllMocks();
|
|
55
|
+
// Reset the envLoaded state by calling with force
|
|
56
|
+
// Since we can't access the private variable directly
|
|
57
|
+
});
|
|
58
|
+
afterAll(() => {
|
|
59
|
+
process.cwd = originalCwd;
|
|
60
|
+
});
|
|
61
|
+
describe('when .env exists in cwd', () => {
|
|
62
|
+
it('should load .env from current working directory', () => {
|
|
63
|
+
mockedFs.existsSync.mockImplementation((p) => {
|
|
64
|
+
return p === path.join(process.cwd(), '.env');
|
|
65
|
+
});
|
|
66
|
+
const result = (0, loader_1.loadEnv)({ force: true });
|
|
67
|
+
expect(result).toBe(true);
|
|
68
|
+
expect(mockedDotenv.config).toHaveBeenCalledWith({
|
|
69
|
+
path: path.join(process.cwd(), '.env'),
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
it('should not load again if already loaded', () => {
|
|
73
|
+
mockedFs.existsSync.mockReturnValue(true);
|
|
74
|
+
(0, loader_1.loadEnv)({ force: true });
|
|
75
|
+
const callCount = mockedDotenv.config.mock.calls.length;
|
|
76
|
+
(0, loader_1.loadEnv)(); // Second call without force
|
|
77
|
+
// Should not call dotenv.config again
|
|
78
|
+
expect(mockedDotenv.config).toHaveBeenCalledTimes(callCount);
|
|
79
|
+
});
|
|
80
|
+
it('should reload with force option', () => {
|
|
81
|
+
mockedFs.existsSync.mockReturnValue(true);
|
|
82
|
+
(0, loader_1.loadEnv)({ force: true });
|
|
83
|
+
const callCount = mockedDotenv.config.mock.calls.length;
|
|
84
|
+
(0, loader_1.loadEnv)({ force: true }); // Force reload
|
|
85
|
+
expect(mockedDotenv.config).toHaveBeenCalledTimes(callCount + 1);
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
describe('when .env does not exist', () => {
|
|
89
|
+
it('should return false when no .env file found', () => {
|
|
90
|
+
mockedFs.existsSync.mockReturnValue(false);
|
|
91
|
+
const result = (0, loader_1.loadEnv)({ force: true });
|
|
92
|
+
expect(result).toBe(false);
|
|
93
|
+
});
|
|
94
|
+
it('should try project root if cwd .env does not exist', () => {
|
|
95
|
+
// First call (cwd .env) returns false, second call (project root) returns true
|
|
96
|
+
let callCount = 0;
|
|
97
|
+
mockedFs.existsSync.mockImplementation(() => {
|
|
98
|
+
callCount++;
|
|
99
|
+
return callCount > 1; // Project root .env exists
|
|
100
|
+
});
|
|
101
|
+
const result = (0, loader_1.loadEnv)({ force: true });
|
|
102
|
+
expect(result).toBe(true);
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
describe('with custom cwd', () => {
|
|
106
|
+
it('should use provided cwd', () => {
|
|
107
|
+
const customCwd = '/custom/path';
|
|
108
|
+
mockedFs.existsSync.mockImplementation((p) => {
|
|
109
|
+
return p === path.join(customCwd, '.env');
|
|
110
|
+
});
|
|
111
|
+
const result = (0, loader_1.loadEnv)({ cwd: customCwd, force: true });
|
|
112
|
+
expect(result).toBe(true);
|
|
113
|
+
expect(mockedDotenv.config).toHaveBeenCalledWith({
|
|
114
|
+
path: path.join(customCwd, '.env'),
|
|
115
|
+
});
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
describe('isEnvLoaded', () => {
|
|
120
|
+
beforeEach(() => {
|
|
121
|
+
jest.clearAllMocks();
|
|
122
|
+
});
|
|
123
|
+
it('should return true after successful loadEnv', () => {
|
|
124
|
+
mockedFs.existsSync.mockReturnValue(true);
|
|
125
|
+
(0, loader_1.loadEnv)({ force: true });
|
|
126
|
+
expect((0, loader_1.isEnvLoaded)()).toBe(true);
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
//# sourceMappingURL=loader.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.test.js","sourceRoot":"","sources":["../../../src/config/__tests__/loader.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fractary/core - Configuration Module
|
|
3
|
+
*
|
|
4
|
+
* Unified configuration loading with authentication support.
|
|
5
|
+
*/
|
|
6
|
+
export { loadEnv, isEnvLoaded, loadConfig, loadConfigSync, type LoadedConfig, type LoadConfigOptions, type ExtractedGitHubConfig, } from './loader';
|
|
7
|
+
export { loadYamlConfig, writeYamlConfig, findProjectRoot, configExists, getConfigPath, getCoreDir, substituteEnvVars, validateEnvVars, type CoreYamlConfig, type ConfigLoadOptions, type WorkConfig as YamlWorkConfig, type RepoConfig as YamlRepoConfig, type LogsConfig as YamlLogsConfig, type FileConfig as YamlFileConfig, type SpecConfig as YamlSpecConfig, type DocsConfig as YamlDocsConfig, type CodexConfig as YamlCodexConfig, type RepoDefaults as YamlRepoDefaults, type PRDefaults as YamlPRDefaults, type PRMergeDefaults as YamlPRMergeDefaults, type FileSource as YamlFileSource, } from '../common/yaml-config';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,OAAO,EACP,WAAW,EACX,UAAU,EACV,cAAc,EACd,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,GAC3B,MAAM,UAAU,CAAC;AAKlB,OAAO,EACL,cAAc,EACd,eAAe,EACf,eAAe,EACf,YAAY,EACZ,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,KAAK,cAAc,EACnB,KAAK,iBAAiB,EAEtB,KAAK,UAAU,IAAI,cAAc,EACjC,KAAK,UAAU,IAAI,cAAc,EACjC,KAAK,UAAU,IAAI,cAAc,EACjC,KAAK,UAAU,IAAI,cAAc,EACjC,KAAK,UAAU,IAAI,cAAc,EACjC,KAAK,UAAU,IAAI,cAAc,EACjC,KAAK,WAAW,IAAI,eAAe,EACnC,KAAK,YAAY,IAAI,gBAAgB,EACrC,KAAK,UAAU,IAAI,cAAc,EACjC,KAAK,eAAe,IAAI,mBAAmB,EAC3C,KAAK,UAAU,IAAI,cAAc,GAClC,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fractary/core - Configuration Module
|
|
4
|
+
*
|
|
5
|
+
* Unified configuration loading with authentication support.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.validateEnvVars = exports.substituteEnvVars = exports.getCoreDir = exports.getConfigPath = exports.configExists = exports.findProjectRoot = exports.writeYamlConfig = exports.loadYamlConfig = exports.loadConfigSync = exports.loadConfig = exports.isEnvLoaded = exports.loadEnv = void 0;
|
|
9
|
+
// Re-export from loader
|
|
10
|
+
var loader_1 = require("./loader");
|
|
11
|
+
Object.defineProperty(exports, "loadEnv", { enumerable: true, get: function () { return loader_1.loadEnv; } });
|
|
12
|
+
Object.defineProperty(exports, "isEnvLoaded", { enumerable: true, get: function () { return loader_1.isEnvLoaded; } });
|
|
13
|
+
Object.defineProperty(exports, "loadConfig", { enumerable: true, get: function () { return loader_1.loadConfig; } });
|
|
14
|
+
Object.defineProperty(exports, "loadConfigSync", { enumerable: true, get: function () { return loader_1.loadConfigSync; } });
|
|
15
|
+
// Re-export common yaml-config utilities
|
|
16
|
+
// Note: YAML config types are prefixed with 'Yaml' to avoid conflicts
|
|
17
|
+
// with manager runtime types exported from ./work, ./repo, etc.
|
|
18
|
+
var yaml_config_1 = require("../common/yaml-config");
|
|
19
|
+
Object.defineProperty(exports, "loadYamlConfig", { enumerable: true, get: function () { return yaml_config_1.loadYamlConfig; } });
|
|
20
|
+
Object.defineProperty(exports, "writeYamlConfig", { enumerable: true, get: function () { return yaml_config_1.writeYamlConfig; } });
|
|
21
|
+
Object.defineProperty(exports, "findProjectRoot", { enumerable: true, get: function () { return yaml_config_1.findProjectRoot; } });
|
|
22
|
+
Object.defineProperty(exports, "configExists", { enumerable: true, get: function () { return yaml_config_1.configExists; } });
|
|
23
|
+
Object.defineProperty(exports, "getConfigPath", { enumerable: true, get: function () { return yaml_config_1.getConfigPath; } });
|
|
24
|
+
Object.defineProperty(exports, "getCoreDir", { enumerable: true, get: function () { return yaml_config_1.getCoreDir; } });
|
|
25
|
+
Object.defineProperty(exports, "substituteEnvVars", { enumerable: true, get: function () { return yaml_config_1.substituteEnvVars; } });
|
|
26
|
+
Object.defineProperty(exports, "validateEnvVars", { enumerable: true, get: function () { return yaml_config_1.validateEnvVars; } });
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,wBAAwB;AACxB,mCAQkB;AAPhB,iGAAA,OAAO,OAAA;AACP,qGAAA,WAAW,OAAA;AACX,oGAAA,UAAU,OAAA;AACV,wGAAA,cAAc,OAAA;AAMhB,yCAAyC;AACzC,sEAAsE;AACtE,gEAAgE;AAChE,qDAuB+B;AAtB7B,6GAAA,cAAc,OAAA;AACd,8GAAA,eAAe,OAAA;AACf,8GAAA,eAAe,OAAA;AACf,2GAAA,YAAY,OAAA;AACZ,4GAAA,aAAa,OAAA;AACb,yGAAA,UAAU,OAAA;AACV,gHAAA,iBAAiB,OAAA;AACjB,8GAAA,eAAe,OAAA"}
|