@openinference/cli 1.0.2 → 1.1.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/dist/shell.js ADDED
@@ -0,0 +1,268 @@
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.runShell = runShell;
7
+ const node_readline_1 = __importDefault(require("node:readline"));
8
+ const config_1 = require("./config");
9
+ const hardware_1 = require("./hardware");
10
+ const start_1 = require("./start");
11
+ const recommend_run_1 = require("./recommend-run");
12
+ const use_cases_1 = require("./use-cases");
13
+ const chat_1 = require("./chat");
14
+ const manage_1 = require("./manage");
15
+ const prompt_1 = require("./prompt");
16
+ const version_1 = require("./version");
17
+ // ── colors ──────────────────────────────────────────────
18
+ const brand = (s) => `\x1b[38;5;43m${s}\x1b[0m`;
19
+ const dim = (s) => `\x1b[2m${s}\x1b[0m`;
20
+ const bold = (s) => `\x1b[1m${s}\x1b[0m`;
21
+ const green = (s) => `\x1b[32m${s}\x1b[0m`;
22
+ const red = (s) => `\x1b[31m${s}\x1b[0m`;
23
+ const COMMANDS = [
24
+ { name: '/help', help: 'Show this help' },
25
+ { name: '/recommend', args: '[use-case]', help: 'Best models for your hardware' },
26
+ { name: '/browse', args: '[use-case]', help: 'Browse the full catalog' },
27
+ { name: '/use', args: '<model>', help: 'Switch active model (pulls if needed)' },
28
+ { name: '/pull', args: '<model>', help: 'Download a model' },
29
+ { name: '/models', help: 'List downloaded models' },
30
+ { name: '/storage', help: 'Where models are stored' },
31
+ { name: '/status', help: 'Show current setup' },
32
+ { name: '/scan', help: 'Re-scan this computer' },
33
+ { name: '/setup', help: 'Run the setup wizard' },
34
+ { name: '/clear', help: 'Clear screen and conversation' },
35
+ { name: '/quit', help: 'Exit' },
36
+ ];
37
+ // 256-color helper
38
+ const C = (code, s) => `\x1b[38;5;${code}m${s}\x1b[0m`;
39
+ const LOGO = [
40
+ '██ ██ ██ ___ ____ _____ _ _ ',
41
+ ' ██ ██ ██ / _ \\| _ \\| ____| \\ | |',
42
+ ' ██ ██ ██ ██ ██ | | | | |_) | _| | \\| |',
43
+ ' ██ ██ ██ ██ ██ | |_| | __/| |___| |\\ |',
44
+ ' ██ ██ ██ ██ ██ \\___/|_| |_____|_| \\_|',
45
+ ' ___ _ _ _____ _____ ____ _____ _ _ ____ _____ ',
46
+ ' |_ _| \\ | | ___| ____| _ \\| ____| \\ | |/ ___| ____|',
47
+ ' | || \\| | |_ | _| | |_) | _| | \\| | | | _| ',
48
+ ' | || |\\ | _| | |___| _ <| |___| |\\ | |___| |___ ',
49
+ ' |___|_| \\_|_| |_____|_| \\_\\_____|_| \\_|\\____|_____|',
50
+ ];
51
+ // On-brand teal wordmark; bars get a brighter green accent.
52
+ const LETTER_GRAD = [43, 43, 43, 43, 43, 43, 43, 43, 43, 43];
53
+ const BAR_COLOR = 48; // bright spring-green for the ██ blocks
54
+ function printBanner() {
55
+ const cfg = (0, config_1.loadConfig)();
56
+ const hw = (0, hardware_1.detectHardware)();
57
+ console.log('');
58
+ LOGO.forEach((line, i) => {
59
+ const bars = line.match(/^[█ ]*/)?.[0] ?? '';
60
+ const rest = line.slice(bars.length);
61
+ console.log(` ${C(BAR_COLOR, bars)}${C(LETTER_GRAD[i] ?? 45, rest)}`);
62
+ });
63
+ console.log('');
64
+ console.log(` ${bold(brand('AI infrastructure, fully governed.'))} ${dim('v' + version_1.VERSION)}`);
65
+ console.log('');
66
+ if (cfg) {
67
+ console.log(` ${bold(cfg.modelName)} ${dim('·')} ${dim((0, hardware_1.formatHardware)(hw))}`);
68
+ console.log(` ${dim((0, hardware_1.ollamaModelsPath)())}`);
69
+ }
70
+ else {
71
+ console.log(` ${dim('not set up — type /setup to begin')}`);
72
+ console.log(` ${dim((0, hardware_1.formatHardware)(hw))}`);
73
+ }
74
+ console.log('');
75
+ console.log(dim(' Type a message to chat, or /help for commands. /quit to exit.'));
76
+ console.log('');
77
+ }
78
+ function printHelp() {
79
+ console.log('');
80
+ console.log(bold(' Commands'));
81
+ for (const c of COMMANDS) {
82
+ const usage = `${c.name}${c.args ? ' ' + c.args : ''}`;
83
+ console.log(` ${brand(usage.padEnd(22))} ${dim(c.help)}`);
84
+ }
85
+ console.log('');
86
+ console.log(dim(' Anything that is not a /command is sent to the active model.'));
87
+ console.log('');
88
+ }
89
+ function printStatus() {
90
+ const cfg = (0, config_1.loadConfig)();
91
+ if (!cfg) {
92
+ console.log('\n Not set up yet. Type /setup\n');
93
+ return;
94
+ }
95
+ console.log('');
96
+ console.log(` Model: ${bold(cfg.modelName)} ${dim('(' + cfg.model + ')')}`);
97
+ if (cfg.useCase)
98
+ console.log(` Use case: ${(0, use_cases_1.useCaseLabel)(cfg.useCase)}`);
99
+ console.log(` Since: ${new Date(cfg.setupAt).toLocaleDateString()}`);
100
+ console.log(` Storage: ${(0, hardware_1.ollamaModelsPath)()}`);
101
+ console.log('');
102
+ }
103
+ async function showModels(opts) {
104
+ const names = await (0, chat_1.listInstalledModels)(opts.ollamaUrl);
105
+ if (names.length === 0) {
106
+ console.log('\n No models downloaded yet. Type /setup or /pull <model>\n');
107
+ return;
108
+ }
109
+ console.log('\n Downloaded models:\n');
110
+ names.forEach((n) => console.log(` ${n}`));
111
+ console.log('');
112
+ }
113
+ /** Run one chat turn with a streamed, live-printed reply. */
114
+ async function chat(history, message, opts) {
115
+ history.push({ role: 'user', content: message });
116
+ process.stdout.write('\n');
117
+ let started = false;
118
+ const reply = await (0, chat_1.streamChatTurn)(history, (chunk) => {
119
+ if (!started) {
120
+ process.stdout.write(' ');
121
+ started = true;
122
+ }
123
+ process.stdout.write(chunk.replace(/\n/g, '\n '));
124
+ }, { ollamaUrl: opts.ollamaUrl, remote: opts.remote });
125
+ history.push({ role: 'assistant', content: reply });
126
+ process.stdout.write('\n\n');
127
+ }
128
+ /**
129
+ * Dispatch a slash command. Returns false to signal the shell should exit.
130
+ * `reopen` is used by commands that need their own stdin prompts (the wizard):
131
+ * the caller closes the shell readline before dispatch and reopens after.
132
+ */
133
+ async function dispatch(raw, history, opts) {
134
+ const [cmd, ...rest] = raw.slice(1).trim().split(/\s+/);
135
+ const arg = rest.join(' ').trim();
136
+ switch (cmd.toLowerCase()) {
137
+ case 'help':
138
+ case 'h':
139
+ case '?':
140
+ printHelp();
141
+ return {};
142
+ case 'recommend':
143
+ case 'rec':
144
+ (0, recommend_run_1.runRecommend)({ useCase: (0, use_cases_1.parseUseCaseArg)(arg) });
145
+ return {};
146
+ case 'browse':
147
+ (0, recommend_run_1.runBrowse)({ useCase: (0, use_cases_1.parseUseCaseArg)(arg), all: true });
148
+ return {};
149
+ case 'use':
150
+ if (!arg) {
151
+ console.log('\n Usage: /use <model>\n');
152
+ return {};
153
+ }
154
+ await (0, manage_1.runUse)(arg, { ollamaUrl: opts.ollamaUrl, docker: opts.remote });
155
+ return {};
156
+ case 'pull':
157
+ if (!arg) {
158
+ console.log('\n Usage: /pull <model>\n');
159
+ return {};
160
+ }
161
+ await (0, manage_1.runPull)(arg, { ollamaUrl: opts.ollamaUrl, docker: opts.remote });
162
+ return {};
163
+ case 'models':
164
+ await showModels(opts);
165
+ return {};
166
+ case 'storage':
167
+ await (0, manage_1.runStorage)();
168
+ return {};
169
+ case 'status':
170
+ printStatus();
171
+ return {};
172
+ case 'scan':
173
+ (0, prompt_1.printHardwareScan)((0, hardware_1.detectHardware)());
174
+ return {};
175
+ case 'setup':
176
+ return { needsWizard: true };
177
+ case 'clear':
178
+ case 'cls':
179
+ console.clear();
180
+ history.length = 0;
181
+ printBanner();
182
+ return {};
183
+ case 'quit':
184
+ case 'exit':
185
+ case 'q':
186
+ return { exit: true };
187
+ default:
188
+ console.log(`\n Unknown command: /${cmd} ${dim('(try /help)')}\n`);
189
+ return {};
190
+ }
191
+ }
192
+ function makeRl() {
193
+ return node_readline_1.default.createInterface({ input: process.stdin, output: process.stdout });
194
+ }
195
+ function ask(rl, prompt) {
196
+ return new Promise((resolve) => rl.question(prompt, resolve));
197
+ }
198
+ async function runShell(opts = {}) {
199
+ printBanner();
200
+ const history = [];
201
+ let rl = makeRl();
202
+ try {
203
+ while (true) {
204
+ const line = (await ask(rl, brand(' › '))).trim();
205
+ if (!line)
206
+ continue;
207
+ // Slash command
208
+ if (line.startsWith('/')) {
209
+ let result;
210
+ // Commands that open their own prompts need exclusive stdin.
211
+ if (/^\/(setup)\b/i.test(line)) {
212
+ rl.close();
213
+ try {
214
+ await (0, start_1.runStart)({ chat: false, force: true, ollamaUrl: opts.ollamaUrl, docker: opts.remote });
215
+ }
216
+ catch (e) {
217
+ console.error(`\n ${red('Error')}: ${msg(e)}\n`);
218
+ }
219
+ rl = makeRl();
220
+ continue;
221
+ }
222
+ try {
223
+ result = await dispatch(line, history, opts);
224
+ }
225
+ catch (e) {
226
+ console.error(`\n ${red('Error')}: ${msg(e)}\n`);
227
+ continue;
228
+ }
229
+ if (result.exit)
230
+ break;
231
+ continue;
232
+ }
233
+ // Plain text → chat. Run setup first if needed.
234
+ if (!(0, config_1.loadConfig)()) {
235
+ console.log(`\n No model yet — starting setup.\n`);
236
+ rl.close();
237
+ try {
238
+ await (0, start_1.runStart)({ chat: false, ollamaUrl: opts.ollamaUrl, docker: opts.remote });
239
+ }
240
+ catch (e) {
241
+ console.error(`\n ${red('Error')}: ${msg(e)}\n`);
242
+ }
243
+ rl = makeRl();
244
+ if (!(0, config_1.loadConfig)()) {
245
+ console.log(' Setup not finished — type /setup to try again.\n');
246
+ continue;
247
+ }
248
+ }
249
+ try {
250
+ await chat(history, line, opts);
251
+ }
252
+ catch (e) {
253
+ // Drop the failed user turn so history stays consistent.
254
+ if (history[history.length - 1]?.role === 'user')
255
+ history.pop();
256
+ console.error(` ${red('Error')}: ${msg(e)}\n`);
257
+ }
258
+ }
259
+ }
260
+ finally {
261
+ rl.close();
262
+ }
263
+ console.log(green('\n Bye.\n'));
264
+ }
265
+ function msg(e) {
266
+ return e instanceof Error ? e.message : String(e);
267
+ }
268
+ //# sourceMappingURL=shell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell.js","sourceRoot":"","sources":["../src/shell.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const VERSION: string;
2
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,OAAO,QAAgB,CAAC"}
@@ -0,0 +1,20 @@
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.VERSION = void 0;
7
+ const node_fs_1 = __importDefault(require("node:fs"));
8
+ const node_path_1 = __importDefault(require("node:path"));
9
+ /** Single source of truth: read version from the package's own package.json. */
10
+ function readVersion() {
11
+ try {
12
+ const raw = node_fs_1.default.readFileSync(node_path_1.default.join(__dirname, '..', 'package.json'), 'utf8');
13
+ return JSON.parse(raw).version ?? '0.0.0';
14
+ }
15
+ catch {
16
+ return '0.0.0';
17
+ }
18
+ }
19
+ exports.VERSION = readVersion();
20
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAyB;AACzB,0DAA6B;AAE7B,gFAAgF;AAChF,SAAS,WAAW;IAClB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,iBAAE,CAAC,YAAY,CAAC,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC;QAChF,OAAQ,IAAI,CAAC,KAAK,CAAC,GAAG,CAA0B,CAAC,OAAO,IAAI,OAAO,CAAC;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAEY,QAAA,OAAO,GAAG,WAAW,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openinference/cli",
3
- "version": "1.0.2",
3
+ "version": "1.1.0",
4
4
  "description": "OpenInference Core — hardware-aware model discovery, Ollama setup, and local chat",
5
5
  "license": "MIT",
6
6
  "repository": {