code-ollama 0.17.0 → 0.18.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/dist/assets/{tui-CCHcdC7V.js → tui-GfzUJAWj.js} +831 -141
- package/dist/cli.js +49 -11
- package/package.json +2 -2
package/dist/cli.js
CHANGED
|
@@ -19,7 +19,7 @@ var LIST$1 = [
|
|
|
19
19
|
},
|
|
20
20
|
{
|
|
21
21
|
name: "/model",
|
|
22
|
-
description: "
|
|
22
|
+
description: "manage Ollama models"
|
|
23
23
|
},
|
|
24
24
|
{
|
|
25
25
|
name: "/theme",
|
|
@@ -37,7 +37,7 @@ var LIST$1 = [
|
|
|
37
37
|
//#endregion
|
|
38
38
|
//#region package.json
|
|
39
39
|
var name = "code-ollama";
|
|
40
|
-
var version = "0.
|
|
40
|
+
var version = "0.18.1";
|
|
41
41
|
//#endregion
|
|
42
42
|
//#region src/constants/package.ts
|
|
43
43
|
var NAME = name;
|
|
@@ -60,6 +60,38 @@ var LABEL = {
|
|
|
60
60
|
plan: "Plan"
|
|
61
61
|
};
|
|
62
62
|
//#endregion
|
|
63
|
+
//#region src/constants/models.ts
|
|
64
|
+
/**
|
|
65
|
+
* @see https://ollama.com/library
|
|
66
|
+
*/
|
|
67
|
+
var CATALOG = [
|
|
68
|
+
{
|
|
69
|
+
label: "Gemma 4 (gemma4:latest)",
|
|
70
|
+
value: "gemma4:latest",
|
|
71
|
+
alias: "gemma4:e4b"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
label: "Granite 4 (granite4.1:8b)",
|
|
75
|
+
value: "granite4.1:8b"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
label: "Qwen 2.5 Coder (qwen2.5-coder:latest)",
|
|
79
|
+
value: "qwen2.5-coder:latest",
|
|
80
|
+
alias: "qwen2.5-coder:7b"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
label: "DeepSeek Coder V2 (deepseek-coder-v2:latest)",
|
|
84
|
+
value: "deepseek-coder-v2:latest",
|
|
85
|
+
alias: "deepseek-coder-v2:16b"
|
|
86
|
+
}
|
|
87
|
+
];
|
|
88
|
+
//#endregion
|
|
89
|
+
//#region src/constants/option.ts
|
|
90
|
+
var BACK = {
|
|
91
|
+
label: "Back",
|
|
92
|
+
value: "back"
|
|
93
|
+
};
|
|
94
|
+
//#endregion
|
|
63
95
|
//#region src/constants/prompt.ts
|
|
64
96
|
var BASE_SYSTEM_PROMPT = `You are a coding assistant that helps users write, edit, and understand code. You have access to tools for reading files, writing files, running shell commands, searching code, and searching the web
|
|
65
97
|
|
|
@@ -259,6 +291,7 @@ var WEB_FETCH = "web_fetch";
|
|
|
259
291
|
//#endregion
|
|
260
292
|
//#region src/constants/ui.ts
|
|
261
293
|
var HEADER_PREFIX = "🦙 ";
|
|
294
|
+
var WARNING = "⚠️";
|
|
262
295
|
//#endregion
|
|
263
296
|
//#region src/utils/agents.ts
|
|
264
297
|
var AGENTS_FILE = "AGENTS.md";
|
|
@@ -296,7 +329,6 @@ function withSystemMessage(messages) {
|
|
|
296
329
|
//#region src/utils/config.ts
|
|
297
330
|
var CONFIG_PATH = join(DIRECTORY, "config.json");
|
|
298
331
|
var DEFAULT_HOST = "http://localhost:11434";
|
|
299
|
-
var DEFAULT_MODEL$1 = "gemma4";
|
|
300
332
|
function readFile$1() {
|
|
301
333
|
if (!existsSync(CONFIG_PATH)) return {};
|
|
302
334
|
try {
|
|
@@ -309,7 +341,7 @@ function loadConfig() {
|
|
|
309
341
|
const file = readFile$1();
|
|
310
342
|
return {
|
|
311
343
|
host: process.env.OLLAMA_HOST ?? file.host ?? DEFAULT_HOST,
|
|
312
|
-
model:
|
|
344
|
+
model: file.model,
|
|
313
345
|
searxngBaseUrl: file.searxngBaseUrl,
|
|
314
346
|
theme: file.theme ?? "github-dark"
|
|
315
347
|
};
|
|
@@ -324,9 +356,9 @@ function saveConfig(patch) {
|
|
|
324
356
|
}
|
|
325
357
|
//#endregion
|
|
326
358
|
//#region src/utils/ollama.ts
|
|
327
|
-
var { host
|
|
359
|
+
var { host } = loadConfig();
|
|
328
360
|
var client = new Ollama({ host });
|
|
329
|
-
async function* streamChat(messages, model
|
|
361
|
+
async function* streamChat(messages, model, tools, signal) {
|
|
330
362
|
const response = await client.chat({
|
|
331
363
|
model,
|
|
332
364
|
messages,
|
|
@@ -358,6 +390,15 @@ async function listModels() {
|
|
|
358
390
|
const { models } = await client.list();
|
|
359
391
|
return models.map(({ name }) => name);
|
|
360
392
|
}
|
|
393
|
+
async function pullModel(model) {
|
|
394
|
+
return client.pull({
|
|
395
|
+
model,
|
|
396
|
+
stream: true
|
|
397
|
+
});
|
|
398
|
+
}
|
|
399
|
+
function deleteModel(model) {
|
|
400
|
+
return client.delete({ model });
|
|
401
|
+
}
|
|
361
402
|
//#endregion
|
|
362
403
|
//#region src/utils/screen.ts
|
|
363
404
|
var clearHandler = null;
|
|
@@ -536,9 +577,6 @@ function writeError(text) {
|
|
|
536
577
|
process.stderr.write(text);
|
|
537
578
|
}
|
|
538
579
|
//#endregion
|
|
539
|
-
//#region src/utils/time.ts
|
|
540
|
-
var tick = (ms = 0) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
541
|
-
//#endregion
|
|
542
580
|
//#region src/utils/tools/definitions.ts
|
|
543
581
|
/**
|
|
544
582
|
* Helper to define tool parameters
|
|
@@ -1085,7 +1123,7 @@ async function main(args = process.argv.slice(2)) {
|
|
|
1085
1123
|
else await launchTui();
|
|
1086
1124
|
}
|
|
1087
1125
|
async function launchTui(sessionId) {
|
|
1088
|
-
const { renderApp } = await import("./assets/tui-
|
|
1126
|
+
const { renderApp } = await import("./assets/tui-GfzUJAWj.js");
|
|
1089
1127
|
reset();
|
|
1090
1128
|
renderApp(sessionId);
|
|
1091
1129
|
}
|
|
@@ -1101,4 +1139,4 @@ function isEntrypoint(argv1 = process.argv[1]) {
|
|
|
1101
1139
|
if (isEntrypoint()) main();
|
|
1102
1140
|
// v8 ignore stop
|
|
1103
1141
|
//#endregion
|
|
1104
|
-
export {
|
|
1142
|
+
export { SYSTEM as A, REJECT as B, resetSystemMessage as C, LIST as D, WARNING as E, AUTO as F, LIST$1 as H, LABEL as I, PLAN as L, PLAN_GENERATION_INSTRUCTION as M, BACK as N, getTheme as O, CATALOG as P, SAFE as R, saveConfig as S, HEADER_PREFIX as T, VERSION as V, deleteModel as _, color as a, streamChat as b, createSession as c, listSessions as d, loadSession as f, setClearHandler as g, reset as h, WRITE_TOOLS as i, USER as j, ASSISTANT as k, deleteSession as l, clear as m, main, READ_TOOLS as n, write as o, updateSessionModel as p, TOOLS as r, appendMessage as s, executeTool as t, deleteSessionIfEmpty as u, listModels as v, withSystemMessage as w, loadConfig as x, pullModel as y, APPROVE as z };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "code-ollama",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.18.1",
|
|
4
4
|
"description": "Ollama coding agent that runs in your terminal",
|
|
5
5
|
"author": "Mark <mark@remarkablemark.org> (https://remarkablemark.org)",
|
|
6
6
|
"type": "module",
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"lint-staged": "17.0.5",
|
|
66
66
|
"prettier": "3.8.3",
|
|
67
67
|
"publint": "0.3.21",
|
|
68
|
-
"tsx": "4.22.
|
|
68
|
+
"tsx": "4.22.1",
|
|
69
69
|
"typescript": "6.0.3",
|
|
70
70
|
"typescript-eslint": "8.59.3",
|
|
71
71
|
"vite": "8.0.13",
|