my-opencode-config 0.1.0-beta.1
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/README.md +53 -0
- package/dist/commands/auth.d.ts +8 -0
- package/dist/commands/auth.d.ts.map +1 -0
- package/dist/commands/auth.js +148 -0
- package/dist/commands/auth.js.map +1 -0
- package/dist/commands/config-templates.d.ts +4 -0
- package/dist/commands/config-templates.d.ts.map +1 -0
- package/dist/commands/config-templates.js +76 -0
- package/dist/commands/config-templates.js.map +1 -0
- package/dist/commands/models.d.ts +8 -0
- package/dist/commands/models.d.ts.map +1 -0
- package/dist/commands/models.js +126 -0
- package/dist/commands/models.js.map +1 -0
- package/dist/commands/plugins.d.ts +3 -0
- package/dist/commands/plugins.d.ts.map +1 -0
- package/dist/commands/plugins.js +27 -0
- package/dist/commands/plugins.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +225 -0
- package/dist/index.js.map +1 -0
- package/dist/types.d.ts +53 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/config.d.ts +10 -0
- package/dist/utils/config.d.ts.map +1 -0
- package/dist/utils/config.js +153 -0
- package/dist/utils/config.js.map +1 -0
- package/dist/utils/logging.d.ts +16 -0
- package/dist/utils/logging.d.ts.map +1 -0
- package/dist/utils/logging.js +110 -0
- package/dist/utils/logging.js.map +1 -0
- package/dist/utils/opencode.d.ts +12 -0
- package/dist/utils/opencode.d.ts.map +1 -0
- package/dist/utils/opencode.js +142 -0
- package/dist/utils/opencode.js.map +1 -0
- package/dist/utils/prompts.d.ts +6 -0
- package/dist/utils/prompts.d.ts.map +1 -0
- package/dist/utils/prompts.js +72 -0
- package/dist/utils/prompts.js.map +1 -0
- package/package.json +43 -0
|
@@ -0,0 +1,142 @@
|
|
|
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.isOpenCodeInstalled = isOpenCodeInstalled;
|
|
37
|
+
exports.getOpenCodeVersion = getOpenCodeVersion;
|
|
38
|
+
exports.getOpenCodePath = getOpenCodePath;
|
|
39
|
+
exports.checkCommonPaths = checkCommonPaths;
|
|
40
|
+
exports.getOpenCodeStatus = getOpenCodeStatus;
|
|
41
|
+
exports.installOpenCode = installOpenCode;
|
|
42
|
+
const child_process_1 = require("child_process");
|
|
43
|
+
const util_1 = require("util");
|
|
44
|
+
const path = __importStar(require("path"));
|
|
45
|
+
const os = __importStar(require("os"));
|
|
46
|
+
const fs = __importStar(require("fs/promises"));
|
|
47
|
+
const execAsync = (0, util_1.promisify)(child_process_1.exec);
|
|
48
|
+
// Check if opencode command exists in PATH
|
|
49
|
+
async function isOpenCodeInstalled() {
|
|
50
|
+
try {
|
|
51
|
+
// Try which command
|
|
52
|
+
const { stdout } = await execAsync('which opencode');
|
|
53
|
+
return stdout.trim().length > 0;
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
// Try where command (Windows)
|
|
57
|
+
try {
|
|
58
|
+
const { stdout } = await execAsync('where opencode');
|
|
59
|
+
return stdout.trim().length > 0;
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
// Get OpenCode version if installed
|
|
67
|
+
async function getOpenCodeVersion() {
|
|
68
|
+
try {
|
|
69
|
+
const { stdout } = await execAsync('opencode --version');
|
|
70
|
+
const match = stdout.match(/v?(\d+\.\d+\.\d+)/);
|
|
71
|
+
return match ? match[1] : null;
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
// Get OpenCode binary path
|
|
78
|
+
async function getOpenCodePath() {
|
|
79
|
+
try {
|
|
80
|
+
const { stdout } = await execAsync('which opencode');
|
|
81
|
+
return stdout.trim() || null;
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
// Check common installation locations
|
|
88
|
+
async function checkCommonPaths() {
|
|
89
|
+
const possiblePaths = [
|
|
90
|
+
'/usr/local/bin/opencode',
|
|
91
|
+
'/usr/bin/opencode',
|
|
92
|
+
path.join(os.homedir(), '.local', 'bin', 'opencode'),
|
|
93
|
+
path.join(os.homedir(), '.cargo', 'bin', 'opencode'),
|
|
94
|
+
];
|
|
95
|
+
for (const p of possiblePaths) {
|
|
96
|
+
try {
|
|
97
|
+
await fs.access(p);
|
|
98
|
+
return p;
|
|
99
|
+
}
|
|
100
|
+
catch {
|
|
101
|
+
continue;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return null;
|
|
105
|
+
}
|
|
106
|
+
// Get full OpenCode status
|
|
107
|
+
async function getOpenCodeStatus() {
|
|
108
|
+
const installed = await isOpenCodeInstalled();
|
|
109
|
+
if (!installed) {
|
|
110
|
+
// Check common paths as fallback
|
|
111
|
+
const commonPath = await checkCommonPaths();
|
|
112
|
+
if (commonPath) {
|
|
113
|
+
return { installed: true, path: commonPath };
|
|
114
|
+
}
|
|
115
|
+
return { installed: false };
|
|
116
|
+
}
|
|
117
|
+
const version = await getOpenCodeVersion();
|
|
118
|
+
const cmdPath = await getOpenCodePath();
|
|
119
|
+
return { installed: true, version: version || undefined, path: cmdPath || undefined };
|
|
120
|
+
}
|
|
121
|
+
// Install OpenCode using official installer
|
|
122
|
+
async function installOpenCode() {
|
|
123
|
+
// The official install script requires interactive input
|
|
124
|
+
// For automated install, we need to handle this differently
|
|
125
|
+
try {
|
|
126
|
+
// Try non-interactive install
|
|
127
|
+
const installScript = `curl -fsSL https://opencode.ai/install | bash`;
|
|
128
|
+
await execAsync(installScript);
|
|
129
|
+
}
|
|
130
|
+
catch (error) {
|
|
131
|
+
throw new Error(`Failed to install OpenCode: ${error.message}\n\n` +
|
|
132
|
+
`Please install manually:\n` +
|
|
133
|
+
`1. Visit https://opencode.ai\n` +
|
|
134
|
+
`2. Download the installer for your platform\n` +
|
|
135
|
+
`3. Follow the installation instructions`);
|
|
136
|
+
}
|
|
137
|
+
// Verify installation
|
|
138
|
+
if (!(await isOpenCodeInstalled())) {
|
|
139
|
+
throw new Error('OpenCode installation failed. Please install manually.');
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=opencode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../src/utils/opencode.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,kDAcC;AAGD,gDAQC;AAGD,0CAOC;AAGD,4CAiBC;AAGD,8CAgBC;AAGD,0CAqBC;AAjHD,iDAAqC;AACrC,+BAAiC;AACjC,2CAA6B;AAC7B,uCAAyB;AACzB,gDAAkC;AAElC,MAAM,SAAS,GAAG,IAAA,gBAAS,EAAC,oBAAI,CAAC,CAAC;AAQlC,2CAA2C;AACpC,KAAK,UAAU,mBAAmB;IACvC,IAAI,CAAC;QACH,oBAAoB;QACpB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACrD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,8BAA8B;QAC9B,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAAC,CAAC;YACrD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;AACH,CAAC;AAED,oCAAoC;AAC7B,KAAK,UAAU,kBAAkB;IACtC,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,oBAAoB,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAChD,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,2BAA2B;AACpB,KAAK,UAAU,eAAe;IACnC,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACrD,OAAO,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,sCAAsC;AAC/B,KAAK,UAAU,gBAAgB;IACpC,MAAM,aAAa,GAAG;QACpB,yBAAyB;QACzB,mBAAmB;QACnB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC;KACrD,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACnB,OAAO,CAAC,CAAC;QACX,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,2BAA2B;AACpB,KAAK,UAAU,iBAAiB;IACrC,MAAM,SAAS,GAAG,MAAM,mBAAmB,EAAE,CAAC;IAE9C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,iCAAiC;QACjC,MAAM,UAAU,GAAG,MAAM,gBAAgB,EAAE,CAAC;QAC5C,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QAC/C,CAAC;QACD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAG,MAAM,eAAe,EAAE,CAAC;IAExC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,IAAI,EAAE,OAAO,IAAI,SAAS,EAAE,CAAC;AACxF,CAAC;AAED,4CAA4C;AACrC,KAAK,UAAU,eAAe;IACnC,yDAAyD;IACzD,4DAA4D;IAC5D,IAAI,CAAC;QACH,8BAA8B;QAC9B,MAAM,aAAa,GAAG,+CAA+C,CAAC;QACtE,MAAM,SAAS,CAAC,aAAa,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,+BAA+B,KAAK,CAAC,OAAO,MAAM;YAClD,4BAA4B;YAC5B,gCAAgC;YAChC,+CAA+C;YAC/C,yCAAyC,CAC1C,CAAC;IACJ,CAAC;IAED,sBAAsB;IACtB,IAAI,CAAC,CAAC,MAAM,mBAAmB,EAAE,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Model } from '../types';
|
|
2
|
+
export declare function promptConfirm(message: string): Promise<boolean>;
|
|
3
|
+
export declare function selectModel(message: string, models: Model[]): Promise<Model | null>;
|
|
4
|
+
export declare function selectModels(message: string, models: Model[], count: number): Promise<Model[]>;
|
|
5
|
+
export declare function withSpinner<T>(message: string, fn: () => Promise<T>): Promise<T>;
|
|
6
|
+
//# sourceMappingURL=prompts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/utils/prompts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAMrE;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAczF;AAED,wBAAsB,YAAY,CAChC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,KAAK,EAAE,EACf,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,KAAK,EAAE,CAAC,CAyBlB;AAgBD,wBAAsB,WAAW,CAAC,CAAC,EACjC,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAYZ"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.promptConfirm = promptConfirm;
|
|
4
|
+
exports.selectModel = selectModel;
|
|
5
|
+
exports.selectModels = selectModels;
|
|
6
|
+
exports.withSpinner = withSpinner;
|
|
7
|
+
const prompts_1 = require("@clack/prompts");
|
|
8
|
+
async function promptConfirm(message) {
|
|
9
|
+
const value = await (0, prompts_1.confirm)({
|
|
10
|
+
message,
|
|
11
|
+
});
|
|
12
|
+
return value === true;
|
|
13
|
+
}
|
|
14
|
+
async function selectModel(message, models) {
|
|
15
|
+
const options = models.map(m => ({
|
|
16
|
+
value: m.id,
|
|
17
|
+
label: formatModelLabel(m),
|
|
18
|
+
}));
|
|
19
|
+
const selected = await (0, prompts_1.select)({
|
|
20
|
+
message,
|
|
21
|
+
options,
|
|
22
|
+
});
|
|
23
|
+
if (!selected)
|
|
24
|
+
return null;
|
|
25
|
+
return models.find(m => m.id === selected) || null;
|
|
26
|
+
}
|
|
27
|
+
async function selectModels(message, models, count) {
|
|
28
|
+
const selected = [];
|
|
29
|
+
for (let i = 0; i < count; i++) {
|
|
30
|
+
const remaining = models.filter(m => !selected.some(s => s.id === m.id));
|
|
31
|
+
if (remaining.length === 0)
|
|
32
|
+
break;
|
|
33
|
+
const remainingOptions = remaining.map(m => ({
|
|
34
|
+
value: m.id,
|
|
35
|
+
label: formatModelLabel(m),
|
|
36
|
+
}));
|
|
37
|
+
const selectedId = await (0, prompts_1.select)({
|
|
38
|
+
message: `${message} (${i + 1}/${count})`,
|
|
39
|
+
options: remainingOptions,
|
|
40
|
+
});
|
|
41
|
+
if (!selectedId)
|
|
42
|
+
break;
|
|
43
|
+
const model = models.find(m => m.id === selectedId);
|
|
44
|
+
if (model)
|
|
45
|
+
selected.push(model);
|
|
46
|
+
}
|
|
47
|
+
return selected;
|
|
48
|
+
}
|
|
49
|
+
function formatModelLabel(model) {
|
|
50
|
+
let label = `${model.name} (Score: ${model.score})`;
|
|
51
|
+
if (model.isFree) {
|
|
52
|
+
label += ' [FREE]';
|
|
53
|
+
}
|
|
54
|
+
if (model.isRecommended) {
|
|
55
|
+
label += ' ⭐';
|
|
56
|
+
}
|
|
57
|
+
return label;
|
|
58
|
+
}
|
|
59
|
+
async function withSpinner(message, fn) {
|
|
60
|
+
const s = (0, prompts_1.spinner)();
|
|
61
|
+
s.start(message);
|
|
62
|
+
try {
|
|
63
|
+
const result = await fn();
|
|
64
|
+
s.stop(message);
|
|
65
|
+
return result;
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
s.stop(message);
|
|
69
|
+
throw error;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=prompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/utils/prompts.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "my-opencode-config",
|
|
3
|
+
"version": "0.1.0-beta.1",
|
|
4
|
+
"description": "The ultimate OpenCode setup CLI. Automate your configuration and unlock the power of free and premium models in seconds.",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"my-opencode-config": "./dist/index.js"
|
|
8
|
+
},
|
|
9
|
+
"scripts": {
|
|
10
|
+
"build": "tsc",
|
|
11
|
+
"test": "echo \"Error: no test specified\" && exit 1",
|
|
12
|
+
"test:e2e": "bash tests/e2e/run.sh"
|
|
13
|
+
},
|
|
14
|
+
"keywords": [
|
|
15
|
+
"opencode",
|
|
16
|
+
"cli",
|
|
17
|
+
"ai",
|
|
18
|
+
"configuration",
|
|
19
|
+
"wizard"
|
|
20
|
+
],
|
|
21
|
+
"author": "YouXuf Khan <youxufkhan@github.com>",
|
|
22
|
+
"license": "MIT",
|
|
23
|
+
"repository": {
|
|
24
|
+
"type": "git",
|
|
25
|
+
"url": "git+https://github.com/youxufkhan/my-opencode-config.git"
|
|
26
|
+
},
|
|
27
|
+
"bugs": {
|
|
28
|
+
"url": "https://github.com/youxufkhan/my-opencode-config/issues"
|
|
29
|
+
},
|
|
30
|
+
"homepage": "https://github.com/youxufkhan/my-opencode-config#readme",
|
|
31
|
+
"engines": {
|
|
32
|
+
"node": ">=18.0.0"
|
|
33
|
+
},
|
|
34
|
+
"dependencies": {
|
|
35
|
+
"@clack/prompts": "^0.7.0",
|
|
36
|
+
"@types/node": "^20.0.0"
|
|
37
|
+
},
|
|
38
|
+
"devDependencies": {
|
|
39
|
+
"typescript": "^5.0.0",
|
|
40
|
+
"ts-node": "^10.9.0",
|
|
41
|
+
"esbuild": "^0.19.0"
|
|
42
|
+
}
|
|
43
|
+
}
|