markov-cli 1.0.6 → 1.0.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.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "markov-cli",
3
- "version": "1.0.6",
4
- "description": "LivingCloud's CLI AI Agent",
3
+ "version": "1.0.8",
4
+ "description": "Markov CLI",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "markov": "./bin/markov.js"
@@ -26,6 +26,7 @@
26
26
  ".env.example"
27
27
  ],
28
28
  "dependencies": {
29
+ "boxen": "^8.0.1",
29
30
  "chalk": "^5.6.2",
30
31
  "commander": "^14.0.3",
31
32
  "dotenv": "^16.4.5",
package/src/auth.js CHANGED
@@ -17,6 +17,12 @@ export function saveToken(token) {
17
17
  writeFileSync(TOKEN_PATH, token, 'utf-8');
18
18
  }
19
19
 
20
+ export function clearToken() {
21
+ if (existsSync(TOKEN_PATH)) {
22
+ writeFileSync(TOKEN_PATH, '', 'utf-8');
23
+ }
24
+ }
25
+
20
26
  export async function login(email, password) {
21
27
  const res = await fetch(`${API_URL}/auth/login`, {
22
28
  method: 'POST',
package/src/files.js CHANGED
@@ -76,9 +76,7 @@ export function resolveFileRefs(input, cwd = process.cwd()) {
76
76
 
77
77
  const contextBlock = blocks.length > 0
78
78
  ? `The user referenced the following file(s) as context:\n\n${blocks.join('\n\n')}\n\n` +
79
- `If you need to edit a file, output the complete new file content in a fenced code block tagged with the EXACT filename, like:\n` +
80
- `${loaded.map(f => `\`\`\`${f}\n// full new content\n\`\`\``).join('\n')}\n\n` +
81
- `IMPORTANT: Use the exact filename shown above as the code block tag, not the language name.\n\n`
79
+ `ATTACHED FILES RULE: The user attached the file(s) above. If they ask you to edit, add, fix, or create anything in these files, you MUST use the write_file or search_replace tool — do not output the new or modified file content in your reply (no code blocks with file content). Use the exact paths shown above (e.g. ${loaded[0] ?? 'path'}).\n\n`
82
80
  : '';
83
81
 
84
82
  return { content: contextBlock + input, loaded, failed };