termify-agent 1.0.62 → 1.0.63

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.
@@ -10,7 +10,7 @@ test('published bundle manifest includes Distill instructions and defaults', ()
10
10
  assert.ok(manifest.instructions?.distill, 'manifest should embed distill instructions');
11
11
  assert.equal(manifest.distillDefaults?.primaryHost, 'https://termify.justdiego.com/api/ollama');
12
12
  assert.equal(manifest.distillDefaults?.primaryModel, 'huihui_ai/qwen3.5-abliterated:2b');
13
- assert.equal(manifest.distillDefaults?.timeoutMs, 10000);
13
+ assert.equal(manifest.distillDefaults?.timeoutMs, 60000);
14
14
  assert.equal(manifest.distillDefaults?.thinking, false);
15
15
  });
16
16
  //# sourceMappingURL=bundle-manifest.distill.test.js.map
@@ -0,0 +1,32 @@
1
+ import { type DistillConfig } from './distill.js';
2
+ type DistillParseResult = {
3
+ mode: 'config';
4
+ key: 'host' | 'model' | 'timeout-ms' | 'thinking';
5
+ value?: string;
6
+ } | {
7
+ mode: 'command';
8
+ command: string[];
9
+ question: string;
10
+ overrides: Partial<DistillConfig>;
11
+ } | {
12
+ mode: 'stdin';
13
+ question: string;
14
+ overrides: Partial<DistillConfig>;
15
+ };
16
+ interface OllamaChatMessage {
17
+ role: 'system' | 'user' | 'assistant';
18
+ content: string;
19
+ }
20
+ interface OllamaChatRequest {
21
+ model: string;
22
+ stream: false;
23
+ think: boolean;
24
+ messages: OllamaChatMessage[];
25
+ }
26
+ export declare function parseDistillArgs(args: string[]): DistillParseResult;
27
+ export declare function buildDistillRequestBody(config: DistillConfig, question: string, input: string): OllamaChatRequest;
28
+ type FetchLike = (input: string | URL | Request, init?: RequestInit) => Promise<Pick<Response, 'ok' | 'json'>>;
29
+ export declare function summarizeWithOllama(config: DistillConfig, question: string, input: string, fetchImpl?: FetchLike): Promise<string>;
30
+ export declare function getRuntimeConfig(overrides: Partial<DistillConfig>, readConfig?: () => DistillConfig | null): DistillConfig;
31
+ export {};
32
+ //# sourceMappingURL=distill-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distill-runner.d.ts","sourceRoot":"","sources":["../src/distill-runner.ts"],"names":[],"mappings":"AAIA,OAAO,EAAyC,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAUzF,KAAK,kBAAkB,GACnB;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,UAAU,CAAC;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACD;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;CACnC,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;CACnC,CAAC;AAIN,UAAU,iBAAiB;IACzB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,iBAAiB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,KAAK,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CAC/B;AAyBD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,kBAAkB,CAiEnE;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,iBAAiB,CAiBnB;AAMD,KAAK,SAAS,GAAG,CACf,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAC7B,IAAI,CAAC,EAAE,WAAW,KACf,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC;AAE5C,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,SAAS,GAAE,SAAiB,GAC3B,OAAO,CAAC,MAAM,CAAC,CA0BjB;AAoCD,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,EACjC,UAAU,GAAE,MAAM,aAAa,GAAG,IAAwB,GACzD,aAAa,CAQf"}
@@ -0,0 +1,221 @@
1
+ import { existsSync } from 'fs';
2
+ import { spawn } from 'child_process';
3
+ import process from 'process';
4
+ import { readDistillConfig, writeDistillConfig } from './distill.js';
5
+ const DEFAULT_PRIMARY_HOST = 'https://termify.justdiego.com/api/ollama';
6
+ const DEFAULT_PRIMARY_MODEL = 'huihui_ai/qwen3.5-abliterated:2b';
7
+ const DEFAULT_TIMEOUT_MS = 60000;
8
+ const DEFAULT_THINKING = false;
9
+ const DEFAULT_QUESTION = 'Condensa la salida para otro LLM en como maximo 8 puntos breves. No hagas introduccion, no relistes linea por linea y no cites historico irrelevante. Conserva solo errores, archivos, comandos, versiones, numeros y siguientes pasos.';
10
+ function printUsage() {
11
+ process.stdout.write([
12
+ 'Usage:',
13
+ ' cmd 2>&1 | distill "pregunta"',
14
+ ' distill -- <comando>',
15
+ ' distill [--host URL] [--model NAME] [--timeout-ms MS] [--thinking BOOL] "pregunta"',
16
+ ' distill config <host|model|timeout-ms|thinking> [valor]',
17
+ '',
18
+ ].join('\n'));
19
+ }
20
+ function parseBoolean(value) {
21
+ if (['true', '1', 'yes', 'y', 'on'].includes(value.toLowerCase()))
22
+ return true;
23
+ if (['false', '0', 'no', 'n', 'off'].includes(value.toLowerCase()))
24
+ return false;
25
+ throw new Error(`invalid boolean: ${value}`);
26
+ }
27
+ function normalizeHost(host) {
28
+ return host.endsWith('/') ? host.slice(0, -1) : host;
29
+ }
30
+ export function parseDistillArgs(args) {
31
+ if (args[0] === 'config') {
32
+ const key = args[1];
33
+ if (!key || !['host', 'model', 'timeout-ms', 'thinking'].includes(key)) {
34
+ throw new Error('config key must be one of: host, model, timeout-ms, thinking');
35
+ }
36
+ return { mode: 'config', key, value: args[2] };
37
+ }
38
+ const overrides = {};
39
+ const positional = [];
40
+ for (let index = 0; index < args.length; index += 1) {
41
+ const arg = args[index];
42
+ if (arg === '--') {
43
+ const command = args.slice(index + 1);
44
+ if (command.length === 0) {
45
+ throw new Error('distill command mode requires a command after --');
46
+ }
47
+ return {
48
+ mode: 'command',
49
+ command,
50
+ question: positional.join(' ').trim() || DEFAULT_QUESTION,
51
+ overrides,
52
+ };
53
+ }
54
+ if (arg === '--host') {
55
+ overrides.primaryHost = normalizeHost(args[++index] || '');
56
+ continue;
57
+ }
58
+ if (arg === '--model') {
59
+ overrides.primaryModel = args[++index] || '';
60
+ continue;
61
+ }
62
+ if (arg === '--timeout-ms') {
63
+ const timeoutMs = Number(args[++index]);
64
+ if (!Number.isFinite(timeoutMs) || timeoutMs <= 0) {
65
+ throw new Error('timeout-ms must be a positive number');
66
+ }
67
+ overrides.timeoutMs = timeoutMs;
68
+ continue;
69
+ }
70
+ if (arg === '--thinking') {
71
+ overrides.thinking = parseBoolean(args[++index] || '');
72
+ continue;
73
+ }
74
+ if (arg === '--help' || arg === '-h') {
75
+ printUsage();
76
+ process.exit(0);
77
+ }
78
+ if (arg === '--version' || arg === '-v') {
79
+ process.stdout.write('termify-distill-wrapper\n');
80
+ process.exit(0);
81
+ }
82
+ positional.push(arg);
83
+ }
84
+ return {
85
+ mode: 'stdin',
86
+ question: positional.join(' ').trim() || DEFAULT_QUESTION,
87
+ overrides,
88
+ };
89
+ }
90
+ export function buildDistillRequestBody(config, question, input) {
91
+ return {
92
+ model: config.primaryModel,
93
+ stream: false,
94
+ think: config.thinking,
95
+ messages: [
96
+ {
97
+ role: 'system',
98
+ content: 'Eres un compresor agresivo de salida de terminal para otro LLM. Devuelve solo texto plano util, sin introduccion ni cierre, idealmente menos del 30% del tamaño original. Nunca relistes la entrada linea por linea. Agrupa patrones repetidos y conserva solo hechos tecnicos, errores, stack traces, rutas, comandos, numeros, versiones y acciones siguientes. Usa como maximo 8 puntos cortos salvo que haya un error critico que requiera mas detalle.',
99
+ },
100
+ {
101
+ role: 'user',
102
+ content: `Objetivo:\n${question}\n\nSalida de terminal:\n${input}`,
103
+ },
104
+ ],
105
+ };
106
+ }
107
+ function buildChatEndpoint(host) {
108
+ return `${normalizeHost(host)}/api/chat`;
109
+ }
110
+ export async function summarizeWithOllama(config, question, input, fetchImpl = fetch) {
111
+ try {
112
+ const response = await fetchImpl(buildChatEndpoint(config.primaryHost), {
113
+ method: 'POST',
114
+ headers: { 'Content-Type': 'application/json' },
115
+ body: JSON.stringify(buildDistillRequestBody(config, question, input)),
116
+ signal: AbortSignal.timeout(config.timeoutMs),
117
+ });
118
+ if (!response.ok) {
119
+ return input;
120
+ }
121
+ const data = (await response.json());
122
+ const content = data.message?.content ?? data.response;
123
+ if (typeof content === 'string' && content.trim()) {
124
+ return content.trim();
125
+ }
126
+ }
127
+ catch {
128
+ return input;
129
+ }
130
+ return input;
131
+ }
132
+ async function readAllStdin() {
133
+ const chunks = [];
134
+ for await (const chunk of process.stdin) {
135
+ chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(String(chunk)));
136
+ }
137
+ return Buffer.concat(chunks).toString('utf8');
138
+ }
139
+ async function runCommand(command) {
140
+ return new Promise((resolve, reject) => {
141
+ const child = spawn(command[0], command.slice(1), {
142
+ stdio: ['ignore', 'pipe', 'pipe'],
143
+ env: process.env,
144
+ });
145
+ const stdoutChunks = [];
146
+ const stderrChunks = [];
147
+ child.stdout.on('data', (chunk) => stdoutChunks.push(Buffer.from(chunk)));
148
+ child.stderr.on('data', (chunk) => stderrChunks.push(Buffer.from(chunk)));
149
+ child.on('error', reject);
150
+ child.on('close', (code) => {
151
+ const stdout = Buffer.concat(stdoutChunks).toString('utf8');
152
+ const stderr = Buffer.concat(stderrChunks).toString('utf8');
153
+ const exitCode = typeof code === 'number' ? code : 1;
154
+ const body = [stdout, stderr].filter(Boolean).join(stdout && stderr ? '\n' : '');
155
+ resolve({
156
+ output: exitCode === 0 ? body : `[exit ${exitCode}]\n${body}`.trim(),
157
+ exitCode,
158
+ });
159
+ });
160
+ });
161
+ }
162
+ export function getRuntimeConfig(overrides, readConfig = readDistillConfig) {
163
+ const stored = readConfig();
164
+ return {
165
+ primaryHost: normalizeHost(overrides.primaryHost || stored?.primaryHost || DEFAULT_PRIMARY_HOST),
166
+ primaryModel: overrides.primaryModel || stored?.primaryModel || DEFAULT_PRIMARY_MODEL,
167
+ timeoutMs: overrides.timeoutMs || stored?.timeoutMs || DEFAULT_TIMEOUT_MS,
168
+ thinking: overrides.thinking ?? stored?.thinking ?? DEFAULT_THINKING,
169
+ };
170
+ }
171
+ function handleConfigCommand(key, value) {
172
+ const current = getRuntimeConfig({});
173
+ if (typeof value === 'undefined') {
174
+ const printed = key === 'host'
175
+ ? current.primaryHost
176
+ : key === 'model'
177
+ ? current.primaryModel
178
+ : key === 'timeout-ms'
179
+ ? String(current.timeoutMs)
180
+ : String(current.thinking);
181
+ process.stdout.write(`${printed}\n`);
182
+ return 0;
183
+ }
184
+ const next = key === 'host'
185
+ ? { primaryHost: normalizeHost(value) }
186
+ : key === 'model'
187
+ ? { primaryModel: value }
188
+ : key === 'timeout-ms'
189
+ ? { timeoutMs: Number(value) }
190
+ : { thinking: parseBoolean(value) };
191
+ writeDistillConfig({ ...current, ...next });
192
+ return 0;
193
+ }
194
+ async function main() {
195
+ const parsed = parseDistillArgs(process.argv.slice(2));
196
+ if (parsed.mode === 'config') {
197
+ return handleConfigCommand(parsed.key, parsed.value);
198
+ }
199
+ const config = getRuntimeConfig(parsed.overrides);
200
+ const source = parsed.mode === 'command'
201
+ ? await runCommand(parsed.command)
202
+ : { output: await readAllStdin(), exitCode: 0 };
203
+ if (!source.output.trim()) {
204
+ return source.exitCode;
205
+ }
206
+ const summary = await summarizeWithOllama(config, parsed.question, source.output);
207
+ process.stdout.write(summary.endsWith('\n') ? summary : `${summary}\n`);
208
+ return source.exitCode;
209
+ }
210
+ if (process.argv[1] && existsSync(process.argv[1]) && process.argv[1] === new URL(import.meta.url).pathname) {
211
+ main()
212
+ .then((exitCode) => {
213
+ process.exitCode = exitCode;
214
+ })
215
+ .catch((error) => {
216
+ const message = error instanceof Error ? error.message : String(error);
217
+ process.stderr.write(`${message}\n`);
218
+ process.exitCode = 1;
219
+ });
220
+ }
221
+ //# sourceMappingURL=distill-runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distill-runner.js","sourceRoot":"","sources":["../src/distill-runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=distill-runner.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distill-runner.test.d.ts","sourceRoot":"","sources":["../src/distill-runner.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,77 @@
1
+ import { describe, it } from 'node:test';
2
+ import assert from 'node:assert/strict';
3
+ import { buildDistillRequestBody, getRuntimeConfig, parseDistillArgs, summarizeWithOllama, } from './distill-runner.js';
4
+ const baseConfig = {
5
+ primaryHost: 'https://termify.justdiego.com/api/ollama',
6
+ primaryModel: 'huihui_ai/qwen3.5-abliterated:2b',
7
+ timeoutMs: 60000,
8
+ thinking: false,
9
+ };
10
+ describe('distill runner', () => {
11
+ it('parses command mode with overrides', () => {
12
+ const parsed = parseDistillArgs([
13
+ '--host',
14
+ 'https://example.com/api/ollama',
15
+ '--model',
16
+ 'qwen:test',
17
+ '--timeout-ms',
18
+ '1234',
19
+ '--thinking',
20
+ 'true',
21
+ '--',
22
+ 'git',
23
+ 'log',
24
+ '--oneline',
25
+ ]);
26
+ assert.equal(parsed.mode, 'command');
27
+ assert.deepEqual(parsed.command, ['git', 'log', '--oneline']);
28
+ assert.equal(parsed.overrides.primaryHost, 'https://example.com/api/ollama');
29
+ assert.equal(parsed.overrides.primaryModel, 'qwen:test');
30
+ assert.equal(parsed.overrides.timeoutMs, 1234);
31
+ assert.equal(parsed.overrides.thinking, true);
32
+ });
33
+ it('parses config mode', () => {
34
+ const parsed = parseDistillArgs(['config', 'model', 'qwen:new']);
35
+ assert.deepEqual(parsed, {
36
+ mode: 'config',
37
+ key: 'model',
38
+ value: 'qwen:new',
39
+ });
40
+ });
41
+ it('builds an Ollama chat request from question and input', () => {
42
+ const body = buildDistillRequestBody(baseConfig, 'resume en 3 puntos', 'linea uno\nlinea dos');
43
+ assert.equal(body.model, 'huihui_ai/qwen3.5-abliterated:2b');
44
+ assert.equal(body.stream, false);
45
+ assert.equal(body.think, false);
46
+ assert.equal(body.messages[0]?.role, 'system');
47
+ assert.match(body.messages[1]?.content ?? '', /resume en 3 puntos/);
48
+ assert.match(body.messages[1]?.content ?? '', /linea uno/);
49
+ });
50
+ it('returns summarized text from Ollama responses', async () => {
51
+ const summary = await summarizeWithOllama(baseConfig, 'resume', 'raw output', async (_input, init) => {
52
+ assert.equal(init?.method, 'POST');
53
+ assert.match(String(init?.body), /raw output/);
54
+ return {
55
+ ok: true,
56
+ json: async () => ({
57
+ message: { content: 'resumen corto' },
58
+ }),
59
+ };
60
+ });
61
+ assert.equal(summary, 'resumen corto');
62
+ });
63
+ it('falls back to raw input when Ollama is unreachable', async () => {
64
+ const summary = await summarizeWithOllama(baseConfig, 'resume', 'raw output', async () => {
65
+ throw new Error('connect ECONNREFUSED');
66
+ });
67
+ assert.equal(summary, 'raw output');
68
+ });
69
+ it('uses the new 60000ms timeout default without local config', () => {
70
+ const config = getRuntimeConfig({}, () => null);
71
+ assert.equal(config.timeoutMs, 60000);
72
+ assert.equal(config.primaryHost, 'https://termify.justdiego.com/api/ollama');
73
+ assert.equal(config.primaryModel, 'huihui_ai/qwen3.5-abliterated:2b');
74
+ assert.equal(config.thinking, false);
75
+ });
76
+ });
77
+ //# sourceMappingURL=distill-runner.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distill-runner.test.js","sourceRoot":"","sources":["../src/distill-runner.test.ts"],"names":[],"mappings":"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"}
package/dist/distill.d.ts CHANGED
@@ -4,16 +4,12 @@ export interface DistillConfig {
4
4
  timeoutMs: number;
5
5
  thinking: boolean;
6
6
  }
