miii-cli 0.1.6 → 0.1.8

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.
@@ -40,6 +40,7 @@ export function InputBar({ config, skills, cwd, session }) {
40
40
  const [currentModel, setCurrentModel] = useState(config.model);
41
41
  const [streamPreview, setStreamPreview] = useState('');
42
42
  const [sessionName, setSessionName] = useState(session);
43
+ const [planningMode, setPlanningMode] = useState(false);
43
44
  // picker opens on mount — force model selection every launch
44
45
  const [pickerOpen, setPickerOpen] = useState(true);
45
46
  const [pickerModels, setPickerModels] = useState([]);
@@ -207,18 +208,57 @@ export function InputBar({ config, skills, cwd, session }) {
207
208
  const newName = new Date().toISOString().slice(0, 19).replace(/[:T]/g, '-');
208
209
  historyRef.current = [];
209
210
  setSessionName(newName);
211
+ setPlanningMode(false);
212
+ systemPromptRef.current = getSystemPrompt(`\n- CWD: ${cwd}`);
210
213
  printer.systemMsg(`new session → ${newName}`);
211
214
  return;
212
215
  }
213
216
  if (cmd === '/clear') {
214
217
  historyRef.current = [];
215
218
  saveSession(sessionNameRef.current, []);
219
+ setPlanningMode(false);
220
+ systemPromptRef.current = getSystemPrompt(`\n- CWD: ${cwd}`);
216
221
  printer.systemMsg('chat cleared');
217
222
  return;
218
223
  }
219
224
  if (cmd === '/exit') {
220
225
  process.exit(0);
221
226
  }
227
+ if (cmd === '/plan' || cmd.startsWith('/plan ')) {
228
+ const topic = cmd.slice(5).trim();
229
+ setPlanningMode(true);
230
+ systemPromptRef.current = getSystemPrompt(`\n- CWD: ${cwd}\n- MODE: Planning assistant. Help the user plan step by step. Ask clarifying questions. Suggest concrete next steps. Use plain text only — no markdown, no headers, no bold, no bullets with asterisks, no backtick blocks. Use numbered lists and plain indentation for structure.`);
231
+ const msg = topic
232
+ ? `I want to plan: ${topic}`
233
+ : 'I want to start planning. Help me think through my goals step by step.';
234
+ printer.userMsg(msg);
235
+ historyRef.current.push({ role: 'user', content: msg });
236
+ saveSession(sessionNameRef.current, historyRef.current);
237
+ await runLoop(buildContext());
238
+ return;
239
+ }
240
+ if (cmd === '/plan:done') {
241
+ setPlanningMode(false);
242
+ systemPromptRef.current = getSystemPrompt(`\n- CWD: ${cwd}`);
243
+ printer.systemMsg('planning mode off');
244
+ return;
245
+ }
246
+ if (cmd.startsWith('/plan:')) {
247
+ const subCmd = cmd.slice(6);
248
+ const subPrompts = {
249
+ next: 'What are the next concrete steps I should take?',
250
+ breakdown: 'Can you break this down into specific subtasks?',
251
+ review: 'Please review and critique our plan so far. What are we missing?',
252
+ };
253
+ const msg = subPrompts[subCmd];
254
+ if (msg) {
255
+ printer.userMsg(msg);
256
+ historyRef.current.push({ role: 'user', content: msg });
257
+ saveSession(sessionNameRef.current, historyRef.current);
258
+ await runLoop(buildContext());
259
+ return;
260
+ }
261
+ }
222
262
  if (cmd === '/sessions') {
223
263
  const sessions = listSessions();
224
264
  if (!sessions.length) {
@@ -284,6 +324,6 @@ export function InputBar({ config, skills, cwd, session }) {
284
324
  }, []);
285
325
  const skillList = skills.list();
286
326
  // ─── render ────────────────────────────────────────────────────────────────
287
- return (_jsxs(Box, { flexDirection: "column", children: [pickerOpen ? (_jsxs(_Fragment, { children: [_jsx(ModelPicker, { models: pickerModels, current: currentModel, loading: pickerLoading, error: pickerError, pull: pullState, onSelect: handleModelSelect, onPull: handleModelPull, onClose: () => { setPickerOpen(false); setPullState(undefined); } }), _jsx(Divider, { cols: cols })] })) : streamPreview ? (_jsxs(_Fragment, { children: [_jsxs(Box, { flexDirection: "column", paddingX: 1, children: [_jsx(Text, { bold: true, color: "green", children: "miii" }), lastLines(streamPreview, PREVIEW_LINES).map((line, i) => (_jsx(Text, { color: "gray", wrap: "wrap", children: line || ' ' }, i)))] }), _jsx(Divider, { cols: cols })] })) : null, _jsx(InputArea, { status: status, skills: skillList, cwd: cwd, onSubmit: handleSubmit, onAbort: handleAbort })] }));
327
+ return (_jsxs(Box, { flexDirection: "column", children: [pickerOpen ? (_jsxs(_Fragment, { children: [_jsx(ModelPicker, { models: pickerModels, current: currentModel, loading: pickerLoading, error: pickerError, pull: pullState, onSelect: handleModelSelect, onPull: handleModelPull, onClose: () => { setPickerOpen(false); setPullState(undefined); } }), _jsx(Divider, { cols: cols })] })) : streamPreview ? (_jsxs(_Fragment, { children: [_jsxs(Box, { flexDirection: "column", paddingX: 1, children: [_jsx(Text, { bold: true, color: "green", children: "miii" }), lastLines(streamPreview, PREVIEW_LINES).map((line, i) => (_jsx(Text, { color: "gray", wrap: "wrap", children: line || ' ' }, i)))] }), _jsx(Divider, { cols: cols })] })) : null, _jsx(InputArea, { status: status, skills: skillList, cwd: cwd, planningMode: planningMode, onSubmit: handleSubmit, onAbort: handleAbort })] }));
288
328
  }
289
329
  //# sourceMappingURL=InputBar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputBar.js","sourceRoot":"","sources":["../../src/tui/InputBar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InputBar.js","sourceRoot":"","sources":["../../src/tui/InputBar.tsx"],"names":[],"mappings":"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"}
@@ -4,8 +4,9 @@ interface Props {
4
4
  status: Status;
5
5
  skills: Skill[];
6
6
  cwd: string;
7
+ planningMode?: boolean;
7
8
  onSubmit: (text: string) => void;
8
9
  onAbort: () => void;
9
10
  }
10
- export declare function InputArea({ status, skills, cwd, onSubmit, onAbort }: Props): import("react/jsx-runtime").JSX.Element;
11
+ export declare function InputArea({ status, skills, cwd, planningMode, onSubmit, onAbort }: Props): import("react/jsx-runtime").JSX.Element;
11
12
  export {};
@@ -12,8 +12,15 @@ const BUILTIN_COMMANDS = [
12
12
  { ns: 'builtin', name: 'session', description: 'switch session /session <name>' },
13
13
  { ns: 'builtin', name: 'exit', description: 'exit miii' },
14
14
  { ns: 'builtin', name: 'list', description: 'list all loaded skills' },
15
+ { ns: 'builtin', name: 'plan', description: 'start planning mode /plan [topic]' },
15
16
  ];
16
- export function InputArea({ status, skills, cwd, onSubmit, onAbort }) {
17
+ const PLANNING_COMMANDS = [
18
+ { ns: 'plan', name: 'next', description: 'suggest next concrete steps' },
19
+ { ns: 'plan', name: 'breakdown', description: 'break current topic into subtasks' },
20
+ { ns: 'plan', name: 'review', description: 'review and critique the plan so far' },
21
+ { ns: 'plan', name: 'done', description: 'exit planning mode' },
22
+ ];
23
+ export function InputArea({ status, skills, cwd, planningMode, onSubmit, onAbort }) {
17
24
  const [lines, setLines] = useState(['']);
18
25
  const [cursor, setCursor] = useState({ row: 0, col: 0 });
19
26
  const [overlay, setOverlay] = useState('none');
@@ -30,8 +37,9 @@ export function InputArea({ status, skills, cwd, onSubmit, onAbort }) {
30
37
  const allCommands = useMemo(() => {
31
38
  const builtinNames = new Set(BUILTIN_COMMANDS.map(b => b.name));
32
39
  const userSkills = skills.filter(s => !builtinNames.has(s.name));
33
- return [...BUILTIN_COMMANDS, ...userSkills];
34
- }, [skills]);
40
+ const base = [...BUILTIN_COMMANDS, ...userSkills];
41
+ return planningMode ? [...PLANNING_COMMANDS, ...base] : base;
42
+ }, [skills, planningMode]);
35
43
  const isActive = status === 'idle';
36
44
  const fullInput = lines.join('\n');
37
45
  const commandQuery = useMemo(() => fullInput.startsWith('/') ? fullInput.slice(1) : '', [fullInput]);
@@ -257,7 +265,9 @@ export function InputArea({ status, skills, cwd, onSubmit, onAbort }) {
257
265
  ? '↑↓ navigate enter select esc close'
258
266
  : overlay === 'at'
259
267
  ? '↑↓ navigate enter select esc close'
260
- : '@ file / command enter send ctrl+c exit';
268
+ : planningMode
269
+ ? '📋 planning mode / suggestions enter send /plan:done to exit'
270
+ : '@ file / command enter send ctrl+c exit';
261
271
  return (_jsxs(Box, { flexDirection: "column", children: [overlay === 'command' && (_jsx(CommandPalette, { skills: allCommands, query: commandQuery, idx: overlayIdx })), overlay === 'at' && (_jsx(AtPicker, { files: filteredFiles, query: atQuery, idx: overlayIdx })), _jsxs(Box, { borderStyle: "round", borderColor: borderColor, paddingX: 1, flexDirection: "column", children: [_jsxs(Box, { children: [_jsx(Text, { color: borderColor, bold: true, children: '❯ ' }), _jsx(Box, { flexDirection: "column", flexGrow: 1, children: lines.length === 1 && !lines[0] ? (_jsx(Text, { color: isActive ? 'white' : 'gray', dimColor: isProcessing, children: isActive ? '█' : 'processing...' })) : (lines.map((line, i) => (_jsx(Text, { wrap: "wrap", children: i === cursor.row
262
272
  ? renderLineWithCursor(line, cursor.col, isActive)
263
273
  : line }, i)))) })] }), _jsx(Text, { color: "gray", dimColor: true, children: hint })] })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"InputArea.js","sourceRoot":"","sources":["../../../src/tui/components/InputArea.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InputArea.js","sourceRoot":"","sources":["../../../src/tui/components/InputArea.tsx"],"names":[],"mappings":"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"}
@@ -13,6 +13,14 @@ const yellow = (s) => col(93, s);
13
13
  function indent(text, pad = ' ') {
14
14
  return text.split('\n').map(l => pad + l).join('\n');
15
15
  }
16
+ function stripMarkdown(s) {
17
+ return s
18
+ .replace(/\*\*\*(.+?)\*\*\*/g, '$1')
19
+ .replace(/\*\*(.+?)\*\*/g, '$1')
20
+ .replace(/\*(.+?)\*/g, '$1')
21
+ .replace(/`([^`]+)`/g, '$1')
22
+ .replace(/^#{1,6} /gm, '');
23
+ }
16
24
  function formatContent(text) {
17
25
  const lines = text.split('\n');
18
26
  let inCode = false;
@@ -28,7 +36,7 @@ function formatContent(text) {
28
36
  out.push(' ' + yellow(line || ' '));
29
37
  }
30
38
  else {
31
- out.push(' ' + (line || ''));
39
+ out.push(' ' + stripMarkdown(line || ''));
32
40
  }
33
41
  }
34
42
  return out.join('\n');
@@ -1 +1 @@
1
- {"version":3,"file":"printer.js","sourceRoot":"","sources":["../../src/tui/printer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"printer.js","sourceRoot":"","sources":["../../src/tui/printer.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,MAAM,CAAC,GAAG,SAAS,CAAA;AACnB,MAAM,IAAI,GAAG,SAAS,CAAA;AACtB,MAAM,GAAG,GAAG,SAAS,CAAA;AAErB,SAAS,IAAI,CAAC,CAAS,IAAI,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAA,CAAC,CAAC;AACrD,SAAS,GAAG,CAAC,CAAS,IAAI,OAAO,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAA,CAAC,CAAC;AACnD,SAAS,GAAG,CAAC,IAAY,EAAE,CAAS,IAAI,OAAO,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA,CAAC,CAAC;AAExE,MAAM,IAAI,GAAK,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;AACxC,MAAM,KAAK,GAAI,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;AACxC,MAAM,IAAI,GAAK,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;AACxC,MAAM,IAAI,GAAK,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;AACxC,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;AAExC,SAAS,MAAM,CAAC,IAAY,EAAE,GAAG,GAAG,IAAI;IACtC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACtD,CAAC;AAED,SAAS,aAAa,CAAC,CAAS;IAC9B,OAAO,CAAC;SACL,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC;SACnC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC;SAC/B,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC;SAC3B,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC;SAC3B,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;AAC9B,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC9B,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,MAAM,GAAG,GAAa,EAAE,CAAA;IACxB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;YAAE,SAAQ;QAC/E,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,GAAG,CAAC,MAAM,CAAA;YAChB,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAClC,CAAC;aAAM,IAAI,MAAM,EAAE,CAAC;YAClB,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAA;QACtC,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAA;QAC5C,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,QAAgB,EAAE,KAAa,EAAE,GAAW;IAClE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,GAAG,CAAC,CAAA;IACxD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAA;IACvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IACvC,MAAM,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,CAAC,CAAA;IAEjC,SAAS,GAAG,CAAC,CAAS,IAAY,OAAO,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAA,CAAC,CAAC;IAE3E,SAAS,IAAI,CAAC,CAAS,EAAE,CAAS;QAChC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;QAChB,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAA;QACrD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAA;QAC5B,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IAChC,CAAC;IAED,SAAS,GAAG,CAAC,CAAS,EAAE,CAAS;QAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;IAC7E,CAAC;IAED,SAAS,KAAK;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;IACnF,CAAC;IAED,SAAS,IAAI,CAAC,GAAW,EAAE,IAAY,EAAE,IAAI,GAAG,EAAE;QAChD,OAAO,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAA;IACnF,CAAC;IAED,MAAM,QAAQ,GAAG,eAAe,CAAA;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;IACzD,MAAM,GAAG,GAAM,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,CAAA;IACrG,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAA;IAEnD,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,GAAG,CAAC,CAAA;IAEzD,MAAM,KAAK,GAAG;QACZ,GAAG;QACH,KAAK,EAAE;QACP,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,EAAc,KAAK,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC;QACxF,GAAG,CAAC,KAAK,IAAI,CAAC,4BAA4B,CAAC,EAAE,EAAK,IAAI,CAAC,WAAW,EAAE,0BAA0B,CAAC,CAAC;QAChG,GAAG,CAAC,KAAK,IAAI,CAAC,0BAA0B,CAAC,EAAE,EAAO,IAAI,CAAC,QAAQ,EAAK,wBAAwB,CAAC,CAAC;QAC9F,GAAG,CAAC,EAAE,EAA6C,IAAI,CAAC,SAAS,EAAI,uBAAuB,CAAC,CAAC;QAC9F,GAAG,CAAC,EAAE,EAA6C,IAAI,CAAC,OAAO,EAAM,iBAAiB,CAAC,CAAC;QACxF,GAAG,CAAC,EAAE,EAA6C,IAAI,CAAC,UAAU,EAAG,iBAAiB,CAAC,CAAC;QACxF,KAAK,EAAE;QACP,GAAG,CAAC,KAAK,IAAI,CAAC,QAAQ,GAAG,GAAG,GAAG,KAAK,CAAC,EAAE,EAAW,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QAC9E,GAAG,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,EAAE,EAA0B,IAAI,CAAC,QAAQ,EAAI,gBAAgB,CAAC,CAAC;QACtF,GAAG,CAAC,EAAE,EAA6C,IAAI,CAAC,WAAW,EAAC,MAAM,CAAC,CAAC;QAC5E,KAAK,EAAE;QACP,MAAM;KACP,CAAA;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;AAC/C,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IACnE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;AACjE,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACjE,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAY,EAAE,MAAc;IAClD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAA;IACzE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE;QACzB,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC3D,CAAC,CAAC,EAAE,CAAA;IACN,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AACxE,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAA;AAChC,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAA;AACrC,CAAC;AAED,MAAM,UAAU,OAAO;IACrB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAA;IACzC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;AACrD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "miii-cli",
3
- "version": "0.1.6",
3
+ "version": "0.1.8",
4
4
  "type": "module",
5
5
  "description": "Claude Code-level terminal workflows powered by your local models.",
6
6
  "license": "MIT",
package/src/init.ts CHANGED
@@ -5,6 +5,7 @@ import { loadConfig } from './config.js'
5
5
  import { SkillLoader } from './skills/loader.js'
6
6
  import { InputBar } from './tui/InputBar.js'
7
7
  import { welcome } from './tui/printer.js'
8
+ import { ensureOllama } from './llm/ollama.js'
8
9
 
9
10
  export async function lazyInit(): Promise<void> {
10
11
  const argv = minimist(process.argv.slice(2), {
@@ -17,6 +18,10 @@ export async function lazyInit(): Promise<void> {
17
18
  if (argv.url) config.baseUrl = argv.url
18
19
  if (argv.provider) config.provider = argv.provider as typeof config.provider
19
20
 
21
+ if (config.provider === 'ollama') {
22
+ await ensureOllama(config.baseUrl)
23
+ }
24
+
20
25
  const skills = new SkillLoader()
21
26
  await skills.loadAll()
22
27
 
package/src/llm/ollama.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import { execSync, spawn } from 'child_process'
2
+
1
3
  export interface OllamaModel {
2
4
  name: string
3
5
  size: number
@@ -51,6 +53,56 @@ export async function pullModel(
51
53
  }
52
54
  }
53
55
 
56
+ export async function ensureOllama(baseUrl: string): Promise<void> {
57
+ if (await isReachable(baseUrl)) return
58
+
59
+ if (!isBinaryInstalled()) {
60
+ process.stderr.write('\nOllama not found. Install it:\n\n')
61
+ if (process.platform === 'darwin') {
62
+ process.stderr.write(' brew install ollama\n')
63
+ process.stderr.write(' — or download: https://ollama.ai/download\n')
64
+ } else if (process.platform === 'linux') {
65
+ process.stderr.write(' curl -fsSL https://ollama.ai/install.sh | sh\n')
66
+ } else {
67
+ process.stderr.write(' https://ollama.ai/download\n')
68
+ }
69
+ process.stderr.write('\nThen run: ollama serve\n\n')
70
+ process.exit(1)
71
+ }
72
+
73
+ process.stderr.write('Ollama not running — starting ollama serve...\n')
74
+ spawn('ollama', ['serve'], { detached: true, stdio: 'ignore' }).unref()
75
+
76
+ for (let i = 0; i < 12; i++) {
77
+ await new Promise(r => setTimeout(r, 500))
78
+ if (await isReachable(baseUrl)) {
79
+ process.stderr.write('Ollama ready.\n')
80
+ return
81
+ }
82
+ }
83
+
84
+ process.stderr.write('Could not start Ollama. Run manually: ollama serve\n')
85
+ process.exit(1)
86
+ }
87
+
88
+ async function isReachable(baseUrl: string): Promise<boolean> {
89
+ try {
90
+ const res = await fetch(`${baseUrl}/api/tags`, { signal: AbortSignal.timeout(2000) })
91
+ return res.ok
92
+ } catch {
93
+ return false
94
+ }
95
+ }
96
+
97
+ function isBinaryInstalled(): boolean {
98
+ try {
99
+ execSync(process.platform === 'win32' ? 'where ollama' : 'which ollama', { stdio: 'ignore' })
100
+ return true
101
+ } catch {
102
+ return false
103
+ }
104
+ }
105
+
54
106
  export function fmtSize(bytes: number): string {
55
107
  if (bytes >= 1e9) return `${(bytes / 1e9).toFixed(1)}GB`
56
108
  if (bytes >= 1e6) return `${(bytes / 1e6).toFixed(0)}MB`
@@ -1,9 +1,127 @@
1
+ import { appendFileSync } from 'fs'
2
+
1
3
  export interface ParsedText { type: 'text'; content: string }
2
4
  export interface ParsedTool { type: 'tool_call'; content: string; toolName: string; toolArgs: Record<string, unknown> }
3
5
  export type ParsedItem = ParsedText | ParsedTool
4
6
 
5
7
  const OPEN = '<tool_call>'
6
8
  const CLOSE = '</tool_call>'
9
+ const CTAG_OPEN = '<content>'
10
+ const CTAG_CLOSE = '</content>'
11
+ const OLD_OPEN = '<old>'
12
+ const OLD_CLOSE = '</old>'
13
+ const NEW_OPEN = '<new>'
14
+ const NEW_CLOSE = '</new>'
15
+ const DEBUG_LOG = '/tmp/miii-debug.log'
16
+
17
+ function dbg(msg: string) {
18
+ try { appendFileSync(DEBUG_LOG, `[${new Date().toISOString()}] ${msg}\n`) } catch {}
19
+ }
20
+
21
+ // Fix literal newlines/tabs inside JSON string values — common LLM output mistake
22
+ function sanitizeJson(s: string): string {
23
+ let result = ''
24
+ let inString = false
25
+ let escaped = false
26
+ for (const ch of s) {
27
+ if (escaped) {
28
+ result += ch
29
+ escaped = false
30
+ } else if (ch === '\\' && inString) {
31
+ result += ch
32
+ escaped = true
33
+ } else if (ch === '"') {
34
+ result += ch
35
+ inString = !inString
36
+ } else if (inString && ch === '\n') {
37
+ result += '\\n'
38
+ } else if (inString && ch === '\r') {
39
+ result += '\\r'
40
+ } else if (inString && ch === '\t') {
41
+ result += '\\t'
42
+ } else {
43
+ result += ch
44
+ }
45
+ }
46
+ return result
47
+ }
48
+
49
+ function parseToolJson(s: string): { name: string; args?: Record<string, unknown> } {
50
+ try { return JSON.parse(s) }
51
+ catch { return JSON.parse(sanitizeJson(s)) }
52
+ }
53
+
54
+ // Find end of a JSON object starting at `from`, correctly tracking strings
55
+ function findJsonEnd(text: string, from: number): number {
56
+ let depth = 0, inStr = false, escaped = false
57
+ for (let i = from; i < text.length; i++) {
58
+ const ch = text[i]
59
+ if (escaped) { escaped = false; continue }
60
+ if (ch === '\\' && inStr) { escaped = true; continue }
61
+ if (ch === '"') { inStr = !inStr; continue }
62
+ if (inStr) continue
63
+ if (ch === '{') depth++
64
+ else if (ch === '}') { depth--; if (depth === 0) return i }
65
+ }
66
+ return -1
67
+ }
68
+
69
+ // For file-writing tools: content field may have unescaped chars — extract with lastIndexOf heuristic
70
+ function extractFileToolArgs(text: string, toolName: string): Record<string, unknown> | null {
71
+ if (!text.includes(`"${toolName}"`)) return null
72
+ const args: Record<string, string> = {}
73
+
74
+ const pathM = text.match(/"path"\s*:\s*"([^"]*)"/)
75
+ if (pathM) args.path = pathM[1]
76
+
77
+ // content is always the last string field — find its opening quote, take to last " before final }}
78
+ const ctIdx = text.indexOf('"content"')
79
+ if (ctIdx !== -1) {
80
+ const colon = text.indexOf(':', ctIdx)
81
+ const openQ = text.indexOf('"', colon + 1)
82
+ const lastBrace = text.lastIndexOf('}')
83
+ const closeQ = text.lastIndexOf('"', lastBrace - 1)
84
+ if (openQ !== -1 && closeQ > openQ) {
85
+ const raw = text.slice(openQ + 1, closeQ)
86
+ args.content = raw
87
+ .replace(/\\n/g, '\n').replace(/\\r/g, '\r').replace(/\\t/g, '\t')
88
+ .replace(/\\"/g, '"').replace(/\\\\/g, '\\')
89
+ }
90
+ }
91
+
92
+ // For patch_file: extract old/new fields
93
+ const oldM = text.match(/"old"\s*:\s*"([\s\S]*?)"(?:\s*,|\s*\})/)
94
+ if (oldM) args.old = oldM[1].replace(/\\n/g, '\n').replace(/\\"/g, '"')
95
+ const newM = text.match(/"new"\s*:\s*"([\s\S]*?)"(?:\s*,|\s*\})/)
96
+ if (newM) args.new = newM[1].replace(/\\n/g, '\n').replace(/\\"/g, '"')
97
+
98
+ return Object.keys(args).length > 0 ? args : null
99
+ }
100
+
101
+ // Extract a bare tool-call JSON from arbitrary text (LLM skipped <tool_call> wrapper)
102
+ export function extractBareToolCall(text: string): { name: string; args: Record<string, unknown> } | null {
103
+ // First try standard JSON parsing
104
+ let pos = 0
105
+ while (true) {
106
+ const start = text.indexOf('{"name"', pos)
107
+ if (start === -1) break
108
+ const end = findJsonEnd(text, start)
109
+ if (end === -1) break
110
+ try {
111
+ const obj = parseToolJson(text.slice(start, end + 1))
112
+ if (typeof obj.name === 'string') return { name: obj.name, args: (obj.args ?? {}) as Record<string, unknown> }
113
+ } catch {}
114
+ pos = start + 1
115
+ }
116
+
117
+ // Fallback: content-aware extraction for file-writing tools (immune to unescaped chars)
118
+ for (const name of ['edit_file', 'create_file', 'patch_file']) {
119
+ const args = extractFileToolArgs(text, name)
120
+ if (args) return { name, args }
121
+ }
122
+
123
+ return null
124
+ }
7
125
 
8
126
  export class StreamParser {
9
127
  private buf = ''
@@ -21,9 +139,33 @@ export class StreamParser {
21
139
  this.buf = this.buf.slice(end + CLOSE.length)
22
140
  this.inTool = false
23
141
  try {
24
- const obj = JSON.parse(raw) as { name: string; args?: Record<string, unknown> }
25
- out.push({ type: 'tool_call', content: raw, toolName: obj.name, toolArgs: obj.args ?? {} })
26
- } catch {
142
+ dbg(`raw block (${raw.length} chars): ${raw.slice(0, 300)}`)
143
+ // Extract named content blocks so file content never needs JSON escaping
144
+ const extraArgs: Record<string, string> = {}
145
+ let jsonPart = raw
146
+
147
+ function extractBlock(open: string, close: string, key: string): void {
148
+ const s = raw.indexOf(open), e = raw.indexOf(close)
149
+ if (s === -1 || e === -1 || e <= s) return
150
+ let val = raw.slice(s + open.length, e)
151
+ if (val.startsWith('\n')) val = val.slice(1)
152
+ if (val.endsWith('\n')) val = val.slice(0, -1)
153
+ extraArgs[key] = val
154
+ // shrink jsonPart to before the first block
155
+ const blockStart = raw.indexOf(open)
156
+ if (blockStart < jsonPart.length) jsonPart = raw.slice(0, blockStart).trim()
157
+ }
158
+
159
+ extractBlock(CTAG_OPEN, CTAG_CLOSE, 'content')
160
+ extractBlock(OLD_OPEN, OLD_CLOSE, 'old')
161
+ extractBlock(NEW_OPEN, NEW_CLOSE, 'new')
162
+
163
+ const obj = parseToolJson(jsonPart)
164
+ obj.args = { ...(obj.args ?? {}), ...extraArgs }
165
+ dbg(`parsed ok: name=${obj.name} args_keys=${Object.keys(obj.args).join(',')}`)
166
+ out.push({ type: 'tool_call', content: raw, toolName: obj.name, toolArgs: obj.args })
167
+ } catch (e) {
168
+ dbg(`parse FAILED: ${e} | raw: ${raw.slice(0, 300)}`)
27
169
  out.push({ type: 'text', content: `${OPEN}${raw}${CLOSE}` })
28
170
  }
29
171
  } else {
@@ -46,13 +46,27 @@ export const tools: Tool[] = [
46
46
  },
47
47
  {
48
48
  name: 'edit_file',
49
- description: 'Write/overwrite file content',
49
+ description: 'Overwrite entire file — use only for new files or full rewrites',
50
50
  params: '{"path": "string", "content": "string"}',
51
51
  execute: async ({ path, content }) => {
52
52
  writeFile(guardPath(path as string), content as string)
53
53
  return `written: ${path}`
54
54
  },
55
55
  },
56
+ {
57
+ name: 'patch_file',
58
+ description: 'Replace an exact string in a file — use for targeted edits to existing files',
59
+ params: '{"path": "string", "old": "string", "new": "string"}',
60
+ execute: async ({ path, old: oldStr, new: newStr }) => {
61
+ const safe = guardPath(path as string)
62
+ const current = readFile(safe)
63
+ if (!current) throw new Error(`file not found or empty: ${path}`)
64
+ if (!current.includes(oldStr as string)) throw new Error(`old text not found in ${path}`)
65
+ const updated = current.replace(oldStr as string, newStr as string)
66
+ writeFile(safe, updated)
67
+ return `patched: ${path}`
68
+ },
69
+ },
56
70
  {
57
71
  name: 'delete_file',
58
72
  description: 'Delete a file',
@@ -100,18 +114,38 @@ Use tools by emitting:
100
114
  {"name": "tool_name", "args": {...}}
101
115
  </tool_call>
102
116
 
117
+ Put file content in named blocks (never inside JSON — avoids escaping errors):
118
+
119
+ For edit_file / create_file use <content> block:
120
+ <tool_call>
121
+ {"name": "edit_file", "args": {"path": "src/foo.ts"}}
122
+ <content>
123
+ full file content here
124
+ </content>
125
+ </tool_call>
126
+
127
+ For patch_file use <old> and <new> blocks:
128
+ <tool_call>
129
+ {"name": "patch_file", "args": {"path": "src/foo.ts"}}
130
+ <old>
131
+ exact text to replace
132
+ </old>
133
+ <new>
134
+ replacement text
135
+ </new>
136
+ </tool_call>
137
+
103
138
  Tools:
104
139
  ${toolDocs}
105
140
 
106
141
  Rules:
107
- - Read existing files before editing them
108
- - For new files that do not exist yet, call edit_file directly do not read first
109
- - read_file returns empty string for missing files, so a blank result means the file is new
110
- - Show the full content when creating or editing
142
+ - To modify an existing file: use patch_file with the exact old text and new replacement — do NOT rewrite the whole file
143
+ - To create a new file: use edit_file with full content in the <content> block
144
+ - read_file before patch_file so you know the exact text to match
111
145
  - Never delete without confirming
112
146
  - Be concise
113
147
  - Output plain text only — never use markdown formatting in your responses
114
148
  - No headers (no #, ##), no bold (**text**), no italic (*text*), no bullet points with *, no horizontal rules (---)
115
- - No fenced code blocks with backticks in prose — the ONLY exception is when writing actual file content (e.g. a .md file the user asked you to create or edit)
149
+ - No fenced code blocks with backticks in prose
116
150
  - Use plain indentation and labels for structure. This is a terminal, not a chat UI${extra}`
117
151
  }