prompt-language-shell 0.4.6 → 0.4.9
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/config/CONFIG.md +66 -0
- package/dist/config/EXECUTE.md +279 -0
- package/dist/config/INTROSPECT.md +29 -14
- package/dist/config/PLAN.md +40 -6
- package/dist/handlers/answer.js +13 -20
- package/dist/handlers/command.js +26 -30
- package/dist/handlers/config.js +44 -12
- package/dist/handlers/execute.js +38 -0
- package/dist/handlers/execution.js +66 -61
- package/dist/handlers/introspect.js +13 -20
- package/dist/handlers/plan.js +33 -36
- package/dist/services/anthropic.js +66 -12
- package/dist/services/colors.js +6 -5
- package/dist/services/components.js +159 -22
- package/dist/services/configuration.js +80 -0
- package/dist/services/keyboard.js +86 -0
- package/dist/services/messages.js +31 -0
- package/dist/services/shell.js +117 -0
- package/dist/services/tool-registry.js +10 -0
- package/dist/services/utils.js +21 -0
- package/dist/tools/config.tool.js +43 -0
- package/dist/tools/execute.tool.js +44 -0
- package/dist/types/handlers.js +1 -0
- package/dist/types/types.js +1 -0
- package/dist/ui/Answer.js +7 -5
- package/dist/ui/Command.js +15 -3
- package/dist/ui/Component.js +7 -1
- package/dist/ui/Config.js +6 -3
- package/dist/ui/Confirm.js +4 -3
- package/dist/ui/Execute.js +217 -0
- package/dist/ui/Introspect.js +20 -7
- package/dist/ui/Main.js +35 -74
- package/dist/ui/Plan.js +2 -1
- package/dist/ui/Refinement.js +2 -1
- package/dist/ui/Report.js +7 -3
- package/dist/ui/Spinner.js +10 -5
- package/package.json +7 -7
package/dist/ui/Report.js
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Box, Text } from 'ink';
|
|
3
3
|
import { Colors } from '../services/colors.js';
|
|
4
|
-
function CapabilityItem({ name, description, isBuiltIn }) {
|
|
5
|
-
const color =
|
|
4
|
+
function CapabilityItem({ name, description, isBuiltIn, isIndirect, }) {
|
|
5
|
+
const color = isIndirect
|
|
6
|
+
? Colors.Origin.Indirect
|
|
7
|
+
: isBuiltIn
|
|
8
|
+
? Colors.Origin.BuiltIn
|
|
9
|
+
: Colors.Origin.UserProvided;
|
|
6
10
|
return (_jsxs(Box, { children: [_jsx(Text, { children: "- " }), _jsx(Text, { color: color, children: name }), _jsxs(Text, { children: [" - ", description] })] }));
|
|
7
11
|
}
|
|
8
12
|
export function Report({ message, capabilities }) {
|
|
9
|
-
return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { children: message }), _jsx(Box, { flexDirection: "column", marginLeft: 2, marginTop: 1, children: capabilities.map((capability, index) => (_jsx(CapabilityItem, { name: capability.name, description: capability.description, isBuiltIn: capability.isBuiltIn }, index))) })] }));
|
|
13
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { children: message }), _jsx(Box, { flexDirection: "column", marginLeft: 2, marginTop: 1, children: capabilities.map((capability, index) => (_jsx(CapabilityItem, { name: capability.name, description: capability.description, isBuiltIn: capability.isBuiltIn, isIndirect: capability.isIndirect }, index))) })] }));
|
|
10
14
|
}
|
package/dist/ui/Spinner.js
CHANGED
|
@@ -3,15 +3,20 @@ import { useEffect, useState } from 'react';
|
|
|
3
3
|
import { Text } from 'ink';
|
|
4
4
|
const FRAMES = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
|
|
5
5
|
const INTERVAL = 80;
|
|
6
|
+
const CYCLE = FRAMES.length * INTERVAL;
|
|
7
|
+
function getFrame() {
|
|
8
|
+
return Math.floor((Date.now() % CYCLE) / INTERVAL);
|
|
9
|
+
}
|
|
6
10
|
export function Spinner() {
|
|
7
|
-
const [frame, setFrame] = useState(
|
|
11
|
+
const [frame, setFrame] = useState(getFrame);
|
|
8
12
|
useEffect(() => {
|
|
9
13
|
const timer = setInterval(() => {
|
|
10
|
-
setFrame((prev) =>
|
|
14
|
+
setFrame((prev) => {
|
|
15
|
+
const next = getFrame();
|
|
16
|
+
return next !== prev ? next : prev;
|
|
17
|
+
});
|
|
11
18
|
}, INTERVAL);
|
|
12
|
-
return () =>
|
|
13
|
-
clearInterval(timer);
|
|
14
|
-
};
|
|
19
|
+
return () => clearInterval(timer);
|
|
15
20
|
}, []);
|
|
16
21
|
return _jsx(Text, { color: "blueBright", children: FRAMES[frame] });
|
|
17
22
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "prompt-language-shell",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.9",
|
|
4
4
|
"description": "Your personal command-line concierge. Ask politely, and it gets things done.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -46,22 +46,22 @@
|
|
|
46
46
|
},
|
|
47
47
|
"homepage": "https://github.com/aswitalski/pls#readme",
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@anthropic-ai/sdk": "^0.
|
|
50
|
-
"ink": "^6.5.
|
|
49
|
+
"@anthropic-ai/sdk": "^0.70.1",
|
|
50
|
+
"ink": "^6.5.1",
|
|
51
51
|
"ink-text-input": "^6.0.0",
|
|
52
52
|
"react": "^19.2.0",
|
|
53
53
|
"yaml": "^2.8.1"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
56
|
"@types/node": "^24.10.1",
|
|
57
|
-
"@types/react": "^19.2.
|
|
58
|
-
"@vitest/coverage-v8": "^4.0.
|
|
57
|
+
"@types/react": "^19.2.6",
|
|
58
|
+
"@vitest/coverage-v8": "^4.0.12",
|
|
59
59
|
"eslint": "^9.39.1",
|
|
60
60
|
"husky": "^9.1.7",
|
|
61
61
|
"ink-testing-library": "^4.0.0",
|
|
62
62
|
"prettier": "^3.6.2",
|
|
63
63
|
"typescript": "^5.9.3",
|
|
64
|
-
"typescript-eslint": "^8.
|
|
65
|
-
"vitest": "^4.0.
|
|
64
|
+
"typescript-eslint": "^8.47.0",
|
|
65
|
+
"vitest": "^4.0.12"
|
|
66
66
|
}
|
|
67
67
|
}
|