@braingrid/cli 0.2.0 → 0.2.2
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/CHANGELOG.md +60 -0
- package/README.md +55 -39
- package/dist/chunk-KNVWIF3L.js +401 -0
- package/dist/chunk-KNVWIF3L.js.map +1 -0
- package/dist/cli.js +6236 -245
- package/dist/cli.js.map +1 -1
- package/dist/gh-installer-B65ZOOC4.js +13 -0
- package/dist/gh-installer-B65ZOOC4.js.map +1 -0
- package/package.json +19 -11
- package/dist/build-config.d.ts +0 -26
- package/dist/build-config.d.ts.map +0 -1
- package/dist/build-config.js +0 -45
- package/dist/build-config.js.map +0 -1
- package/dist/cli.d.ts +0 -3
- package/dist/cli.d.ts.map +0 -1
- package/dist/handlers/auth.handlers.d.ts +0 -13
- package/dist/handlers/auth.handlers.d.ts.map +0 -1
- package/dist/handlers/auth.handlers.js +0 -111
- package/dist/handlers/auth.handlers.js.map +0 -1
- package/dist/handlers/index.d.ts +0 -13
- package/dist/handlers/index.d.ts.map +0 -1
- package/dist/handlers/index.js +0 -13
- package/dist/handlers/index.js.map +0 -1
- package/dist/handlers/init.handlers.d.ts +0 -10
- package/dist/handlers/init.handlers.d.ts.map +0 -1
- package/dist/handlers/init.handlers.js +0 -638
- package/dist/handlers/init.handlers.js.map +0 -1
- package/dist/handlers/project.handlers.d.ts +0 -36
- package/dist/handlers/project.handlers.d.ts.map +0 -1
- package/dist/handlers/project.handlers.js +0 -309
- package/dist/handlers/project.handlers.js.map +0 -1
- package/dist/handlers/requirement.handlers.d.ts +0 -32
- package/dist/handlers/requirement.handlers.d.ts.map +0 -1
- package/dist/handlers/requirement.handlers.js +0 -264
- package/dist/handlers/requirement.handlers.js.map +0 -1
- package/dist/handlers/status.handlers.d.ts +0 -12
- package/dist/handlers/status.handlers.d.ts.map +0 -1
- package/dist/handlers/status.handlers.js +0 -212
- package/dist/handlers/status.handlers.js.map +0 -1
- package/dist/handlers/task.handlers.d.ts +0 -29
- package/dist/handlers/task.handlers.d.ts.map +0 -1
- package/dist/handlers/task.handlers.js +0 -326
- package/dist/handlers/task.handlers.js.map +0 -1
- package/dist/handlers/types.d.ts +0 -10
- package/dist/handlers/types.d.ts.map +0 -1
- package/dist/handlers/types.js +0 -5
- package/dist/handlers/types.js.map +0 -1
- package/dist/handlers/update.handlers.d.ts +0 -16
- package/dist/handlers/update.handlers.d.ts.map +0 -1
- package/dist/handlers/update.handlers.js +0 -119
- package/dist/handlers/update.handlers.js.map +0 -1
- package/dist/services/auth.d.ts +0 -59
- package/dist/services/auth.d.ts.map +0 -1
- package/dist/services/auth.js +0 -549
- package/dist/services/auth.js.map +0 -1
- package/dist/services/claude.d.ts +0 -18
- package/dist/services/claude.d.ts.map +0 -1
- package/dist/services/claude.js +0 -164
- package/dist/services/claude.js.map +0 -1
- package/dist/services/credential-store.d.ts +0 -47
- package/dist/services/credential-store.d.ts.map +0 -1
- package/dist/services/credential-store.js +0 -89
- package/dist/services/credential-store.js.map +0 -1
- package/dist/services/internal/github-service.d.ts +0 -67
- package/dist/services/internal/github-service.d.ts.map +0 -1
- package/dist/services/internal/github-service.js +0 -81
- package/dist/services/internal/github-service.js.map +0 -1
- package/dist/services/internal/repository-service.d.ts +0 -79
- package/dist/services/internal/repository-service.d.ts.map +0 -1
- package/dist/services/internal/repository-service.js +0 -88
- package/dist/services/internal/repository-service.js.map +0 -1
- package/dist/services/oauth2-auth.d.ts +0 -76
- package/dist/services/oauth2-auth.d.ts.map +0 -1
- package/dist/services/oauth2-auth.js +0 -451
- package/dist/services/oauth2-auth.js.map +0 -1
- package/dist/services/project-service.d.ts +0 -24
- package/dist/services/project-service.d.ts.map +0 -1
- package/dist/services/project-service.js +0 -60
- package/dist/services/project-service.js.map +0 -1
- package/dist/services/requirement-service.d.ts +0 -32
- package/dist/services/requirement-service.d.ts.map +0 -1
- package/dist/services/requirement-service.js +0 -91
- package/dist/services/requirement-service.js.map +0 -1
- package/dist/services/task-service.d.ts +0 -22
- package/dist/services/task-service.d.ts.map +0 -1
- package/dist/services/task-service.js +0 -52
- package/dist/services/task-service.js.map +0 -1
- package/dist/types/api.d.ts +0 -16
- package/dist/types/api.d.ts.map +0 -1
- package/dist/types/api.js +0 -5
- package/dist/types/api.js.map +0 -1
- package/dist/types/auth.d.ts +0 -73
- package/dist/types/auth.d.ts.map +0 -1
- package/dist/types/auth.js +0 -2
- package/dist/types/auth.js.map +0 -1
- package/dist/types/claude.d.ts +0 -22
- package/dist/types/claude.d.ts.map +0 -1
- package/dist/types/claude.js +0 -2
- package/dist/types/claude.js.map +0 -1
- package/dist/types/github.d.ts +0 -105
- package/dist/types/github.d.ts.map +0 -1
- package/dist/types/github.js +0 -6
- package/dist/types/github.js.map +0 -1
- package/dist/types/local-project.d.ts +0 -30
- package/dist/types/local-project.d.ts.map +0 -1
- package/dist/types/local-project.js +0 -24
- package/dist/types/local-project.js.map +0 -1
- package/dist/types/project.d.ts +0 -56
- package/dist/types/project.d.ts.map +0 -1
- package/dist/types/project.js +0 -5
- package/dist/types/project.js.map +0 -1
- package/dist/types/requirement.d.ts +0 -69
- package/dist/types/requirement.d.ts.map +0 -1
- package/dist/types/requirement.js +0 -5
- package/dist/types/requirement.js.map +0 -1
- package/dist/types/task.d.ts +0 -44
- package/dist/types/task.d.ts.map +0 -1
- package/dist/types/task.js +0 -5
- package/dist/types/task.js.map +0 -1
- package/dist/utils/axios-retry.d.ts +0 -25
- package/dist/utils/axios-retry.d.ts.map +0 -1
- package/dist/utils/axios-retry.js +0 -174
- package/dist/utils/axios-retry.js.map +0 -1
- package/dist/utils/axios-with-auth.d.ts +0 -10
- package/dist/utils/axios-with-auth.d.ts.map +0 -1
- package/dist/utils/axios-with-auth.js +0 -118
- package/dist/utils/axios-with-auth.js.map +0 -1
- package/dist/utils/cli-tools.d.ts +0 -30
- package/dist/utils/cli-tools.d.ts.map +0 -1
- package/dist/utils/cli-tools.js +0 -199
- package/dist/utils/cli-tools.js.map +0 -1
- package/dist/utils/command-execution.d.ts +0 -30
- package/dist/utils/command-execution.d.ts.map +0 -1
- package/dist/utils/command-execution.js +0 -264
- package/dist/utils/command-execution.js.map +0 -1
- package/dist/utils/command-parser.d.ts +0 -85
- package/dist/utils/command-parser.d.ts.map +0 -1
- package/dist/utils/command-parser.js +0 -287
- package/dist/utils/command-parser.js.map +0 -1
- package/dist/utils/config.d.ts +0 -10
- package/dist/utils/config.d.ts.map +0 -1
- package/dist/utils/config.js +0 -77
- package/dist/utils/config.js.map +0 -1
- package/dist/utils/error-formatter.d.ts +0 -17
- package/dist/utils/error-formatter.d.ts.map +0 -1
- package/dist/utils/error-formatter.js +0 -115
- package/dist/utils/error-formatter.js.map +0 -1
- package/dist/utils/formatting.d.ts +0 -10
- package/dist/utils/formatting.d.ts.map +0 -1
- package/dist/utils/formatting.js +0 -122
- package/dist/utils/formatting.js.map +0 -1
- package/dist/utils/gh-installer.d.ts +0 -31
- package/dist/utils/gh-installer.d.ts.map +0 -1
- package/dist/utils/gh-installer.js +0 -296
- package/dist/utils/gh-installer.js.map +0 -1
- package/dist/utils/git-installer.d.ts +0 -31
- package/dist/utils/git-installer.d.ts.map +0 -1
- package/dist/utils/git-installer.js +0 -290
- package/dist/utils/git-installer.js.map +0 -1
- package/dist/utils/git.d.ts +0 -60
- package/dist/utils/git.d.ts.map +0 -1
- package/dist/utils/git.js +0 -144
- package/dist/utils/git.js.map +0 -1
- package/dist/utils/github-repo.d.ts +0 -43
- package/dist/utils/github-repo.d.ts.map +0 -1
- package/dist/utils/github-repo.js +0 -113
- package/dist/utils/github-repo.js.map +0 -1
- package/dist/utils/id-normalization.d.ts +0 -26
- package/dist/utils/id-normalization.d.ts.map +0 -1
- package/dist/utils/id-normalization.js +0 -45
- package/dist/utils/id-normalization.js.map +0 -1
- package/dist/utils/jwt.d.ts +0 -45
- package/dist/utils/jwt.d.ts.map +0 -1
- package/dist/utils/jwt.js +0 -64
- package/dist/utils/jwt.js.map +0 -1
- package/dist/utils/local-store.d.ts +0 -36
- package/dist/utils/local-store.d.ts.map +0 -1
- package/dist/utils/local-store.js +0 -94
- package/dist/utils/local-store.js.map +0 -1
- package/dist/utils/logger.d.ts +0 -36
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/logger.js +0 -176
- package/dist/utils/logger.js.map +0 -1
- package/dist/utils/package-manager-installer.d.ts +0 -36
- package/dist/utils/package-manager-installer.d.ts.map +0 -1
- package/dist/utils/package-manager-installer.js +0 -106
- package/dist/utils/package-manager-installer.js.map +0 -1
- package/dist/utils/package-manager.d.ts +0 -31
- package/dist/utils/package-manager.d.ts.map +0 -1
- package/dist/utils/package-manager.js +0 -133
- package/dist/utils/package-manager.js.map +0 -1
- package/dist/utils/projects.d.ts +0 -23
- package/dist/utils/projects.d.ts.map +0 -1
- package/dist/utils/projects.js +0 -36
- package/dist/utils/projects.js.map +0 -1
- package/dist/utils/repository-access.d.ts +0 -89
- package/dist/utils/repository-access.d.ts.map +0 -1
- package/dist/utils/repository-access.js +0 -132
- package/dist/utils/repository-access.js.map +0 -1
- package/dist/utils/requirements.d.ts +0 -43
- package/dist/utils/requirements.d.ts.map +0 -1
- package/dist/utils/requirements.js +0 -79
- package/dist/utils/requirements.js.map +0 -1
- package/dist/utils/spinner.d.ts +0 -47
- package/dist/utils/spinner.d.ts.map +0 -1
- package/dist/utils/spinner.js +0 -101
- package/dist/utils/spinner.js.map +0 -1
- package/dist/utils/status-parser.d.ts +0 -95
- package/dist/utils/status-parser.d.ts.map +0 -1
- package/dist/utils/status-parser.js +0 -205
- package/dist/utils/status-parser.js.map +0 -1
- package/dist/utils/tasks.d.ts +0 -21
- package/dist/utils/tasks.d.ts.map +0 -1
- package/dist/utils/tasks.js +0 -63
- package/dist/utils/tasks.js.map +0 -1
- package/dist/utils/workspace-manager.d.ts +0 -65
- package/dist/utils/workspace-manager.d.ts.map +0 -1
- package/dist/utils/workspace-manager.js +0 -98
- package/dist/utils/workspace-manager.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"github-repo.js","sourceRoot":"","sources":["../../src/utils/github-repo.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generic ID normalization utility for resource identifiers
|
|
3
|
-
*
|
|
4
|
-
* This module provides a unified approach to normalizing resource IDs
|
|
5
|
-
* (Projects, Requirements, Tasks) from various user input formats.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Normalize a resource ID from various formats to API-compatible format:
|
|
9
|
-
* - "PREFIX-123" -> "PREFIX-123" (already normalized)
|
|
10
|
-
* - "prefix-123" -> "PREFIX-123" (uppercase prefix)
|
|
11
|
-
* - "PREFIX 123" -> "PREFIX-123" (replace space with dash, uppercase)
|
|
12
|
-
* - "prefix 123" -> "PREFIX-123" (replace space with dash, uppercase)
|
|
13
|
-
* - "123" -> "PREFIX-123" (add prefix)
|
|
14
|
-
* - "uuid-string" -> "uuid-string" (UUID, return as-is)
|
|
15
|
-
*
|
|
16
|
-
* @param prefix The resource prefix (e.g., 'PROJ', 'REQ', 'TASK')
|
|
17
|
-
* @param input The user-provided ID string
|
|
18
|
-
* @returns The normalized ID suitable for API calls
|
|
19
|
-
*
|
|
20
|
-
* @example
|
|
21
|
-
* normalizeId('PROJ', 'proj-123') // Returns 'PROJ-123'
|
|
22
|
-
* normalizeId('REQ', 'REQ 456') // Returns 'REQ-456'
|
|
23
|
-
* normalizeId('TASK', '789') // Returns 'TASK-789'
|
|
24
|
-
*/
|
|
25
|
-
export declare function normalizeId(prefix: string, input: string): string;
|
|
26
|
-
//# sourceMappingURL=id-normalization.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"id-normalization.d.ts","sourceRoot":"","sources":["../../src/utils/id-normalization.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAuBjE"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generic ID normalization utility for resource identifiers
|
|
3
|
-
*
|
|
4
|
-
* This module provides a unified approach to normalizing resource IDs
|
|
5
|
-
* (Projects, Requirements, Tasks) from various user input formats.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Normalize a resource ID from various formats to API-compatible format:
|
|
9
|
-
* - "PREFIX-123" -> "PREFIX-123" (already normalized)
|
|
10
|
-
* - "prefix-123" -> "PREFIX-123" (uppercase prefix)
|
|
11
|
-
* - "PREFIX 123" -> "PREFIX-123" (replace space with dash, uppercase)
|
|
12
|
-
* - "prefix 123" -> "PREFIX-123" (replace space with dash, uppercase)
|
|
13
|
-
* - "123" -> "PREFIX-123" (add prefix)
|
|
14
|
-
* - "uuid-string" -> "uuid-string" (UUID, return as-is)
|
|
15
|
-
*
|
|
16
|
-
* @param prefix The resource prefix (e.g., 'PROJ', 'REQ', 'TASK')
|
|
17
|
-
* @param input The user-provided ID string
|
|
18
|
-
* @returns The normalized ID suitable for API calls
|
|
19
|
-
*
|
|
20
|
-
* @example
|
|
21
|
-
* normalizeId('PROJ', 'proj-123') // Returns 'PROJ-123'
|
|
22
|
-
* normalizeId('REQ', 'REQ 456') // Returns 'REQ-456'
|
|
23
|
-
* normalizeId('TASK', '789') // Returns 'TASK-789'
|
|
24
|
-
*/
|
|
25
|
-
export function normalizeId(prefix, input) {
|
|
26
|
-
const trimmed = input.trim();
|
|
27
|
-
const upperPrefix = prefix.toUpperCase();
|
|
28
|
-
// Handle "PREFIX-123" or "prefix-123" format (already has dash)
|
|
29
|
-
const dashMatch = trimmed.match(new RegExp(`^${prefix}-(\\d+)$`, 'i'));
|
|
30
|
-
if (dashMatch) {
|
|
31
|
-
return `${upperPrefix}-${dashMatch[1]}`;
|
|
32
|
-
}
|
|
33
|
-
// Handle "PREFIX 123" or "prefix 123" format (space instead of dash)
|
|
34
|
-
const spaceMatch = trimmed.match(new RegExp(`^${prefix}\\s+(\\d+)$`, 'i'));
|
|
35
|
-
if (spaceMatch) {
|
|
36
|
-
return `${upperPrefix}-${spaceMatch[1]}`;
|
|
37
|
-
}
|
|
38
|
-
// Handle plain number format "123"
|
|
39
|
-
if (/^\d+$/.test(trimmed)) {
|
|
40
|
-
return `${upperPrefix}-${trimmed}`;
|
|
41
|
-
}
|
|
42
|
-
// Assume it's a UUID - return as-is
|
|
43
|
-
return trimmed;
|
|
44
|
-
}
|
|
45
|
-
//# sourceMappingURL=id-normalization.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"id-normalization.js","sourceRoot":"","sources":["../../src/utils/id-normalization.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,WAAW,CAAC,MAAc,EAAE,KAAa;IACxD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAEzC,gEAAgE;IAChE,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,MAAM,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;IACvE,IAAI,SAAS,EAAE,CAAC;QACf,OAAO,GAAG,WAAW,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACzC,CAAC;IAED,qEAAqE;IACrE,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,MAAM,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3E,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO,GAAG,WAAW,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1C,CAAC;IAED,mCAAmC;IACnC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,GAAG,WAAW,IAAI,OAAO,EAAE,CAAC;IACpC,CAAC;IAED,oCAAoC;IACpC,OAAO,OAAO,CAAC;AAChB,CAAC"}
|
package/dist/utils/jwt.d.ts
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* JWT utility functions
|
|
3
|
-
* Note: This is basic JWT decoding without signature verification
|
|
4
|
-
* The server validates the token signature when we make API calls
|
|
5
|
-
*/
|
|
6
|
-
export interface JWTPayload {
|
|
7
|
-
sub?: string;
|
|
8
|
-
exp?: number;
|
|
9
|
-
iat?: number;
|
|
10
|
-
nbf?: number;
|
|
11
|
-
iss?: string;
|
|
12
|
-
aud?: string | string[];
|
|
13
|
-
email?: string;
|
|
14
|
-
firstName?: string;
|
|
15
|
-
first_name?: string;
|
|
16
|
-
lastName?: string;
|
|
17
|
-
last_name?: string;
|
|
18
|
-
name?: string;
|
|
19
|
-
given_name?: string;
|
|
20
|
-
family_name?: string;
|
|
21
|
-
organizationId?: string;
|
|
22
|
-
organization_id?: string;
|
|
23
|
-
org?: string;
|
|
24
|
-
metadata?: Record<string, unknown>;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Decode a JWT token to extract the payload
|
|
28
|
-
* Note: This does NOT verify the signature - that's the server's job
|
|
29
|
-
*/
|
|
30
|
-
export declare function decodeJWT(token: string): JWTPayload | null;
|
|
31
|
-
/**
|
|
32
|
-
* Check if a JWT token is expired
|
|
33
|
-
*/
|
|
34
|
-
export declare function isJWTExpired(token: string): boolean;
|
|
35
|
-
/**
|
|
36
|
-
* Extract user information from JWT payload
|
|
37
|
-
*/
|
|
38
|
-
export declare function extractUserFromJWT(payload: JWTPayload): {
|
|
39
|
-
id: string;
|
|
40
|
-
email: string;
|
|
41
|
-
firstName: string;
|
|
42
|
-
lastName: string;
|
|
43
|
-
organizationId: string;
|
|
44
|
-
};
|
|
45
|
-
//# sourceMappingURL=jwt.d.ts.map
|
package/dist/utils/jwt.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../../src/utils/jwt.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,UAAU;IAE1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAGxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAqB1D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CASnD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,UAAU,GAAG;IACxD,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;CACvB,CAmBA"}
|
package/dist/utils/jwt.js
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* JWT utility functions
|
|
3
|
-
* Note: This is basic JWT decoding without signature verification
|
|
4
|
-
* The server validates the token signature when we make API calls
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* Decode a JWT token to extract the payload
|
|
8
|
-
* Note: This does NOT verify the signature - that's the server's job
|
|
9
|
-
*/
|
|
10
|
-
export function decodeJWT(token) {
|
|
11
|
-
try {
|
|
12
|
-
// JWT format: header.payload.signature
|
|
13
|
-
const parts = token.split('.');
|
|
14
|
-
if (parts.length !== 3) {
|
|
15
|
-
return null;
|
|
16
|
-
}
|
|
17
|
-
// Decode the payload (base64url)
|
|
18
|
-
const payload = parts[1];
|
|
19
|
-
// Replace URL-safe characters with standard base64 characters
|
|
20
|
-
const base64 = payload.replace(/-/g, '+').replace(/_/g, '/');
|
|
21
|
-
// Add padding if necessary
|
|
22
|
-
const padded = base64 + '=='.substring(0, (4 - (base64.length % 4)) % 4);
|
|
23
|
-
const decoded = Buffer.from(padded, 'base64').toString('utf-8');
|
|
24
|
-
return JSON.parse(decoded);
|
|
25
|
-
}
|
|
26
|
-
catch {
|
|
27
|
-
// Invalid token format or JSON
|
|
28
|
-
return null;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Check if a JWT token is expired
|
|
33
|
-
*/
|
|
34
|
-
export function isJWTExpired(token) {
|
|
35
|
-
const payload = decodeJWT(token);
|
|
36
|
-
if (!payload || !payload.exp) {
|
|
37
|
-
// If we can't decode or no expiry, assume it's invalid
|
|
38
|
-
return true;
|
|
39
|
-
}
|
|
40
|
-
// exp is in seconds, Date.now() is in milliseconds
|
|
41
|
-
return Date.now() >= payload.exp * 1000;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Extract user information from JWT payload
|
|
45
|
-
*/
|
|
46
|
-
export function extractUserFromJWT(payload) {
|
|
47
|
-
return {
|
|
48
|
-
id: payload.sub || '',
|
|
49
|
-
email: payload.email || '',
|
|
50
|
-
// Try different naming conventions for first name
|
|
51
|
-
firstName: payload.firstName ||
|
|
52
|
-
payload.first_name ||
|
|
53
|
-
payload.given_name ||
|
|
54
|
-
(payload.name ? payload.name.split(' ')[0] : ''),
|
|
55
|
-
// Try different naming conventions for last name
|
|
56
|
-
lastName: payload.lastName ||
|
|
57
|
-
payload.last_name ||
|
|
58
|
-
payload.family_name ||
|
|
59
|
-
(payload.name ? payload.name.split(' ').slice(1).join(' ') : ''),
|
|
60
|
-
// Try different naming conventions for organization
|
|
61
|
-
organizationId: payload.organizationId || payload.organization_id || payload.org || 'default',
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
//# sourceMappingURL=jwt.js.map
|
package/dist/utils/jwt.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jwt.js","sourceRoot":"","sources":["../../src/utils/jwt.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA0BH;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,KAAa;IACtC,IAAI,CAAC;QACJ,uCAAuC;QACvC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACb,CAAC;QAED,iCAAiC;QACjC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACzB,8DAA8D;QAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC7D,2BAA2B;QAC3B,MAAM,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAEzE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACR,+BAA+B;QAC/B,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa;IACzC,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QAC9B,uDAAuD;QACvD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,mDAAmD;IACnD,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAmB;IAOrD,OAAO;QACN,EAAE,EAAE,OAAO,CAAC,GAAG,IAAI,EAAE;QACrB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;QAC1B,kDAAkD;QAClD,SAAS,EACR,OAAO,CAAC,SAAS;YACjB,OAAO,CAAC,UAAU;YAClB,OAAO,CAAC,UAAU;YAClB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,iDAAiD;QACjD,QAAQ,EACP,OAAO,CAAC,QAAQ;YAChB,OAAO,CAAC,SAAS;YACjB,OAAO,CAAC,WAAW;YACnB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,oDAAoD;QACpD,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,GAAG,IAAI,SAAS;KAC7F,CAAC;AACH,CAAC"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Local Project Store
|
|
3
|
-
* Handles reading/writing .braingrid/project.json
|
|
4
|
-
*/
|
|
5
|
-
import { LocalProjectConfig } from '../types/local-project.js';
|
|
6
|
-
/**
|
|
7
|
-
* Get the path to the .braingrid directory
|
|
8
|
-
*/
|
|
9
|
-
export declare function getBraingridDir(cwd?: string): Promise<string>;
|
|
10
|
-
/**
|
|
11
|
-
* Get the path to the project.json file
|
|
12
|
-
*/
|
|
13
|
-
export declare function getProjectConfigPath(cwd?: string): Promise<string>;
|
|
14
|
-
/**
|
|
15
|
-
* Check if .braingrid/project.json exists
|
|
16
|
-
*/
|
|
17
|
-
export declare function projectConfigExists(cwd?: string): Promise<boolean>;
|
|
18
|
-
/**
|
|
19
|
-
* Load project configuration from .braingrid/project.json
|
|
20
|
-
* @throws Error if file doesn't exist or is invalid
|
|
21
|
-
*/
|
|
22
|
-
export declare function loadProjectConfig(cwd?: string): Promise<LocalProjectConfig>;
|
|
23
|
-
/**
|
|
24
|
-
* Save project configuration to .braingrid/project.json
|
|
25
|
-
*/
|
|
26
|
-
export declare function saveProjectConfig(config: LocalProjectConfig, cwd?: string): Promise<void>;
|
|
27
|
-
/**
|
|
28
|
-
* Delete .braingrid/project.json
|
|
29
|
-
*/
|
|
30
|
-
export declare function deleteProjectConfig(cwd?: string): Promise<void>;
|
|
31
|
-
/**
|
|
32
|
-
* Get the local project ID from .braingrid/project.json
|
|
33
|
-
* Returns the short_id (e.g., PROJ-123) if project.json exists, null otherwise
|
|
34
|
-
*/
|
|
35
|
-
export declare function getLocalProjectId(cwd?: string): Promise<string | null>;
|
|
36
|
-
//# sourceMappingURL=local-store.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"local-store.d.ts","sourceRoot":"","sources":["../../src/utils/local-store.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,kBAAkB,EAA4B,MAAM,2BAA2B,CAAC;AAezF;;GAEG;AACH,wBAAsB,eAAe,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGnE;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGxE;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGxE;AAYD;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAYjF;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAO/F;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKrE;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAO5E"}
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Local Project Store
|
|
3
|
-
* Handles reading/writing .braingrid/project.json
|
|
4
|
-
*/
|
|
5
|
-
import fs from 'node:fs';
|
|
6
|
-
import path from 'node:path';
|
|
7
|
-
import { LocalProjectConfigSchema } from '../types/local-project.js';
|
|
8
|
-
import { getGitRoot } from './git.js';
|
|
9
|
-
const BRAINGRID_DIR = '.braingrid';
|
|
10
|
-
const PROJECT_CONFIG_FILE = 'project.json';
|
|
11
|
-
/**
|
|
12
|
-
* Get the default directory for .braingrid folder
|
|
13
|
-
* Prefers git repository root, falls back to current working directory
|
|
14
|
-
*/
|
|
15
|
-
async function getDefaultCwd() {
|
|
16
|
-
const gitRoot = await getGitRoot();
|
|
17
|
-
return gitRoot || process.cwd();
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Get the path to the .braingrid directory
|
|
21
|
-
*/
|
|
22
|
-
export async function getBraingridDir(cwd) {
|
|
23
|
-
const dir = cwd ?? (await getDefaultCwd());
|
|
24
|
-
return path.join(dir, BRAINGRID_DIR);
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Get the path to the project.json file
|
|
28
|
-
*/
|
|
29
|
-
export async function getProjectConfigPath(cwd) {
|
|
30
|
-
const braingridDir = await getBraingridDir(cwd);
|
|
31
|
-
return path.join(braingridDir, PROJECT_CONFIG_FILE);
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Check if .braingrid/project.json exists
|
|
35
|
-
*/
|
|
36
|
-
export async function projectConfigExists(cwd) {
|
|
37
|
-
const configPath = await getProjectConfigPath(cwd);
|
|
38
|
-
return fs.existsSync(configPath);
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Ensure .braingrid directory exists
|
|
42
|
-
*/
|
|
43
|
-
async function ensureBraingridDir(cwd) {
|
|
44
|
-
const dir = await getBraingridDir(cwd);
|
|
45
|
-
if (!fs.existsSync(dir)) {
|
|
46
|
-
fs.mkdirSync(dir, { recursive: true });
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Load project configuration from .braingrid/project.json
|
|
51
|
-
* @throws Error if file doesn't exist or is invalid
|
|
52
|
-
*/
|
|
53
|
-
export async function loadProjectConfig(cwd) {
|
|
54
|
-
const configPath = await getProjectConfigPath(cwd);
|
|
55
|
-
if (!fs.existsSync(configPath)) {
|
|
56
|
-
throw new Error(`Project not initialized. Run 'braingrid init' to initialize this repository.`);
|
|
57
|
-
}
|
|
58
|
-
const content = fs.readFileSync(configPath, 'utf8');
|
|
59
|
-
const data = JSON.parse(content);
|
|
60
|
-
// Validate with Zod schema
|
|
61
|
-
return LocalProjectConfigSchema.parse(data);
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Save project configuration to .braingrid/project.json
|
|
65
|
-
*/
|
|
66
|
-
export async function saveProjectConfig(config, cwd) {
|
|
67
|
-
await ensureBraingridDir(cwd);
|
|
68
|
-
const configPath = await getProjectConfigPath(cwd);
|
|
69
|
-
const content = JSON.stringify(config, null, 2);
|
|
70
|
-
fs.writeFileSync(configPath, content, 'utf8');
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Delete .braingrid/project.json
|
|
74
|
-
*/
|
|
75
|
-
export async function deleteProjectConfig(cwd) {
|
|
76
|
-
const configPath = await getProjectConfigPath(cwd);
|
|
77
|
-
if (fs.existsSync(configPath)) {
|
|
78
|
-
fs.unlinkSync(configPath);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Get the local project ID from .braingrid/project.json
|
|
83
|
-
* Returns the short_id (e.g., PROJ-123) if project.json exists, null otherwise
|
|
84
|
-
*/
|
|
85
|
-
export async function getLocalProjectId(cwd) {
|
|
86
|
-
try {
|
|
87
|
-
const config = await loadProjectConfig(cwd);
|
|
88
|
-
return config.project_short_id;
|
|
89
|
-
}
|
|
90
|
-
catch {
|
|
91
|
-
return null;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
//# sourceMappingURL=local-store.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"local-store.js","sourceRoot":"","sources":["../../src/utils/local-store.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/logger.d.ts
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
export type LogLevel = 'debug' | 'info' | 'warn' | 'error';
|
|
2
|
-
export type MessageType = 'user' | 'system' | 'error' | 'info' | 'debug';
|
|
3
|
-
interface LoggerConfig {
|
|
4
|
-
logToFile: boolean;
|
|
5
|
-
logLevel: LogLevel;
|
|
6
|
-
logFilePath?: string;
|
|
7
|
-
maxFileSize: number;
|
|
8
|
-
maxFiles: number;
|
|
9
|
-
consoleOutput: boolean;
|
|
10
|
-
}
|
|
11
|
-
declare class Logger {
|
|
12
|
-
private config;
|
|
13
|
-
private logFilePath;
|
|
14
|
-
constructor(config?: Partial<LoggerConfig>);
|
|
15
|
-
private ensureLogDirectory;
|
|
16
|
-
private shouldLog;
|
|
17
|
-
private formatLogEntry;
|
|
18
|
-
private writeToFile;
|
|
19
|
-
private rotateLogFile;
|
|
20
|
-
private log;
|
|
21
|
-
debug(message: string, context?: Record<string, unknown>): void;
|
|
22
|
-
info(message: string, context?: Record<string, unknown>): void;
|
|
23
|
-
warn(message: string, context?: Record<string, unknown>): void;
|
|
24
|
-
error(message: string, context?: Record<string, unknown>): void;
|
|
25
|
-
userMessage(message: string, context?: Record<string, unknown>): void;
|
|
26
|
-
systemMessage(message: string, context?: Record<string, unknown>): void;
|
|
27
|
-
streamOutput(message: string, isError?: boolean): void;
|
|
28
|
-
updateConfig(newConfig: Partial<LoggerConfig>): void;
|
|
29
|
-
getLogFilePath(): string;
|
|
30
|
-
getLogFileSize(): number;
|
|
31
|
-
clearLogFile(): void;
|
|
32
|
-
}
|
|
33
|
-
export declare function getLogger(config?: Partial<LoggerConfig>): Logger;
|
|
34
|
-
export declare function initializeLogger(config: Partial<LoggerConfig>): Logger;
|
|
35
|
-
export { Logger };
|
|
36
|
-
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAC3D,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;AAUzE,UAAU,YAAY;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;CACvB;AAED,cAAM,MAAM;IACX,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,WAAW,CAAS;gBAEhB,MAAM,GAAE,OAAO,CAAC,YAAY,CAAM;IAmB9C,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,WAAW;IAoBnB,OAAO,CAAC,aAAa;IAyBrB,OAAO,CAAC,GAAG;IA2BX,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI/D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI9D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI9D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI/D,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAIrE,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAKvE,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,UAAQ,GAAG,IAAI;IAKpD,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI;IAapD,cAAc,IAAI,MAAM;IAKxB,cAAc,IAAI,MAAM;IAaxB,YAAY,IAAI,IAAI;CAUpB;AAKD,wBAAgB,SAAS,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,MAAM,CAKhE;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,MAAM,CAGtE;AAED,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
package/dist/utils/logger.js
DELETED
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
import fs from 'fs';
|
|
2
|
-
import path from 'path';
|
|
3
|
-
import os from 'os';
|
|
4
|
-
class Logger {
|
|
5
|
-
constructor(config = {}) {
|
|
6
|
-
const isDebugMode = process.env.DEBUG === 'true';
|
|
7
|
-
this.config = {
|
|
8
|
-
logToFile: false,
|
|
9
|
-
logLevel: isDebugMode ? 'debug' : 'info', // Set log level to debug when DEBUG=true
|
|
10
|
-
maxFileSize: 10 * 1024 * 1024, // 10MB
|
|
11
|
-
maxFiles: 5,
|
|
12
|
-
consoleOutput: isDebugMode, // Enable console output when DEBUG=true
|
|
13
|
-
...config,
|
|
14
|
-
};
|
|
15
|
-
this.logFilePath =
|
|
16
|
-
this.config.logFilePath || path.join(os.homedir(), '.braingrid', 'logs', 'braingrid-cli.log');
|
|
17
|
-
if (this.config.logToFile) {
|
|
18
|
-
this.ensureLogDirectory();
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
ensureLogDirectory() {
|
|
22
|
-
const logDir = path.dirname(this.logFilePath);
|
|
23
|
-
if (!fs.existsSync(logDir)) {
|
|
24
|
-
fs.mkdirSync(logDir, { recursive: true });
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
shouldLog(level) {
|
|
28
|
-
const levels = ['debug', 'info', 'warn', 'error'];
|
|
29
|
-
return levels.indexOf(level) >= levels.indexOf(this.config.logLevel);
|
|
30
|
-
}
|
|
31
|
-
formatLogEntry(entry) {
|
|
32
|
-
const timestamp = entry.timestamp.toISOString();
|
|
33
|
-
const level = entry.level.toUpperCase().padEnd(5);
|
|
34
|
-
const type = entry.type.toUpperCase().padEnd(7);
|
|
35
|
-
const contextStr = entry.context ? ` | ${JSON.stringify(entry.context)}` : '';
|
|
36
|
-
return `[${timestamp}] ${level} [${type}] ${entry.message}${contextStr}`;
|
|
37
|
-
}
|
|
38
|
-
writeToFile(entry) {
|
|
39
|
-
if (!this.config.logToFile)
|
|
40
|
-
return;
|
|
41
|
-
try {
|
|
42
|
-
const logLine = this.formatLogEntry(entry) + '\n';
|
|
43
|
-
// Check file size and rotate if necessary
|
|
44
|
-
if (fs.existsSync(this.logFilePath)) {
|
|
45
|
-
const stats = fs.statSync(this.logFilePath);
|
|
46
|
-
if (stats.size > this.config.maxFileSize) {
|
|
47
|
-
this.rotateLogFile();
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
fs.appendFileSync(this.logFilePath, logLine);
|
|
51
|
-
}
|
|
52
|
-
catch (error) {
|
|
53
|
-
console.error('Failed to write to log file:', error);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
rotateLogFile() {
|
|
57
|
-
try {
|
|
58
|
-
// Rotate log files
|
|
59
|
-
for (let i = this.config.maxFiles - 1; i >= 1; i--) {
|
|
60
|
-
const oldFile = `${this.logFilePath}.${i}`;
|
|
61
|
-
const newFile = `${this.logFilePath}.${i + 1}`;
|
|
62
|
-
if (fs.existsSync(oldFile)) {
|
|
63
|
-
if (i === this.config.maxFiles - 1) {
|
|
64
|
-
fs.unlinkSync(oldFile); // Delete oldest file
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
fs.renameSync(oldFile, newFile);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
// Move current log to .1
|
|
72
|
-
if (fs.existsSync(this.logFilePath)) {
|
|
73
|
-
fs.renameSync(this.logFilePath, `${this.logFilePath}.1`);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
catch (error) {
|
|
77
|
-
console.error('Failed to rotate log file:', error);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
log(level, type, message, context) {
|
|
81
|
-
if (!this.shouldLog(level))
|
|
82
|
-
return;
|
|
83
|
-
const entry = {
|
|
84
|
-
timestamp: new Date(),
|
|
85
|
-
level,
|
|
86
|
-
type,
|
|
87
|
-
message,
|
|
88
|
-
context,
|
|
89
|
-
};
|
|
90
|
-
// Write to file if enabled
|
|
91
|
-
this.writeToFile(entry);
|
|
92
|
-
// Write to console if enabled and it's a debug message
|
|
93
|
-
if (this.config.consoleOutput && level === 'debug') {
|
|
94
|
-
const contextStr = context ? ` ${JSON.stringify(context)}` : '';
|
|
95
|
-
// Write to stderr so it doesn't interfere with CLI output
|
|
96
|
-
console.error(`${message}${contextStr}`);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
debug(message, context) {
|
|
100
|
-
this.log('debug', 'debug', message, context);
|
|
101
|
-
}
|
|
102
|
-
info(message, context) {
|
|
103
|
-
this.log('info', 'info', message, context);
|
|
104
|
-
}
|
|
105
|
-
warn(message, context) {
|
|
106
|
-
this.log('warn', 'info', message, context);
|
|
107
|
-
}
|
|
108
|
-
error(message, context) {
|
|
109
|
-
this.log('error', 'error', message, context);
|
|
110
|
-
}
|
|
111
|
-
userMessage(message, context) {
|
|
112
|
-
this.log('info', 'user', message, context);
|
|
113
|
-
}
|
|
114
|
-
systemMessage(message, context) {
|
|
115
|
-
this.log('info', 'system', message, context);
|
|
116
|
-
}
|
|
117
|
-
// Log streaming output with full content
|
|
118
|
-
streamOutput(message, isError = false) {
|
|
119
|
-
this.log(isError ? 'error' : 'info', isError ? 'error' : 'system', message);
|
|
120
|
-
}
|
|
121
|
-
// Update configuration
|
|
122
|
-
updateConfig(newConfig) {
|
|
123
|
-
const wasLoggingToFile = this.config.logToFile;
|
|
124
|
-
this.config = { ...this.config, ...newConfig };
|
|
125
|
-
if (this.config.logToFile && !wasLoggingToFile) {
|
|
126
|
-
this.ensureLogDirectory();
|
|
127
|
-
this.info('File logging enabled', { logFilePath: this.logFilePath });
|
|
128
|
-
}
|
|
129
|
-
else if (!this.config.logToFile && wasLoggingToFile) {
|
|
130
|
-
this.info('File logging disabled');
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
// Get current log file path
|
|
134
|
-
getLogFilePath() {
|
|
135
|
-
return this.logFilePath;
|
|
136
|
-
}
|
|
137
|
-
// Get log file size in MB
|
|
138
|
-
getLogFileSize() {
|
|
139
|
-
try {
|
|
140
|
-
if (fs.existsSync(this.logFilePath)) {
|
|
141
|
-
const stats = fs.statSync(this.logFilePath);
|
|
142
|
-
return stats.size / (1024 * 1024);
|
|
143
|
-
}
|
|
144
|
-
return 0;
|
|
145
|
-
}
|
|
146
|
-
catch {
|
|
147
|
-
return 0;
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
// Clear log file
|
|
151
|
-
clearLogFile() {
|
|
152
|
-
try {
|
|
153
|
-
if (fs.existsSync(this.logFilePath)) {
|
|
154
|
-
fs.unlinkSync(this.logFilePath);
|
|
155
|
-
this.info('Log file cleared');
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
catch (error) {
|
|
159
|
-
console.error('Failed to clear log file:', error);
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
// Create singleton logger instance
|
|
164
|
-
let loggerInstance = null;
|
|
165
|
-
export function getLogger(config) {
|
|
166
|
-
if (!loggerInstance) {
|
|
167
|
-
loggerInstance = new Logger(config);
|
|
168
|
-
}
|
|
169
|
-
return loggerInstance;
|
|
170
|
-
}
|
|
171
|
-
export function initializeLogger(config) {
|
|
172
|
-
loggerInstance = new Logger(config);
|
|
173
|
-
return loggerInstance;
|
|
174
|
-
}
|
|
175
|
-
export { Logger };
|
|
176
|
-
//# sourceMappingURL=logger.js.map
|
package/dist/utils/logger.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Package Manager Detection Utilities
|
|
3
|
-
*
|
|
4
|
-
* Detects package managers on different platforms:
|
|
5
|
-
* - Homebrew on macOS
|
|
6
|
-
* - winget on Windows (typically pre-installed on Windows 10+)
|
|
7
|
-
* - apt/dnf/pacman on Linux
|
|
8
|
-
*/
|
|
9
|
-
export interface PackageManagerInfo {
|
|
10
|
-
name: string;
|
|
11
|
-
command: string;
|
|
12
|
-
available: boolean;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Check if Homebrew is installed (macOS)
|
|
16
|
-
*/
|
|
17
|
-
export declare function isHomebrewInstalled(): Promise<boolean>;
|
|
18
|
-
/**
|
|
19
|
-
* Check if winget is available (Windows)
|
|
20
|
-
* winget is pre-installed on Windows 10 (version 1809+) and Windows 11
|
|
21
|
-
*/
|
|
22
|
-
export declare function isWingetAvailable(): Promise<boolean>;
|
|
23
|
-
/**
|
|
24
|
-
* Detect available package manager on Linux
|
|
25
|
-
* Returns the first available package manager found
|
|
26
|
-
*/
|
|
27
|
-
export declare function detectLinuxPackageManager(): Promise<PackageManagerInfo | null>;
|
|
28
|
-
/**
|
|
29
|
-
* Get the appropriate package manager for the current platform
|
|
30
|
-
*/
|
|
31
|
-
export declare function detectPackageManager(): Promise<{
|
|
32
|
-
platform: string;
|
|
33
|
-
packageManager: string | null;
|
|
34
|
-
available: boolean;
|
|
35
|
-
}>;
|
|
36
|
-
//# sourceMappingURL=package-manager-installer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"package-manager-installer.d.ts","sourceRoot":"","sources":["../../src/utils/package-manager-installer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC,CAW5D;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAW1D;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAsBpF;AAED;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC;IACrD,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,OAAO,CAAC;CACnB,CAAC,CAsCD"}
|