ask-cli-ai 1.1.0 → 1.2.1

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,72 +1,74 @@
1
- {
2
- "name": "ask-cli-ai",
3
- "description": "AI CLI to help you with commands, coding, apps, and more from your terminal.",
4
- "version": "1.1.0",
5
- "license": "ISC",
6
- "author": "David Minaya",
7
- "type": "module",
8
- "main": "./dist/app.js",
9
- "homepage": "https://github.com/david-minaya/ask",
10
- "engines": {
11
- "node": ">=22"
12
- },
13
- "repository": {
14
- "type": "git",
15
- "url": "git+https://github.com/david-minaya/ask.git"
16
- },
17
- "keywords": [
18
- "cli",
19
- "ai",
20
- "terminal",
21
- "commands",
22
- "productivity",
23
- "help",
24
- "ask"
25
- ],
26
- "bin": {
27
- "ask": "dist/app.js",
28
- "how": "dist/app.js",
29
- "what": "dist/app.js",
30
- "que": "dist/app.js",
31
- "como": "dist/app.js",
32
- "cual": "dist/app.js"
33
- },
34
- "scripts": {
35
- "build": "tsc",
36
- "dev": "tsc --incremental && node --enable-source-maps .",
37
- "lint": "eslint .",
38
- "typelint": "npm run lint && tsc --noEmit",
39
- "postinstall": "node ./dist/install.js"
40
- },
41
- "dependencies": {
42
- "@langchain/anthropic": "^1.3.7",
43
- "@langchain/core": "^1.1.12",
44
- "@langchain/google-genai": "^2.1.7",
45
- "@langchain/openai": "^1.2.1",
46
- "chalk": "^5.6.2",
47
- "dotenv": "^17.2.3",
48
- "find-process": "^2.0.0",
49
- "ink": "^6.6.0",
50
- "ink-scroll-list": "^0.4.1",
51
- "ink-scroll-view": "^0.3.5",
52
- "ink-spinner": "^5.0.0",
53
- "ink-text-input": "^6.0.0",
54
- "langchain": "^1.2.7",
55
- "react": "^19.2.3",
56
- "yargs": "^18.0.0"
57
- },
58
- "devDependencies": {
59
- "@eslint/js": "^9.39.2",
60
- "@stylistic/eslint-plugin": "^5.6.1",
61
- "@tsconfig/node20": "^20.1.8",
62
- "@types/node": "^25.0.3",
63
- "@types/react": "^19.2.7",
64
- "@types/yargs": "^17.0.35",
65
- "eslint": "^9.39.2",
66
- "eslint-plugin-react": "^7.37.5",
67
- "globals": "^17.0.0",
68
- "ts-node": "^10.9.2",
69
- "typescript": "^5.9.3",
70
- "typescript-eslint": "^8.51.0"
71
- }
72
- }
1
+ {
2
+ "name": "ask-cli-ai",
3
+ "description": "AI CLI to help you with commands, coding, apps, and more from your terminal.",
4
+ "version": "1.2.1",
5
+ "license": "ISC",
6
+ "author": "David Minaya",
7
+ "type": "module",
8
+ "main": "./dist/app.js",
9
+ "homepage": "https://github.com/david-minaya/ask",
10
+ "engines": {
11
+ "node": ">=22"
12
+ },
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "git+https://github.com/david-minaya/ask.git"
16
+ },
17
+ "keywords": [
18
+ "cli",
19
+ "ai",
20
+ "terminal",
21
+ "commands",
22
+ "productivity",
23
+ "help",
24
+ "ask"
25
+ ],
26
+ "bin": {
27
+ "ask": "dist/app.js",
28
+ "how": "dist/app.js",
29
+ "what": "dist/app.js",
30
+ "que": "dist/app.js",
31
+ "como": "dist/app.js",
32
+ "cual": "dist/app.js"
33
+ },
34
+ "scripts": {
35
+ "build": "tsc",
36
+ "dev": "tsc --incremental && node --enable-source-maps .",
37
+ "lint": "eslint .",
38
+ "typelint": "npm run lint && tsc --noEmit",
39
+ "postinstall": "node ./dist/install.js"
40
+ },
41
+ "dependencies": {
42
+ "@anthropic-ai/sdk": "^0.71.2",
43
+ "@google/genai": "^1.38.0",
44
+ "@langchain/anthropic": "^1.3.7",
45
+ "@langchain/core": "^1.1.12",
46
+ "@langchain/google-genai": "^2.1.7",
47
+ "@langchain/openai": "^1.2.1",
48
+ "chalk": "^5.6.2",
49
+ "dotenv": "^17.2.3",
50
+ "find-process": "^2.0.0",
51
+ "ink": "^6.6.0",
52
+ "ink-scroll-list": "^0.4.1",
53
+ "ink-scroll-view": "^0.3.5",
54
+ "ink-spinner": "^5.0.0",
55
+ "langchain": "^1.2.7",
56
+ "openai": "^6.16.0",
57
+ "react": "^19.2.3",
58
+ "yargs": "^18.0.0"
59
+ },
60
+ "devDependencies": {
61
+ "@eslint/js": "^9.39.2",
62
+ "@stylistic/eslint-plugin": "^5.6.1",
63
+ "@tsconfig/node20": "^20.1.8",
64
+ "@types/node": "^25.0.3",
65
+ "@types/react": "^19.2.7",
66
+ "@types/yargs": "^17.0.35",
67
+ "eslint": "^9.39.2",
68
+ "eslint-plugin-react": "^7.37.5",
69
+ "globals": "^17.0.0",
70
+ "ts-node": "^10.9.2",
71
+ "typescript": "^5.9.3",
72
+ "typescript-eslint": "^8.51.0"
73
+ }
74
+ }
@@ -1,8 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Box, Text } from 'ink';
3
- import { TextField } from "./textField.js";
4
- export function ApiKeyField(props) {
5
- const { title, value, onChange } = props;
6
- return (_jsxs(Box, { flexDirection: 'column', children: [_jsx(Text, { bold: true, children: title }), _jsx(Box, { flexShrink: 0 }), _jsxs(Box, { flexDirection: 'row', gap: 1, borderStyle: 'single', borderLeftColor: 'cyan', borderLeft: true, borderRight: false, borderTop: false, borderBottom: false, paddingLeft: 1, marginTop: 1, children: [_jsx(Box, { flexShrink: 0, children: _jsx(Text, { children: "Api key:" }) }), _jsx(TextField, { value: value, placeholder: 'Enter api key', onChange: onChange })] })] }));
7
- }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpS2V5RmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy9hcGlLZXlGaWVsZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBaUIsQ0FBQztBQVE1QyxNQUFNLFVBQVUsV0FBVyxDQUFDLEtBQVk7SUFFdEMsTUFBTSxFQUNKLEtBQUssRUFDTCxLQUFLLEVBQ0wsUUFBUSxFQUNULEdBQUcsS0FBSyxDQUFDO0lBRVYsT0FBTyxDQUNMLE1BQUMsR0FBRyxJQUFDLGFBQWEsRUFBQyxRQUFRLGFBQ3pCLEtBQUMsSUFBSSxJQUFDLElBQUksa0JBQUUsS0FBSyxHQUFRLEVBQ3pCLEtBQUMsR0FBRyxJQUFDLFVBQVUsRUFBRSxDQUFDLEdBQ1osRUFDTixNQUFDLEdBQUcsSUFDRixhQUFhLEVBQUMsS0FBSyxFQUNuQixHQUFHLEVBQUUsQ0FBQyxFQUNOLFdBQVcsRUFBQyxRQUFRLEVBQ3BCLGVBQWUsRUFBQyxNQUFNLEVBQ3RCLFVBQVUsRUFBRSxJQUFJLEVBQ2hCLFdBQVcsRUFBRSxLQUFLLEVBQ2xCLFNBQVMsRUFBRSxLQUFLLEVBQ2hCLFlBQVksRUFBRSxLQUFLLEVBQ25CLFdBQVcsRUFBRSxDQUFDLEVBQ2QsU0FBUyxFQUFFLENBQUMsYUFDWixLQUFDLEdBQUcsSUFBQyxVQUFVLEVBQUUsQ0FBQyxZQUNoQixLQUFDLElBQUksMkJBQWdCLEdBQ2pCLEVBQ04sS0FBQyxTQUFTLElBQ1IsS0FBSyxFQUFFLEtBQUssRUFDWixXQUFXLEVBQUMsZUFBZSxFQUMzQixRQUFRLEVBQUUsUUFBUSxHQUFHLElBQ25CLElBQ0YsQ0FDUCxDQUFDO0FBQ0osQ0FBQyJ9
@@ -1,23 +0,0 @@
1
- import fs from 'fs';
2
- import path from 'path';
3
- import { configPath, dataDir, historyDir } from "../utils/paths.js";
4
- import { configStore } from "../stores/config.js";
5
- import { defaultConfig } from "../utils/defaultConfig.js";
6
- if (!fs.existsSync(dataDir)) {
7
- fs.mkdirSync(dataDir, { recursive: true });
8
- }
9
- if (fs.existsSync(path.join(dataDir, 'chats'))) {
10
- fs.renameSync(path.join(dataDir, 'chats'), path.join(dataDir, 'history'));
11
- }
12
- if (!fs.existsSync(historyDir)) {
13
- fs.mkdirSync(historyDir, { recursive: true });
14
- }
15
- if (!fs.existsSync(configPath)) {
16
- await configStore.save(defaultConfig);
17
- }
18
- const config = await configStore.get();
19
- if (config.settings === undefined) {
20
- config.settings = defaultConfig.settings;
21
- await configStore.save(config);
22
- }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MtMS4xLjAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbWlncmF0aW9ucy9zZXR0aW5ncy0xLjEuMC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDcEIsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFMUQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztJQUM1QixFQUFFLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQzdDLENBQUM7QUFFRCxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQy9DLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztBQUM1RSxDQUFDO0FBRUQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztJQUMvQixFQUFFLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQ2hELENBQUM7QUFFRCxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO0lBQy9CLE1BQU0sV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUN4QyxDQUFDO0FBRUQsTUFBTSxNQUFNLEdBQUcsTUFBTSxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUM7QUFFdkMsSUFBSSxNQUFNLENBQUMsUUFBUSxLQUFLLFNBQVMsRUFBRSxDQUFDO0lBQ2xDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQztJQUN6QyxNQUFNLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDakMsQ0FBQyJ9
package/dist/providers.js DELETED
@@ -1,35 +0,0 @@
1
- export const providers = [
2
- {
3
- id: 'gemini',
4
- name: 'Gemini',
5
- models: [
6
- { title: 'Gemini 3 Flash Preview', name: 'gemini-3-flash-preview', config: { thinkingConfig: { thinkingLevel: 'LOW' } } },
7
- { title: 'Gemini 3 Pro Preview', name: 'gemini-3-pro-preview', config: { thinkingConfig: { thinkingLevel: 'LOW' } } },
8
- { title: 'Gemini 2.5 Flash', name: 'gemini-2.5-flash', config: { thinkingBudget: 500 } },
9
- { title: 'Gemini 2.5 Flash Lite', name: 'gemini-2.5-flash-lite', config: { thinkingBudget: 512 } },
10
- { title: 'Gemini 2.5 Pro', name: 'gemini-2.5-pro', config: { thinkingBudget: 500 } }
11
- ]
12
- },
13
- {
14
- id: 'openai',
15
- name: 'OpenAI',
16
- models: [
17
- { title: 'GPT-5 Mini', name: 'gpt-5-mini', config: { effort: 'low' } },
18
- { title: 'GPT-5 Nano', name: 'gpt-5-nano', config: { effort: 'low' } },
19
- { title: 'GPT-5', name: 'gpt-5', config: { effort: 'low' } },
20
- { title: 'GPT-5.2', name: 'gpt-5.2', config: { effort: 'low' } },
21
- { title: 'GPT-5.2 Pro', name: 'gpt-5.2-pro', config: { effort: 'low' } },
22
- { title: 'GPT-4.1', name: 'gpt-4.1' },
23
- ]
24
- },
25
- {
26
- id: 'anthropic',
27
- name: 'Anthropic',
28
- models: [
29
- { title: 'Claude Haiku 4.5', name: 'claude-haiku-4-5' },
30
- { title: 'Claude Sonnet 4.5', name: 'claude-sonnet-4-5' },
31
- { title: 'Claude Opus 4.5', name: 'claude-opus-4-5' }
32
- ]
33
- }
34
- ];
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3Byb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQWU7SUFDbkM7UUFDRSxFQUFFLEVBQUUsUUFBUTtRQUNaLElBQUksRUFBRSxRQUFRO1FBQ2QsTUFBTSxFQUFFO1lBQ04sRUFBRSxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsSUFBSSxFQUFFLHdCQUF3QixFQUFFLE1BQU0sRUFBRSxFQUFFLGNBQWMsRUFBRSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ3pILEVBQUUsS0FBSyxFQUFFLHNCQUFzQixFQUFFLElBQUksRUFBRSxzQkFBc0IsRUFBRSxNQUFNLEVBQUUsRUFBRSxjQUFjLEVBQUUsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNySCxFQUFFLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLEVBQUUsY0FBYyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ3hGLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixFQUFFLElBQUksRUFBRSx1QkFBdUIsRUFBRSxNQUFNLEVBQUUsRUFBRSxjQUFjLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDbEcsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxFQUFFLGNBQWMsRUFBRSxHQUFHLEVBQUUsRUFBRTtTQUNyRjtLQUNGO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsUUFBUTtRQUNaLElBQUksRUFBRSxRQUFRO1FBQ2QsTUFBTSxFQUFFO1lBQ04sRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3RFLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUN0RSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDNUQsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ2hFLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUN4RSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtTQUN0QztLQUNGO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsV0FBVztRQUNmLElBQUksRUFBRSxXQUFXO1FBQ2pCLE1BQU0sRUFBRTtZQUNOLEVBQUUsS0FBSyxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRTtZQUN2RCxFQUFFLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUU7WUFDekQsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFO1NBQ3REO0tBQ0Y7Q0FDRixDQUFDIn0=