sphereai-cli 1.0.20 → 1.0.22

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 (71) hide show
  1. package/.env +12 -12
  2. package/README.md +282 -282
  3. package/dist/index.js +1 -108
  4. package/package.json +52 -50
  5. package/dist/commands/auth.d.ts +0 -3
  6. package/dist/commands/auth.d.ts.map +0 -1
  7. package/dist/commands/auth.js +0 -193
  8. package/dist/commands/auth.js.map +0 -1
  9. package/dist/commands/debug.d.ts +0 -3
  10. package/dist/commands/debug.d.ts.map +0 -1
  11. package/dist/commands/debug.js +0 -49
  12. package/dist/commands/debug.js.map +0 -1
  13. package/dist/commands/execute.d.ts +0 -3
  14. package/dist/commands/execute.d.ts.map +0 -1
  15. package/dist/commands/execute.js +0 -189
  16. package/dist/commands/execute.js.map +0 -1
  17. package/dist/commands/files.d.ts +0 -3
  18. package/dist/commands/files.d.ts.map +0 -1
  19. package/dist/commands/files.js +0 -235
  20. package/dist/commands/files.js.map +0 -1
  21. package/dist/commands/init.d.ts +0 -3
  22. package/dist/commands/init.d.ts.map +0 -1
  23. package/dist/commands/init.js +0 -71
  24. package/dist/commands/init.js.map +0 -1
  25. package/dist/commands/prompts.d.ts +0 -3
  26. package/dist/commands/prompts.d.ts.map +0 -1
  27. package/dist/commands/prompts.js +0 -72
  28. package/dist/commands/prompts.js.map +0 -1
  29. package/dist/index.d.ts +0 -3
  30. package/dist/index.d.ts.map +0 -1
  31. package/dist/index.js.map +0 -1
  32. package/dist/services/api-client.d.ts +0 -15
  33. package/dist/services/api-client.d.ts.map +0 -1
  34. package/dist/services/api-client.js +0 -92
  35. package/dist/services/api-client.js.map +0 -1
  36. package/dist/services/auth-service.d.ts +0 -23
  37. package/dist/services/auth-service.d.ts.map +0 -1
  38. package/dist/services/auth-service.js +0 -166
  39. package/dist/services/auth-service.js.map +0 -1
  40. package/dist/services/cli-api-client.d.ts +0 -18
  41. package/dist/services/cli-api-client.d.ts.map +0 -1
  42. package/dist/services/cli-api-client.js +0 -57
  43. package/dist/services/cli-api-client.js.map +0 -1
  44. package/dist/services/config-service.d.ts +0 -46
  45. package/dist/services/config-service.d.ts.map +0 -1
  46. package/dist/services/config-service.js +0 -101
  47. package/dist/services/config-service.js.map +0 -1
  48. package/dist/services/file-tracking-service.d.ts +0 -62
  49. package/dist/services/file-tracking-service.d.ts.map +0 -1
  50. package/dist/services/file-tracking-service.js +0 -207
  51. package/dist/services/file-tracking-service.js.map +0 -1
  52. package/dist/types/api-types.d.ts +0 -83
  53. package/dist/types/api-types.d.ts.map +0 -1
  54. package/dist/types/api-types.js +0 -10
  55. package/dist/types/api-types.js.map +0 -1
  56. package/dist/utils/axios-debug.d.ts +0 -15
  57. package/dist/utils/axios-debug.d.ts.map +0 -1
  58. package/dist/utils/axios-debug.js +0 -53
  59. package/dist/utils/axios-debug.js.map +0 -1
  60. package/dist/utils/errors.d.ts +0 -38
  61. package/dist/utils/errors.d.ts.map +0 -1
  62. package/dist/utils/errors.js +0 -115
  63. package/dist/utils/errors.js.map +0 -1
  64. package/dist/utils/formatters.d.ts +0 -35
  65. package/dist/utils/formatters.d.ts.map +0 -1
  66. package/dist/utils/formatters.js +0 -101
  67. package/dist/utils/formatters.js.map +0 -1
  68. package/dist/utils/sphereignore.d.ts +0 -34
  69. package/dist/utils/sphereignore.d.ts.map +0 -1
  70. package/dist/utils/sphereignore.js +0 -148
  71. package/dist/utils/sphereignore.js.map +0 -1
