@halfagiraf/clawx 0.1.38 → 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/dist/cli/main.js CHANGED
@@ -28,6 +28,7 @@ import { createSessionId, saveSession, getLatestSession, listSessions, } from ".
28
28
  import { log } from "../utils/logger.js";
29
29
  import { startRepl } from "./repl.js";
30
30
  import { startTui } from "./tui.js";
31
+ import { startScout } from "./scout.js";
31
32
  import { VERSION, printBannerCompact } from "./banner.js";
32
33
  const program = new Command();
33
34
  program
@@ -185,6 +186,36 @@ program
185
186
  // This is the mode users are directed to when their model doesn't support tools.
186
187
  await startRepl(config, sessionId, messages, { chatOnly: true });
187
188
  });
189
+ program
190
+ .command("scout")
191
+ .description("AI-powered HuggingFace model researcher — find models that fit your hardware")
192
+ .option("-m, --model <model>", "Model to use for the scout agent")
193
+ .option("-p, --provider <provider>", "Provider")
194
+ .option("-u, --base-url <url>", "Provider base URL")
195
+ .option("-d, --work-dir <dir>", "Working directory")
196
+ .option("-v, --verbose", "Verbose logging")
197
+ .option("--setup-hardware", "Re-prompt hardware specs (GPU, VRAM, RAM)")
198
+ .action(async (opts) => {
199
+ if (opts.verbose)
200
+ log.setLogLevel("info");
201
+ const config = loadConfig({
202
+ model: opts.model,
203
+ provider: opts.provider,
204
+ baseUrl: opts.baseUrl,
205
+ workDir: opts.workDir,
206
+ });
207
+ try {
208
+ await startScout(config, {
209
+ setupHardware: !!opts.setupHardware,
210
+ verbose: opts.verbose,
211
+ });
212
+ }
213
+ catch (e) {
214
+ const errMsg = e instanceof Error ? e.message : String(e);
215
+ console.error(`Scout failed: ${errMsg}`);
216
+ process.exit(1);
217
+ }
218
+ });
188
219
  program
189
220
  .command("continue")
