@sunilp-org/jam-cli 0.1.2 → 0.2.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/README.md +9 -0
- package/dist/commands/ask.d.ts.map +1 -1
- package/dist/commands/ask.js +7 -1
- package/dist/commands/ask.js.map +1 -1
- package/dist/commands/commit.d.ts +14 -1
- package/dist/commands/commit.d.ts.map +1 -1
- package/dist/commands/commit.js +85 -6
- package/dist/commands/commit.js.map +1 -1
- package/dist/providers/base.d.ts +11 -0
- package/dist/providers/base.d.ts.map +1 -1
- package/dist/providers/embedded.d.ts.map +1 -1
- package/dist/providers/embedded.js +152 -65
- package/dist/providers/embedded.js.map +1 -1
- package/dist/utils/logger.js +1 -0
- package/dist/utils/logger.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -98,6 +98,15 @@ Most AI coding tools are built around a single vendor's model, require a browser
|
|
|
98
98
|
|
|
99
99
|
## Quick Start
|
|
100
100
|
|
|
101
|
+
### Provider Support
|
|
102
|
+
|
|
103
|
+
| Provider | Status | Notes |
|
|
104
|
+
|----------|--------|-------|
|
|
105
|
+
| **Ollama** | ✅ Default | Local inference via `ollama serve` |
|
|
106
|
+
| **OpenAI** | ✅ Supported | Requires `OPENAI_API_KEY` |
|
|
107
|
+
| **Groq** | ✅ Supported | Requires `GROQ_API_KEY` |
|
|
108
|
+
| **Embedded** | ⚗️ Experimental | In-process via `node-llama-cpp`, no server needed |
|
|
109
|
+
|
|
101
110
|
### Prerequisites
|
|
102
111
|
|
|
103
112
|
- **Node.js 20+**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask.d.ts","sourceRoot":"","sources":["../../src/commands/ask.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,MAAM,WAAW,UAAW,SAAQ,YAAY;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;yFACqF;IACrF,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AA0CD,wBAAsB,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"ask.d.ts","sourceRoot":"","sources":["../../src/commands/ask.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,MAAM,WAAW,UAAW,SAAQ,YAAY;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;yFACqF;IACrF,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AA0CD,wBAAsB,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CA+QjG"}
|
package/dist/commands/ask.js
CHANGED
|
@@ -85,6 +85,7 @@ export async function runAsk(inlinePrompt, options) {
|
|
|
85
85
|
const adapter = await createProvider(profile);
|
|
86
86
|
// ── Agentic context-gathering phase ───────────────────────────────────────
|
|
87
87
|
const useTools = options.tools !== false &&
|
|
88
|
+
adapter.info.supportsTools !== false &&
|
|
88
89
|
typeof adapter.chatWithTools === 'function';
|
|
89
90
|
// Build workspace context for better model reasoning
|
|
90
91
|
const workspaceRoot = useTools ? await getWorkspaceRoot() : '';
|
|
@@ -93,7 +94,12 @@ export async function runAsk(inlinePrompt, options) {
|
|
|
93
94
|
: { jamContext: null, workspaceCtx: '' };
|
|
94
95
|
const systemPrompt = options.system ??
|
|
95
96
|
profile.systemPrompt ??
|
|
96
|
-
(useTools
|
|
97
|
+
(useTools
|
|
98
|
+
? buildSystemPrompt(jamContext, workspaceCtx)
|
|
99
|
+
: adapter.info.supportsTools === false
|
|
100
|
+
// Embedded / small model: lean prompt — just answer the question.
|
|
101
|
+
? 'You are a helpful, knowledgeable AI assistant. Answer the user\'s question directly, concisely, and accurately. Format your response in clean Markdown when helpful.'
|
|
102
|
+
: undefined);
|
|
97
103
|
if (useTools && adapter.chatWithTools) {
|
|
98
104
|
const noColor = options.noColor ?? false;
|
|
99
105
|
const tracker = new ToolCallTracker();
|
package/dist/commands/ask.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask.js","sourceRoot":"","sources":["../../src/commands/ask.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ask.js","sourceRoot":"","sources":["../../src/commands/ask.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,20 @@ export interface CommitOptions extends CliOverrides {
|
|
|
6
6
|
}
|
|
7
7
|
export declare function getStagedDiff(cwd: string): Promise<string>;
|
|
8
8
|
export declare function getLastCommitDiff(cwd: string): Promise<string>;
|
|
9
|
-
|
|
9
|
+
export declare function getStagedDiffStat(cwd: string): Promise<string>;
|
|
10
|
+
/**
|
|
11
|
+
* Build a commit prompt that fits within the provider's context window.
|
|
12
|
+
*
|
|
13
|
+
* For full-context providers: send the complete diff as-is.
|
|
14
|
+
* For small-context providers (e.g. embedded): send only the --stat summary
|
|
15
|
+
* (files changed + line counts) without any raw diff syntax, which prevents
|
|
16
|
+
* the model from echoing diff content instead of generating a commit message.
|
|
17
|
+
* If even the stat is too large, truncate it at a line boundary.
|
|
18
|
+
*/
|
|
19
|
+
export declare function buildCommitPrompt(diff: string, stat: string, contextWindow: number, systemPromptLen: number, outputBudget: number): string;
|
|
20
|
+
/** Strip surrounding whitespace and any accidental markdown fences from the model output.
|
|
21
|
+
* Also strips common small-model preamble like "Based on the diff, the commit message is:".
|
|
22
|
+
*/
|
|
10
23
|
export declare function cleanCommitMessage(raw: string): string;
|
|
11
24
|
export declare function runCommit(options: CommitOptions): Promise<void>;
|
|
12
25
|
//# sourceMappingURL=commit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["../../src/commands/commit.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAIxD,MAAM,WAAW,aAAc,SAAQ,YAAY;IACjD,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;
|
|
1
|
+
{"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["../../src/commands/commit.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAIxD,MAAM,WAAW,aAAc,SAAQ,YAAY;IACjD,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AA2BD,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAchE;AAED,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAcpE;AAkBD,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAUpE;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,MAAM,GACnB,MAAM,CAkCR;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAoBtD;AAID,wBAAsB,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA8FrE"}
|
package/dist/commands/commit.js
CHANGED
|
@@ -8,7 +8,7 @@ import { printError, printSuccess } from '../ui/renderer.js';
|
|
|
8
8
|
import { JamError } from '../utils/errors.js';
|
|
9
9
|
import { getWorkspaceRoot } from '../utils/workspace.js';
|
|
10
10
|
const execFileAsync = promisify(execFile);
|
|
11
|
-
// ── Conventional-commit system
|
|
11
|
+
// ── Conventional-commit system prompts ──────────────────────────────────────
|
|
12
12
|
const SYSTEM_PROMPT = `You are an expert software engineer. Given a git diff, generate a concise \
|
|
13
13
|
commit message following the Conventional Commits specification.
|
|
14
14
|
|
|
@@ -19,6 +19,15 @@ Rules:
|
|
|
19
19
|
- Short description: imperative mood, lowercase, no period, ≤72 chars total for the first line
|
|
20
20
|
- If changes are complex, add a blank line followed by a brief body (max 3 lines)
|
|
21
21
|
- Output ONLY the commit message text, nothing else — no markdown, no explanation`;
|
|
22
|
+
/**
|
|
23
|
+
* Compact system prompt for small/embedded models that struggle with
|
|
24
|
+
* long instructions. No example — examples cause small models to echo them.
|
|
25
|
+
*/
|
|
26
|
+
const SYSTEM_PROMPT_SMALL = `Generate a conventional commit message for the code changes described.
|
|
27
|
+
Output ONLY the commit message, nothing else — no explanation, no prefix, no markdown.
|
|
28
|
+
Format: type(scope): short description
|
|
29
|
+
Types: feat, fix, docs, style, refactor, perf, test, chore
|
|
30
|
+
Rules: imperative mood, lowercase, no period, under 72 characters.`;
|
|
22
31
|
// ── Git helpers ───────────────────────────────────────────────────────────────
|
|
23
32
|
export async function getStagedDiff(cwd) {
|
|
24
33
|
try {
|
|
@@ -56,10 +65,73 @@ async function runGitCommit(message, amend, cwd) {
|
|
|
56
65
|
}
|
|
57
66
|
}
|
|
58
67
|
// ── Pure helpers (exported for testing) ──────────────────────────────────────
|
|
59
|
-
|
|
68
|
+
export async function getStagedDiffStat(cwd) {
|
|
69
|
+
try {
|
|
70
|
+
const { stdout } = await execFileAsync('git', ['diff', '--staged', '--stat'], {
|
|
71
|
+
cwd,
|
|
72
|
+
maxBuffer: 256 * 1024,
|
|
73
|
+
});
|
|
74
|
+
return stdout.trim();
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
return '';
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Build a commit prompt that fits within the provider's context window.
|
|
82
|
+
*
|
|
83
|
+
* For full-context providers: send the complete diff as-is.
|
|
84
|
+
* For small-context providers (e.g. embedded): send only the --stat summary
|
|
85
|
+
* (files changed + line counts) without any raw diff syntax, which prevents
|
|
86
|
+
* the model from echoing diff content instead of generating a commit message.
|
|
87
|
+
* If even the stat is too large, truncate it at a line boundary.
|
|
88
|
+
*/
|
|
89
|
+
export function buildCommitPrompt(diff, stat, contextWindow, systemPromptLen, outputBudget) {
|
|
90
|
+
const safetyMargin = Math.ceil(contextWindow * 0.1);
|
|
91
|
+
const inputBudgetChars = Math.max(400, (contextWindow - outputBudget - Math.ceil(systemPromptLen / 4) - safetyMargin) * 4);
|
|
92
|
+
const header = 'Generate a conventional commit message for the following changes:\n\n';
|
|
93
|
+
const fullDiffPrompt = header + '```diff\n' + diff + '\n```';
|
|
94
|
+
// Full diff fits — use it as-is
|
|
95
|
+
if (fullDiffPrompt.length <= inputBudgetChars) {
|
|
96
|
+
return fullDiffPrompt;
|
|
97
|
+
}
|
|
98
|
+
// Diff too large: describe the changes in plain English from the stat.
|
|
99
|
+
// No code fences, no diff syntax — avoids the model echoing raw diff lines.
|
|
100
|
+
const statlessHeader = 'Write a conventional commit message for a code change that modified the following files:\n\n';
|
|
101
|
+
const statLines = stat.split('\n').filter((l) => l.trim() && !l.includes('changed,'));
|
|
102
|
+
const fileList = statLines
|
|
103
|
+
.map((l) => {
|
|
104
|
+
const m = l.match(/^\s*(\S+)\s*\|\s*(\d+)\s*([+-]+)/);
|
|
105
|
+
return m ? `${m[1]} (${m[2]} lines changed)` : l.trim();
|
|
106
|
+
})
|
|
107
|
+
.filter(Boolean)
|
|
108
|
+
.join(', ');
|
|
109
|
+
const summaryLine = fileList
|
|
110
|
+
? `These files were modified: ${fileList}.`
|
|
111
|
+
: stat;
|
|
112
|
+
const budgetForBody = inputBudgetChars - statlessHeader.length;
|
|
113
|
+
const body = summaryLine.length <= budgetForBody
|
|
114
|
+
? summaryLine
|
|
115
|
+
: summaryLine.slice(0, budgetForBody - 3) + '...';
|
|
116
|
+
return statlessHeader + body;
|
|
117
|
+
}
|
|
118
|
+
/** Strip surrounding whitespace and any accidental markdown fences from the model output.
|
|
119
|
+
* Also strips common small-model preamble like "Based on the diff, the commit message is:".
|
|
120
|
+
*/
|
|
60
121
|
export function cleanCommitMessage(raw) {
|
|
61
122
|
// Remove optional triple-backtick wrappers the model might produce
|
|
62
|
-
|
|
123
|
+
let stripped = raw.replace(/^```[^\n]*\n?/m, '').replace(/\n?```\s*$/m, '');
|
|
124
|
+
// Strip common small-model preamble — lines ending in ":" that precede the actual message
|
|
125
|
+
stripped = stripped.replace(/^[^\n]{0,120}(?:commit message|message|type|format|output|follows?|below|is)[:\s]*\n+/im, '');
|
|
126
|
+
// If the result still doesn't look like a conventional commit (type: desc),
|
|
127
|
+
// try to extract it by finding the first line that matches
|
|
128
|
+
const lines = stripped.trim().split('\n');
|
|
129
|
+
const conventionalLine = lines.find((l) => /^(feat|fix|docs|style|refactor|perf|test|chore|ci|build)(\([^)]+\))?:\s+\S/.test(l.trim()));
|
|
130
|
+
if (conventionalLine) {
|
|
131
|
+
// Return from that line onward (may include body)
|
|
132
|
+
const idx = lines.indexOf(conventionalLine);
|
|
133
|
+
return lines.slice(idx).join('\n').trim();
|
|
134
|
+
}
|
|
63
135
|
return stripped.trim();
|
|
64
136
|
}
|
|
65
137
|
// ── Main command ──────────────────────────────────────────────────────────────
|
|
@@ -89,15 +161,22 @@ export async function runCommit(options) {
|
|
|
89
161
|
const config = await loadConfig(process.cwd(), options);
|
|
90
162
|
const profile = getActiveProfile(config);
|
|
91
163
|
const adapter = await createProvider(profile);
|
|
92
|
-
|
|
93
|
-
|
|
164
|
+
// Build a context-aware diff prompt — falls back to stat-only summary
|
|
165
|
+
// if the diff would overflow the provider's context window.
|
|
166
|
+
const contextWindow = adapter.info?.contextWindow;
|
|
167
|
+
const isSmallModel = Boolean(contextWindow);
|
|
168
|
+
const stat = isSmallModel ? await getStagedDiffStat(workspaceRoot) : '';
|
|
169
|
+
const activeSystemPrompt = isSmallModel ? SYSTEM_PROMPT_SMALL : SYSTEM_PROMPT;
|
|
170
|
+
const prompt = contextWindow
|
|
171
|
+
? buildCommitPrompt(diff, stat, contextWindow, activeSystemPrompt.length, 256)
|
|
172
|
+
: `Generate a conventional commit message for the following git diff:\n\n\`\`\`diff\n${diff}\n\`\`\``;
|
|
94
173
|
process.stderr.write('Generating commit message...\n');
|
|
95
174
|
const { text } = await collectStream(withRetry(() => adapter.streamCompletion({
|
|
96
175
|
messages: [{ role: 'user', content: prompt }],
|
|
97
176
|
model: profile.model,
|
|
98
177
|
temperature: profile.temperature ?? 0.2,
|
|
99
178
|
maxTokens: 256,
|
|
100
|
-
systemPrompt: SYSTEM_PROMPT,
|
|
179
|
+
systemPrompt: isSmallModel ? activeSystemPrompt : SYSTEM_PROMPT,
|
|
101
180
|
})));
|
|
102
181
|
const message = cleanCommitMessage(text);
|
|
103
182
|
if (!message) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commit.js","sourceRoot":"","sources":["../../src/commands/commit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAQ1C
|
|
1
|
+
{"version":3,"file":"commit.js","sourceRoot":"","sources":["../../src/commands/commit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAQ1C,+EAA+E;AAE/E,MAAM,aAAa,GAAG;;;;;;;;;kFAS4D,CAAC;AAEnF;;;GAGG;AACH,MAAM,mBAAmB,GAAG;;;;mEAIuC,CAAC;AAEpE,iFAAiF;AAEjF,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAW;IAC7C,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE;YAClE,GAAG;YACH,SAAS,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI;SAC3B,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,QAAQ,CAChB,4DAA4D,EAC5D,iBAAiB,EACjB,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,GAAW;IACjD,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE;YAC9D,GAAG;YACH,SAAS,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI;SAC3B,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,QAAQ,CAChB,sFAAsF,EACtF,iBAAiB,EACjB,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,OAAe,EAAE,KAAc,EAAE,GAAW;IACtE,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACvC,IAAI,KAAK;QAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAChC,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,QAAQ,CAChB,gFAAgF,EAChF,iBAAiB,EACjB,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAC;IACJ,CAAC;AACH,CAAC;AAED,gFAAgF;AAEhF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,GAAW;IACjD,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE;YAC5E,GAAG;YACH,SAAS,EAAE,GAAG,GAAG,IAAI;SACtB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAY,EACZ,IAAY,EACZ,aAAqB,EACrB,eAAuB,EACvB,YAAoB;IAEpB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,CAAC;IACpD,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,aAAa,GAAG,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;IAE3H,MAAM,MAAM,GAAG,uEAAuE,CAAC;IACvF,MAAM,cAAc,GAAG,MAAM,GAAG,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC;IAE7D,gCAAgC;IAChC,IAAI,cAAc,CAAC,MAAM,IAAI,gBAAgB,EAAE,CAAC;QAC9C,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,uEAAuE;IACvE,4EAA4E;IAC5E,MAAM,cAAc,GAAG,8FAA8F,CAAC;IACtH,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IACtF,MAAM,QAAQ,GAAG,SAAS;SACvB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1D,CAAC,CAAC;SACD,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,WAAW,GAAG,QAAQ;QAC1B,CAAC,CAAC,8BAA8B,QAAQ,GAAG;QAC3C,CAAC,CAAC,IAAI,CAAC;IAET,MAAM,aAAa,GAAG,gBAAgB,GAAG,cAAc,CAAC,MAAM,CAAC;IAC/D,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,IAAI,aAAa;QAC9C,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;IAEpD,OAAO,cAAc,GAAG,IAAI,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC5C,mEAAmE;IACnE,IAAI,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAC5E,0FAA0F;IAC1F,QAAQ,GAAG,QAAQ,CAAC,OAAO,CACzB,yFAAyF,EACzF,EAAE,CACH,CAAC;IACF,4EAA4E;IAC5E,2DAA2D;IAC3D,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACxC,4EAA4E,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAC5F,CAAC;IACF,IAAI,gBAAgB,EAAE,CAAC;QACrB,kDAAkD;QAClD,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC5C,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5C,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,iFAAiF;AAEjF,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAsB;IACpD,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,gBAAgB,EAAE,CAAC;QAE/C,8BAA8B;QAC9B,IAAI,IAAY,CAAC;QACjB,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,+FAA+F;YAC/F,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,aAAa,CAAC,CAAC;YAClD,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,aAAa,CAAC,CAAC;YACpD,IAAI,GAAG,MAAM,IAAI,IAAI,CAAC;YACtB,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,UAAU,CAAC,8DAA8D,CAAC,CAAC;gBACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,MAAM,aAAa,CAAC,aAAa,CAAC,CAAC;YAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,UAAU,CACd,mEAAmE,CACpE,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,kCAAkC;QAClC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;QAE9C,sEAAsE;QACtE,4DAA4D;QAC5D,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,EAAE,aAAa,CAAC;QAClD,MAAM,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,MAAM,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,MAAM,kBAAkB,GAAG,YAAY,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,aAAa,CAAC;QAC9E,MAAM,MAAM,GAAG,aAAa;YAC1B,CAAC,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC;YAC9E,CAAC,CAAC,qFAAqF,IAAI,UAAU,CAAC;QAExG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAEvD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,aAAa,CAClC,SAAS,CAAC,GAAG,EAAE,CACb,OAAO,CAAC,gBAAgB,CAAC;YACvB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YAC7C,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,GAAG;YACvC,SAAS,EAAE,GAAG;YACd,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,aAAa;SAChE,CAAC,CACH,CACF,CAAC;QAEF,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAEzC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,UAAU,CAAC,+DAA+D,CAAC,CAAC;YAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,gCAAgC;QAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACxD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;QAEvE,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QAED,yBAAyB;QACzB,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACjB,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YAC7E,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAC9B,OAAO,CAAC,KAAK;gBACX,CAAC,CAAC,6CAA6C;gBAC/C,CAAC,CAAC,kCAAkC,CACvC,CAAC;YACF,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC;gBACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;gBAC5C,OAAO;YACT,CAAC;QACH,CAAC;QAED,MAAM,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK,EAAE,aAAa,CAAC,CAAC;QACnE,MAAM,YAAY,CAChB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,8BAA8B,CACrF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
|
package/dist/providers/base.d.ts
CHANGED
|
@@ -46,6 +46,17 @@ export interface CompletionRequest {
|
|
|
46
46
|
export interface ProviderInfo {
|
|
47
47
|
name: string;
|
|
48
48
|
supportsStreaming: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Whether this provider can reliably perform tool/function calling.
|
|
51
|
+
* Defaults to true when absent. Set to false for small/embedded models
|
|
52
|
+
* that cannot follow JSON tool-call instructions.
|
|
53
|
+
*/
|
|
54
|
+
supportsTools?: boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Maximum context window in tokens. Used to guard against input overflow
|
|
57
|
+
* on small/embedded models. Undefined means no enforced limit.
|
|
58
|
+
*/
|
|
59
|
+
contextWindow?: number;
|
|
49
60
|
}
|
|
50
61
|
export interface ProviderAdapter {
|
|
51
62
|
info: ProviderInfo;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/providers/base.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;QAChD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/providers/base.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;QAChD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,OAAO,CAAC;IAC3B;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,YAAY,CAAC;IACnB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IACzE,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAChC,sEAAsE;IACtE,aAAa,CAAC,CACZ,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,cAAc,EAAE,EACvB,OAAO,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,OAAO,GAAG,aAAa,GAAG,WAAW,GAAG,cAAc,CAAC,GACxF,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACnC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embedded.d.ts","sourceRoot":"","sources":["../../src/providers/embedded.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,OAAO,EACP,cAAc,EAEd,qBAAqB,EACtB,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"embedded.d.ts","sourceRoot":"","sources":["../../src/providers/embedded.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,OAAO,EACP,cAAc,EAEd,qBAAqB,EACtB,MAAM,WAAW,CAAC;AA4KnB,qBAAa,eAAgB,YAAW,eAAe;IACrD,QAAQ,CAAC,IAAI,EAAE,YAAY,CAQzB;IAEF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAE/C,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,MAAM,CAA2B;gBAE7B,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO;IAM5C;;;OAGG;YACW,IAAI;IA0FZ,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpC,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAuB9B,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,aAAa,CAAC,WAAW,CAAC;IA4FzE,aAAa,CACjB,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,cAAc,EAAE,EACvB,OAAO,GAAE,IAAI,CAAC,iBAAiB,EAAE,OAAO,GAAG,aAAa,GAAG,WAAW,GAAG,cAAc,CAAM,GAC5F,OAAO,CAAC,qBAAqB,CAAC;CA8ElC"}
|
|
@@ -1,36 +1,44 @@
|
|
|
1
1
|
import { JamError } from '../utils/errors.js';
|
|
2
2
|
import { homedir } from 'node:os';
|
|
3
3
|
import { join } from 'node:path';
|
|
4
|
-
import { existsSync, mkdirSync } from 'node:fs';
|
|
4
|
+
import { existsSync, mkdirSync, createWriteStream, unlinkSync } from 'node:fs';
|
|
5
|
+
import { pipeline } from 'node:stream/promises';
|
|
6
|
+
import { Readable } from 'node:stream';
|
|
5
7
|
// ── Defaults ─────────────────────────────────────────────────────────────────
|
|
6
8
|
/**
|
|
7
9
|
* Directory where embedded GGUF models are cached.
|
|
8
10
|
* ~/.jam/models/
|
|
9
11
|
*/
|
|
10
12
|
const MODELS_DIR = join(homedir(), '.jam', 'models');
|
|
13
|
+
/**
|
|
14
|
+
* GitHub repository that hosts GGUF model files as release assets.
|
|
15
|
+
* Models are uploaded as assets under the tag MODELS_RELEASE_TAG.
|
|
16
|
+
*/
|
|
17
|
+
const GITHUB_MODELS_OWNER = 'sunilp';
|
|
18
|
+
const GITHUB_MODELS_REPO = 'homebrew-tap';
|
|
19
|
+
const GITHUB_MODELS_TAG = 'v1.0.0';
|
|
20
|
+
/** Construct a GitHub Releases download URL for a model file. */
|
|
21
|
+
function githubModelUrl(file) {
|
|
22
|
+
return `https://github.com/${GITHUB_MODELS_OWNER}/${GITHUB_MODELS_REPO}/releases/download/${GITHUB_MODELS_TAG}/${file}`;
|
|
23
|
+
}
|
|
11
24
|
/**
|
|
12
25
|
* Default model to download when no model is specified.
|
|
13
|
-
* SmolLM2-360M is extremely lightweight (~
|
|
26
|
+
* SmolLM2-360M is extremely lightweight (~360 MB quantized) and runs
|
|
14
27
|
* comfortably on machines without a GPU.
|
|
15
28
|
*/
|
|
16
|
-
const
|
|
17
|
-
const DEFAULT_MODEL_FILENAME = 'smollm2-360m-instruct-q4_k_m.gguf';
|
|
18
|
-
const DEFAULT_MODEL_LABEL = 'SmolLM2-360M-Instruct-Q4_K_M';
|
|
29
|
+
const DEFAULT_MODEL_FILENAME = 'smollm2-1.7b-instruct-q4_k_m.gguf';
|
|
19
30
|
/**
|
|
20
31
|
* A curated list of known models users can request by short alias.
|
|
21
|
-
* Maps alias → {
|
|
32
|
+
* Maps alias → { url, file }.
|
|
33
|
+
* Files are hosted as release assets on github.com/sunilp/homebrew-tap.
|
|
22
34
|
*/
|
|
23
35
|
const MODEL_ALIASES = {
|
|
24
|
-
'smollm2-135m': {
|
|
25
|
-
repo: 'HuggingFaceTB/SmolLM2-135M-Instruct-GGUF',
|
|
26
|
-
file: 'smollm2-135m-instruct-q4_k_m.gguf',
|
|
27
|
-
},
|
|
28
36
|
'smollm2-360m': {
|
|
29
|
-
|
|
30
|
-
file: 'smollm2-360m-instruct-
|
|
37
|
+
url: githubModelUrl('smollm2-360m-instruct-q8_0.gguf'),
|
|
38
|
+
file: 'smollm2-360m-instruct-q8_0.gguf',
|
|
31
39
|
},
|
|
32
40
|
'smollm2-1.7b': {
|
|
33
|
-
|
|
41
|
+
url: githubModelUrl('smollm2-1.7b-instruct-q4_k_m.gguf'),
|
|
34
42
|
file: 'smollm2-1.7b-instruct-q4_k_m.gguf',
|
|
35
43
|
},
|
|
36
44
|
};
|
|
@@ -41,39 +49,91 @@ function ensureModelsDir() {
|
|
|
41
49
|
}
|
|
42
50
|
}
|
|
43
51
|
/**
|
|
44
|
-
*
|
|
52
|
+
* Download a file from `url` to `destPath`, following redirects and reporting
|
|
53
|
+
* progress. Uses Node's built-in `fetch` (Node 18+) so no extra dependencies
|
|
54
|
+
* are needed. Cleans up the partial file on failure.
|
|
55
|
+
*/
|
|
56
|
+
async function downloadFile(url, destPath, onProgress) {
|
|
57
|
+
const res = await fetch(url, { redirect: 'follow' });
|
|
58
|
+
if (!res.ok || !res.body) {
|
|
59
|
+
throw new Error(`HTTP ${res.status} ${res.statusText} — ${url}`);
|
|
60
|
+
}
|
|
61
|
+
const total = Number(res.headers.get('content-length') ?? '0');
|
|
62
|
+
let downloaded = 0;
|
|
63
|
+
const writer = createWriteStream(destPath);
|
|
64
|
+
try {
|
|
65
|
+
const reader = res.body.getReader();
|
|
66
|
+
const nodeReadable = new Readable({
|
|
67
|
+
async read() {
|
|
68
|
+
const { done, value } = await reader.read();
|
|
69
|
+
if (done || value === undefined) {
|
|
70
|
+
this.push(null);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
downloaded += value.byteLength;
|
|
74
|
+
if (onProgress)
|
|
75
|
+
onProgress(downloaded, total);
|
|
76
|
+
this.push(Buffer.from(value));
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
});
|
|
80
|
+
await pipeline(nodeReadable, writer);
|
|
81
|
+
}
|
|
82
|
+
catch (err) {
|
|
83
|
+
// Remove partial file so a retry starts fresh
|
|
84
|
+
try {
|
|
85
|
+
unlinkSync(destPath);
|
|
86
|
+
}
|
|
87
|
+
catch { /* ignore */ }
|
|
88
|
+
throw err;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Resolve a model specifier to { url, file } for a remote download, or
|
|
93
|
+
* { localPath } for a file already on disk.
|
|
94
|
+
*
|
|
45
95
|
* Supports:
|
|
46
|
-
* - Known aliases
|
|
47
|
-
* - HF repo paths
|
|
48
|
-
* -
|
|
96
|
+
* - Known aliases → "smollm2-360m"
|
|
97
|
+
* - HF repo paths → "HuggingFaceTB/SmolLM2-360M-Instruct-GGUF/smollm2-360m-instruct-q8_0.gguf"
|
|
98
|
+
* - Full HTTPS URLs → "https://example.com/path/to/model.gguf"
|
|
99
|
+
* - Plain filenames → treated as already-downloaded under ~/.jam/models/
|
|
49
100
|
*/
|
|
50
101
|
function resolveModel(model) {
|
|
51
102
|
if (!model) {
|
|
52
|
-
return {
|
|
103
|
+
return { url: githubModelUrl(DEFAULT_MODEL_FILENAME), file: DEFAULT_MODEL_FILENAME };
|
|
53
104
|
}
|
|
54
105
|
const lower = model.toLowerCase();
|
|
55
106
|
if (MODEL_ALIASES[lower]) {
|
|
56
107
|
return MODEL_ALIASES[lower];
|
|
57
108
|
}
|
|
58
|
-
//
|
|
109
|
+
// Full HTTPS URL supplied directly
|
|
110
|
+
if (model.startsWith('https://') && model.endsWith('.gguf')) {
|
|
111
|
+
const file = model.split('/').pop();
|
|
112
|
+
return { url: model, file };
|
|
113
|
+
}
|
|
114
|
+
// HF-style "org/repo/filename.gguf" — construct the HuggingFace URL
|
|
59
115
|
const parts = model.split('/');
|
|
60
116
|
if (parts.length >= 3 && model.endsWith('.gguf')) {
|
|
61
117
|
const file = parts.pop();
|
|
62
118
|
const repo = parts.join('/');
|
|
63
|
-
return { repo
|
|
119
|
+
return { url: `https://huggingface.co/${repo}/resolve/main/${file}`, file };
|
|
64
120
|
}
|
|
65
121
|
// Already a local path or just a filename
|
|
66
122
|
if (model.endsWith('.gguf')) {
|
|
67
123
|
return { localPath: model.startsWith('/') ? model : join(MODELS_DIR, model) };
|
|
68
124
|
}
|
|
69
|
-
// Default:
|
|
70
|
-
return {
|
|
125
|
+
// Default: fall back to default model hosted on GitHub
|
|
126
|
+
return { url: githubModelUrl(DEFAULT_MODEL_FILENAME), file: DEFAULT_MODEL_FILENAME };
|
|
71
127
|
}
|
|
72
|
-
// ── Adapter ──────────────────────────────────────────────────────────────────
|
|
73
128
|
export class EmbeddedAdapter {
|
|
74
129
|
info = {
|
|
75
130
|
name: 'embedded (experimental)',
|
|
76
131
|
supportsStreaming: true,
|
|
132
|
+
// 1.7B is too small to reliably emit valid JSON tool-call payloads for
|
|
133
|
+
// the ReAct scaffold. Direct Q&A and commit generation work well instead.
|
|
134
|
+
supportsTools: false,
|
|
135
|
+
// SmolLM2-1.7B context window. Used to guard input truncation.
|
|
136
|
+
contextWindow: 8192,
|
|
77
137
|
};
|
|
78
138
|
modelSpec;
|
|
79
139
|
// Lazy-loaded resources
|
|
@@ -119,23 +179,19 @@ export class EmbeddedAdapter {
|
|
|
119
179
|
}
|
|
120
180
|
else {
|
|
121
181
|
process.stderr.write(`\n Downloading embedded model: ${resolved.file}\n` +
|
|
122
|
-
` From:
|
|
182
|
+
` From: ${resolved.url}\n` +
|
|
123
183
|
` Destination: ${cached}\n` +
|
|
124
184
|
` This is a one-time download...\n\n`);
|
|
125
185
|
try {
|
|
126
|
-
await
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
onProgress: (progress) => {
|
|
131
|
-
const pct = Math.round((progress.downloaded / progress.total) * 100);
|
|
132
|
-
process.stderr.write(`\r Progress: ${pct}%`);
|
|
133
|
-
},
|
|
186
|
+
await downloadFile(resolved.url, cached, (downloaded, total) => {
|
|
187
|
+
const pct = total > 0 ? Math.round((downloaded / total) * 100) : 0;
|
|
188
|
+
const mb = (downloaded / 1_048_576).toFixed(1);
|
|
189
|
+
process.stderr.write(`\r Progress: ${pct}% (${mb} MB)`);
|
|
134
190
|
});
|
|
135
191
|
process.stderr.write('\n Download complete!\n\n');
|
|
136
192
|
}
|
|
137
193
|
catch (err) {
|
|
138
|
-
throw new JamError(`Failed to download model "${resolved.file}" from
|
|
194
|
+
throw new JamError(`Failed to download model "${resolved.file}" from ${resolved.url}.\n` +
|
|
139
195
|
`Check your internet connection and try again.`, 'PROVIDER_UNAVAILABLE', { retryable: true, cause: err });
|
|
140
196
|
}
|
|
141
197
|
modelPath = cached;
|
|
@@ -183,47 +239,72 @@ export class EmbeddedAdapter {
|
|
|
183
239
|
// node-llama-cpp v3 API
|
|
184
240
|
const nlc = await import('node-llama-cpp');
|
|
185
241
|
const context = await model.createContext();
|
|
186
|
-
|
|
187
|
-
//
|
|
188
|
-
const
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
242
|
+
// System prompt goes into the session constructor — NOT into the user message.
|
|
243
|
+
// Passing it as a user-message prefix causes the model to echo it back verbatim.
|
|
244
|
+
const session = new nlc.LlamaChatSession({
|
|
245
|
+
contextSequence: context.getSequence(),
|
|
246
|
+
systemPrompt: request.systemPrompt,
|
|
247
|
+
});
|
|
248
|
+
// Guard against context window overflow.
|
|
249
|
+
// Rough estimate: 1 token ≈ 4 characters. Reserve (maxTokens ?? 512) tokens
|
|
250
|
+
// for the completion and a 10% safety margin.
|
|
251
|
+
const maxOutputTokens = request.maxTokens ?? 512;
|
|
252
|
+
const contextWindow = this.info.contextWindow ?? 2048;
|
|
253
|
+
const systemTokens = Math.ceil((request.systemPrompt?.length ?? 0) / 4);
|
|
254
|
+
const inputBudgetTokens = contextWindow - maxOutputTokens - systemTokens - Math.ceil(contextWindow * 0.1);
|
|
255
|
+
const inputBudgetChars = Math.max(200, inputBudgetTokens * 4);
|
|
256
|
+
// For multi-turn history replay prior (user → assistant) pairs so the
|
|
257
|
+
// session has conversation context, then send the final user message.
|
|
258
|
+
const nonSystemMsgs = request.messages.filter((m) => m.role !== 'system');
|
|
259
|
+
const lastUserIdx = nonSystemMsgs.map((m) => m.role).lastIndexOf('user');
|
|
260
|
+
const priorMsgs = nonSystemMsgs.slice(0, lastUserIdx);
|
|
261
|
+
const lastUserMsg = nonSystemMsgs[lastUserIdx];
|
|
262
|
+
// Replay prior conversation turns into the session (pairs: user then assistant).
|
|
263
|
+
for (let i = 0; i < priorMsgs.length; i++) {
|
|
264
|
+
const msg = priorMsgs[i];
|
|
265
|
+
if (msg.role === 'user') {
|
|
266
|
+
const next = priorMsgs[i + 1];
|
|
267
|
+
if (next?.role === 'assistant') {
|
|
268
|
+
await session.prompt(msg.content, { maxTokens: 1 });
|
|
269
|
+
}
|
|
195
270
|
}
|
|
196
|
-
|
|
197
|
-
|
|
271
|
+
}
|
|
272
|
+
// Truncate the final user message if it would overflow the input budget.
|
|
273
|
+
// For git diffs, cut at a "diff --git" hunk boundary so the model always
|
|
274
|
+
// receives complete, coherent hunks rather than a mid-line slice.
|
|
275
|
+
let promptText = lastUserMsg?.content ?? '';
|
|
276
|
+
if (promptText.length > inputBudgetChars) {
|
|
277
|
+
const isDiff = promptText.includes('diff --git');
|
|
278
|
+
if (isDiff) {
|
|
279
|
+
// Find the last complete hunk boundary that fits
|
|
280
|
+
const cutoff = promptText.lastIndexOf('\ndiff --git', inputBudgetChars);
|
|
281
|
+
const boundary = cutoff > 0 ? cutoff : inputBudgetChars;
|
|
282
|
+
promptText = promptText.slice(0, boundary) +
|
|
283
|
+
'\n\n[... diff truncated — remaining files omitted to fit context window ...]';
|
|
198
284
|
}
|
|
199
|
-
else
|
|
200
|
-
|
|
285
|
+
else {
|
|
286
|
+
const truncMsg = `\n\n[... truncated to fit ${contextWindow}-token context window ...]`;
|
|
287
|
+
promptText = promptText.slice(0, inputBudgetChars - truncMsg.length) + truncMsg;
|
|
201
288
|
}
|
|
289
|
+
process.stderr.write(`\n ⚠️ Input truncated to ~${inputBudgetTokens} tokens to fit context window.\n`);
|
|
202
290
|
}
|
|
203
|
-
// Get the last user message as the prompt (chat session manages history)
|
|
204
|
-
const lastUserMsg = [...request.messages].reverse().find((m) => m.role === 'user');
|
|
205
|
-
const prompt = lastUserMsg?.content ?? promptParts.join('\n');
|
|
206
|
-
let totalTokens = 0;
|
|
207
291
|
let completionText = '';
|
|
208
292
|
try {
|
|
209
|
-
|
|
210
|
-
maxTokens:
|
|
293
|
+
completionText = await session.prompt(promptText, {
|
|
294
|
+
maxTokens: maxOutputTokens,
|
|
211
295
|
temperature: request.temperature ?? 0.7,
|
|
212
|
-
onTextChunk: undefined, // we'll use the non-streaming path and chunk it
|
|
213
296
|
});
|
|
214
|
-
|
|
215
|
-
totalTokens = completionText.split(/\s+/).length; // rough estimate
|
|
297
|
+
const totalTokens = completionText.split(/\s+/).length; // rough estimate
|
|
216
298
|
// Emit the complete response as chunks for streaming compatibility
|
|
217
|
-
const chunkSize = 4;
|
|
299
|
+
const chunkSize = 4;
|
|
218
300
|
for (let i = 0; i < completionText.length; i += chunkSize) {
|
|
219
|
-
|
|
220
|
-
yield { delta, done: false };
|
|
301
|
+
yield { delta: completionText.slice(i, i + chunkSize), done: false };
|
|
221
302
|
}
|
|
222
303
|
yield {
|
|
223
304
|
delta: '',
|
|
224
305
|
done: true,
|
|
225
306
|
usage: {
|
|
226
|
-
promptTokens: 0,
|
|
307
|
+
promptTokens: 0,
|
|
227
308
|
completionTokens: totalTokens,
|
|
228
309
|
totalTokens,
|
|
229
310
|
},
|
|
@@ -237,16 +318,16 @@ export class EmbeddedAdapter {
|
|
|
237
318
|
const { model } = await this.boot();
|
|
238
319
|
const nlc = await import('node-llama-cpp');
|
|
239
320
|
const context = await model.createContext();
|
|
240
|
-
|
|
241
|
-
//
|
|
242
|
-
//
|
|
321
|
+
// Build tool descriptions for the system prompt.
|
|
322
|
+
// Small models can't do native function-calling; we describe tools in the
|
|
323
|
+
// system prompt and parse JSON out of the response.
|
|
243
324
|
const toolDescriptions = tools.map((t) => {
|
|
244
325
|
const params = Object.entries(t.parameters.properties)
|
|
245
326
|
.map(([name, schema]) => ` - ${name} (${schema.type}): ${schema.description ?? ''}`)
|
|
246
327
|
.join('\n');
|
|
247
328
|
return `Tool: ${t.name}\nDescription: ${t.description}\nParameters:\n${params}`;
|
|
248
329
|
}).join('\n\n');
|
|
249
|
-
const
|
|
330
|
+
const systemPrompt = [
|
|
250
331
|
options.systemPrompt ?? '',
|
|
251
332
|
tools.length > 0
|
|
252
333
|
? `You have access to the following tools. To call a tool, respond with EXACTLY this JSON format on its own line:\n` +
|
|
@@ -254,9 +335,15 @@ export class EmbeddedAdapter {
|
|
|
254
335
|
`Available tools:\n${toolDescriptions}`
|
|
255
336
|
: '',
|
|
256
337
|
].filter(Boolean).join('\n\n');
|
|
338
|
+
// System prompt goes into the session constructor — NEVER prepend it to the
|
|
339
|
+
// user message or the model will echo it back verbatim as its "answer".
|
|
340
|
+
const session = new nlc.LlamaChatSession({
|
|
341
|
+
contextSequence: context.getSequence(),
|
|
342
|
+
systemPrompt: systemPrompt || undefined,
|
|
343
|
+
});
|
|
344
|
+
// Send only the last user message as the prompt.
|
|
257
345
|
const lastUserMsg = [...messages].reverse().find((m) => m.role === 'user');
|
|
258
|
-
const prompt =
|
|
259
|
-
(lastUserMsg?.content ?? '');
|
|
346
|
+
const prompt = lastUserMsg?.content ?? '';
|
|
260
347
|
let response;
|
|
261
348
|
try {
|
|
262
349
|
response = await session.prompt(prompt, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embedded.js","sourceRoot":"","sources":["../../src/providers/embedded.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"embedded.js","sourceRoot":"","sources":["../../src/providers/embedded.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/logger.js
CHANGED
package/dist/utils/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAA6B;IAC3C,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;CACT,CAAC;AAEF,MAAM,OAAO,MAAM;IACT,KAAK,CAAW;IAChB,QAAQ,CAAW;IAE3B,YAAY,QAAkB,MAAM,EAAE,iBAA2B,EAAE;QACjE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IACjE,CAAC;IAEO,MAAM,CAAC,OAAe;QAC5B,IAAI,MAAM,GAAG,OAAO,CAAC;QACrB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,SAAS,CAAC,KAAe;QAC/B,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAEO,KAAK,CAAC,KAAe,EAAE,MAAc,EAAE,OAAe,EAAE,GAAG,IAAe;QAChF,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAAE,OAAO;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC9F,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,GAAG,IAAe;QACvC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,GAAG,IAAe;QACtC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,GAAG,IAAe;QACtC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,GAAG,IAAe;QACvC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,QAAQ,CAAC,KAAe;QACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAED,2DAA2D;AAC3D,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAA6B;IAC3C,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;CACT,CAAC;AAEF,MAAM,OAAO,MAAM;IACT,KAAK,CAAW;IAChB,QAAQ,CAAW;IAE3B,YAAY,QAAkB,MAAM,EAAE,iBAA2B,EAAE;QACjE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IACjE,CAAC;IAEO,MAAM,CAAC,OAAe;QAC5B,IAAI,MAAM,GAAG,OAAO,CAAC;QACrB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,SAAS,CAAC,KAAe;QAC/B,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAEO,KAAK,CAAC,KAAe,EAAE,MAAc,EAAE,OAAe,EAAE,GAAG,IAAe;QAChF,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAAE,OAAO;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC9F,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,GAAG,IAAe;QACvC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,GAAG,IAAe;QACtC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,GAAG,IAAe;QACtC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,GAAG,IAAe;QACvC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,QAAQ,CAAC,KAAe;QACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAED,2DAA2D;AAC3D,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;AAEnC,oBAAoB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sunilp-org/jam-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Jam — developer-first AI assistant CLI for the terminal. Ask questions, explain code, review diffs, generate patches, and run agentic tasks powered by Ollama.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|