@@ -1,166 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.authService = exports.AuthService = void 0;
7
- const express_1 = __importDefault(require("express"));
8
- const open_1 = __importDefault(require("open"));
9
- const config_service_1 = require("./config-service");
10
- const cli_api_client_1 = require("./cli-api-client");
11
- class AuthService {
12
- constructor() {
13
- this.server = null;
14
- this.app = null;
15
- }
16
- /**
17
- * Start OAuth2 flow
18
- * Opens browser to OAuth2 authorization URL and starts local callback server
19
- */
20
- async startOAuth2Flow(authorizationUrl) {
21
- const port = config_service_1.configService.getOAuthCallbackPort();
22
- const callbackUrl = `http://localhost:${port}/callback`;
23
- return new Promise((resolve, reject) => {
24
- // Create express app for OAuth callback
25
- this.app = (0, express_1.default)();
26
- // Callback route
27
- this.app.get('/callback', async (req, res) => {
28
- try {
29
- const { code, token, error, error_description, redirect_uri } = req.query;
30
- if (error) {
31
- const errorMsg = error_description || error;
32
- res.status(400).send(`
33
- <html>
34
- <head><title>Authentication Failed</title></head>
35
- <body>
36
- <h1>Authentication Failed</h1>
37
- <p>${errorMsg}</p>
38
- <p>You can close this window and return to the CLI.</p>
39
- </body>
40
- </html>
41
- `);
42
- this.stopServer();
43
- reject(new Error(`OAuth2 error: ${errorMsg}`));
44
- return;
45
- }
46
- // Check for token (Implicit Flow) or code (Authorization Code Flow)
47
- let authValue = token || code;
48
- // If token is not directly available, check if it's nested in redirect_uri parameter
49
- if (!authValue && redirect_uri && typeof redirect_uri === 'string') {
50
- try {
51
- const url = new URL(redirect_uri);
52
- const nestedToken = url.searchParams.get('token');
53
- if (nestedToken) {
54
- authValue = nestedToken;
55
- }
56
- }
57
- catch (e) {
58
- // If parsing fails, continue with normal flow
59
- }
60
- }
61
- if (!authValue || typeof authValue !== 'string') {
62
- res.status(400).send(`
63
- <html>
64
- <head><title>Authentication Failed</title></head>
65
- <body>
66
- <h1>Authentication Failed</h1>
67
- <p>No authorization token or code received</p>
68
- <p>You can close this window and return to the CLI.</p>
69
- </body>
70
- </html>
71
- `);
72
- this.stopServer();
73
- reject(new Error('No authorization token or code received'));
74
- return;
75
- }
76
- // Success page
77
- res.send(`
78
- <html>
79
- <head><title>Authentication Successful</title></head>
80
- <body>
81
- <h1>Authentication Successful!</h1>
82
- <p>You have been successfully authenticated.</p>
83
- <p>You can close this window and return to the CLI.</p>
84
- <script>setTimeout(() => window.close(), 3000);</script>
85
- </body>
86
- </html>
87
- `);
88
- // Stop server and resolve with token or code
89
- this.stopServer();
90
- resolve(authValue);
91
- }
92
- catch (err) {
93
- res.status(500).send('Internal server error');
94
- this.stopServer();
95
- reject(err);
96
- }
97
- });
98
- // Health check route
99
- this.app.get('/health', (_req, res) => {
100
- res.send('OK');
101
- });
102
- // Start server
103
- this.server = this.app.listen(port, () => {
104
- console.log(`OAuth callback server listening on port ${port}`);
105
- // Build authorization URL with callback
106
- const fullAuthUrl = `${authorizationUrl}?redirect_uri=${encodeURIComponent(callbackUrl)}&response_type=code`;
107
- // Open browser to authorization URL
108
- (0, open_1.default)(fullAuthUrl).catch((err) => {
109
- console.error('Failed to open browser:', err.message);
110
- console.log(`Please manually open this URL in your browser:\n${fullAuthUrl}`);
111
- });
112
- });
113
- // Handle server errors
114
- this.server.on('error', (err) => {
115
- if (err.code === 'EADDRINUSE') {
116
- reject(new Error(`Port ${port} is already in use. Please close any other instances or change the port.`));
117
- }
118
- else {
119
- reject(err);
120
- }
121
- });
122
- // Timeout after 5 minutes
123
- setTimeout(() => {
124
- if (this.server) {
125
- this.stopServer();
126
- reject(new Error('Authentication timeout. Please try again.'));
127
- }
128
- }, 5 * 60 * 1000);
129
- });
130
- }
131
- /**
132
- * Exchange authorization code for JWT token
133
- * Note: For Implicit Flow, the token is already provided directly
134
- * For Authorization Code Flow, this would need to exchange the code
135
- */
136
- async exchangeCodeForToken(codeOrToken) {
137
- // If using Implicit Flow (token returned directly), just return it
138
- // If using Authorization Code Flow, you would exchange the code here:
139
- //
140
- // const response = await apiClient.request({
141
- // method: 'POST',
142
- // url: '/api/v1/Auth/token',
143
- // data: { code: codeOrToken, grant_type: 'authorization_code' }
144
- // });
145
- // return response.token;
146
- // For Implicit Flow, return the token directly
147
- return codeOrToken;
148
- }
149
- async authenticateWithKey(key) {
150
- const response = await cli_api_client_1.cliApiClient.authenticate(key);
151
- return response;
152
- }
153
- /**
154
- * Stop the OAuth callback server
155
- */
156
- stopServer() {
157
- if (this.server) {
158
- this.server.close();
159
- this.server = null;
160
- this.app = null;
161
- }
162
- }
163
- }
164
- exports.AuthService = AuthService;
165
- exports.authService = new AuthService();
166
- //# sourceMappingURL=auth-service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth-service.js","sourceRoot":"","sources":["../../src/services/auth-service.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- import { AxiosRequestConfig } from 'axios';
2
- import { AuthResponse, ModelUserRequest, ModelUserResponse } from '../types/api-types';
3
- /**
4
- * CLI API Client - Used for key-based authentication
5
- * Uses SPHEREAI_CLI_API_URL endpoint
6
- */
7
- export declare class CliApiClient {
8
- private client;
9
- private authToken?;
10
- constructor(baseURL?: string);
11
- setAuthToken(token: string): void;
12
- authenticate(key: string): Promise<AuthResponse>;
13
- executeCommand(request: ModelUserRequest): Promise<ModelUserResponse>;
14
- request<T>(config: AxiosRequestConfig): Promise<T>;
15
- }
16
- export declare const cliApiClient: CliApiClient;
17
- export default CliApiClient;
18
- //# sourceMappingURL=cli-api-client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli-api-client.d.ts","sourceRoot":"","sources":["../../src/services/cli-api-client.ts"],"names":[],"mappings":"AAAA,OAAc,EAAiB,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAEjE,OAAO,EAEL,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAG5B;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,SAAS,CAAC,CAAS;gBAEf,OAAO,CAAC,EAAE,MAAM;IA6B5B,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI3B,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAMhD,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAMrE,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC;CAIzD;AAGD,eAAO,MAAM,YAAY,cAAqB,CAAC;AAG/C,eAAe,YAAY,CAAC"}
@@ -1,57 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.cliApiClient = exports.CliApiClient = void 0;
7
- const axios_1 = __importDefault(require("axios"));
8
- const config_service_1 = require("./config-service");
9
- const axios_debug_1 = require("../utils/axios-debug");
10
- /**
11
- * CLI API Client - Used for key-based authentication
12
- * Uses SPHEREAI_CLI_API_URL endpoint
13
- */
14
- class CliApiClient {
15
- constructor(baseURL) {
16
- const cliApiUrl = baseURL || config_service_1.configService.getCliApiUrl();
17
- this.client = axios_1.default.create({
18
- baseURL: cliApiUrl,
19
- timeout: 120000, // 2 minutes for AI processing
20
- headers: {
21
- 'Content-Type': 'application/json'
22
- }
23
- });
24
- // Request interceptor to add auth token and debug logging
25
- this.client.interceptors.request.use((config) => {
26
- if (this.authToken) {
27
- config.headers.Authorization = `Bearer ${this.authToken}`;
28
- }
29
- return (0, axios_debug_1.debugRequestInterceptor)(config);
30
- }, (error) => Promise.reject(error));
31
- // Response interceptor for debug logging and error handling
32
- this.client.interceptors.response.use(axios_debug_1.debugResponseInterceptor, axios_debug_1.debugErrorInterceptor);
33
- }
34
- setAuthToken(token) {
35
- this.authToken = token;
36
- }
37
- async authenticate(key) {
38
- const request = { key };
39
- const response = await this.client.post('/api/v1/Auth', request);
40
- return response.data;
41
- }
42
- async executeCommand(request) {
43
- const response = await this.client.post('/api/v1/Command', request);
44
- return response.data;
45
- }
46
- // Generic request method for custom calls
47
- async request(config) {
48
- const response = await this.client.request(config);
49
- return response.data;
50
- }
51
- }
52
- exports.CliApiClient = CliApiClient;
53
- // Export singleton instance with default configuration
54
- exports.cliApiClient = new CliApiClient();
55
- // Export class for custom instances
56
- exports.default = CliApiClient;
57
- //# sourceMappingURL=cli-api-client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli-api-client.js","sourceRoot":"","sources":["../../src/services/cli-api-client.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAiE;AACjE,qDAAiD;AAOjD,sDAAgH;AAEhH;;;GAGG;AACH,MAAa,YAAY;IAIvB,YAAY,OAAgB;QAC1B,MAAM,SAAS,GAAG,OAAO,IAAI,8BAAa,CAAC,YAAY,EAAE,CAAC;QAE1D,IAAI,CAAC,MAAM,GAAG,eAAK,CAAC,MAAM,CAAC;YACzB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,MAAM,EAAE,8BAA8B;YAC/C,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;SACF,CAAC,CAAC;QAEH,0DAA0D;QAC1D,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAClC,CAAC,MAAM,EAAE,EAAE;YACT,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,MAAM,CAAC,OAAO,CAAC,aAAa,GAAG,UAAU,IAAI,CAAC,SAAS,EAAE,CAAC;YAC5D,CAAC;YACD,OAAO,IAAA,qCAAuB,EAAC,MAAM,CAAC,CAAC;QACzC,CAAC,EACD,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CACjC,CAAC;QAEF,4DAA4D;QAC5D,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CACnC,sCAAwB,EACxB,mCAAqB,CACtB,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,KAAa;QACxB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAW;QAC5B,MAAM,OAAO,GAAmB,EAAE,GAAG,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAe,cAAc,EAAE,OAAO,CAAC,CAAC;QAC/E,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAyB;QAC5C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAoB,iBAAiB,EAAE,OAAO,CAAC,CAAC;QACvF,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,0CAA0C;IAC1C,KAAK,CAAC,OAAO,CAAI,MAA0B;QACzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAI,MAAM,CAAC,CAAC;QACtD,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;CACF;AArDD,oCAqDC;AAED,uDAAuD;AAC1C,QAAA,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;AAE/C,oCAAoC;AACpC,kBAAe,YAAY,CAAC"}
@@ -1,46 +0,0 @@
1
- import { User } from '../types/api-types';
2
- export interface TrackedFile {
3
- path: string;
4
- addedAt: string;
5
- size: number;
6
- exists: boolean;
7
- }
8
- interface ConfigSchema {
9
- token?: string;
10
- apiUrl?: string;
11
- cliApiUrl?: string;
12
- authUrl?: string;
13
- user?: User;
14
- oauthCallbackPort?: number;
15
- trackedFiles?: TrackedFile[];
16
- debugMode?: boolean;
17
- }
18
- declare class ConfigService {
19
- private config;
20
- constructor();
21
- getToken(): string | undefined;
22
- setToken(token: string): void;
23
- clearToken(): void;
24
- hasToken(): boolean;
25
- getApiUrl(): string | undefined;
26
- setApiUrl(url: string): void;
27
- getCliApiUrl(): string | undefined;
28
- setCliApiUrl(url: string): void;
29
- getUser(): User | undefined;
30
- setUser(user: User): void;
31
- clearUser(): void;
32
- getAuthUrl(): string | undefined;
33
- getOAuthCallbackPort(): number;
34
- setOAuthCallbackPort(port: number): void;
35
- clear(): void;
36
- getConfigPath(): string;
37
- getAll(): ConfigSchema;
38
- getTrackedFiles(): TrackedFile[];
39
- setTrackedFiles(files: TrackedFile[]): void;
40
- clearTrackedFiles(): void;
41
- getDebugMode(): boolean;
42
- setDebugMode(enabled: boolean): void;
43
- }
44
- export declare const configService: ConfigService;
45
- export {};
46
- //# sourceMappingURL=config-service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config-service.d.ts","sourceRoot":"","sources":["../../src/services/config-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE1C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,UAAU,YAAY;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,cAAM,aAAa;IACjB,OAAO,CAAC,MAAM,CAAqB;;IAgBnC,QAAQ,IAAI,MAAM,GAAG,SAAS;IAI9B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI7B,UAAU,IAAI,IAAI;IAIlB,QAAQ,IAAI,OAAO;IAKnB,SAAS,IAAI,MAAM,GAAG,SAAS;IAI/B,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK5B,YAAY,IAAI,MAAM,GAAG,SAAS;IAIlC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK/B,OAAO,IAAI,IAAI,GAAG,SAAS;IAI3B,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAIzB,SAAS,IAAI,IAAI;IAKjB,UAAU,IAAI,MAAM,GAAG,SAAS;IAKhC,oBAAoB,IAAI,MAAM;IAI9B,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKxC,KAAK,IAAI,IAAI;IAKb,aAAa,IAAI,MAAM;IAKvB,MAAM,IAAI,YAAY;IAKtB,eAAe,IAAI,WAAW,EAAE;IAIhC,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,IAAI;IAI3C,iBAAiB,IAAI,IAAI;IAKzB,YAAY,IAAI,OAAO;IAIvB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAGrC;AAGD,eAAO,MAAM,aAAa,eAAsB,CAAC"}
@@ -1,101 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.configService = void 0;
7
- const conf_1 = __importDefault(require("conf"));
8
- class ConfigService {
9
- constructor() {
10
- this.config = new conf_1.default({
11
- projectName: 'sphereai-cli',
12
- encryptionKey: 'sphereai-cli-encryption-key-v1',
13
- defaults: {
14
- apiUrl: process.env.SPHEREAI_API_URL,
15
- cliApiUrl: process.env.SPHEREAI_CLI_API_URL,
16
- oauthCallbackPort: process.env.SPHEREAI_OAUTH_CALLBACK_PORT ? parseInt(process.env.SPHEREAI_OAUTH_CALLBACK_PORT) : 3001
17
- },
18
- projectSuffix: '',
19
- });
20
- }
21
- // Token management
22
- getToken() {
23
- return this.config.get('token');
24
- }
25
- setToken(token) {
26
- this.config.set('token', token);
27
- }
28
- clearToken() {
29
- this.config.delete('token');
30
- }
31
- hasToken() {
32
- return !!this.getToken();
33
- }
34
- // API URL management
35
- getApiUrl() {
36
- return process.env.SPHEREAI_API_URL || this.config.get('apiUrl');
37
- }
38
- setApiUrl(url) {
39
- this.config.set('apiUrl', url);
40
- }
41
- // CLI API URL management (for key-based auth)
42
- getCliApiUrl() {
43
- return process.env.SPHEREAI_CLI_API_URL || this.config.get('cliApiUrl');
44
- }
45
- setCliApiUrl(url) {
46
- this.config.set('cliApiUrl', url);
47
- }
48
- // User management
49
- getUser() {
50
- return this.config.get('user');
51
- }
52
- setUser(user) {
53
- this.config.set('user', user);
54
- }
55
- clearUser() {
56
- this.config.delete('user');
57
- }
58
- // OAuth URL management
59
- getAuthUrl() {
60
- return process.env.SPHEREAI_AUTH_URL;
61
- }
62
- // OAuth callback port
63
- getOAuthCallbackPort() {
64
- return process.env.SPHEREAI_OAUTH_CALLBACK_PORT ? parseInt(process.env.SPHEREAI_OAUTH_CALLBACK_PORT) : 3001;
65
- }
66
- setOAuthCallbackPort(port) {
67
- this.config.set('oauthCallbackPort', port);
68
- }
69
- // Clear all configuration
70
- clear() {
71
- this.config.clear();
72
- }
73
- // Get configuration file path
74
- getConfigPath() {
75
- return this.config.path;
76
- }
77
- // Get all config (for debugging)
78
- getAll() {
79
- return this.config.store;
80
- }
81
- // Tracked files management
82
- getTrackedFiles() {
83
- return this.config.get('trackedFiles') || [];
84
- }
85
- setTrackedFiles(files) {
86
- this.config.set('trackedFiles', files);
87
- }
88
- clearTrackedFiles() {
89
- this.config.delete('trackedFiles');
90
- }
91
- // Debug mode management
92
- getDebugMode() {
93
- return this.config.get('debugMode') || false;
94
- }
95
- setDebugMode(enabled) {
96
- this.config.set('debugMode', enabled);
97
- }
98
- }
99
- // Export singleton instance
100
- exports.configService = new ConfigService();
101
- //# sourceMappingURL=config-service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config-service.js","sourceRoot":"","sources":["../../src/services/config-service.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAqBxB,MAAM,aAAa;IAGjB;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,cAAI,CAAe;YACnC,WAAW,EAAE,cAAc;YAC3B,aAAa,EAAE,gCAAgC;YAC/C,QAAQ,EAAE;gBACR,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB;gBACpC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB;gBAC3C,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,IAAI;aACxH;YACD,aAAa,EAAE,EAAE;SAClB,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB;IACnB,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,QAAQ,CAAC,KAAa;QACpB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,UAAU;QACR,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,QAAQ;QACN,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAED,qBAAqB;IACrB,SAAS;QACP,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnE,CAAC;IAED,SAAS,CAAC,GAAW;QACnB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,8CAA8C;IAC9C,YAAY;QACV,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC1E,CAAC;IAED,YAAY,CAAC,GAAW;QACtB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,kBAAkB;IAClB,OAAO;QACL,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,CAAC,IAAU;QAChB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,SAAS;QACP,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,uBAAuB;IACvB,UAAU;QACR,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IACvC,CAAC;IAED,sBAAsB;IACtB,oBAAoB;QAClB,OAAO,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9G,CAAC;IAED,oBAAoB,CAAC,IAAY;QAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,0BAA0B;IAC1B,KAAK;QACH,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAED,8BAA8B;IAC9B,aAAa;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,iCAAiC;IACjC,MAAM;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;IAC3B,CAAC;IAED,2BAA2B;IAC3B,eAAe;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAC/C,CAAC;IAED,eAAe,CAAC,KAAoB;QAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IACrC,CAAC;IAED,wBAAwB;IACxB,YAAY;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC;IAC/C,CAAC;IAED,YAAY,CAAC,OAAgB;QAC3B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;CACF;AAED,4BAA4B;AACf,QAAA,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC"}
@@ -1,62 +0,0 @@
1
- import { TrackedFile } from './config-service';
2
- import { SphereIgnore } from '../utils/sphereignore';
3
- export { TrackedFile };
4
- /**
5
- * Service to manage tracked files (similar to git staging)
6
- */
7
- export declare class FileTrackingService {
8
- private sphereIgnore;
9
- constructor();
10
- /**
11
- * Get all tracked files
12
- */
13
- getTrackedFiles(): TrackedFile[];
14
- /**
15
- * Add a single file to tracking
16
- */
17
- addFile(filePath: string): {
18
- added: boolean;
19
- reason?: string;
20
- };
21
- /**
22
- * Add multiple files (recursively from a directory)
23
- */
24
- addDirectory(dirPath?: string): {
25
- added: string[];
26
- ignored: string[];
27
- errors: string[];
28
- };
29
- /**
30
- * Recursively walk a directory and return all file paths
31
- */
32
- private walkDirectory;
33
- /**
34
- * Remove a file from tracking
35
- */
36
- removeFile(filePath: string): {
37
- removed: boolean;
38
- reason?: string;
39
- };
40
- /**
41
- * Clear all tracked files
42
- */
43
- clearAll(): number;
44
- /**
45
- * Get status of tracked files
46
- */
47
- getStatus(): {
48
- exists: TrackedFile[];
49
- missing: TrackedFile[];
50
- total: number;
51
- };
52
- /**
53
- * Get the SphereIgnore instance
54
- */
55
- getSphereIgnore(): SphereIgnore;
56
- /**
57
- * Reload .sphereignore patterns
58
- */
59
- reloadIgnorePatterns(): void;
60
- }
61
- export declare const fileTrackingService: FileTrackingService;
62
- //# sourceMappingURL=file-tracking-service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-tracking-service.d.ts","sourceRoot":"","sources":["../../src/services/file-tracking-service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,YAAY,CAAe;;IAMnC;;OAEG;IACI,eAAe,IAAI,WAAW,EAAE;IAIvC;;OAEG;IACI,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;IAwCrE;;OAEG;IACI,YAAY,CAAC,OAAO,GAAE,MAAY,GAAG;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;IAqCpG;;OAEG;IACH,OAAO,CAAC,aAAa;IAwBrB;;OAEG;IACI,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;IAc1E;;OAEG;IACI,QAAQ,IAAI,MAAM;IAOzB;;OAEG;IACI,SAAS,IAAI;QAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QAAC,OAAO,EAAE,WAAW,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IAwBpF;;OAEG;IACI,eAAe,IAAI,YAAY;IAItC;;OAEG;IACI,oBAAoB,IAAI,IAAI;CAGpC;AAED,eAAO,MAAM,mBAAmB,qBAA4B,CAAC"}