190
221
  .description("Continue the last session")
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Scout command — AI-powered HuggingFace model researcher.
3
+ *
4
+ * Launches an interactive TUI session with HuggingFace tools
5
+ * and an expert system prompt for model discovery.
6
+ */
7
+ import type { ClawxConfig } from "../types/index.js";
8
+ export declare function startScout(config: ClawxConfig, options?: {
9
+ setupHardware?: boolean;
10
+ verbose?: boolean;
11
+ }): Promise<void>;
12
+ //# sourceMappingURL=scout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scout.d.ts","sourceRoot":"","sources":["../../src/cli/scout.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAgErD,wBAAsB,UAAU,CAC9B,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE;IACP,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;CACd,GACL,OAAO,CAAC,IAAI,CAAC,CA+Gf"}
@@ -0,0 +1,164 @@
1
+ /**
2
+ * Scout command — AI-powered HuggingFace model researcher.
3
+ *
4
+ * Launches an interactive TUI session with HuggingFace tools
5
+ * and an expert system prompt for model discovery.
6
+ */
7
+ import { createAgentSession, InteractiveMode, AuthStorage, ModelRegistry, DefaultResourceLoader, SettingsManager, } from "@mariozechner/pi-coding-agent";
8
+ import { resolveModel } from "../core/provider.js";
9
+ import { loadHardwareSpec, promptHardwareSpec } from "../config/hardware.js";
10
+ import { createHfSearchTool } from "../tools/hfSearch.js";
11
+ import { createHfModelInfoTool } from "../tools/hfModelInfo.js";
12
+ import { createHfReadmeTool } from "../tools/hfReadme.js";
13
+ import { buildScoutPrompt, buildScoutChatPrompt } from "../utils/scout-prompt.js";
14
+ import { createChatModeExtension } from "../extensions/chat-mode.js";
15
+ import { createToolParsingStreamFn } from "../core/text-tool-parser.js";
16
+ import { log } from "../utils/logger.js";
17
+ import { printBanner } from "./banner.js";
18
+ /**
19
+ * Convert a tool object to a ToolDefinition for pi-coding-agent.
20
+ * Same pattern as tui.ts.
21
+ */
22
+ function toolToDefinition(tool) {
23
+ return {
24
+ name: tool.name,
25
+ label: tool.label,
26
+ description: tool.description,
27
+ parameters: tool.parameters,
28
+ execute: tool.execute.bind(tool),
29
+ };
30
+ }
31
+ function buildScoutTools() {
32
+ return [
33
+ toolToDefinition(createHfSearchTool()),
34
+ toolToDefinition(createHfModelInfoTool()),
35
+ toolToDefinition(createHfReadmeTool()),
36
+ ];
37
+ }
38
+ /**
39
+ * Check if an Ollama model supports tool calling.
40
+ * Duplicated from tui.ts — same pre-flight check.
41
+ */
42
+ async function checkOllamaToolSupport(config) {
43
+ if (config.provider !== "ollama" && config.provider !== "local")
44
+ return true;
45
+ try {
46
+ const ollamaBase = config.baseUrl.replace(/\/v1\/?$/, "");
47
+ const res = await fetch(`${ollamaBase}/api/chat`, {
48
+ method: "POST",
49
+ headers: { "Content-Type": "application/json" },
50
+ body: JSON.stringify({
51
+ model: config.model,
52
+ messages: [{ role: "user", content: "test" }],
53
+ tools: [{ type: "function", function: { name: "test", description: "test", parameters: { type: "object", properties: {} } } }],
54
+ stream: false,
55
+ }),
56
+ });
57
+ if (!res.ok) {
58
+ const text = await res.text();
59
+ if (text.includes("does not support tools") || text.includes("does not support tool")) {
60
+ return false;
61
+ }
62
+ }
63
+ return true;
64
+ }
65
+ catch {
66
+ return true;
67
+ }
68
+ }
69
+ export async function startScout(config, options = {}) {
70
+ // Load or prompt for hardware spec
71
+ let hardware = null;
72
+ if (options.setupHardware) {
73
+ hardware = await promptHardwareSpec();
74
+ }
75
+ else {
76
+ hardware = loadHardwareSpec();
77
+ if (!hardware) {
78
+ console.log(" No hardware spec found. Let's set up your system info for Scout.\n");
79
+ hardware = await promptHardwareSpec();
80
+ }
81
+ }
82
+ const model = resolveModel(config);
83
+ const customTools = buildScoutTools();
84
+ printBanner(config.model, config.provider);
85
+ console.error(" Mode: Scout (HuggingFace Model Researcher)\n");
86
+ // Pre-flight: check tool support
87
+ const toolsSupported = await checkOllamaToolSupport(config);
88
+ if (!toolsSupported) {
89
+ log.info(`Model '${config.model}' does not support tools — starting in chat mode`);
90
+ }
91
+ log.info(`Starting Scout with ${model.id} @ ${model.provider}`);
92
+ log.info(`Scout tools: ${customTools.map((t) => t.name).join(", ")}`);
93
+ log.info(`Hardware: ${hardware.gpu}, ${hardware.vram} VRAM, ${hardware.ram} RAM`);
94
+ // Auth setup — same as tui.ts
95
+ const authStorage = AuthStorage.create();
96
+ authStorage.setRuntimeApiKey(config.provider, config.apiKey);
97
+ const modelRegistry = new ModelRegistry(authStorage);
98
+ modelRegistry.registerProvider(config.provider, {
99
+ baseUrl: config.baseUrl,
100
+ apiKey: config.apiKey,
101
+ api: model.api,
102
+ models: [
103
+ {
104
+ id: model.id,
105
+ name: model.name ?? model.id,
106
+ reasoning: model.reasoning ?? false,
107
+ input: model.input ?? ["text"],
108
+ cost: model.cost ?? { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
109
+ contextWindow: model.contextWindow ?? 32768,
110
+ maxTokens: model.maxTokens ?? config.maxTokens,
111
+ },
112
+ ],
113
+ });
114
+ // Build scout-specific system prompts
115
+ const agentSystemPrompt = buildScoutPrompt(hardware);
116
+ const chatSystemPrompt = buildScoutChatPrompt(hardware);
117
+ // Chat mode extension
118
+ const chatModeFactory = createChatModeExtension({
119
+ agentSystemPrompt,
120
+ chatSystemPrompt,
121
+ startInChatMode: !toolsSupported,
122
+ });
123
+ const resourceLoader = new DefaultResourceLoader({
124
+ cwd: config.workDir,
125
+ extensionFactories: [chatModeFactory],
126
+ extensionsOverride: (base) => {
127
+ for (const ext of base.extensions) {
128
+ if (ext.path.startsWith("<inline:")) {
129
+ ext.path = "scout";
130
+ ext.resolvedPath = "scout";
131
+ }
132
+ }
133
+ return base;
134
+ },
135
+ });
136
+ await resourceLoader.reload();
137
+ const settingsManager = SettingsManager.create(config.workDir);
138
+ settingsManager.setQuietStartup(true);
139
+ // Create session
140
+ const { session, extensionsResult, modelFallbackMessage } = await createAgentSession({
141
+ cwd: config.workDir,
142
+ model: model,
143
+ thinkingLevel: config.thinkingLevel === "off" ? undefined : config.thinkingLevel,
144
+ customTools,
145
+ authStorage,
146
+ modelRegistry,
147
+ resourceLoader,
148
+ settingsManager,
149
+ });
150
+ // Set scout system prompt
151
+ session.agent.setSystemPrompt(toolsSupported ? agentSystemPrompt : chatSystemPrompt);
152
+ // Inject text tool parser for Qwen-style models
153
+ const allToolNames = session.getAllTools().map((t) => t.name);
154
+ if (allToolNames.length > 0) {
155
+ session.agent.streamFn = createToolParsingStreamFn(allToolNames);
156
+ }
157
+ // Launch interactive mode
158
+ const mode = new InteractiveMode(session, {
159
+ modelFallbackMessage,
160
+ verbose: options.verbose,
161
+ });
162
+ await mode.run();
163
+ }
164
+ //# sourceMappingURL=scout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scout.js","sourceRoot":"","sources":["../../src/cli/scout.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Hardware spec management for Clawx Scout.
3
+ *
4
+ * Stores user's hardware info (GPU, VRAM, RAM) so the scout agent
5
+ * can recommend models that actually fit the user's system.
6
+ */
7
+ export interface HardwareSpec {
8
+ gpu: string;
9
+ vram: string;
10
+ ram: string;
11
+ os: string;
12
+ notes?: string;
13
+ }
14
+ export declare function loadHardwareSpec(): HardwareSpec | null;
15
+ export declare function saveHardwareSpec(spec: HardwareSpec): void;
16
+ export declare function promptHardwareSpec(): Promise<HardwareSpec>;
17
+ //# sourceMappingURL=hardware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hardware.d.ts","sourceRoot":"","sources":["../../src/config/hardware.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAaD,wBAAgB,gBAAgB,IAAI,YAAY,GAAG,IAAI,CAStD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAIzD;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,YAAY,CAAC,CAgChE"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Hardware spec management for Clawx Scout.
3
+ *
4
+ * Stores user's hardware info (GPU, VRAM, RAM) so the scout agent
5
+ * can recommend models that actually fit the user's system.
6
+ */
7
+ import fs from "node:fs";
8
+ import path from "node:path";
9
+ import readline from "node:readline";
10
+ import { getGlobalConfigDir } from "./index.js";
11
+ const DEFAULTS = {
12
+ gpu: "Unknown GPU",
13
+ vram: "Unknown",
14
+ ram: "Unknown",
15
+ os: process.platform === "win32" ? "Windows" : process.platform === "darwin" ? "macOS" : "Linux",
16
+ };
17
+ function getHardwarePath() {
18
+ return path.join(getGlobalConfigDir(), "hardware.json");
19
+ }
20
+ export function loadHardwareSpec() {
21
+ const filePath = getHardwarePath();
22
+ if (!fs.existsSync(filePath))
23
+ return null;
24
+ try {
25
+ const raw = fs.readFileSync(filePath, "utf-8");
26
+ return JSON.parse(raw);
27
+ }
28
+ catch {
29
+ return null;
30
+ }
31
+ }
32
+ export function saveHardwareSpec(spec) {
33
+ const dir = getGlobalConfigDir();
34
+ fs.mkdirSync(dir, { recursive: true });
35
+ fs.writeFileSync(getHardwarePath(), JSON.stringify(spec, null, 2), "utf-8");
36
+ }
37
+ export async function promptHardwareSpec() {
38
+ const rl = readline.createInterface({
39
+ input: process.stdin,
40
+ output: process.stdout,
41
+ });
42
+ const ask = (q, def) => new Promise((resolve) => {
43
+ const suffix = def ? ` [${def}]` : "";
44
+ rl.question(`${q}${suffix}: `, (answer) => resolve(answer.trim() || def || ""));
45
+ });
46
+ console.log("\n Hardware Setup for Scout\n");
47
+ console.log(" Scout uses your hardware specs to recommend models that fit.\n");
48
+ const gpu = await ask(" GPU", DEFAULTS.gpu);
49
+ const vram = await ask(" VRAM (e.g. 12GB, 24GB)", DEFAULTS.vram);
50
+ const ram = await ask(" System RAM (e.g. 32GB, 64GB)", DEFAULTS.ram);
51
+ const os = await ask(" OS", DEFAULTS.os);
52
+ const notes = await ask(" Notes (optional, e.g. 'prefer uncensored models')");
53
+ rl.close();
54
+ const spec = { gpu, vram, ram, os };
55
+ if (notes)
56
+ spec.notes = notes;
57
+ saveHardwareSpec(spec);
58
+ console.log(`\n Hardware spec saved to ${getHardwarePath()}\n`);
59
+ return spec;
60
+ }
61
+ //# sourceMappingURL=hardware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hardware.js","sourceRoot":"","sources":["../../src/config/hardware.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAUhD,MAAM,QAAQ,GAAiB;IAC7B,GAAG,EAAE,aAAa;IAClB,IAAI,EAAE,SAAS;IACf,GAAG,EAAE,SAAS;IACd,EAAE,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;CACjG,CAAC;AAEF,SAAS,eAAe;IACtB,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,eAAe,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;IACnC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAiB,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAkB;IACjD,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;IACjC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,EAAE,CAAC,aAAa,CAAC,eAAe,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;QAClC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,GAAY,EAAmB,EAAE,CACvD,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QACtB,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACtC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CACxC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,CAAC,CACpC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC;IAEhF,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,0BAA0B,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAClE,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,gCAAgC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IACtE,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,qDAAqD,CAAC,CAAC;IAE/E,EAAE,CAAC,KAAK,EAAE,CAAC;IAEX,MAAM,IAAI,GAAiB,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;IAClD,IAAI,KAAK;QAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IAE9B,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACvB,OAAO,CAAC,GAAG,CAAC,8BAA8B,eAAe,EAAE,IAAI,CAAC,CAAC;IAEjE,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"chat-mode.d.ts","sourceRoot":"","sources":["../../src/extensions/chat-mode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE,MAAM,WAAW,eAAe;IAC9B,gDAAgD;IAChD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,6CAA6C;IAC7C,gBAAgB,EAAE,MAAM,CAAC;IACzB,qCAAqC;IACrC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iDAAiD;IACjD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,sCAAsC;IACtC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;CAChD;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,eAAe,IAC5B,IAAI,YAAY,KAAG,IAAI,CA8H1D"}
1
+ {"version":3,"file":"chat-mode.d.ts","sourceRoot":"","sources":["../../src/extensions/chat-mode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE,MAAM,WAAW,eAAe;IAC9B,gDAAgD;IAChD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,6CAA6C;IAC7C,gBAAgB,EAAE,MAAM,CAAC;IACzB,qCAAqC;IACrC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iDAAiD;IACjD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,sCAAsC;IACtC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;CAChD;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,eAAe,IAC5B,IAAI,YAAY,KAAG,IAAI,CAyH1D"}
@@ -116,15 +116,10 @@ export function createChatModeExtension(options) {
116
116
  }
117
117
  }
118
118
  });
