sphereai-cli 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/README.md +529 -0
  2. package/dist/commands/auth.d.ts +3 -0
  3. package/dist/commands/auth.d.ts.map +1 -0
  4. package/dist/commands/auth.js +194 -0
  5. package/dist/commands/auth.js.map +1 -0
  6. package/dist/commands/execute.d.ts +3 -0
  7. package/dist/commands/execute.d.ts.map +1 -0
  8. package/dist/commands/execute.js +165 -0
  9. package/dist/commands/execute.js.map +1 -0
  10. package/dist/commands/files.d.ts +3 -0
  11. package/dist/commands/files.d.ts.map +1 -0
  12. package/dist/commands/files.js +235 -0
  13. package/dist/commands/files.js.map +1 -0
  14. package/dist/commands/models.d.ts +3 -0
  15. package/dist/commands/models.d.ts.map +1 -0
  16. package/dist/commands/models.js +70 -0
  17. package/dist/commands/models.js.map +1 -0
  18. package/dist/commands/prompts.d.ts +3 -0
  19. package/dist/commands/prompts.d.ts.map +1 -0
  20. package/dist/commands/prompts.js +72 -0
  21. package/dist/commands/prompts.js.map +1 -0
  22. package/dist/index.d.ts +3 -0
  23. package/dist/index.d.ts.map +1 -0
  24. package/dist/index.js +103 -0
  25. package/dist/index.js.map +1 -0
  26. package/dist/services/api-client.d.ts +16 -0
  27. package/dist/services/api-client.d.ts.map +1 -0
  28. package/dist/services/api-client.js +125 -0
  29. package/dist/services/api-client.js.map +1 -0
  30. package/dist/services/auth-service.d.ts +28 -0
  31. package/dist/services/auth-service.d.ts.map +1 -0
  32. package/dist/services/auth-service.js +171 -0
  33. package/dist/services/auth-service.js.map +1 -0
  34. package/dist/services/cli-api-client.d.ts +20 -0
  35. package/dist/services/cli-api-client.d.ts.map +1 -0
  36. package/dist/services/cli-api-client.js +83 -0
  37. package/dist/services/cli-api-client.js.map +1 -0
  38. package/dist/services/config-service.d.ts +43 -0
  39. package/dist/services/config-service.d.ts.map +1 -0
  40. package/dist/services/config-service.js +97 -0
  41. package/dist/services/config-service.js.map +1 -0
  42. package/dist/services/file-tracking-service.d.ts +62 -0
  43. package/dist/services/file-tracking-service.d.ts.map +1 -0
  44. package/dist/services/file-tracking-service.js +207 -0
  45. package/dist/services/file-tracking-service.js.map +1 -0
  46. package/dist/types/api-types.d.ts +67 -0
  47. package/dist/types/api-types.d.ts.map +1 -0
  48. package/dist/types/api-types.js +10 -0
  49. package/dist/types/api-types.js.map +1 -0
  50. package/dist/utils/errors.d.ts +35 -0
  51. package/dist/utils/errors.d.ts.map +1 -0
  52. package/dist/utils/errors.js +82 -0
  53. package/dist/utils/errors.js.map +1 -0
  54. package/dist/utils/file-walker.d.ts +31 -0
  55. package/dist/utils/file-walker.d.ts.map +1 -0
  56. package/dist/utils/file-walker.js +118 -0
  57. package/dist/utils/file-walker.js.map +1 -0
  58. package/dist/utils/formatters.d.ts +35 -0
  59. package/dist/utils/formatters.d.ts.map +1 -0
  60. package/dist/utils/formatters.js +101 -0
  61. package/dist/utils/formatters.js.map +1 -0
  62. package/dist/utils/ignore-parser.d.ts +21 -0
  63. package/dist/utils/ignore-parser.d.ts.map +1 -0
  64. package/dist/utils/ignore-parser.js +170 -0
  65. package/dist/utils/ignore-parser.js.map +1 -0
  66. package/dist/utils/sphereignore.d.ts +34 -0
  67. package/dist/utils/sphereignore.d.ts.map +1 -0
  68. package/dist/utils/sphereignore.js +148 -0
  69. package/dist/utils/sphereignore.js.map +1 -0
  70. package/package.json +48 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-service.js","sourceRoot":"","sources":["../../src/services/auth-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { AxiosRequestConfig } from 'axios';
