episoda 0.2.5 → 0.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +2 -8
- package/dist/index.js +3735 -82
- package/dist/index.js.map +1 -1
- package/package.json +5 -4
- package/dist/commands/auth.d.ts +0 -22
- package/dist/commands/auth.d.ts.map +0 -1
- package/dist/commands/auth.js +0 -384
- package/dist/commands/auth.js.map +0 -1
- package/dist/commands/dev.d.ts +0 -20
- package/dist/commands/dev.d.ts.map +0 -1
- package/dist/commands/dev.js +0 -305
- package/dist/commands/dev.js.map +0 -1
- package/dist/commands/status.d.ts +0 -13
- package/dist/commands/status.d.ts.map +0 -1
- package/dist/commands/status.js +0 -102
- package/dist/commands/status.js.map +0 -1
- package/dist/commands/stop.d.ts +0 -17
- package/dist/commands/stop.d.ts.map +0 -1
- package/dist/commands/stop.js +0 -81
- package/dist/commands/stop.js.map +0 -1
- package/dist/daemon/daemon-manager.d.ts +0 -71
- package/dist/daemon/daemon-manager.d.ts.map +0 -1
- package/dist/daemon/daemon-manager.js +0 -289
- package/dist/daemon/daemon-manager.js.map +0 -1
- package/dist/daemon/daemon-process.d.ts +0 -13
- package/dist/daemon/daemon-process.d.ts.map +0 -1
- package/dist/daemon/daemon-process.js +0 -662
- package/dist/daemon/daemon-process.js.map +0 -1
- package/dist/daemon/identity-server.d.ts +0 -51
- package/dist/daemon/identity-server.d.ts.map +0 -1
- package/dist/daemon/identity-server.js +0 -162
- package/dist/daemon/identity-server.js.map +0 -1
- package/dist/daemon/machine-id.d.ts +0 -36
- package/dist/daemon/machine-id.d.ts.map +0 -1
- package/dist/daemon/machine-id.js +0 -195
- package/dist/daemon/machine-id.js.map +0 -1
- package/dist/daemon/project-tracker.d.ts +0 -92
- package/dist/daemon/project-tracker.d.ts.map +0 -1
- package/dist/daemon/project-tracker.js +0 -259
- package/dist/daemon/project-tracker.js.map +0 -1
- package/dist/dev-wrapper.d.ts +0 -88
- package/dist/dev-wrapper.d.ts.map +0 -1
- package/dist/dev-wrapper.js +0 -288
- package/dist/dev-wrapper.js.map +0 -1
- package/dist/framework-detector.d.ts +0 -29
- package/dist/framework-detector.d.ts.map +0 -1
- package/dist/framework-detector.js +0 -276
- package/dist/framework-detector.js.map +0 -1
- package/dist/git-helpers/git-credential-helper.d.ts +0 -29
- package/dist/git-helpers/git-credential-helper.d.ts.map +0 -1
- package/dist/git-helpers/git-credential-helper.js +0 -349
- package/dist/git-helpers/git-credential-helper.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/ipc/ipc-client.d.ts +0 -116
- package/dist/ipc/ipc-client.d.ts.map +0 -1
- package/dist/ipc/ipc-client.js +0 -216
- package/dist/ipc/ipc-client.js.map +0 -1
- package/dist/ipc/ipc-server.d.ts +0 -55
- package/dist/ipc/ipc-server.d.ts.map +0 -1
- package/dist/ipc/ipc-server.js +0 -177
- package/dist/ipc/ipc-server.js.map +0 -1
- package/dist/output.d.ts +0 -48
- package/dist/output.d.ts.map +0 -1
- package/dist/output.js +0 -129
- package/dist/output.js.map +0 -1
- package/dist/utils/port-check.d.ts +0 -15
- package/dist/utils/port-check.d.ts.map +0 -1
- package/dist/utils/port-check.js +0 -79
- package/dist/utils/port-check.js.map +0 -1
- package/dist/utils/update-checker.d.ts +0 -23
- package/dist/utils/update-checker.d.ts.map +0 -1
- package/dist/utils/update-checker.js +0 -95
- package/dist/utils/update-checker.js.map +0 -1
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Framework Detection
|
|
3
|
-
*
|
|
4
|
-
* Detects the framework/stack based on project files and suggests
|
|
5
|
-
* appropriate dev server command.
|
|
6
|
-
*/
|
|
7
|
-
export interface FrameworkDetection {
|
|
8
|
-
framework: string;
|
|
9
|
-
command: string[];
|
|
10
|
-
confidence: 'high' | 'medium' | 'low';
|
|
11
|
-
detectedFrom: string;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Detect framework from project files
|
|
15
|
-
* @param cwd - Working directory to search (defaults to process.cwd())
|
|
16
|
-
* @returns Detection result or null if no framework detected
|
|
17
|
-
*/
|
|
18
|
-
export declare function detectFramework(cwd?: string): Promise<FrameworkDetection | null>;
|
|
19
|
-
/**
|
|
20
|
-
* Suggest command based on user-provided command or auto-detection
|
|
21
|
-
* @param providedCommand - Command provided by user (e.g., ["npm", "run", "dev"])
|
|
22
|
-
* @param cwd - Working directory
|
|
23
|
-
* @returns Final command to use
|
|
24
|
-
*/
|
|
25
|
-
export declare function resolveDevCommand(providedCommand: string[] | null, cwd?: string): Promise<{
|
|
26
|
-
command: string[];
|
|
27
|
-
detection: FrameworkDetection | null;
|
|
28
|
-
}>;
|
|
29
|
-
//# sourceMappingURL=framework-detector.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"framework-detector.d.ts","sourceRoot":"","sources":["../src/framework-detector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAA;IACrC,YAAY,EAAE,MAAM,CAAA;CACrB;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAqNrG;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,eAAe,EAAE,MAAM,EAAE,GAAG,IAAI,EAChC,GAAG,GAAE,MAAsB,GAC1B,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI,CAAA;CAAE,CAAC,CAsBtE"}
|
|
@@ -1,276 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Framework Detection
|
|
4
|
-
*
|
|
5
|
-
* Detects the framework/stack based on project files and suggests
|
|
6
|
-
* appropriate dev server command.
|
|
7
|
-
*/
|
|
8
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
-
if (k2 === undefined) k2 = k;
|
|
10
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
-
}
|
|
14
|
-
Object.defineProperty(o, k2, desc);
|
|
15
|
-
}) : (function(o, m, k, k2) {
|
|
16
|
-
if (k2 === undefined) k2 = k;
|
|
17
|
-
o[k2] = m[k];
|
|
18
|
-
}));
|
|
19
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
20
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
21
|
-
}) : function(o, v) {
|
|
22
|
-
o["default"] = v;
|
|
23
|
-
});
|
|
24
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
-
var ownKeys = function(o) {
|
|
26
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
-
var ar = [];
|
|
28
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
-
return ar;
|
|
30
|
-
};
|
|
31
|
-
return ownKeys(o);
|
|
32
|
-
};
|
|
33
|
-
return function (mod) {
|
|
34
|
-
if (mod && mod.__esModule) return mod;
|
|
35
|
-
var result = {};
|
|
36
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
-
__setModuleDefault(result, mod);
|
|
38
|
-
return result;
|
|
39
|
-
};
|
|
40
|
-
})();
|
|
41
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
-
exports.detectFramework = detectFramework;
|
|
43
|
-
exports.resolveDevCommand = resolveDevCommand;
|
|
44
|
-
const fs = __importStar(require("fs"));
|
|
45
|
-
const path = __importStar(require("path"));
|
|
46
|
-
/**
|
|
47
|
-
* Detect framework from project files
|
|
48
|
-
* @param cwd - Working directory to search (defaults to process.cwd())
|
|
49
|
-
* @returns Detection result or null if no framework detected
|
|
50
|
-
*/
|
|
51
|
-
async function detectFramework(cwd = process.cwd()) {
|
|
52
|
-
// Check for package.json (Node.js projects)
|
|
53
|
-
const packageJsonPath = path.join(cwd, 'package.json');
|
|
54
|
-
if (fs.existsSync(packageJsonPath)) {
|
|
55
|
-
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
|
|
56
|
-
// Check scripts first
|
|
57
|
-
const scripts = packageJson.scripts || {};
|
|
58
|
-
// Next.js detection
|
|
59
|
-
if (packageJson.dependencies?.next || packageJson.devDependencies?.next) {
|
|
60
|
-
if (scripts.dev) {
|
|
61
|
-
return {
|
|
62
|
-
framework: 'Next.js',
|
|
63
|
-
command: ['npm', 'run', 'dev'],
|
|
64
|
-
confidence: 'high',
|
|
65
|
-
detectedFrom: 'package.json (next dependency + dev script)'
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
return {
|
|
69
|
-
framework: 'Next.js',
|
|
70
|
-
command: ['npx', 'next', 'dev'],
|
|
71
|
-
confidence: 'medium',
|
|
72
|
-
detectedFrom: 'package.json (next dependency)'
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
// React (Create React App, Vite, etc.)
|
|
76
|
-
if (packageJson.dependencies?.react || packageJson.devDependencies?.react) {
|
|
77
|
-
if (scripts.dev) {
|
|
78
|
-
return {
|
|
79
|
-
framework: 'React',
|
|
80
|
-
command: ['npm', 'run', 'dev'],
|
|
81
|
-
confidence: 'high',
|
|
82
|
-
detectedFrom: 'package.json (react + dev script)'
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
if (scripts.start) {
|
|
86
|
-
return {
|
|
87
|
-
framework: 'React',
|
|
88
|
-
command: ['npm', 'start'],
|
|
89
|
-
confidence: 'high',
|
|
90
|
-
detectedFrom: 'package.json (react + start script)'
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
// Express
|
|
95
|
-
if (packageJson.dependencies?.express) {
|
|
96
|
-
if (scripts.dev) {
|
|
97
|
-
return {
|
|
98
|
-
framework: 'Express',
|
|
99
|
-
command: ['npm', 'run', 'dev'],
|
|
100
|
-
confidence: 'high',
|
|
101
|
-
detectedFrom: 'package.json (express + dev script)'
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
if (scripts.start) {
|
|
105
|
-
return {
|
|
106
|
-
framework: 'Express',
|
|
107
|
-
command: ['npm', 'start'],
|
|
108
|
-
confidence: 'medium',
|
|
109
|
-
detectedFrom: 'package.json (express + start script)'
|
|
110
|
-
};
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
// Vue
|
|
114
|
-
if (packageJson.dependencies?.vue || packageJson.devDependencies?.vue) {
|
|
115
|
-
if (scripts.dev) {
|
|
116
|
-
return {
|
|
117
|
-
framework: 'Vue',
|
|
118
|
-
command: ['npm', 'run', 'dev'],
|
|
119
|
-
confidence: 'high',
|
|
120
|
-
detectedFrom: 'package.json (vue + dev script)'
|
|
121
|
-
};
|
|
122
|
-
}
|
|
123
|
-
if (scripts.serve) {
|
|
124
|
-
return {
|
|
125
|
-
framework: 'Vue',
|
|
126
|
-
command: ['npm', 'run', 'serve'],
|
|
127
|
-
confidence: 'high',
|
|
128
|
-
detectedFrom: 'package.json (vue + serve script)'
|
|
129
|
-
};
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
// Generic Node.js (fallback)
|
|
133
|
-
if (scripts.dev) {
|
|
134
|
-
return {
|
|
135
|
-
framework: 'Node.js',
|
|
136
|
-
command: ['npm', 'run', 'dev'],
|
|
137
|
-
confidence: 'medium',
|
|
138
|
-
detectedFrom: 'package.json (dev script)'
|
|
139
|
-
};
|
|
140
|
-
}
|
|
141
|
-
if (scripts.start) {
|
|
142
|
-
return {
|
|
143
|
-
framework: 'Node.js',
|
|
144
|
-
command: ['npm', 'start'],
|
|
145
|
-
confidence: 'low',
|
|
146
|
-
detectedFrom: 'package.json (start script)'
|
|
147
|
-
};
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
// Check for requirements.txt (Python projects)
|
|
151
|
-
const requirementsPath = path.join(cwd, 'requirements.txt');
|
|
152
|
-
if (fs.existsSync(requirementsPath)) {
|
|
153
|
-
const requirements = fs.readFileSync(requirementsPath, 'utf-8');
|
|
154
|
-
// Django
|
|
155
|
-
if (requirements.includes('Django') || requirements.includes('django')) {
|
|
156
|
-
const managePy = path.join(cwd, 'manage.py');
|
|
157
|
-
if (fs.existsSync(managePy)) {
|
|
158
|
-
return {
|
|
159
|
-
framework: 'Django',
|
|
160
|
-
command: ['python', 'manage.py', 'runserver'],
|
|
161
|
-
confidence: 'high',
|
|
162
|
-
detectedFrom: 'requirements.txt (Django) + manage.py'
|
|
163
|
-
};
|
|
164
|
-
}
|
|
165
|
-
return {
|
|
166
|
-
framework: 'Django',
|
|
167
|
-
command: ['python', 'manage.py', 'runserver'],
|
|
168
|
-
confidence: 'medium',
|
|
169
|
-
detectedFrom: 'requirements.txt (Django)'
|
|
170
|
-
};
|
|
171
|
-
}
|
|
172
|
-
// Flask
|
|
173
|
-
if (requirements.includes('Flask') || requirements.includes('flask')) {
|
|
174
|
-
// Look for common Flask app files
|
|
175
|
-
const appFiles = ['app.py', 'application.py', 'wsgi.py'];
|
|
176
|
-
for (const file of appFiles) {
|
|
177
|
-
if (fs.existsSync(path.join(cwd, file))) {
|
|
178
|
-
return {
|
|
179
|
-
framework: 'Flask',
|
|
180
|
-
command: ['flask', 'run'],
|
|
181
|
-
confidence: 'high',
|
|
182
|
-
detectedFrom: `requirements.txt (Flask) + ${file}`
|
|
183
|
-
};
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
return {
|
|
187
|
-
framework: 'Flask',
|
|
188
|
-
command: ['flask', 'run'],
|
|
189
|
-
confidence: 'medium',
|
|
190
|
-
detectedFrom: 'requirements.txt (Flask)'
|
|
191
|
-
};
|
|
192
|
-
}
|
|
193
|
-
// FastAPI / Uvicorn
|
|
194
|
-
if (requirements.includes('fastapi') || requirements.includes('uvicorn')) {
|
|
195
|
-
return {
|
|
196
|
-
framework: 'FastAPI',
|
|
197
|
-
command: ['uvicorn', 'main:app', '--reload'],
|
|
198
|
-
confidence: 'medium',
|
|
199
|
-
detectedFrom: 'requirements.txt (fastapi/uvicorn)'
|
|
200
|
-
};
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
// Check for Gemfile (Ruby projects)
|
|
204
|
-
const gemfilePath = path.join(cwd, 'Gemfile');
|
|
205
|
-
if (fs.existsSync(gemfilePath)) {
|
|
206
|
-
const gemfile = fs.readFileSync(gemfilePath, 'utf-8');
|
|
207
|
-
// Rails
|
|
208
|
-
if (gemfile.includes('rails')) {
|
|
209
|
-
return {
|
|
210
|
-
framework: 'Rails',
|
|
211
|
-
command: ['rails', 'server'],
|
|
212
|
-
confidence: 'high',
|
|
213
|
-
detectedFrom: 'Gemfile (rails)'
|
|
214
|
-
};
|
|
215
|
-
}
|
|
216
|
-
// Sinatra
|
|
217
|
-
if (gemfile.includes('sinatra')) {
|
|
218
|
-
return {
|
|
219
|
-
framework: 'Sinatra',
|
|
220
|
-
command: ['ruby', 'app.rb'],
|
|
221
|
-
confidence: 'medium',
|
|
222
|
-
detectedFrom: 'Gemfile (sinatra)'
|
|
223
|
-
};
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
// Check for go.mod (Go projects)
|
|
227
|
-
const goModPath = path.join(cwd, 'go.mod');
|
|
228
|
-
if (fs.existsSync(goModPath)) {
|
|
229
|
-
return {
|
|
230
|
-
framework: 'Go',
|
|
231
|
-
command: ['go', 'run', '.'],
|
|
232
|
-
confidence: 'medium',
|
|
233
|
-
detectedFrom: 'go.mod'
|
|
234
|
-
};
|
|
235
|
-
}
|
|
236
|
-
// Check for Cargo.toml (Rust projects)
|
|
237
|
-
const cargoTomlPath = path.join(cwd, 'Cargo.toml');
|
|
238
|
-
if (fs.existsSync(cargoTomlPath)) {
|
|
239
|
-
return {
|
|
240
|
-
framework: 'Rust',
|
|
241
|
-
command: ['cargo', 'run'],
|
|
242
|
-
confidence: 'medium',
|
|
243
|
-
detectedFrom: 'Cargo.toml'
|
|
244
|
-
};
|
|
245
|
-
}
|
|
246
|
-
// No framework detected
|
|
247
|
-
return null;
|
|
248
|
-
}
|
|
249
|
-
/**
|
|
250
|
-
* Suggest command based on user-provided command or auto-detection
|
|
251
|
-
* @param providedCommand - Command provided by user (e.g., ["npm", "run", "dev"])
|
|
252
|
-
* @param cwd - Working directory
|
|
253
|
-
* @returns Final command to use
|
|
254
|
-
*/
|
|
255
|
-
async function resolveDevCommand(providedCommand, cwd = process.cwd()) {
|
|
256
|
-
// If user provided command, use it as-is
|
|
257
|
-
if (providedCommand && providedCommand.length > 0) {
|
|
258
|
-
return { command: providedCommand, detection: null };
|
|
259
|
-
}
|
|
260
|
-
// Auto-detect framework
|
|
261
|
-
const detection = await detectFramework(cwd);
|
|
262
|
-
if (detection) {
|
|
263
|
-
return { command: detection.command, detection };
|
|
264
|
-
}
|
|
265
|
-
// No detection - default to npm run dev
|
|
266
|
-
return {
|
|
267
|
-
command: ['npm', 'run', 'dev'],
|
|
268
|
-
detection: {
|
|
269
|
-
framework: 'Unknown',
|
|
270
|
-
command: ['npm', 'run', 'dev'],
|
|
271
|
-
confidence: 'low',
|
|
272
|
-
detectedFrom: 'default fallback'
|
|
273
|
-
}
|
|
274
|
-
};
|
|
275
|
-
}
|
|
276
|
-
//# sourceMappingURL=framework-detector.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"framework-detector.js","sourceRoot":"","sources":["../src/framework-detector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* EP548/EP612: Git Credential Helper Script Generator
|
|
3
|
-
*
|
|
4
|
-
* This module generates the git credential helper script that is installed
|
|
5
|
-
* during `episoda auth`. The script is called by git when credentials are needed.
|
|
6
|
-
*
|
|
7
|
-
* The generated script:
|
|
8
|
-
* 1. Detects the environment (local vs cloud)
|
|
9
|
-
* 2. Calls GET /api/git/credentials with appropriate auth
|
|
10
|
-
* 3. Returns credentials in git credential protocol format
|
|
11
|
-
* 4. Caches tokens locally (5 min TTL) to avoid API calls on every git operation
|
|
12
|
-
*
|
|
13
|
-
* EP612: Removed jq dependency - uses pure bash JSON parsing
|
|
14
|
-
*/
|
|
15
|
-
/**
|
|
16
|
-
* Generate the credential helper script content
|
|
17
|
-
*
|
|
18
|
-
* The script needs to:
|
|
19
|
-
* - Be standalone (no external dependencies - just bash and curl)
|
|
20
|
-
* - Work with curl (available on all platforms)
|
|
21
|
-
* - Handle both local (OAuth) and cloud (machine ID) auth
|
|
22
|
-
* - Cache tokens to avoid hitting API on every git operation
|
|
23
|
-
*/
|
|
24
|
-
export declare function generateCredentialHelperScript(apiUrl: string): string;
|
|
25
|
-
/**
|
|
26
|
-
* Get the content of the credential helper for embedding in the CLI
|
|
27
|
-
*/
|
|
28
|
-
export declare const CREDENTIAL_HELPER_SCRIPT: string;
|
|
29
|
-
//# sourceMappingURL=git-credential-helper.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"git-credential-helper.d.ts","sourceRoot":"","sources":["../../src/git-helpers/git-credential-helper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;GAQG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CA4TrE;AAED;;GAEG;AACH,eAAO,MAAM,wBAAwB,QAAwD,CAAA"}
|