119
- // When model changes, check if we should restore tools
120
- pi.on("model_select", async (_event, ctx) => {
121
- // If user switches model while in auto-chat mode,
122
- // give them back tools (they can /chat again if needed)
123
- if (chatMode) {
124
- disableChatMode(ctx);
125
- }
126
- ctx.ui.setStatus("mode", "agent mode");
127
- });
119
+ // When model changes while in chat mode, stay in chat mode.
120
+ // User can /chat to restore agent mode if the new model supports tools.
121
+ // If in agent mode and new model doesn't support tools, turn_end
122
+ // will auto-switch to chat mode after the first error.
128
123
  };
129
124
  }
130
125
  //# sourceMappingURL=chat-mode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-mode.js","sourceRoot":"","sources":["../../src/extensions/chat-mode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-mode.js","sourceRoot":"","sources":["../../src/extensions/chat-mode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * HuggingFace Model Info tool for Scout.
3
+ *
4
+ * Fetches detailed metadata for a specific model, including
5
+ * file sizes (useful for estimating VRAM from GGUF quants).
6
+ */
7
+ import type { AgentTool } from "@mariozechner/pi-agent-core";
8
+ declare const HfModelInfoSchema: import("@sinclair/typebox").TObject<{
9
+ model_id: import("@sinclair/typebox").TString;
10
+ }>;
11
+ export interface HfModelInfoDetails {
12
+ modelId: string;
13
+ found: boolean;
14
+ }
15
+ export declare function createHfModelInfoTool(): AgentTool<typeof HfModelInfoSchema, HfModelInfoDetails>;
16
+ export {};
17
+ //# sourceMappingURL=hfModelInfo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hfModelInfo.d.ts","sourceRoot":"","sources":["../../src/tools/hfModelInfo.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAmB,MAAM,6BAA6B,CAAC;AAE9E,QAAA,MAAM,iBAAiB;;EAErB,CAAC;AAIH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;CAChB;AA2BD,wBAAgB,qBAAqB,IAAI,SAAS,CAAC,OAAO,iBAAiB,EAAE,kBAAkB,CAAC,CAsF/F"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * HuggingFace Model Info tool for Scout.
3
+ *
4
+ * Fetches detailed metadata for a specific model, including
5
+ * file sizes (useful for estimating VRAM from GGUF quants).
6
+ */
7
+ import { Type } from "@sinclair/typebox";
8
+ const HfModelInfoSchema = Type.Object({
9
+ model_id: Type.String({ description: "Full model ID (e.g. 'TheBloke/Mistral-7B-Instruct-v0.2-GGUF', 'Qwen/Qwen2.5-Coder-14B-Instruct')" }),
10
+ });
11
+ function formatSize(bytes) {
12
+ if (bytes >= 1_073_741_824)
13
+ return `${(bytes / 1_073_741_824).toFixed(1)}GB`;
14
+ if (bytes >= 1_048_576)
15
+ return `${(bytes / 1_048_576).toFixed(0)}MB`;
16
+ return `${(bytes / 1024).toFixed(0)}KB`;
17
+ }
18
+ export function createHfModelInfoTool() {
19
+ return {
20
+ name: "hf_model_info",
21
+ label: "HuggingFace Model Info",
22
+ description: "Get detailed info about a specific HuggingFace model. " +
23
+ "Returns tags, file list with sizes (useful for GGUF quant sizing), config, and metadata. " +
24
+ "Use this after hf_search to drill into a promising model.",
25
+ parameters: HfModelInfoSchema,
26
+ async execute(_toolCallId, params) {
27
+ const url = `https://huggingface.co/api/models/${params.model_id}`;
28
+ try {
29
+ const res = await fetch(url, {
30
+ headers: { Accept: "application/json" },
31
+ signal: AbortSignal.timeout(15_000),
32
+ });
33
+ if (res.status === 404) {
34
+ return {
35
+ content: [{ type: "text", text: `Model "${params.model_id}" not found on HuggingFace.` }],
36
+ details: { modelId: params.model_id, found: false },
37
+ };
38
+ }
39
+ if (!res.ok) {
40
+ return {
41
+ content: [{ type: "text", text: `HuggingFace API error: ${res.status} ${res.statusText}` }],
42
+ details: { modelId: params.model_id, found: false },
43
+ };
44
+ }
45
+ const data = (await res.json());
46
+ // Build file listing, highlighting GGUF files with sizes
47
+ const siblings = data.siblings || [];
48
+ const ggufFiles = siblings
49
+ .filter((s) => s.rfilename.endsWith(".gguf"))
50
+ .map((s) => ` ${s.rfilename}${s.size ? ` (${formatSize(s.size)})` : ""}`);
51
+ const otherFiles = siblings
52
+ .filter((s) => !s.rfilename.endsWith(".gguf"))
53
+ .slice(0, 20)
54
+ .map((s) => ` ${s.rfilename}${s.size ? ` (${formatSize(s.size)})` : ""}`);
55
+ const sections = [
56
+ `Model: ${data.id}`,
57
+ `Author: ${data.author || "?"}`,
58
+ `Downloads: ${data.downloads.toLocaleString()} | Likes: ${data.likes}`,
59
+ `Updated: ${data.lastModified?.slice(0, 10) || "?"}`,
60
+ `Pipeline: ${data.pipeline_tag || "?"}`,
61
+ `Library: ${data.library_name || "?"}`,
62
+ `Tags: ${data.tags?.join(", ") || "none"}`,
63
+ ];
64
+ if (ggufFiles.length > 0) {
65
+ sections.push(`\nGGUF files (${ggufFiles.length}):\n${ggufFiles.join("\n")}`);
66
+ }
67
+ if (otherFiles.length > 0) {
68
+ const totalOther = siblings.filter((s) => !s.rfilename.endsWith(".gguf")).length;
69
+ const suffix = totalOther > 20 ? `\n ... and ${totalOther - 20} more files` : "";
70
+ sections.push(`\nOther files:\n${otherFiles.join("\n")}${suffix}`);
71
+ }
72
+ if (data.config && Object.keys(data.config).length > 0) {
73
+ const configStr = JSON.stringify(data.config, null, 2).slice(0, 1500);
74
+ sections.push(`\nConfig:\n${configStr}`);
75
+ }
76
+ return {
77
+ content: [{ type: "text", text: sections.join("\n") }],
78
+ details: { modelId: params.model_id, found: true },
79
+ };
80
+ }
81
+ catch (e) {
82
+ const msg = e instanceof Error ? e.message : String(e);
83
+ return {
84
+ content: [{ type: "text", text: `Failed to fetch model info: ${msg}` }],
85
+ details: { modelId: params.model_id, found: false },
86
+ };
87
+ }
88
+ },
89
+ };
90
+ }
91
+ //# sourceMappingURL=hfModelInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hfModelInfo.js","sourceRoot":"","sources":["../../src/tools/hfModelInfo.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * HuggingFace README Reader tool for Scout.
3
+ *
4
+ * Fetches and truncates model README/model-card content.
5
+ * Useful for reading benchmark results, quant info, and usage instructions.
6
+ */
7
+ import type { AgentTool } from "@mariozechner/pi-agent-core";
8
+ declare const HfReadmeSchema: import("@sinclair/typebox").TObject<{
9
+ model_id: import("@sinclair/typebox").TString;
10
+ max_chars: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
11
+ }>;
12
+ export interface HfReadmeDetails {
13
+ modelId: string;
14
+ charCount: number;
15
+ truncated: boolean;
16
+ }
17
+ export declare function createHfReadmeTool(): AgentTool<typeof HfReadmeSchema, HfReadmeDetails>;
18
+ export {};
19
+ //# sourceMappingURL=hfReadme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hfReadme.d.ts","sourceRoot":"","sources":["../../src/tools/hfReadme.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAmB,MAAM,6BAA6B,CAAC;AAE9E,QAAA,MAAM,cAAc;;;EAGlB,CAAC;AAIH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,kBAAkB,IAAI,SAAS,CAAC,OAAO,cAAc,EAAE,eAAe,CAAC,CA0DtF"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * HuggingFace README Reader tool for Scout.
3
+ *
4
+ * Fetches and truncates model README/model-card content.
5
+ * Useful for reading benchmark results, quant info, and usage instructions.
6
+ */
7
+ import { Type } from "@sinclair/typebox";
8
+ const HfReadmeSchema = Type.Object({
9
+ model_id: Type.String({ description: "Full model ID (e.g. 'bartowski/Qwen2.5-Coder-14B-Instruct-GGUF')" }),
10
+ max_chars: Type.Optional(Type.Number({ description: "Max characters to return (default: 3000)" })),
11
+ });
12
+ export function createHfReadmeTool() {
13
+ return {
14
+ name: "hf_readme",
15
+ label: "HuggingFace README",
16
+ description: "Read a model's README/model card from HuggingFace. " +
17
+ "Returns the first ~3000 characters by default. " +
18
+ "Useful for reading benchmark results, quantization details, prompt formats, and usage instructions.",
19
+ parameters: HfReadmeSchema,
20
+ async execute(_toolCallId, params) {
21
+ const maxChars = params.max_chars || 3000;
22
+ const url = `https://huggingface.co/${params.model_id}/raw/main/README.md`;
23
+ try {
24
+ const res = await fetch(url, {
25
+ signal: AbortSignal.timeout(15_000),
26
+ });
27
+ if (res.status === 404) {
28
+ return {
29
+ content: [{ type: "text", text: `No README found for "${params.model_id}".` }],
30
+ details: { modelId: params.model_id, charCount: 0, truncated: false },
31
+ };
32
+ }
33
+ if (!res.ok) {
34
+ return {
35
+ content: [{ type: "text", text: `Failed to fetch README: ${res.status} ${res.statusText}` }],
36
+ details: { modelId: params.model_id, charCount: 0, truncated: false },
37
+ };
38
+ }
39
+ const fullText = await res.text();
40
+ const truncated = fullText.length > maxChars;
41
+ const text = truncated
42
+ ? fullText.slice(0, maxChars) + `\n\n... [truncated at ${maxChars} chars, full README is ${fullText.length} chars]`
43
+ : fullText;
44
+ return {
45
+ content: [{ type: "text", text: `README for ${params.model_id}:\n\n${text}` }],
46
+ details: {
47
+ modelId: params.model_id,
48
+ charCount: fullText.length,
49
+ truncated,
50
+ },
51
+ };
52
+ }
53
+ catch (e) {
54
+ const msg = e instanceof Error ? e.message : String(e);
55
+ return {
56
+ content: [{ type: "text", text: `Failed to fetch README: ${msg}` }],
57
+ details: { modelId: params.model_id, charCount: 0, truncated: false },
58
+ };
59
+ }
60
+ },
61
+ };
62
+ }
63
+ //# sourceMappingURL=hfReadme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hfReadme.js","sourceRoot":"","sources":["../../src/tools/hfReadme.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * HuggingFace Model Search tool for Scout.
3
+ *
4
+ * Searches the HuggingFace API for models matching query/filters.
5
+ * No auth required — uses the public API.
6
+ */
7
+ import type { AgentTool } from "@mariozechner/pi-agent-core";
8
+ declare const HfSearchSchema: import("@sinclair/typebox").TObject<{
9
+ search: import("@sinclair/typebox").TString;
10
+ filter: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
11
+ sort: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
12
+ limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
13
+ }>;
14
+ export interface HfSearchDetails {
15
+ query: string;
16
+ resultCount: number;
17
+ }
18
+ export declare function createHfSearchTool(): AgentTool<typeof HfSearchSchema, HfSearchDetails>;
19
+ export {};
20
+ //# sourceMappingURL=hfSearch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hfSearch.d.ts","sourceRoot":"","sources":["../../src/tools/hfSearch.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAmB,MAAM,6BAA6B,CAAC;AAE9E,QAAA,MAAM,cAAc;;;;;EAKlB,CAAC;AAIH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAWD,wBAAgB,kBAAkB,IAAI,SAAS,CAAC,OAAO,cAAc,EAAE,eAAe,CAAC,CA0EtF"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * HuggingFace Model Search tool for Scout.
3
+ *
4
+ * Searches the HuggingFace API for models matching query/filters.
5
+ * No auth required — uses the public API.
6
+ */
7
+ import { Type } from "@sinclair/typebox";
8
+ const HfSearchSchema = Type.Object({
9
+ search: Type.String({ description: "Search query (e.g. 'qwen coder', 'llama uncensored')" }),
10
+ filter: Type.Optional(Type.String({ description: "Comma-separated filters (e.g. 'gguf', 'text-generation', 'text-generation,gguf')" })),
11
+ sort: Type.Optional(Type.String({ description: "Sort by: downloads, likes, lastModified, trending (default: downloads)" })),
12
+ limit: Type.Optional(Type.Number({ description: "Max results to return (default: 10, max: 30)" })),
13
+ });
14
+ export function createHfSearchTool() {
15
+ return {
16
+ name: "hf_search",
17
+ label: "HuggingFace Search",
18
+ description: "Search HuggingFace for models. Returns model IDs, download counts, likes, tags, and last modified dates. " +
19
+ "Use filters like 'gguf' to find quantized models, 'text-generation' for LLMs. " +
20
+ "Sort by 'downloads' (popular), 'likes' (community favorites), 'lastModified' (newest), or 'trending'.",
21
+ parameters: HfSearchSchema,
22
+ async execute(_toolCallId, params) {
23
+ const limit = Math.min(params.limit || 10, 30);
24
+ const sort = params.sort || "downloads";
25
+ const url = new URL("https://huggingface.co/api/models");
26
+ url.searchParams.set("search", params.search);
27
+ url.searchParams.set("sort", sort);
28
+ url.searchParams.set("direction", "-1");
29
+ url.searchParams.set("limit", String(limit));
30
+ if (params.filter) {
31
+ for (const f of params.filter.split(",")) {
32
+ url.searchParams.append("filter", f.trim());
33
+ }
34
+ }
35
+ try {
36
+ const res = await fetch(url.toString(), {
37
+ headers: { Accept: "application/json" },
38
+ signal: AbortSignal.timeout(15_000),
39
+ });
40
+ if (!res.ok) {
41
+ return {
42
+ content: [{ type: "text", text: `HuggingFace API error: ${res.status} ${res.statusText}` }],
43
+ details: { query: params.search, resultCount: 0 },
44
+ };
45
+ }
46
+ const models = (await res.json());
47
+ if (models.length === 0) {
48
+ return {
49
+ content: [{ type: "text", text: `No models found for "${params.search}" with filters: ${params.filter || "none"}` }],
50
+ details: { query: params.search, resultCount: 0 },
51
+ };
52
+ }
53
+ const lines = models.map((m) => {
54
+ const tags = m.tags?.slice(0, 8).join(", ") || "";
55
+ return [
56
+ `- ${m.id}`,
57
+ ` downloads: ${m.downloads.toLocaleString()} | likes: ${m.likes} | updated: ${m.lastModified?.slice(0, 10) || "?"}`,
58
+ ` pipeline: ${m.pipeline_tag || "?"} | tags: ${tags}`,
59
+ ].join("\n");
60
+ });
61
+ const text = `Found ${models.length} models for "${params.search}" (sorted by ${sort}):\n\n${lines.join("\n\n")}`;
62
+ return {
63
+ content: [{ type: "text", text }],
64
+ details: { query: params.search, resultCount: models.length },
65
+ };
66
+ }
67
+ catch (e) {
68
+ const msg = e instanceof Error ? e.message : String(e);
69
+ return {
70
+ content: [{ type: "text", text: `HuggingFace search failed: ${msg}` }],
71
+ details: { query: params.search, resultCount: 0 },
72
+ };
73
+ }
74
+ },
75
+ };
76
+ }
77
+ //# sourceMappingURL=hfSearch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hfSearch.js","sourceRoot":"","sources":["../../src/tools/hfSearch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Scout system prompt builder.
3
+ *
4
+ * Creates an expert prompt that instructs the agent to research
5
+ * HuggingFace models using its 3 HF tools, tailored to the user's hardware.
6
+ */
7
+ import type { HardwareSpec } from "../config/hardware.js";
8
+ export declare function buildScoutPrompt(hardware: HardwareSpec): string;
9
+ export declare function buildScoutChatPrompt(hardware: HardwareSpec): string;
10
+ //# sourceMappingURL=scout-prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scout-prompt.d.ts","sourceRoot":"","sources":["../../src/utils/scout-prompt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CA+C/D;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAkBnE"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Scout system prompt builder.
3
+ *
4
+ * Creates an expert prompt that instructs the agent to research
5
+ * HuggingFace models using its 3 HF tools, tailored to the user's hardware.
6
+ */
7
+ export function buildScoutPrompt(hardware) {
8
+ const hwBlock = [
9
+ `- GPU: ${hardware.gpu}`,
10
+ `- VRAM: ${hardware.vram}`,
11
+ `- System RAM: ${hardware.ram}`,
12
+ `- OS: ${hardware.os}`,
13
+ hardware.notes ? `- Notes: ${hardware.notes}` : "",
14
+ ]
15
+ .filter(Boolean)
16
+ .join("\n");
17
+ return `You are Scout, an AI-powered HuggingFace model researcher. You are an expert at finding, evaluating, and recommending local LLMs — especially GGUF quantized models that run on consumer hardware.
18
+
19
+ User's Hardware:
20
+ ${hwBlock}
21
+
22
+ Your Tools:
23
+ - hf_search: Search HuggingFace for models by query and filters. Use filters like "gguf" for quantized models, "text-generation" for LLMs.
24
+ - hf_model_info: Get detailed info about a specific model — file sizes, tags, config. Essential for checking GGUF quant sizes and VRAM fit.
25
+ - hf_readme: Read a model's README/model card for benchmarks, prompt formats, and usage details.
26
+
27
+ Your Expertise:
28
+ - GGUF quantization levels: Q2_K (~2-3 bits), Q3_K_M (~3.5 bits), Q4_K_M (~4.5 bits), Q5_K_M (~5.5 bits), Q6_K (~6.5 bits), Q8_0 (8 bits), F16 (16 bits)
29
+ - VRAM estimation: model file size ≈ VRAM needed (plus ~500MB-1GB overhead for context)
30
+ - Tool calling support: models need specific training/fine-tuning for structured tool use
31
+ - Uncensored/abliterated models: models with safety filters removed, useful for unrestricted coding assistance
32
+ - Ollama compatibility: models need a Modelfile or be available on the Ollama library
33
+ - Context window sizes and their impact on coding tasks
34
+ - Popular GGUF quantizers: bartowski, TheBloke, MaziyarPanahi, mradermacher, unsloth
35
+
36
+ Workflow:
37
+ 1. When the user asks about models, use hf_search to find candidates
38
+ 2. Use hf_model_info to check file sizes and estimate VRAM fit for the user's hardware
39
+ 3. Use hf_readme to read model cards for benchmark results, prompt formats, and details
40
+ 4. Recommend models with clear reasoning: why they fit, VRAM estimate, expected quality
41
+ 5. When appropriate, suggest Ollama Modelfile configurations for promising finds
42
+
43
+ Guidelines:
44
+ - Always consider the user's VRAM when recommending models — never suggest models that won't fit
45
+ - Prefer models with high download counts and recent updates (active community)
46
+ - For coding tasks, prioritize models trained on code (CodeLlama, Qwen-Coder, DeepSeek-Coder, StarCoder, etc.)
47
+ - For tool calling, look for models explicitly fine-tuned for function/tool calling
48
+ - When recommending quantizations, explain the quality/size tradeoff
49
+ - Be proactive: if the user asks about "coding models", search for multiple relevant terms
50
+ - Format recommendations clearly with model name, quant, estimated VRAM, and key strengths
51
+
52
+ You are conversational and helpful. Research thoroughly before making recommendations.`;
53
+ }
54
+ export function buildScoutChatPrompt(hardware) {
55
+ const hwBlock = [
56
+ `- GPU: ${hardware.gpu}`,
57
+ `- VRAM: ${hardware.vram}`,
58
+ `- System RAM: ${hardware.ram}`,
59
+ `- OS: ${hardware.os}`,
60
+ hardware.notes ? `- Notes: ${hardware.notes}` : "",
61
+ ]
62
+ .filter(Boolean)
63
+ .join("\n");
64
+ return `You are Scout, an AI model researcher. You help users find and evaluate LLMs for local use.
65
+
66
+ User's Hardware:
67
+ ${hwBlock}
68
+
69
+ You are in chat mode — you cannot search HuggingFace right now. You can still discuss models, quantization, VRAM estimates, and recommendations based on your knowledge.
70
+ If the user needs live HuggingFace searches, suggest they switch back with /chat.`;
71
+ }
72
+ //# sourceMappingURL=scout-prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scout-prompt.js","sourceRoot":"","sources":["../../src/utils/scout-prompt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,UAAU,gBAAgB,CAAC,QAAsB;IACrD,MAAM,OAAO,GAAG;QACd,UAAU,QAAQ,CAAC,GAAG,EAAE;QACxB,WAAW,QAAQ,CAAC,IAAI,EAAE;QAC1B,iBAAiB,QAAQ,CAAC,GAAG,EAAE;QAC/B,SAAS,QAAQ,CAAC,EAAE,EAAE;QACtB,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;KACnD;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO;;;EAGP,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uFAgC8E,CAAC;AACxF,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAAsB;IACzD,MAAM,OAAO,GAAG;QACd,UAAU,QAAQ,CAAC,GAAG,EAAE;QACxB,WAAW,QAAQ,CAAC,IAAI,EAAE;QAC1B,iBAAiB,QAAQ,CAAC,GAAG,EAAE;QAC/B,SAAS,QAAQ,CAAC,EAAE,EAAE;QACtB,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;KACnD;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO;;;EAGP,OAAO;;;kFAGyE,CAAC;AACnF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@halfagiraf/clawx",
3
- "version": "0.1.38",
3
+ "version": "0.2.0",
4
4
  "description": "Terminal-first coding agent — runs locally with Ollama, DeepSeek, OpenAI, or any OpenAI-compatible endpoint",
5
5
  "type": "module",
6
6
  "bin": {