7
- /**
8
- * Find the real distill binary path.
9
- * Checks: 1) npm global bin, 2) which/where in PATH
10
- */
11
- export declare function resolveDistillBinary(): string | null;
7
+ export declare function resolveDistillRunnerPath(): string;
12
8
  /**
13
9
  * Create a stable shim at ~/.termify/bin/distill
14
- * The shim resolves the real binary and forwards all args.
10
+ * The shim invokes Termify's packaged distill runner.
15
11
  */
16
- export declare function writeDistillShim(realBinaryPath: string): void;
12
+ export declare function writeDistillShim(runnerPath?: string, nodePath?: string): void;
17
13
  /**
18
14
  * Write distill configuration file.
19
15
  */
@@ -1 +1 @@
1
- {"version":3,"file":"distill.d.ts","sourceRoot":"","sources":["../src/distill.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB;AASD;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CA6BpD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAW7D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAIxE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,aAAa,GAAG,IAAI,CAOxD;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,SAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAQtF;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC;IAC3E,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CA2CD;AAED,4CAA4C;AAC5C,eAAO,MAAM,aAAa;;;;CAIzB,CAAC"}
1
+ {"version":3,"file":"distill.d.ts","sourceRoot":"","sources":["../src/distill.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB;AASD,wBAAgB,wBAAwB,IAAI,MAAM,CAKjD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,GAAE,MAAmC,EAC/C,QAAQ,GAAE,MAAyB,GAClC,IAAI,CAWN;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAIxE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,aAAa,GAAG,IAAI,CAOxD;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,SAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAQtF;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC;IAC3E,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CA2CD;AAED,4CAA4C;AAC5C,eAAO,MAAM,aAAa;;;;CAIzB,CAAC"}
package/dist/distill.js CHANGED
@@ -1,7 +1,8 @@
1
1
  import { existsSync, mkdirSync, writeFileSync, chmodSync, readFileSync } from 'fs';
2
2
  import { join } from 'path';
3
3
  import { homedir, platform } from 'os';
4
- import { execFileSync } from 'child_process';
4
+ import { dirname } from 'path';
5
+ import { fileURLToPath } from 'url';
5
6
  import { logger } from './utils/logger.js';
6
7
  const TERMIFY_DIR = join(homedir(), '.termify');
7
8
  const DISTILL_BIN_DIR = join(TERMIFY_DIR, 'bin');
@@ -11,57 +12,28 @@ const IS_WIN = platform() === 'win32';
11
12
  const DEFAULT_CONFIG = {
12
13
  primaryHost: 'https://termify.justdiego.com/api/ollama',
13
14
  primaryModel: 'huihui_ai/qwen3.5-abliterated:2b',
14
- timeoutMs: 10000,
15
+ timeoutMs: 60000,
15
16
  thinking: false,
16
17
  };
17
- /**
18
- * Find the real distill binary path.
19
- * Checks: 1) npm global bin, 2) which/where in PATH
20
- */
21
- export function resolveDistillBinary() {
22
- try {
23
- const candidates = [];
24
- // npm global bin
25
- try {
26
- const npmBin = execFileSync('npm', ['bin', '-g'], { stdio: 'pipe', timeout: 5000 }).toString().trim();
27
- candidates.push(join(npmBin, 'distill'));
28
- }
29
- catch { /* npm not available */ }
30
- // npx resolution
31
- try {
32
- const resolved = execFileSync('npx', ['which', 'distill'], { stdio: 'pipe', timeout: 10000 }).toString().trim();
33
- if (resolved)
34
- candidates.push(resolved);
35
- }
36
- catch { /* npx resolution failed */ }
37
- // which/where
38
- try {
39
- const bin = IS_WIN ? 'where' : 'which';
40
- const found = execFileSync(bin, ['distill'], { stdio: 'pipe', timeout: 3000 }).toString().trim();
41
- if (found)
42
- candidates.push(found);
43
- }
44
- catch { /* not in PATH */ }
45
- for (const candidate of candidates) {
46
- if (candidate && existsSync(candidate))
47
- return candidate;
48
- }
49
- }
50
- catch { /* ignore */ }
51
- return null;
18
+ export function resolveDistillRunnerPath() {
19
+ const currentDir = dirname(fileURLToPath(import.meta.url));
20
+ const jsPath = join(currentDir, 'distill-runner.js');
21
+ if (existsSync(jsPath))
22
+ return jsPath;
23
+ return join(currentDir, 'distill-runner.ts');
52
24
  }
53
25
  /**
54
26
  * Create a stable shim at ~/.termify/bin/distill
55
- * The shim resolves the real binary and forwards all args.
27
+ * The shim invokes Termify's packaged distill runner.
56
28
  */
57
- export function writeDistillShim(realBinaryPath) {
29
+ export function writeDistillShim(runnerPath = resolveDistillRunnerPath(), nodePath = process.execPath) {
58
30
  mkdirSync(DISTILL_BIN_DIR, { recursive: true });
59
31
  if (IS_WIN) {
60
- const shimContent = `@echo off\n"${realBinaryPath}" %*\n`;
32
+ const shimContent = `@echo off\n"${nodePath}" "${runnerPath}" %*\n`;
61
33
  writeFileSync(DISTILL_SHIM_PATH + '.cmd', shimContent);
62
34
  }
63
35
  else {
64
- const shimContent = `#!/bin/sh\nexec "${realBinaryPath}" "$@"\n`;
36
+ const shimContent = `#!/bin/sh\nexec "${nodePath}" "${runnerPath}" "$@"\n`;
65
37
  writeFileSync(DISTILL_SHIM_PATH, shimContent);
66
38
  chmodSync(DISTILL_SHIM_PATH, 0o755);
67
39
  }
@@ -110,21 +82,21 @@ export async function setupDistill(config) {
110
82
  // Step 1: Write config (always, even if binary not found)
111
83
  writeDistillConfig(finalConfig);
112
84
  logger.debug('Distill config written to ' + DISTILL_CONFIG_PATH);
113
- // Step 2: Try to find the distill binary
114
- const binaryPath = resolveDistillBinary();
115
- if (!binaryPath) {
116
- logger.debug('Distill binary not found in PATH or npm global');
85
+ // Step 2: Resolve the packaged distill runner
86
+ const runnerPath = resolveDistillRunnerPath();
87
+ if (!existsSync(runnerPath)) {
88
+ logger.debug('Distill runner not found at ' + runnerPath);
117
89
  return {
118
90
  installed: false,
119
91
  degraded: true,
120
92
  shimPath: null,
121
- error: 'distill binary not found',
93
+ error: 'distill runner not found',
122
94
  };
123
95
  }
124
- logger.debug('Distill binary found at ' + binaryPath);
96
+ logger.debug('Distill runner found at ' + runnerPath);
125
97
  // Step 3: Create shim
126
98
  try {
127
- writeDistillShim(binaryPath);
99
+ writeDistillShim(runnerPath);
128
100
  logger.debug('Distill shim written to ' + DISTILL_SHIM_PATH);
129
101
  }
130
102
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"distill.js","sourceRoot":"","sources":["../src/distill.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"distill.js","sourceRoot":"","sources":["../src/distill.ts"],"names":[],"mappings":"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"}
@@ -41,7 +41,7 @@ describe('distill module', () => {
41
41
  assert.strictEqual(read.primaryHost, 'http://custom:1234');
42
42
  // Default values should be present
43
43
  assert.strictEqual(read.primaryModel, 'huihui_ai/qwen3.5-abliterated:2b');
44
- assert.strictEqual(read.timeoutMs, 10000);
44
+ assert.strictEqual(read.timeoutMs, 60000);
45
45
  assert.strictEqual(read.thinking, false);
46
46
  });
47
47
  it('readDistillConfig returns null for missing file', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAkBH,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,kBAAkB,CAAC;AAsIpE,qEAAqE;AACrE,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,KAAK,UAAQ,EAAE,QAAQ,GAAE,cAAc,GAAG,IAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA0CnG;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,QAAQ,GAAE,cAAc,GAAG,IAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA6C3F;AAgmBD,eAAO,MAAM,2BAA2B,2iCAckI,CAAC;AAkC3K,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAY9F;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,GAAE,cAAc,GAAG,IAAW,GAAG,IAAI,CAkCtF;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAejE;AAED,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAY7F"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAkBH,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,kBAAkB,CAAC;AAsIpE,qEAAqE;AACrE,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,KAAK,UAAQ,EAAE,QAAQ,GAAE,cAAc,GAAG,IAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA0CnG;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,QAAQ,GAAE,cAAc,GAAG,IAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA6C3F;AAgmBD,eAAO,MAAM,2BAA2B,2iCAckI,CAAC;AAoC3K,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAY9F;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,GAAE,cAAc,GAAG,IAAW,GAAG,IAAI,CAkCtF;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAejE;AAED,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAY7F"}
package/dist/setup.js CHANGED
@@ -802,7 +802,7 @@ Termify incluye \`distill\` para reducir el desperdicio de tokens en salidas de
802
802
 
803
803
  ### Cuándo usar distill
804
804
  - **SIEMPRE** que ejecutes un comando cuyo output vaya a ser consumido por un LLM de pago (tú mismo)
805
- - Ejemplo: \`distill -- git log --oneline -20\`, \`distill -- npm test\`, \`distill -- cat archivo.ts\`
805
+ - Ejemplo: \`distill -- git log --oneline -20\`, \`npm test 2>&1 | distill "resume el fallo"\`
806
806
 
807
807
  ### Cuándo NO usar distill
808
808
  - Cuando necesites la salida exacta sin modificar (diffs, patches, archivos binarios)
@@ -812,6 +812,8 @@ Termify incluye \`distill\` para reducir el desperdicio de tokens en salidas de
812
812
  ### Uso
813
813
  \\\`\\\`\\\`bash
814
814
  distill -- <comando>
815
+
816
+ cmd 2>&1 | distill "qué conservar"
815
817
  \\\`\\\`\\\`
816
818
 
817
819
  El binario está en \`~/.termify/bin/distill\`. Si no está disponible, ejecuta el comando directamente sin distill.`;
package/dist/setup.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "termify-agent",
3
- "version": "1.0.62",
3
+ "version": "1.0.63",
4
4
  "description": "Termify Agent CLI - Connect your local terminal to Termify",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -37,8 +37,7 @@
37
37
  "ora": "^8.0.1",
38
38
  "simple-git": "^3.30.0",
39
39
  "ssh2": "^1.15.0",
40
- "ws": "^8.16.0",
41
- "@samuelfaj/distill": "*"
40
+ "ws": "^8.16.0"
42
41
  },
43
42
  "optionalDependencies": {
44
43
  "node-pty": "^1.1.0"
@@ -468,45 +468,28 @@ async function setupDistill() {
468
468
  const distillConfigPath = join(TERMIFY_DIR, 'distill.json');
469
469
  const distillBinDir = join(TERMIFY_DIR, 'bin');
470
470
  const distillShimPath = join(distillBinDir, 'distill');
471
+ const distillRunnerPath = join(__dirname, '..', 'dist', 'distill-runner.js');
471
472
 
472
473
  // Write default config
473
474
  const config = {
474
475
  primaryHost: 'https://termify.justdiego.com/api/ollama',
475
476
  primaryModel: 'huihui_ai/qwen3.5-abliterated:2b',
476
- timeoutMs: 10000,
477
+ timeoutMs: 60000,
477
478
  thinking: false,
478
479
  };
479
480
  mkdirSync(TERMIFY_DIR, { recursive: true });
480
481
  writeFileSync(distillConfigPath, JSON.stringify(config, null, 2) + '\n');
481
482
 
482
- // Try to find the distill binary in PATH
483
- // Safe: hardcoded commands, no user input
484
- let binaryPath = null;
485
- try {
486
- const bin = IS_WIN ? 'where' : 'which';
487
- binaryPath = execSync(`${bin} distill`, { stdio: 'pipe', timeout: 3000 }).toString().trim();
488
- } catch { /* not in PATH */ }
489
-
490
- // Try npm global bin
491
- if (!binaryPath) {
492
- try {
493
- // Safe: hardcoded npm command, no user input
494
- const npmBin = execSync('npm bin -g', { stdio: 'pipe', timeout: 5000 }).toString().trim();
495
- const candidate = join(npmBin, 'distill');
496
- if (existsSync(candidate)) binaryPath = candidate;
497
- } catch { /* npm not available */ }
498
- }
499
-
500
- if (!binaryPath) {
501
- return { installed: false, error: 'distill binary not found' };
483
+ if (!existsSync(distillRunnerPath)) {
484
+ return { installed: false, error: 'distill runner not found' };
502
485
  }
503
486
 
504
487
  // Create shim
505
488
  mkdirSync(distillBinDir, { recursive: true });
506
489
  if (IS_WIN) {
507
- writeFileSync(distillShimPath + '.cmd', `@echo off\n"${binaryPath}" %*\n`);
490
+ writeFileSync(distillShimPath + '.cmd', `@echo off\n"${process.execPath}" "${distillRunnerPath}" %*\n`);
508
491
  } else {
509
- writeFileSync(distillShimPath, `#!/bin/sh\nexec "${binaryPath}" "$@"\n`);
492
+ writeFileSync(distillShimPath, `#!/bin/sh\nexec "${process.execPath}" "${distillRunnerPath}" "$@"\n`);
510
493
  chmodSync(distillShimPath, 0o755);
511
494
  }
512
495
 
@@ -127,7 +127,7 @@ test('syncBundleMetadata refreshes the local bundle manifest and distill instruc
127
127
  distillDefaults: {
128
128
  primaryHost: 'https://termify.justdiego.com/api/ollama',
129
129
  primaryModel: 'huihui_ai/qwen3.5-abliterated:2b',
130
- timeoutMs: 10000,
130
+ timeoutMs: 60000,
131
131
  thinking: false,
132
132
  },
133
133
  };
@@ -153,5 +153,7 @@ test('syncBundleMetadata refreshes the local bundle manifest and distill instruc
153
153
  assert.match(readFileSync(join(geminiDir, 'GEMINI.md'), 'utf8'), /^## Distill/m);
154
154
  assert.match(readFileSync(join(claudeDir, 'CLAUDE.md'), 'utf8'), /^## Distill/m);
155
155
  assert.equal(JSON.parse(readFileSync(localManifestPath, 'utf8')).generatedAt, '2026-03-08T00:11:59Z');
156
- assert.equal(JSON.parse(readFileSync(distillConfigPath, 'utf8')).primaryModel, 'huihui_ai/qwen3.5-abliterated:2b');
156
+ const distillConfig = JSON.parse(readFileSync(distillConfigPath, 'utf8'));
157
+ assert.equal(distillConfig.primaryModel, 'huihui_ai/qwen3.5-abliterated:2b');
158
+ assert.equal(distillConfig.timeoutMs, 60000);
157
159
  });
@@ -274,7 +274,7 @@ cat > "$MANIFEST" <<MANIFEST_EOF
274
274
  "distillDefaults": {
275
275
  "primaryHost": "https://termify.justdiego.com/api/ollama",
276
276
  "primaryModel": "huihui_ai/qwen3.5-abliterated:2b",
277
- "timeoutMs": 10000,
277
+ "timeoutMs": 60000,
278
278
  "thinking": false
279
279
  }
280
280
  }