embark-cli 1.2.3 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/settings.json +26 -0
- package/.claude/settings.local.json +7 -1
- package/.claude/skills/embark-research/SKILL.md +63 -0
- package/.claude/skills/embark-review/SKILL.md +81 -0
- package/dist/agents/amp.d.ts +5 -0
- package/dist/agents/amp.d.ts.map +1 -0
- package/dist/agents/amp.js +115 -0
- package/dist/agents/amp.js.map +1 -0
- package/dist/agents/claude.d.ts +5 -0
- package/dist/agents/claude.d.ts.map +1 -0
- package/dist/agents/claude.js +179 -0
- package/dist/agents/claude.js.map +1 -0
- package/dist/agents/codex.d.ts +5 -0
- package/dist/agents/codex.d.ts.map +1 -0
- package/dist/agents/codex.js +115 -0
- package/dist/agents/codex.js.map +1 -0
- package/dist/agents/gemini.d.ts +5 -0
- package/dist/agents/gemini.d.ts.map +1 -0
- package/dist/agents/gemini.js +115 -0
- package/dist/agents/gemini.js.map +1 -0
- package/dist/agents/index.d.ts +27 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +90 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/cli-history.d.ts +2 -0
- package/dist/cli-history.d.ts.map +1 -0
- package/dist/cli-history.js +101 -0
- package/dist/cli-history.js.map +1 -0
- package/dist/cli-index.d.ts.map +1 -1
- package/dist/cli-index.js +9 -2
- package/dist/cli-index.js.map +1 -1
- package/dist/cli-install.d.ts +2 -0
- package/dist/cli-install.d.ts.map +1 -0
- package/dist/cli-install.js +205 -0
- package/dist/cli-install.js.map +1 -0
- package/dist/cli-search.js +2 -2
- package/dist/cli-search.js.map +1 -1
- package/dist/cli-utils.d.ts +26 -0
- package/dist/cli-utils.d.ts.map +1 -1
- package/dist/cli-utils.js +270 -1
- package/dist/cli-utils.js.map +1 -1
- package/dist/embark-client.d.ts +14 -0
- package/dist/embark-client.d.ts.map +1 -1
- package/dist/embark-client.js +115 -0
- package/dist/embark-client.js.map +1 -1
- package/dist/git-utils.d.ts +7 -1
- package/dist/git-utils.d.ts.map +1 -1
- package/dist/git-utils.js +88 -1
- package/dist/git-utils.js.map +1 -1
- package/dist/handlers.d.ts +1 -0
- package/dist/handlers.d.ts.map +1 -1
- package/dist/index.js +20 -1
- package/dist/index.js.map +1 -1
- package/dist/skills/index.d.ts +3 -0
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/skills/index.js +150 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/stats-server.d.ts.map +1 -1
- package/dist/stats-server.js +4 -0
- package/dist/stats-server.js.map +1 -1
- package/dist/stats.d.ts +2 -2
- package/dist/stats.d.ts.map +1 -1
- package/package.json +1 -1
- package/test/cli-utils.test.js +102 -0
|
@@ -0,0 +1,115 @@
|
|
|
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.detectGemini = detectGemini;
|
|
37
|
+
exports.checkGeminiInstalled = checkGeminiInstalled;
|
|
38
|
+
exports.installGemini = installGemini;
|
|
39
|
+
const os = __importStar(require("os"));
|
|
40
|
+
const path = __importStar(require("path"));
|
|
41
|
+
const fs = __importStar(require("fs"));
|
|
42
|
+
const index_js_1 = require("../skills/index.js");
|
|
43
|
+
function detectGemini() {
|
|
44
|
+
const homeDir = os.homedir();
|
|
45
|
+
const globalConfigPath = path.join(homeDir, '.gemini');
|
|
46
|
+
const cwd = process.cwd();
|
|
47
|
+
const projectConfigPath = path.join(cwd, '.gemini');
|
|
48
|
+
if (!fs.existsSync(globalConfigPath)) {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
return {
|
|
52
|
+
type: 'gemini',
|
|
53
|
+
globalConfigPath,
|
|
54
|
+
projectConfigPath: fs.existsSync(projectConfigPath) ? projectConfigPath : null,
|
|
55
|
+
isInstalled: false,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
function checkGeminiInstalled(configPath) {
|
|
59
|
+
const skillsPath = path.join(configPath, 'skills');
|
|
60
|
+
const hasResearchSkill = fs.existsSync(path.join(skillsPath, 'embark-research', 'SKILL.md'));
|
|
61
|
+
const hasReviewSkill = fs.existsSync(path.join(skillsPath, 'embark-review', 'SKILL.md'));
|
|
62
|
+
return hasResearchSkill || hasReviewSkill;
|
|
63
|
+
}
|
|
64
|
+
async function installGemini(options) {
|
|
65
|
+
const homeDir = os.homedir();
|
|
66
|
+
const cwd = process.cwd();
|
|
67
|
+
const configPath = options.scope === 'project'
|
|
68
|
+
? path.join(cwd, '.gemini')
|
|
69
|
+
: path.join(homeDir, '.gemini');
|
|
70
|
+
const result = {
|
|
71
|
+
agent: 'gemini',
|
|
72
|
+
success: true,
|
|
73
|
+
message: '',
|
|
74
|
+
skillsInstalled: [],
|
|
75
|
+
hooksInstalled: [],
|
|
76
|
+
};
|
|
77
|
+
const messages = [];
|
|
78
|
+
// Create config directory if it doesn't exist
|
|
79
|
+
if (!fs.existsSync(configPath)) {
|
|
80
|
+
fs.mkdirSync(configPath, { recursive: true });
|
|
81
|
+
}
|
|
82
|
+
// Install skills
|
|
83
|
+
if (!options.hooksOnly) {
|
|
84
|
+
const skillsPath = path.join(configPath, 'skills');
|
|
85
|
+
// Install embark-research skill
|
|
86
|
+
const researchSkillPath = path.join(skillsPath, 'embark-research');
|
|
87
|
+
const researchFilePath = path.join(researchSkillPath, 'SKILL.md');
|
|
88
|
+
if (!fs.existsSync(researchFilePath)) {
|
|
89
|
+
fs.mkdirSync(researchSkillPath, { recursive: true });
|
|
90
|
+
fs.writeFileSync(researchFilePath, index_js_1.EMBARK_RESEARCH_SKILL, 'utf-8');
|
|
91
|
+
result.skillsInstalled.push('embark-research');
|
|
92
|
+
}
|
|
93
|
+
// Install embark-review skill
|
|
94
|
+
const reviewSkillPath = path.join(skillsPath, 'embark-review');
|
|
95
|
+
const reviewFilePath = path.join(reviewSkillPath, 'SKILL.md');
|
|
96
|
+
if (!fs.existsSync(reviewFilePath)) {
|
|
97
|
+
fs.mkdirSync(reviewSkillPath, { recursive: true });
|
|
98
|
+
fs.writeFileSync(reviewFilePath, index_js_1.EMBARK_REVIEW_SKILL, 'utf-8');
|
|
99
|
+
result.skillsInstalled.push('embark-review');
|
|
100
|
+
}
|
|
101
|
+
if (result.skillsInstalled.length > 0) {
|
|
102
|
+
messages.push(`Installed skills: ${result.skillsInstalled.join(', ')}`);
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
messages.push('Skills already installed');
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
// Note: Gemini Code Assist doesn't have CLI hooks
|
|
109
|
+
if (!options.skillsOnly) {
|
|
110
|
+
messages.push('Gemini does not support CLI hooks');
|
|
111
|
+
}
|
|
112
|
+
result.message = messages.join('. ');
|
|
113
|
+
return result;
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=gemini.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/agents/gemini.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { AgentName, InstallScope } from '../cli-utils.js';
|
|
2
|
+
export interface DetectedAgent {
|
|
3
|
+
type: AgentName;
|
|
4
|
+
globalConfigPath: string;
|
|
5
|
+
projectConfigPath: string | null;
|
|
6
|
+
isInstalled: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface InstallOptions {
|
|
9
|
+
scope: InstallScope;
|
|
10
|
+
skillsOnly: boolean;
|
|
11
|
+
hooksOnly: boolean;
|
|
12
|
+
}
|
|
13
|
+
export interface InstallResult {
|
|
14
|
+
agent: AgentName;
|
|
15
|
+
success: boolean;
|
|
16
|
+
message: string;
|
|
17
|
+
skillsInstalled: string[];
|
|
18
|
+
hooksInstalled: string[];
|
|
19
|
+
}
|
|
20
|
+
export interface AgentInstaller {
|
|
21
|
+
detect(): DetectedAgent | null;
|
|
22
|
+
checkInstalled(configPath: string): boolean;
|
|
23
|
+
install(options: InstallOptions): Promise<InstallResult>;
|
|
24
|
+
}
|
|
25
|
+
export declare function detectAgents(): DetectedAgent[];
|
|
26
|
+
export declare function getConfigPath(agent: DetectedAgent, scope: InstallScope): string;
|
|
27
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/D,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,SAAS,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,YAAY,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,IAAI,aAAa,GAAG,IAAI,CAAC;IAC/B,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5C,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CAC1D;AAED,wBAAgB,YAAY,IAAI,aAAa,EAAE,CA+C9C;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,GAAG,MAAM,CAK/E"}
|
|
@@ -0,0 +1,90 @@
|
|
|
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.detectAgents = detectAgents;
|
|
37
|
+
exports.getConfigPath = getConfigPath;
|
|
38
|
+
const os = __importStar(require("os"));
|
|
39
|
+
const path = __importStar(require("path"));
|
|
40
|
+
const fs = __importStar(require("fs"));
|
|
41
|
+
function detectAgents() {
|
|
42
|
+
const agents = [];
|
|
43
|
+
const homeDir = os.homedir();
|
|
44
|
+
const cwd = process.cwd();
|
|
45
|
+
// Import installers lazily to avoid circular dependencies
|
|
46
|
+
const claudeConfigPath = path.join(homeDir, '.claude');
|
|
47
|
+
if (fs.existsSync(claudeConfigPath)) {
|
|
48
|
+
agents.push({
|
|
49
|
+
type: 'claude',
|
|
50
|
+
globalConfigPath: claudeConfigPath,
|
|
51
|
+
projectConfigPath: fs.existsSync(path.join(cwd, '.claude')) ? path.join(cwd, '.claude') : null,
|
|
52
|
+
isInstalled: false,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
const codexConfigPath = path.join(homeDir, '.codex');
|
|
56
|
+
if (fs.existsSync(codexConfigPath)) {
|
|
57
|
+
agents.push({
|
|
58
|
+
type: 'codex',
|
|
59
|
+
globalConfigPath: codexConfigPath,
|
|
60
|
+
projectConfigPath: fs.existsSync(path.join(cwd, '.codex')) ? path.join(cwd, '.codex') : null,
|
|
61
|
+
isInstalled: false,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
const ampConfigPath = path.join(homeDir, '.amp');
|
|
65
|
+
if (fs.existsSync(ampConfigPath)) {
|
|
66
|
+
agents.push({
|
|
67
|
+
type: 'amp',
|
|
68
|
+
globalConfigPath: ampConfigPath,
|
|
69
|
+
projectConfigPath: fs.existsSync(path.join(cwd, '.amp')) ? path.join(cwd, '.amp') : null,
|
|
70
|
+
isInstalled: false,
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
const geminiConfigPath = path.join(homeDir, '.gemini');
|
|
74
|
+
if (fs.existsSync(geminiConfigPath)) {
|
|
75
|
+
agents.push({
|
|
76
|
+
type: 'gemini',
|
|
77
|
+
globalConfigPath: geminiConfigPath,
|
|
78
|
+
projectConfigPath: fs.existsSync(path.join(cwd, '.gemini')) ? path.join(cwd, '.gemini') : null,
|
|
79
|
+
isInstalled: false,
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
return agents;
|
|
83
|
+
}
|
|
84
|
+
function getConfigPath(agent, scope) {
|
|
85
|
+
if (scope === 'project' && agent.projectConfigPath) {
|
|
86
|
+
return agent.projectConfigPath;
|
|
87
|
+
}
|
|
88
|
+
return agent.globalConfigPath;
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-history.d.ts","sourceRoot":"","sources":["../src/cli-history.ts"],"names":[],"mappings":"AAoEA,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,iBAkE9C"}
|
|
@@ -0,0 +1,101 @@
|
|
|
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.runHistory = runHistory;
|
|
7
|
+
const package_json_1 = __importDefault(require("../package.json"));
|
|
8
|
+
const config_js_1 = require("./config.js");
|
|
9
|
+
const logger_js_1 = require("./logger.js");
|
|
10
|
+
const embark_client_js_1 = require("./embark-client.js");
|
|
11
|
+
const git_utils_js_1 = require("./git-utils.js");
|
|
12
|
+
const cli_utils_js_1 = require("./cli-utils.js");
|
|
13
|
+
function resolveRepositoryUrl(requestedUrl, configRepoUrl, configWorkingDir) {
|
|
14
|
+
const cwd = process.cwd();
|
|
15
|
+
if (requestedUrl) {
|
|
16
|
+
return requestedUrl;
|
|
17
|
+
}
|
|
18
|
+
if ((0, git_utils_js_1.isGitRepository)(cwd)) {
|
|
19
|
+
const url = (0, git_utils_js_1.getGitRemoteUrlCached)(cwd);
|
|
20
|
+
if (url) {
|
|
21
|
+
return url;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
if (configWorkingDir && (0, git_utils_js_1.isGitRepository)(configWorkingDir)) {
|
|
25
|
+
const url = (0, git_utils_js_1.getGitRemoteUrlCached)(configWorkingDir);
|
|
26
|
+
if (url) {
|
|
27
|
+
return url;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
if (configRepoUrl) {
|
|
31
|
+
return configRepoUrl;
|
|
32
|
+
}
|
|
33
|
+
throw new Error('No repository available for history search. Run from a Git repository or set REPOSITORY_GIT_REMOTE_URL.');
|
|
34
|
+
}
|
|
35
|
+
function formatTimestamp(timestamp) {
|
|
36
|
+
if (timestamp === null) {
|
|
37
|
+
return '';
|
|
38
|
+
}
|
|
39
|
+
const date = new Date(timestamp * 1000);
|
|
40
|
+
return date.toISOString().replace('T', ' ').replace(/\.\d{3}Z$/, '');
|
|
41
|
+
}
|
|
42
|
+
function formatCommitResult(commit, index) {
|
|
43
|
+
const parts = [`${index + 1}. ${commit.revision.substring(0, 12)}`];
|
|
44
|
+
if (commit.timestamp !== null) {
|
|
45
|
+
parts.push(`(${formatTimestamp(commit.timestamp)})`);
|
|
46
|
+
}
|
|
47
|
+
parts.push(`score=${commit.score.toFixed(3)}`);
|
|
48
|
+
if (commit.paths.length > 0) {
|
|
49
|
+
const pathsPreview = commit.paths.length <= 3
|
|
50
|
+
? commit.paths.join(', ')
|
|
51
|
+
: `${commit.paths.slice(0, 3).join(', ')} (+${commit.paths.length - 3} more)`;
|
|
52
|
+
parts.push(`files: ${pathsPreview}`);
|
|
53
|
+
}
|
|
54
|
+
return parts.join(' ');
|
|
55
|
+
}
|
|
56
|
+
async function runHistory(argv) {
|
|
57
|
+
const parsed = (0, cli_utils_js_1.parseHistoryArgs)(argv);
|
|
58
|
+
if (parsed.showHelp) {
|
|
59
|
+
console.log(cli_utils_js_1.HISTORY_USAGE);
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
if (parsed.error) {
|
|
63
|
+
console.error(`Error: ${parsed.error}\n\n${cli_utils_js_1.HISTORY_USAGE}`);
|
|
64
|
+
process.exitCode = 1;
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
const config = (0, config_js_1.loadConfig)();
|
|
68
|
+
const repositoryGitRemoteUrl = resolveRepositoryUrl(parsed.repositoryGitRemoteUrl, config.repositoryGitRemoteUrl, config.workingDir);
|
|
69
|
+
const revision = parsed.revision || config.repositoryRevision;
|
|
70
|
+
try {
|
|
71
|
+
const { commits } = await (0, embark_client_js_1.searchCommits)(parsed.query, repositoryGitRemoteUrl, revision, parsed.maxResults, parsed.minScore, config, package_json_1.default);
|
|
72
|
+
if (parsed.format === 'json') {
|
|
73
|
+
console.log(JSON.stringify({ query: parsed.query, commits }, null, 2));
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
if (commits.length === 0) {
|
|
77
|
+
console.error(`No commits found for "${parsed.query}"`);
|
|
78
|
+
process.exitCode = 1;
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
console.log(`Found ${commits.length} commits for "${parsed.query}":\n`);
|
|
82
|
+
commits.forEach((commit, index) => {
|
|
83
|
+
console.log(formatCommitResult(commit, index));
|
|
84
|
+
});
|
|
85
|
+
(0, logger_js_1.logToFile)('info', 'CLI history search completed', {
|
|
86
|
+
query: parsed.query,
|
|
87
|
+
resultCount: commits.length,
|
|
88
|
+
repositoryGitRemoteUrl,
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
(0, logger_js_1.logToFile)('error', 'CLI history search failed', {
|
|
93
|
+
query: parsed.query,
|
|
94
|
+
repositoryGitRemoteUrl,
|
|
95
|
+
error: error instanceof Error ? error.message : String(error),
|
|
96
|
+
});
|
|
97
|
+
console.error(`History search failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
98
|
+
process.exitCode = 1;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=cli-history.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-history.js","sourceRoot":"","sources":["../src/cli-history.ts"],"names":[],"mappings":";;;;;AAoEA,gCAkEC;AAtID,mEAAkC;AAClC,2CAAyC;AACzC,2CAAwC;AACxC,yDAAuE;AACvE,iDAAwE;AACxE,iDAAiE;AAEjE,SAAS,oBAAoB,CAC3B,YAA2B,EAC3B,aAA4B,EAC5B,gBAA+B;IAE/B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAE1B,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,IAAI,IAAA,8BAAe,EAAC,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,IAAA,oCAAqB,EAAC,GAAG,CAAC,CAAC;QACvC,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IAED,IAAI,gBAAgB,IAAI,IAAA,8BAAe,EAAC,gBAAgB,CAAC,EAAE,CAAC;QAC1D,MAAM,GAAG,GAAG,IAAA,oCAAqB,EAAC,gBAAgB,CAAC,CAAC;QACpD,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IAED,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,MAAM,IAAI,KAAK,CACb,yGAAyG,CAC1G,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,SAAwB;IAC/C,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IACxC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,kBAAkB,CAAC,MAA0B,EAAE,KAAa;IACnE,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAEpE,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAE/C,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC;YAC3C,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;YACzB,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC;QAChF,KAAK,CAAC,IAAI,CAAC,UAAU,YAAY,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAEM,KAAK,UAAU,UAAU,CAAC,IAAc;IAC7C,MAAM,MAAM,GAAG,IAAA,+BAAgB,EAAC,IAAI,CAAC,CAAC;IAEtC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,4BAAa,CAAC,CAAC;QAC3B,OAAO;IACT,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,UAAU,MAAM,CAAC,KAAK,OAAO,4BAAa,EAAE,CAAC,CAAC;QAC5D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,sBAAU,GAAE,CAAC;IAC5B,MAAM,sBAAsB,GAAG,oBAAoB,CACjD,MAAM,CAAC,sBAAsB,EAC7B,MAAM,CAAC,sBAAsB,EAC7B,MAAM,CAAC,UAAU,CAClB,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,kBAAkB,CAAC;IAE9D,IAAI,CAAC;QACH,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,gCAAa,EACrC,MAAM,CAAC,KAAe,EACtB,sBAAsB,EACtB,QAAQ,EACR,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,QAAQ,EACf,MAAM,EACN,sBAAG,CACJ,CAAC;QAEF,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,yBAAyB,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;YACxD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,SAAS,OAAO,CAAC,MAAM,iBAAiB,MAAM,CAAC,KAAK,MAAM,CAAC,CAAC;QACxE,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YAChC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,IAAA,qBAAS,EAAC,MAAM,EAAE,8BAA8B,EAAE;YAChD,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,WAAW,EAAE,OAAO,CAAC,MAAM;YAC3B,sBAAsB;SACvB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAA,qBAAS,EAAC,OAAO,EAAE,2BAA2B,EAAE;YAC9C,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,sBAAsB;YACtB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;QACH,OAAO,CAAC,KAAK,CACX,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACnF,CAAC;QACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}
|
package/dist/cli-index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-index.d.ts","sourceRoot":"","sources":["../src/cli-index.ts"],"names":[],"mappings":"AA2MA,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"cli-index.d.ts","sourceRoot":"","sources":["../src/cli-index.ts"],"names":[],"mappings":"AA2MA,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,iBAiG5C"}
|
package/dist/cli-index.js
CHANGED
|
@@ -148,13 +148,13 @@ function resolveRepositoryUrl(requestedUrl, configRepoUrl, configWorkingDir) {
|
|
|
148
148
|
return requestedUrl;
|
|
149
149
|
}
|
|
150
150
|
if ((0, git_utils_js_1.isGitRepository)(cwd)) {
|
|
151
|
-
const url = (0, git_utils_js_1.
|
|
151
|
+
const url = (0, git_utils_js_1.getGitRemoteUrlCached)(cwd);
|
|
152
152
|
if (url) {
|
|
153
153
|
return url;
|
|
154
154
|
}
|
|
155
155
|
}
|
|
156
156
|
if (configWorkingDir && (0, git_utils_js_1.isGitRepository)(configWorkingDir)) {
|
|
157
|
-
const url = (0, git_utils_js_1.
|
|
157
|
+
const url = (0, git_utils_js_1.getGitRemoteUrlCached)(configWorkingDir);
|
|
158
158
|
if (url) {
|
|
159
159
|
return url;
|
|
160
160
|
}
|
|
@@ -176,6 +176,13 @@ async function runIndex(argv) {
|
|
|
176
176
|
return;
|
|
177
177
|
}
|
|
178
178
|
if (parsed.mode === 'local') {
|
|
179
|
+
if (parsed.mock) {
|
|
180
|
+
const startTime = new Date();
|
|
181
|
+
const endTime = new Date(startTime.getTime() + 60 * 1000);
|
|
182
|
+
console.log(`Mock indexing started at ${startTime.toISOString()}`);
|
|
183
|
+
console.log(`Mock indexing will end at ${endTime.toISOString()}`);
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
179
186
|
console.error('Local indexing is not available yet. Use --remote to schedule indexing via Embark.');
|
|
180
187
|
process.exitCode = 1;
|
|
181
188
|
return;
|
package/dist/cli-index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-index.js","sourceRoot":"","sources":["../src/cli-index.ts"],"names":[],"mappings":";;;;;AA2MA,
|
|
1
|
+
{"version":3,"file":"cli-index.js","sourceRoot":"","sources":["../src/cli-index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-install.d.ts","sourceRoot":"","sources":["../src/cli-install.ts"],"names":[],"mappings":"AA6IA,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA0E9D"}
|
|
@@ -0,0 +1,205 @@
|
|
|
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.runInstall = runInstall;
|
|
37
|
+
const readline = __importStar(require("readline"));
|
|
38
|
+
const logger_js_1 = require("./logger.js");
|
|
39
|
+
const cli_utils_js_1 = require("./cli-utils.js");
|
|
40
|
+
const index_js_1 = require("./agents/index.js");
|
|
41
|
+
const claude_js_1 = require("./agents/claude.js");
|
|
42
|
+
const codex_js_1 = require("./agents/codex.js");
|
|
43
|
+
const amp_js_1 = require("./agents/amp.js");
|
|
44
|
+
const gemini_js_1 = require("./agents/gemini.js");
|
|
45
|
+
function createReadlineInterface() {
|
|
46
|
+
return readline.createInterface({
|
|
47
|
+
input: process.stdin,
|
|
48
|
+
output: process.stdout,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
async function askQuestion(rl, question) {
|
|
52
|
+
return new Promise((resolve) => {
|
|
53
|
+
rl.question(question, (answer) => {
|
|
54
|
+
resolve(answer.trim().toLowerCase());
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
async function installForAgent(agentType, options) {
|
|
59
|
+
switch (agentType) {
|
|
60
|
+
case 'claude':
|
|
61
|
+
return (0, claude_js_1.installClaude)(options);
|
|
62
|
+
case 'codex':
|
|
63
|
+
return (0, codex_js_1.installCodex)(options);
|
|
64
|
+
case 'amp':
|
|
65
|
+
return (0, amp_js_1.installAmp)(options);
|
|
66
|
+
case 'gemini':
|
|
67
|
+
return (0, gemini_js_1.installGemini)(options);
|
|
68
|
+
default:
|
|
69
|
+
return {
|
|
70
|
+
agent: agentType,
|
|
71
|
+
success: false,
|
|
72
|
+
message: `Unknown agent type: ${agentType}`,
|
|
73
|
+
skillsInstalled: [],
|
|
74
|
+
hooksInstalled: [],
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
function checkAgentInstalled(agent) {
|
|
79
|
+
const configPath = agent.globalConfigPath;
|
|
80
|
+
switch (agent.type) {
|
|
81
|
+
case 'claude':
|
|
82
|
+
return (0, claude_js_1.checkClaudeInstalled)(configPath);
|
|
83
|
+
case 'codex':
|
|
84
|
+
return (0, codex_js_1.checkCodexInstalled)(configPath);
|
|
85
|
+
case 'amp':
|
|
86
|
+
return (0, amp_js_1.checkAmpInstalled)(configPath);
|
|
87
|
+
case 'gemini':
|
|
88
|
+
return (0, gemini_js_1.checkGeminiInstalled)(configPath);
|
|
89
|
+
default:
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
async function runInteractiveMode(agents, options) {
|
|
94
|
+
const rl = createReadlineInterface();
|
|
95
|
+
console.log('\nDetected AI coding agents:\n');
|
|
96
|
+
for (const agent of agents) {
|
|
97
|
+
const isInstalled = checkAgentInstalled(agent);
|
|
98
|
+
const status = isInstalled ? ' (Embark already installed)' : '';
|
|
99
|
+
console.log(` - ${agent.type}${status}`);
|
|
100
|
+
}
|
|
101
|
+
console.log('');
|
|
102
|
+
const results = [];
|
|
103
|
+
for (const agent of agents) {
|
|
104
|
+
const isInstalled = checkAgentInstalled(agent);
|
|
105
|
+
if (isInstalled) {
|
|
106
|
+
const answer = await askQuestion(rl, `Embark is already installed for ${agent.type}. Reinstall? [y/N] `);
|
|
107
|
+
if (answer !== 'y' && answer !== 'yes') {
|
|
108
|
+
console.log(`Skipping ${agent.type}`);
|
|
109
|
+
continue;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
const answer = await askQuestion(rl, `Install Embark for ${agent.type}? [Y/n] `);
|
|
114
|
+
if (answer === 'n' || answer === 'no') {
|
|
115
|
+
console.log(`Skipping ${agent.type}`);
|
|
116
|
+
continue;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
try {
|
|
120
|
+
const result = await installForAgent(agent.type, options);
|
|
121
|
+
results.push(result);
|
|
122
|
+
if (result.success) {
|
|
123
|
+
console.log(` Installed for ${agent.type}: ${result.message}`);
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
console.error(` Failed to install for ${agent.type}: ${result.message}`);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
catch (error) {
|
|
130
|
+
console.error(` Error installing for ${agent.type}: ${error instanceof Error ? error.message : String(error)}`);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
rl.close();
|
|
134
|
+
console.log('\nInstallation complete.\n');
|
|
135
|
+
const successCount = results.filter((r) => r.success).length;
|
|
136
|
+
if (successCount > 0) {
|
|
137
|
+
console.log(`Successfully installed Embark for ${successCount} agent(s).`);
|
|
138
|
+
console.log('\nEmbark will run `embark index` on session start and end.');
|
|
139
|
+
console.log('You can also run it manually: embark index');
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
async function runInstall(argv) {
|
|
143
|
+
const parsed = (0, cli_utils_js_1.parseInstallArgs)(argv);
|
|
144
|
+
if (parsed.showHelp) {
|
|
145
|
+
console.log(cli_utils_js_1.INSTALL_USAGE);
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
if (parsed.error) {
|
|
149
|
+
console.error(`Error: ${parsed.error}\n\n${cli_utils_js_1.INSTALL_USAGE}`);
|
|
150
|
+
process.exitCode = 1;
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
const options = {
|
|
154
|
+
scope: parsed.scope,
|
|
155
|
+
skillsOnly: parsed.skillsOnly,
|
|
156
|
+
hooksOnly: parsed.hooksOnly,
|
|
157
|
+
};
|
|
158
|
+
// If specific agent is specified, install for that agent only
|
|
159
|
+
if (parsed.agent) {
|
|
160
|
+
console.log(`Installing Embark for ${parsed.agent}...`);
|
|
161
|
+
try {
|
|
162
|
+
const result = await installForAgent(parsed.agent, options);
|
|
163
|
+
if (result.success) {
|
|
164
|
+
console.log(`Success: ${result.message}`);
|
|
165
|
+
if (result.skillsInstalled.length > 0) {
|
|
166
|
+
console.log(` Skills installed: ${result.skillsInstalled.join(', ')}`);
|
|
167
|
+
}
|
|
168
|
+
if (result.hooksInstalled.length > 0) {
|
|
169
|
+
console.log(` Hooks installed: ${result.hooksInstalled.join(', ')}`);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
console.error(`Failed: ${result.message}`);
|
|
174
|
+
process.exitCode = 1;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
catch (error) {
|
|
178
|
+
(0, logger_js_1.logToFile)('error', 'Install command failed', { agent: parsed.agent, error });
|
|
179
|
+
console.error(`Error: ${error instanceof Error ? error.message : String(error)}`);
|
|
180
|
+
process.exitCode = 1;
|
|
181
|
+
}
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
// Interactive mode: detect and install for all found agents
|
|
185
|
+
const detectedAgents = (0, index_js_1.detectAgents)();
|
|
186
|
+
if (detectedAgents.length === 0) {
|
|
187
|
+
console.log('No AI coding agents detected.');
|
|
188
|
+
console.log('\nSupported agents:');
|
|
189
|
+
console.log(' - Claude Code (~/.claude/)');
|
|
190
|
+
console.log(' - OpenAI Codex (~/.codex/)');
|
|
191
|
+
console.log(' - Amp (~/.amp/)');
|
|
192
|
+
console.log(' - Gemini Code Assist (~/.gemini/)');
|
|
193
|
+
console.log('\nInstall one of these agents first, then run `embark install` again.');
|
|
194
|
+
console.log('Or use `embark install --agent <name>` to install for a specific agent.');
|
|
195
|
+
return;
|
|
196
|
+
}
|
|
197
|
+
await runInteractiveMode(detectedAgents, options);
|
|
198
|
+
(0, logger_js_1.logToFile)('info', 'Install command completed', {
|
|
199
|
+
detectedAgents: detectedAgents.map((a) => a.type),
|
|
200
|
+
scope: options.scope,
|
|
201
|
+
skillsOnly: options.skillsOnly,
|
|
202
|
+
hooksOnly: options.hooksOnly,
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
//# sourceMappingURL=cli-install.js.map
|