2
+ import { AuthResponse } 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
+ constructor(baseURL?: string);
10
+ private handleError;
11
+ /**
12
+ * Authenticate using UserChannelKey (from swagger.cli.json)
13
+ * POST /api/v1/Auth
14
+ */
15
+ authenticate(key: string): Promise<AuthResponse>;
16
+ request<T>(config: AxiosRequestConfig): Promise<T>;
17
+ }
18
+ export declare const cliApiClient: CliApiClient;
19
+ export default CliApiClient;
20
+ //# sourceMappingURL=cli-api-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-api-client.d.ts","sourceRoot":"","sources":["../../src/services/cli-api-client.ts"],"names":[],"mappings":"AAAA,OAAc,EAA6B,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAE7E,OAAO,EAGL,YAAY,EACb,MAAM,oBAAoB,CAAC;AAE5B;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAgB;gBAElB,OAAO,CAAC,EAAE,MAAM;IAsB5B,OAAO,CAAC,WAAW;IAkCnB;;;OAGG;IACG,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAOhD,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC;CAIzD;AAGD,eAAO,MAAM,YAAY,cAAqB,CAAC;AAG/C,eAAe,YAAY,CAAC"}
@@ -0,0 +1,83 @@
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
+ /**
10
+ * CLI API Client - Used for key-based authentication
11
+ * Uses SPHEREAI_CLI_API_URL endpoint
12
+ */
13
+ class CliApiClient {
14
+ constructor(baseURL) {
15
+ const cliApiUrl = baseURL || config_service_1.configService.getCliApiUrl();
16
+ console.log("CLI API URL: " + cliApiUrl);
17
+ this.client = axios_1.default.create({
18
+ baseURL: cliApiUrl,
19
+ timeout: 30000,
20
+ headers: {
21
+ 'Content-Type': 'application/json'
22
+ }
23
+ });
24
+ // Response interceptor for error handling
25
+ this.client.interceptors.response.use((response) => response, (error) => {
26
+ return Promise.reject(this.handleError(error));
27
+ });
28
+ }
29
+ handleError(error) {
30
+ console.log("CLI API Error:");
31
+ console.log(error);
32
+ if (error.response) {
33
+ const { status, data } = error.response;
34
+ // Handle specific status codes
35
+ switch (status) {
36
+ case 401:
37
+ return new Error('Invalid or expired UserChannelKey. Please check your key and try again.');
38
+ case 403:
39
+ return new Error('Access denied. You do not have permission to use this key.');
40
+ case 404:
41
+ return new Error(data?.detail || 'Authentication endpoint not found');
42
+ case 400:
43
+ if (data?.errors) {
44
+ const errorMessages = Object.entries(data.errors)
45
+ .map(([field, messages]) => `${field}: ${messages.join(', ')}`)
46
+ .join('\n');
47
+ return new Error(`Validation failed:\n${errorMessages}`);
48
+ }
49
+ return new Error(data?.detail || 'Bad request - please check your UserChannelKey format');
50
+ case 500:
51
+ return new Error('Internal server error. Please try again later.');
52
+ default:
53
+ return new Error(data?.detail || `Request failed with status ${status}`);
54
+ }
55
+ }
56
+ else if (error.request) {
57
+ return new Error('No response from CLI API server. Please check your internet connection and SPHEREAI_CLI_API_URL configuration.');
58
+ }
59
+ else {
60
+ return new Error(error.message || 'An unexpected error occurred');
61
+ }
62
+ }
63
+ /**
64
+ * Authenticate using UserChannelKey (from swagger.cli.json)
65
+ * POST /api/v1/Auth
66
+ */
67
+ async authenticate(key) {
68
+ const request = { key };
69
+ const response = await this.client.post('/api/v1/Auth', request);
70
+ return response.data;
71
+ }
72
+ // Generic request method for custom calls
73
+ async request(config) {
74
+ const response = await this.client.request(config);
75
+ return response.data;
76
+ }
77
+ }
78
+ exports.CliApiClient = CliApiClient;
79
+ // Export singleton instance with default configuration
80
+ exports.cliApiClient = new CliApiClient();
81
+ // Export class for custom instances
82
+ exports.default = CliApiClient;
83
+ //# sourceMappingURL=cli-api-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-api-client.js","sourceRoot":"","sources":["../../src/services/cli-api-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
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
+ }
17
+ declare class ConfigService {
18
+ private config;
19
+ constructor();
20
+ getToken(): string | undefined;
21
+ setToken(token: string): void;
22
+ clearToken(): void;
23
+ hasToken(): boolean;
24
+ getApiUrl(): string | undefined;
25
+ setApiUrl(url: string): void;
26
+ getCliApiUrl(): string | undefined;
27
+ setCliApiUrl(url: string): void;
28
+ getUser(): User | undefined;
29
+ setUser(user: User): void;
30
+ clearUser(): void;
31
+ getAuthUrl(): string | undefined;
32
+ getOAuthCallbackPort(): number;
33
+ setOAuthCallbackPort(port: number): void;
34
+ clear(): void;
35
+ getConfigPath(): string;
36
+ getAll(): ConfigSchema;
37
+ getTrackedFiles(): TrackedFile[];
38
+ setTrackedFiles(files: TrackedFile[]): void;
39
+ clearTrackedFiles(): void;
40
+ }
41
+ export declare const configService: ConfigService;
42
+ export {};
43
+ //# sourceMappingURL=config-service.d.ts.map
@@ -0,0 +1 @@
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;CAC9B;AAED,cAAM,aAAa;IACjB,OAAO,CAAC,MAAM,CAAqB;;IAenC,QAAQ,IAAI,MAAM,GAAG,SAAS;IAQ9B,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;CAG1B;AAGD,eAAO,MAAM,aAAa,eAAsB,CAAC"}
@@ -0,0 +1,97 @@
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
+ });
19
+ }
20
+ // Token management
21
+ getToken() {
22
+ // Check environment variable first
23
+ if (process.env.SPHEREAI_TOKEN) {
24
+ return process.env.SPHEREAI_TOKEN;
25
+ }
26
+ return this.config.get('token');
27
+ }
28
+ setToken(token) {
29
+ this.config.set('token', token);
30
+ }
31
+ clearToken() {
32
+ this.config.delete('token');
33
+ }
34
+ hasToken() {
35
+ return !!this.getToken();
36
+ }
37
+ // API URL management
38
+ getApiUrl() {
39
+ return process.env.SPHEREAI_API_URL || this.config.get('apiUrl');
40
+ }
41
+ setApiUrl(url) {
42
+ this.config.set('apiUrl', url);
43
+ }
44
+ // CLI API URL management (for key-based auth)
45
+ getCliApiUrl() {
46
+ return process.env.SPHEREAI_CLI_API_URL || this.config.get('cliApiUrl');
47
+ }
48
+ setCliApiUrl(url) {
49
+ this.config.set('cliApiUrl', url);
50
+ }
51
+ // User management
52
+ getUser() {
53
+ return this.config.get('user');
54
+ }
55
+ setUser(user) {
56
+ this.config.set('user', user);
57
+ }
58
+ clearUser() {
59
+ this.config.delete('user');
60
+ }
61
+ // OAuth URL management
62
+ getAuthUrl() {
63
+ return process.env.SPHEREAI_AUTH_URL;
64
+ }
65
+ // OAuth callback port
66
+ getOAuthCallbackPort() {
67
+ return process.env.SPHEREAI_OAUTH_CALLBACK_PORT ? parseInt(process.env.SPHEREAI_OAUTH_CALLBACK_PORT) : 3001;
68
+ }
69
+ setOAuthCallbackPort(port) {
70
+ this.config.set('oauthCallbackPort', port);
71
+ }
72
+ // Clear all configuration
73
+ clear() {
74
+ this.config.clear();
75
+ }
76
+ // Get configuration file path
77
+ getConfigPath() {
78
+ return this.config.path;
79
+ }
80
+ // Get all config (for debugging)
81
+ getAll() {
82
+ return this.config.store;
83
+ }
84
+ // Tracked files management
85
+ getTrackedFiles() {
86
+ return this.config.get('trackedFiles') || [];
87
+ }
88
+ setTrackedFiles(files) {
89
+ this.config.set('trackedFiles', files);
90
+ }
91
+ clearTrackedFiles() {
92
+ this.config.delete('trackedFiles');
93
+ }
94
+ }
95
+ // Export singleton instance
96
+ exports.configService = new ConfigService();
97
+ //# sourceMappingURL=config-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-service.js","sourceRoot":"","sources":["../../src/services/config-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,207 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.fileTrackingService = exports.FileTrackingService = void 0;
37
+ const fs = __importStar(require("fs"));
38
+ const path = __importStar(require("path"));
39
+ const config_service_1 = require("./config-service");
40
+ const sphereignore_1 = require("../utils/sphereignore");
41
+ /**
42
+ * Service to manage tracked files (similar to git staging)
43
+ */
44
+ class FileTrackingService {
45
+ constructor() {
46
+ this.sphereIgnore = new sphereignore_1.SphereIgnore();
47
+ }
48
+ /**
49
+ * Get all tracked files
50
+ */
51
+ getTrackedFiles() {
52
+ return config_service_1.configService.getTrackedFiles();
53
+ }
54
+ /**
55
+ * Add a single file to tracking
56
+ */
57
+ addFile(filePath) {
58
+ const absolutePath = path.resolve(filePath);
59
+ const relativePath = path.relative(process.cwd(), absolutePath);
60
+ // Check if file exists
61
+ if (!fs.existsSync(absolutePath)) {
62
+ return { added: false, reason: `File does not exist: ${filePath}` };
63
+ }
64
+ // Check if it's a directory
65
+ const stats = fs.statSync(absolutePath);
66
+ if (stats.isDirectory()) {
67
+ return { added: false, reason: `Path is a directory, use 'sphere files add .' to add all files` };
68
+ }
69
+ // Check if file should be ignored
70
+ if (this.sphereIgnore.shouldIgnore(relativePath)) {
71
+ return { added: false, reason: `File is ignored by .sphereignore: ${relativePath}` };
72
+ }
73
+ // Get current tracked files
74
+ const tracked = this.getTrackedFiles();
75
+ // Check if already tracked
76
+ if (tracked.some(f => f.path === relativePath)) {
77
+ return { added: false, reason: `File already tracked: ${relativePath}` };
78
+ }
79
+ // Add file to tracking
80
+ tracked.push({
81
+ path: relativePath,
82
+ addedAt: new Date().toISOString(),
83
+ size: stats.size,
84
+ exists: true
85
+ });
86
+ config_service_1.configService.setTrackedFiles(tracked);
87
+ return { added: true };
88
+ }
89
+ /**
90
+ * Add multiple files (recursively from a directory)
91
+ */
92
+ addDirectory(dirPath = '.') {
93
+ const absolutePath = path.resolve(dirPath);
94
+ const result = {
95
+ added: [],
96
+ ignored: [],
97
+ errors: []
98
+ };
99
+ if (!fs.existsSync(absolutePath)) {
100
+ result.errors.push(`Directory does not exist: ${dirPath}`);
101
+ return result;
102
+ }
103
+ const files = this.walkDirectory(absolutePath);
104
+ for (const file of files) {
105
+ const relativePath = path.relative(process.cwd(), file);
106
+ if (this.sphereIgnore.shouldIgnore(relativePath)) {
107
+ result.ignored.push(relativePath);
108
+ continue;
109
+ }
110
+ const addResult = this.addFile(file);
111
+ if (addResult.added) {
112
+ result.added.push(relativePath);
113
+ }
114
+ else if (addResult.reason?.includes('already tracked')) {
115
+ // Skip silently if already tracked
116
+ continue;
117
+ }
118
+ else if (addResult.reason) {
119
+ result.errors.push(addResult.reason);
120
+ }
121
+ }
122
+ return result;
123
+ }
124
+ /**
125
+ * Recursively walk a directory and return all file paths
126
+ */
127
+ walkDirectory(dir) {
128
+ const files = [];
129
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
130
+ for (const entry of entries) {
131
+ const fullPath = path.join(dir, entry.name);
132
+ const relativePath = path.relative(process.cwd(), fullPath);
133
+ // Check if should be ignored before recursing
134
+ if (this.sphereIgnore.shouldIgnore(relativePath)) {
135
+ continue;
136
+ }
137
+ if (entry.isDirectory()) {
138
+ files.push(...this.walkDirectory(fullPath));
139
+ }
140
+ else if (entry.isFile()) {
141
+ files.push(fullPath);
142
+ }
143
+ }
144
+ return files;
145
+ }
146
+ /**
147
+ * Remove a file from tracking
148
+ */
149
+ removeFile(filePath) {
150
+ const relativePath = path.relative(process.cwd(), path.resolve(filePath));
151
+ const tracked = this.getTrackedFiles();
152
+ const index = tracked.findIndex(f => f.path === relativePath);
153
+ if (index === -1) {
154
+ return { removed: false, reason: `File not tracked: ${relativePath}` };
155
+ }
156
+ tracked.splice(index, 1);
157
+ config_service_1.configService.setTrackedFiles(tracked);
158
+ return { removed: true };
159
+ }
160
+ /**
161
+ * Clear all tracked files
162
+ */
163
+ clearAll() {
164
+ const tracked = this.getTrackedFiles();
165
+ const count = tracked.length;
166
+ config_service_1.configService.clearTrackedFiles();
167
+ return count;
168
+ }
169
+ /**
170
+ * Get status of tracked files
171
+ */
172
+ getStatus() {
173
+ const tracked = this.getTrackedFiles();
174
+ const exists = [];
175
+ const missing = [];
176
+ for (const file of tracked) {
177
+ const absolutePath = path.resolve(file.path);
178
+ const fileExists = fs.existsSync(absolutePath);
179
+ const updatedFile = { ...file, exists: fileExists };
180
+ if (fileExists) {
181
+ // Update size if file exists
182
+ const stats = fs.statSync(absolutePath);
183
+ updatedFile.size = stats.size;
184
+ exists.push(updatedFile);
185
+ }
186
+ else {
187
+ missing.push(updatedFile);
188
+ }
189
+ }
190
+ return { exists, missing, total: tracked.length };
191
+ }
192
+ /**
193
+ * Get the SphereIgnore instance
194
+ */
195
+ getSphereIgnore() {
196
+ return this.sphereIgnore;
197
+ }
198
+ /**
199
+ * Reload .sphereignore patterns
200
+ */
201
+ reloadIgnorePatterns() {
202
+ this.sphereIgnore = new sphereignore_1.SphereIgnore();
203
+ }
204
+ }
205
+ exports.FileTrackingService = FileTrackingService;
206
+ exports.fileTrackingService = new FileTrackingService();
207
+ //# sourceMappingURL=file-tracking-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-tracking-service.js","sourceRoot":"","sources":["../../src/services/file-tracking-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ export interface UserKeyRequest {
2
+ key: string;
3
+ }
4
+ export interface AuthResponse {
5
+ jwtToken: string;
6
+ tokenType: string;
7
+ expiresIn: number;
8
+ userId: number;
9
+ userName: string;
10
+ channelId: number;
11
+ channelName: string;
12
+ tokenExpiration: string;
13
+ }
14
+ export interface User {
15
+ id: number;
16
+ customerId: number;
17
+ customerName: string;
18
+ name: string | null;
19
+ email: string | null;
20
+ role: UserRole;
21
+ active: boolean;
22
+ createdAt: string;
23
+ updatedAt: string | null;
24
+ deletedAt: string | null;
25
+ }
26
+ export declare enum UserRole {
27
+ Admin = "Admin",
28
+ User = "User"
29
+ }
30
+ export interface PaginatedResponse<T> {
31
+ data: T[];
32
+ page: number;
33
+ size: number;
34
+ total: number;
35
+ totalPages: number;
36
+ }
37
+ export interface ProblemDetails {
38
+ type?: string;
39
+ title?: string;
40
+ status?: number;
41
+ detail?: string;
42
+ instance?: string;
43
+ errors?: {
44
+ [key: string]: string[];
45
+ };
46
+ }
47
+ export interface ApiClientOptions {
48
+ baseURL?: string;
49
+ token?: string;
50
+ }
51
+ export interface ListQueryParams {
52
+ _page?: number;
53
+ _size?: number;
54
+ _order?: string;
55
+ [key: string]: any;
56
+ }
57
+ export interface PromptResponse {
58
+ id: number;
59
+ name: string | null;
60
+ shortDescription: string | null;
61
+ temperature: number;
62
+ customerId: number | null;
63
+ channelId: number;
64
+ createdAt: string;
65
+ updatedAt: string | null;
66
+ }
67
+ //# sourceMappingURL=api-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-types.d.ts","sourceRoot":"","sources":["../../src/types/api-types.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,oBAAY,QAAQ;IAClB,KAAK,UAAU;IACf,IAAI,SAAS;CACd;AAGD,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAC;CACtC;AAGD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAGD,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ // Core API Response Types
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.UserRole = void 0;
5
+ var UserRole;
6
+ (function (UserRole) {
7
+ UserRole["Admin"] = "Admin";
8
+ UserRole["User"] = "User";
9
+ })(UserRole || (exports.UserRole = UserRole = {}));
10
+ //# sourceMappingURL=api-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-types.js","sourceRoot":"","sources":["../../src/types/api-types.ts"],"names":[],"mappings":";AAAA,0BAA0B;;;AA+B1B,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,2BAAe,CAAA;IACf,yBAAa,CAAA;AACf,CAAC,EAHW,QAAQ,wBAAR,QAAQ,QAGnB"}