ask-cli-ai 1.0.10 → 1.0.12
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/README.md +2 -0
- package/dist/app.js +2 -2
- package/dist/commands/ask.js +25 -9
- package/dist/components/apiKeyField.js +13 -0
- package/dist/components/provider.js +22 -23
- package/dist/components/selectModel.js +4 -4
- package/dist/components/textField.js +29 -0
- package/dist/stores/config.js +3 -7
- package/dist/templates/instructions.js +3 -1
- package/package.json +1 -1
- package/dist/components/apiKey.js +0 -10
package/README.md
CHANGED
package/dist/app.js
CHANGED
|
@@ -9,8 +9,8 @@ import { providers } from "./commands/providers.js";
|
|
|
9
9
|
import { logo } from "./utils/logo.js";
|
|
10
10
|
void yargs(hideBin(process.argv))
|
|
11
11
|
.scriptName('ask')
|
|
12
|
-
.usage(`${logo}\nAI CLI to help you with commands, coding, apps and more.\n\nVersion: 1.0.
|
|
13
|
-
.version('1.0.
|
|
12
|
+
.usage(`${logo}\nAI CLI to help you with commands, coding, apps and more.\n\nVersion: 1.0.12\n\nUsage: $0 <prompt..>`)
|
|
13
|
+
.version('1.0.12')
|
|
14
14
|
.locale('en')
|
|
15
15
|
.example('$0 how to run a docker container', '')
|
|
16
16
|
.example('how to setup my git account', '')
|
package/dist/commands/ask.js
CHANGED
|
@@ -4,6 +4,7 @@ import path from 'node:path';
|
|
|
4
4
|
import fs from 'node:fs/promises';
|
|
5
5
|
import { exec as execCb } from 'node:child_process';
|
|
6
6
|
import findProcess from 'find-process';
|
|
7
|
+
import chalk from 'chalk';
|
|
7
8
|
import { useEffect, useState } from 'react';
|
|
8
9
|
import { Box, render, Static, Text, useApp } from 'ink';
|
|
9
10
|
import { ChatGoogleGenerativeAI } from '@langchain/google-genai';
|
|
@@ -32,9 +33,12 @@ function Ask(props) {
|
|
|
32
33
|
const [isFirstRun, setIsFirstRun] = useState(false);
|
|
33
34
|
useEffect(() => {
|
|
34
35
|
void (async () => {
|
|
35
|
-
if (
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
if (config.model) {
|
|
37
|
+
await send(config);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
setView('welcome');
|
|
41
|
+
}
|
|
38
42
|
})();
|
|
39
43
|
}, []);
|
|
40
44
|
useEffect(() => {
|
|
@@ -57,17 +61,28 @@ function Ask(props) {
|
|
|
57
61
|
await Promise.all(sortedFiles.map(file => fs.unlink(file.path)));
|
|
58
62
|
})().catch(() => { });
|
|
59
63
|
}, []);
|
|
60
|
-
async function handleSend(
|
|
64
|
+
async function handleSend() {
|
|
61
65
|
setIsFirstRun(true);
|
|
62
66
|
setView('ask');
|
|
63
67
|
const config = await configStore.get();
|
|
64
|
-
await send(config
|
|
68
|
+
await send(config);
|
|
65
69
|
}
|
|
66
|
-
async function send(
|
|
70
|
+
async function send(config) {
|
|
71
|
+
const modelId = config.model.model;
|
|
72
|
+
const providerId = config.model.provider;
|
|
73
|
+
const apikey = config.providers[providerId].apiKey;
|
|
74
|
+
const provider = providers.find(provider => provider.id === providerId);
|
|
75
|
+
const model = provider?.models.find(model => model.name === modelId);
|
|
76
|
+
if (!apikey) {
|
|
77
|
+
console.error(`No API key found for the model ${chalk.bold(`${model.title} (${provider.name})`)}.\n`);
|
|
78
|
+
console.error(`Use the command ${chalk.cyan(chalk.bold('ask /providers'))} to set the API key for the provider ${chalk.bold(provider.name)}.`);
|
|
79
|
+
setExitCode(1);
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
67
82
|
try {
|
|
68
83
|
setSending(true);
|
|
69
84
|
const prompt = await getPrompt();
|
|
70
|
-
const model = getModel(providerId, modelId,
|
|
85
|
+
const model = getModel(providerId, modelId, apikey);
|
|
71
86
|
const response = await model.invoke([
|
|
72
87
|
{ role: 'system', content: instructions },
|
|
73
88
|
...history.map(item => ({ ...item })),
|
|
@@ -82,7 +97,8 @@ function Ask(props) {
|
|
|
82
97
|
setExitCode(0);
|
|
83
98
|
}
|
|
84
99
|
catch (err) {
|
|
85
|
-
console.error(
|
|
100
|
+
console.error(`Error running model ${chalk.bold(`${model.title} (${provider.name})`)}:\n\n${err.message}`);
|
|
101
|
+
setSending(false);
|
|
86
102
|
setExitCode(1);
|
|
87
103
|
}
|
|
88
104
|
}
|
|
@@ -122,4 +138,4 @@ function Ask(props) {
|
|
|
122
138
|
_jsx(Loading, {}), !sending && response &&
|
|
123
139
|
_jsx(Static, { items: [''], children: item => _jsx(Text, { children: response }, item) })] })] }));
|
|
124
140
|
}
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL2Fzay50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQztBQUM3QixPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7QUFDN0IsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEMsT0FBTyxFQUFFLElBQUksSUFBSSxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLFdBQVcsTUFBTSxjQUFjLENBQUM7QUFDdkMsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBQ3hELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDBCQUEyQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwwQkFBMkIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRzVDLE1BQU0sSUFBSSxH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
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Box, Text } from 'ink';
|
|
3
|
+
import { useEffect, useState } from 'react';
|
|
4
|
+
import { TextField } from "./textField.js";
|
|
5
|
+
export function ApiKeyField(props) {
|
|
6
|
+
const { title, apiKey: initialApiKey = '', commands, onChange } = props;
|
|
7
|
+
const [apiKey, setApiKey] = useState(initialApiKey);
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
setApiKey(initialApiKey);
|
|
10
|
+
}, [initialApiKey]);
|
|
11
|
+
return (_jsxs(Box, { flexDirection: 'column', children: [_jsx(Text, { bold: true, children: title }), _jsx(TextField, { label: 'Api key:', value: apiKey, placeholder: 'Enter api key', marginTop: 1, onChange: setApiKey, onSubmit: value => onChange(value.trim()) }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: 'grey', dimColor: true, children: commands }) })] }));
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpS2V5RmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy9hcGlLZXlGaWVsZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBaUIsQ0FBQztBQVM1QyxNQUFNLFVBQVUsV0FBVyxDQUFDLEtBQVk7SUFFdEMsTUFBTSxFQUNKLEtBQUssRUFDTCxNQUFNLEVBQUUsYUFBYSxHQUFHLEVBQUUsRUFDMUIsUUFBUSxFQUNSLFFBQVEsRUFDVCxHQUFHLEtBQUssQ0FBQztJQUVWLE1BQU0sQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBRXBELFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDYixTQUFTLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDM0IsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUVwQixPQUFPLENBQ0wsTUFBQyxHQUFHLElBQUMsYUFBYSxFQUFDLFFBQVEsYUFDekIsS0FBQyxJQUFJLElBQUMsSUFBSSxrQkFBRSxLQUFLLEdBQVEsRUFDekIsS0FBQyxTQUFTLElBQ1IsS0FBSyxFQUFDLFVBQVUsRUFDaEIsS0FBSyxFQUFFLE1BQU0sRUFDYixXQUFXLEVBQUMsZUFBZSxFQUMzQixTQUFTLEVBQUUsQ0FBQyxFQUNaLFFBQVEsRUFBRSxTQUFTLEVBQ25CLFFBQVEsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUM5QyxLQUFDLEdBQUcsSUFBQyxTQUFTLEVBQUUsQ0FBQyxZQUNmLEtBQUMsSUFBSSxJQUFDLEtBQUssRUFBQyxNQUFNLEVBQUMsUUFBUSxrQkFBRSxRQUFRLEdBQVEsR0FDekMsSUFDRixDQUNQLENBQUM7QUFDSixDQUFDIn0=
|
|
@@ -1,35 +1,34 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { providers as providerList } from "../providers.js";
|
|
2
|
+
import { useInput, Box, Text } from 'ink';
|
|
3
|
+
import { useEffect, useState } from 'react';
|
|
5
4
|
import { configStore } from "../stores/config.js";
|
|
6
|
-
import
|
|
5
|
+
import { ApiKeyField } from "./apiKeyField.js";
|
|
7
6
|
const config = await configStore.get();
|
|
8
7
|
export function Provider(props) {
|
|
9
8
|
const { provider, onClose } = props;
|
|
10
|
-
const [
|
|
11
|
-
const [
|
|
12
|
-
const [
|
|
13
|
-
const [contentHeight, setContentHeight] = useState();
|
|
14
|
-
const contentRef = useRef(null);
|
|
15
|
-
const height = useMemo(() => process.stdout.rows - 2, []);
|
|
9
|
+
const [apiKey, setApiKey] = useState(config?.providers[provider.id]?.apiKey);
|
|
10
|
+
const [exit, setExit] = useState(false);
|
|
11
|
+
const [saved, setSaved] = useState(false);
|
|
16
12
|
useEffect(() => {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}, [
|
|
13
|
+
if (exit) {
|
|
14
|
+
setTimeout(() => process.exit(), 0);
|
|
15
|
+
}
|
|
16
|
+
}, [exit]);
|
|
21
17
|
useInput((input, key) => {
|
|
22
18
|
if (key.escape)
|
|
19
|
+
setExit(true);
|
|
20
|
+
if (input.toLowerCase() === 'q')
|
|
23
21
|
onClose();
|
|
24
|
-
if (input === 'e')
|
|
25
|
-
setEnableEdit(true);
|
|
26
22
|
});
|
|
27
|
-
async function handleSave() {
|
|
28
|
-
await configStore.setProviderApiKey(provider.id,
|
|
29
|
-
setApiKey(
|
|
30
|
-
|
|
23
|
+
async function handleSave(apiKey) {
|
|
24
|
+
await configStore.setProviderApiKey(provider.id, apiKey);
|
|
25
|
+
setApiKey(apiKey);
|
|
26
|
+
setSaved(true);
|
|
27
|
+
setTimeout(() => setSaved(false), 1000);
|
|
31
28
|
}
|
|
32
|
-
|
|
33
|
-
|
|
29
|
+
if (exit)
|
|
30
|
+
return null;
|
|
31
|
+
return (_jsxs(Box, { flexDirection: 'column', children: [_jsx(ApiKeyField, { title: provider.name, apiKey: apiKey, commands: 'Esc (Exit), Q (Go Back), Ctrl+V (Paste), Enter (Save)', onChange: handleSave }), saved &&
|
|
32
|
+
_jsx(Box, { marginTop: 1, children: _jsx(Text, { color: 'cyan', bold: true, children: "Saved!" }) })] }));
|
|
34
33
|
}
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy9wcm92aWRlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEtBQUssQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUU1QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFtQixDQUFDO0FBT2hELE1BQU0sTUFBTSxHQUFHLE1BQU0sV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBRXZDLE1BQU0sVUFBVSxRQUFRLENBQUMsS0FBWTtJQUVuQyxNQUFNLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxHQUFHLEtBQUssQ0FBQztJQUVwQyxNQUFNLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM3RSxNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QyxNQUFNLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUUxQyxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ2IsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdEMsQ0FBQztJQUNILENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFFWCxRQUFRLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDdEIsSUFBSSxHQUFHLENBQUMsTUFBTTtZQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxHQUFHO1lBQUUsT0FBTyxFQUFFLENBQUM7SUFDN0MsQ0FBQyxDQUFDLENBQUM7SUFFSCxLQUFLLFVBQVUsVUFBVSxDQUFDLE1BQWM7UUFDdEMsTUFBTSxXQUFXLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN6RCxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEIsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2YsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQUUsT0FBTyxJQUFJLENBQUM7SUFFdEIsT0FBTyxDQUNMLE1BQUMsR0FBRyxJQUFDLGFBQWEsRUFBQyxRQUFRLGFBQ3pCLEtBQUMsV0FBVyxJQUNWLEtBQUssRUFBRSxRQUFRLENBQUMsSUFBSSxFQUNwQixNQUFNLEVBQUUsTUFBTSxFQUNkLFFBQVEsRUFBQyx1REFBdUQsRUFDaEUsUUFBUSxFQUFFLFVBQVUsR0FBRyxFQUN4QixLQUFLO2dCQUNKLEtBQUMsR0FBRyxJQUFDLFNBQVMsRUFBRSxDQUFDLFlBQ2YsS0FBQyxJQUFJLElBQUMsS0FBSyxFQUFDLE1BQU0sRUFBQyxJQUFJLDZCQUFjLEdBQ2pDLElBRUosQ0FDUCxDQUFDO0FBQ0osQ0FBQyJ9
|
|
@@ -5,7 +5,7 @@ import { ScrollView } from 'ink-scroll-view';
|
|
|
5
5
|
import { Fragment } from 'react/jsx-runtime';
|
|
6
6
|
import { providers } from "../providers.js";
|
|
7
7
|
import { configStore } from "../stores/config.js";
|
|
8
|
-
import {
|
|
8
|
+
import { ApiKeyField } from "./apiKeyField.js";
|
|
9
9
|
const config = await configStore.get();
|
|
10
10
|
export function SelectModel(props) {
|
|
11
11
|
const { onSelect } = props;
|
|
@@ -93,7 +93,7 @@ export function SelectModel(props) {
|
|
|
93
93
|
}
|
|
94
94
|
async function save(provider, model, apikey) {
|
|
95
95
|
await configStore.setProviderApiKey(provider.id, apikey);
|
|
96
|
-
await configStore.setModel(provider.id, model.name
|
|
96
|
+
await configStore.setModel(provider.id, model.name);
|
|
97
97
|
onSelect(model, apikey);
|
|
98
98
|
}
|
|
99
99
|
return (_jsxs(Box, { children: [view === 'select-model' &&
|
|
@@ -101,6 +101,6 @@ export function SelectModel(props) {
|
|
|
101
101
|
_jsx(Text, { bold: true, color: 'blue', children: item.provider }, item.provider), item.type === 'model' &&
|
|
102
102
|
_jsx(Text, { color: index === currentPosition ? 'cyanBright' : undefined, inverse: index === currentPosition, children: item.model.title }, item.model.name), item.type === 'new-line' &&
|
|
103
103
|
_jsx(Text, { children: " " })] }, item.key)) }) }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: 'gray', children: 'Esc (Exit), Enter (Select)' }) })] }), view === 'set-api-key' &&
|
|
104
|
-
_jsx(
|
|
104
|
+
_jsx(ApiKeyField, { title: `${provider?.name} Api Key`, commands: 'Esc (Exit), Ctrl+V (Paste), Enter (Save)', onChange: handleApiKeyChange })] }));
|
|
105
105
|
}
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0TW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy9zZWxlY3RNb2RlbC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQWMsTUFBTSxLQUFLLENBQUM7QUFDdEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBTyxNQUFNLE9BQU8sQ0FBQztBQUNsRSxPQUFPLEVBQWlCLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFNUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWxELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBbUIsQ0FBQztBQU9oRCxNQUFNLE1BQU0sR0FBRyxNQUFNLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQU12QyxNQUFNLFVBQVUsV0FBVyxDQUFDLEtBQVk7SUFFdEMsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLEtBQUssQ0FBQztJQUUzQixNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxHQUFHLFFBQVEsQ0FBaUMsY0FBYyxDQUFDLENBQUM7SUFDakYsTUFBTSxDQUFDLGVBQWUsRUFBRSxrQkFBa0IsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxRCxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsbUJBQW1CLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUQsTUFBTSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsR0FBRyxRQUFRLEVBQVMsQ0FBQztJQUM1QyxNQUFNLENBQUMsUUFBUSxFQUFFLFdBQVcs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
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Box, Text } from 'ink';
|
|
3
|
+
import TextInput from 'ink-text-input';
|
|
4
|
+
import { useEffect, useState } from 'react';
|
|
5
|
+
export function TextField(props) {
|
|
6
|
+
const { label, value: initialValue, placeholder = 'Enter text, paste (Ctrl+V)', marginTop, onChange, onSubmit } = props;
|
|
7
|
+
const [value, setValue] = useState(initialValue);
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
onChange(value);
|
|
10
|
+
}, [value]);
|
|
11
|
+
function handleChange(input) {
|
|
12
|
+
// Workaround for paste detection in Linux terminals.
|
|
13
|
+
// When the user pastes a long text, it is split into multiple input events,
|
|
14
|
+
// which causes only a part of the text to be saved in the state.
|
|
15
|
+
// To fix this, we check if the user is pasting text and then append the value
|
|
16
|
+
// to the existing one. To detect when the user is pasting, we check the length
|
|
17
|
+
// of the input value. If the difference between the new value and the current
|
|
18
|
+
// state is greater than 1, we assume the user is pasting.
|
|
19
|
+
if (input.length - value.length > 1) {
|
|
20
|
+
setValue(value => value + input);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
setValue(input);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return (_jsxs(Box, { flexDirection: 'row', marginTop: marginTop, borderStyle: 'single', borderLeftColor: 'cyan', borderLeft: true, borderRight: false, borderTop: false, borderBottom: false, paddingLeft: 1, children: [label &&
|
|
27
|
+
_jsx(Box, { flexShrink: 0, children: _jsxs(Text, { children: [label, " "] }) }), _jsx(TextInput, { value: value, onChange: handleChange, onSubmit: () => onSubmit?.(value), placeholder: placeholder })] }));
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dEZpZWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvdGV4dEZpZWxkLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFDaEMsT0FBTyxTQUFTLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFXNUMsTUFBTSxVQUFVLFNBQVMsQ0FBQyxLQUFZO0lBRXBDLE1BQU0sRUFDSixLQUFLLEVBQ0wsS0FBSyxFQUFFLFlBQVksRUFDbkIsV0FBVyxHQUFHLDRCQUE0QixFQUMxQyxTQUFTLEVBQ1QsUUFBUSxFQUNSLFFBQVEsRUFDVCxHQUFHLEtBQUssQ0FBQztJQUVWLE1BQU0sQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEdBQUksUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBRWxELFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDYixRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEIsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUVaLFNBQVMsWUFBWSxDQUFDLEtBQWE7UUFDakMscURBQXFEO1FBQ3JELDRFQUE0RTtRQUM1RSxpRUFBaUU7UUFDakUsOEVBQThFO1FBQzlFLCtFQUErRTtRQUMvRSw4RUFBOEU7UUFDOUUsMERBQTBEO1FBQzFELElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3BDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQztRQUNuQyxDQUFDO2FBQU0sQ0FBQztZQUNOLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQixDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sQ0FDTCxNQUFDLEdBQUcsSUFDRixhQUFhLEVBQUMsS0FBSyxFQUNuQixTQUFTLEVBQUUsU0FBUyxFQUNwQixXQUFXLEVBQUMsUUFBUSxFQUNwQixlQUFlLEVBQUMsTUFBTSxFQUN0QixVQUFVLEVBQUUsSUFBSSxFQUNoQixXQUFXLEVBQUUsS0FBSyxFQUNsQixTQUFTLEVBQUUsS0FBSyxFQUNoQixZQUFZLEVBQUUsS0FBSyxFQUNuQixXQUFXLEVBQUUsQ0FBQyxhQUNiLEtBQUs7Z0JBQ0osS0FBQyxHQUFHLElBQUMsVUFBVSxFQUFFLENBQUMsWUFDaEIsTUFBQyxJQUFJLGVBQUUsS0FBSyxTQUFTLEdBQ2pCLEVBRVIsS0FBQyxTQUFTLElBQ1IsS0FBSyxFQUFFLEtBQUssRUFDWixRQUFRLEVBQUUsWUFBWSxFQUN0QixRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQ2pDLFdBQVcsRUFBRSxXQUFXLEdBQ3hCLElBQ0UsQ0FDUCxDQUFDO0FBQ0osQ0FBQyJ9
|
package/dist/stores/config.js
CHANGED
|
@@ -20,13 +20,9 @@ async function get() {
|
|
|
20
20
|
});
|
|
21
21
|
return config;
|
|
22
22
|
}
|
|
23
|
-
async function setModel(provider, model
|
|
23
|
+
async function setModel(provider, model) {
|
|
24
24
|
const config = await get();
|
|
25
|
-
config.model = {
|
|
26
|
-
provider: provider,
|
|
27
|
-
model: model,
|
|
28
|
-
apiKey: apiKey
|
|
29
|
-
};
|
|
25
|
+
config.model = { provider, model };
|
|
30
26
|
await save(config);
|
|
31
27
|
}
|
|
32
28
|
async function setProviderApiKey(providerId, apiKey) {
|
|
@@ -43,4 +39,4 @@ export const configStore = {
|
|
|
43
39
|
setProviderApiKey,
|
|
44
40
|
save
|
|
45
41
|
};
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0b3Jlcy9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVuQyxNQUFNLElBQUksR0FBRyxhQUFhLENBQUM7QUFFM0IsSUFBSSxNQUFjLENBQUM7QUFFbkIsS0FBSyxVQUFVLEdBQUc7SUFFaEIsSUFBSSxNQUFNO1FBQUUsT0FBTyxNQUFNLENBQUM7SUFFMUIsTUFBTSxHQUFHLE1BQU0sS0FBSyxDQUFDLEdBQUcsQ0FBUyxJQUFJLEVBQUU7UUFDckMsS0FBSyxFQUFFLFNBQVM7UUFDaEIsU0FBUyxFQUFFO1lBQ1QsTUFBTSxFQUFFO2dCQUNOLE1BQU0sRUFBRSxTQUFTO2FBQ2xCO1lBQ0QsU0FBUyxFQUFFO2dCQUNULE1BQU0sRUFBRSxTQUFTO2FBQ2xCO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLE1BQU0sRUFBRSxTQUFTO2FBQ2xCO1NBQ0Y7S0FDRixDQUFDLENBQUM7SUFFSCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQsS0FBSyxVQUFVLFFBQVEsQ0FBQyxRQUFnQixFQUFFLEtBQWE7SUFDckQsTUFBTSxNQUFNLEdBQUcsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUMzQixNQUFNLENBQUMsS0FBSyxHQUFHLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ25DLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3JCLENBQUM7QUFFRCxLQUFLLFVBQVUsaUJBQWlCLENBQUMsVUFBa0IsRUFBRSxNQUFjO0lBQ2pFLE1BQU0sTUFBTSxHQUFHLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDM0IsTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQzdDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3JCLENBQUM7QUFFRCxLQUFLLFVBQVUsSUFBSSxDQUFDLE1BQWM7SUFDaEMsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNqQyxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHO0lBQ3pCLEdBQUc7SUFDSCxRQUFRO0lBQ1IsaUJBQWlCO0lBQ2pCLElBQUk7Q0FDTCxDQUFDIn0=
|
|
@@ -29,6 +29,8 @@ Ask Cli help:
|
|
|
29
29
|
|
|
30
30
|
AI CLI to help you with commands, coding, apps and more.
|
|
31
31
|
|
|
32
|
+
Version: 1.0.11
|
|
33
|
+
|
|
32
34
|
Usage: ask <prompt..>
|
|
33
35
|
|
|
34
36
|
Commands:
|
|
@@ -52,4 +54,4 @@ Ask Cli help:
|
|
|
52
54
|
what is the chmod command
|
|
53
55
|
ask what is using port 80 -c "netstat -ano"
|
|
54
56
|
`;
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdHJ1Y3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RlbXBsYXRlcy9pbnN0cnVjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHOzs7OztnRUFLb0MsT0FBTyxDQUFDLFFBQVE7Ozs7Ozs7Ozs7Ozs7Ozs7Y0FnQmxFLE9BQU8sQ0FBQyxRQUFROztnQkFFZCxPQUFPLENBQUMsR0FBRyxFQUFFOztnQkFFYixJQUFJLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBOEJwQyxDQUFDIn0=
|
package/package.json
CHANGED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import TextInput from 'ink-text-input';
|
|
3
|
-
import { Box, Text } from 'ink';
|
|
4
|
-
import { useState } from 'react';
|
|
5
|
-
export function ApiKey(props) {
|
|
6
|
-
const { provider, onChange } = props;
|
|
7
|
-
const [apiKey, setApiKey] = useState('');
|
|
8
|
-
return (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { bold: true, children: [provider?.name, " Api Key:"] }), _jsx(Box, { flexDirection: 'column', marginTop: 1, borderStyle: 'single', borderLeftColor: 'cyan', borderLeft: true, borderRight: false, borderTop: false, borderBottom: false, paddingLeft: 1, children: _jsx(TextInput, { value: apiKey, onChange: setApiKey, onSubmit: () => onChange(apiKey), placeholder: "Enter api key, paste (Ctrl+V)" }) }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: 'grey', dimColor: true, children: 'Esc (Exit) | Enter (Save)' }) })] }));
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpS2V5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvYXBpS2V5LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxTQUFTLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFaEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQU9qQyxNQUFNLFVBQVUsTUFBTSxDQUFDLEtBQVk7SUFFakMsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFFckMsTUFBTSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFekMsT0FBTyxDQUNMLE1BQUMsR0FBRyxJQUFDLGFBQWEsRUFBQyxRQUFRLGFBQ3pCLE1BQUMsSUFBSSxJQUFDLElBQUksbUJBQUUsUUFBUSxFQUFFLElBQUksaUJBQWlCLEVBQzNDLEtBQUMsR0FBRyxJQUNGLGFBQWEsRUFBQyxRQUFRLEVBQ3RCLFNBQVMsRUFBRSxDQUFDLEVBQ1osV0FBVyxFQUFDLFFBQVEsRUFDcEIsZUFBZSxFQUFDLE1BQU0sRUFDdEIsVUFBVSxFQUFFLElBQUksRUFDaEIsV0FBVyxFQUFFLEtBQUssRUFDbEIsU0FBUyxFQUFFLEtBQUssRUFDaEIsWUFBWSxFQUFFLEtBQUssRUFDbkIsV0FBVyxFQUFFLENBQUMsWUFDZCxLQUFDLFNBQVMsSUFDUixLQUFLLEVBQUUsTUFBTSxFQUNiLFFBQVEsRUFBRSxTQUFTLEVBQ25CLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQ2hDLFdBQVcsRUFBQywrQkFBK0IsR0FDM0MsR0FDRSxFQUNOLEtBQUMsR0FBRyxJQUFDLFNBQVMsRUFBRSxDQUFDLFlBQ2YsS0FBQyxJQUFJLElBQUMsS0FBSyxFQUFDLE1BQU0sRUFBQyxRQUFRLGtCQUFFLDJCQUEyQixHQUFRLEdBQzVELElBQ0YsQ0FDUCxDQUFDO0FBQ0osQ0FBQyJ9
|