@polka-codes/cli 0.1.0 → 0.1.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/README.md +63 -0
- package/dist/config.d.ts +1 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +22 -18
- package/dist/config.js.map +1 -1
- package/dist/config.test.d.ts +1 -0
- package/dist/config.test.d.ts.map +1 -0
- package/dist/config.test.js +41 -39
- package/dist/config.test.js.map +1 -1
- package/dist/handlers.d.ts +1 -0
- package/dist/handlers.d.ts.map +1 -0
- package/dist/handlers.js +59 -40
- package/dist/handlers.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -10
- package/dist/index.js.map +1 -1
- package/dist/runTask.d.ts +1 -0
- package/dist/runTask.d.ts.map +1 -0
- package/dist/runTask.js +18 -13
- package/dist/runTask.js.map +1 -1
- package/dist/utils/listFiles.d.ts +1 -0
- package/dist/utils/listFiles.d.ts.map +1 -0
- package/dist/utils/listFiles.js +16 -12
- package/dist/utils/listFiles.js.map +1 -1
- package/dist/utils/listFiles.test.d.ts +1 -0
- package/dist/utils/listFiles.test.d.ts.map +1 -0
- package/dist/utils/listFiles.test.js +39 -37
- package/dist/utils/listFiles.test.js.map +1 -1
- package/dist/utils/replaceInFile.d.ts +1 -0
- package/dist/utils/replaceInFile.d.ts.map +1 -0
- package/dist/utils/replaceInFile.js +5 -1
- package/dist/utils/replaceInFile.js.map +1 -1
- package/dist/utils/replaceInFile.test.d.ts +1 -0
- package/dist/utils/replaceInFile.test.d.ts.map +1 -0
- package/dist/utils/replaceInFile.test.js +23 -21
- package/dist/utils/replaceInFile.test.js.map +1 -1
- package/package.json +2 -2
- package/dist/listFiles.d.ts +0 -11
- package/dist/listFiles.js +0 -100
- package/dist/listFiles.js.map +0 -1
- package/dist/listFiles.test.d.ts +0 -1
- package/dist/listFiles.test.js +0 -49
- package/dist/listFiles.test.js.map +0 -1
- package/dist/replaceInFile.d.ts +0 -1
- package/dist/replaceInFile.js +0 -85
- package/dist/replaceInFile.js.map +0 -1
- package/dist/replaceInFile.test.d.ts +0 -1
- package/dist/replaceInFile.test.js +0 -90
- package/dist/replaceInFile.test.js.map +0 -1
package/README.md
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Polka Codes CLI
|
|
2
|
+
|
|
3
|
+
Command Line Interface for Polka Codes framework.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
bun add @polka-codes/cli
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
### Basic Commands
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
# Run interactive CLI
|
|
17
|
+
polka
|
|
18
|
+
|
|
19
|
+
# Run specific task
|
|
20
|
+
polka --task your-task
|
|
21
|
+
|
|
22
|
+
# Show help
|
|
23
|
+
polka --help
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### Configuration
|
|
27
|
+
|
|
28
|
+
Create a `.polkacodes.yml` file in your project root:
|
|
29
|
+
|
|
30
|
+
```yaml
|
|
31
|
+
tasks:
|
|
32
|
+
your-task:
|
|
33
|
+
description: Task description
|
|
34
|
+
steps:
|
|
35
|
+
- name: Step 1
|
|
36
|
+
action: some-action
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### Available Commands
|
|
40
|
+
|
|
41
|
+
- `run`: Execute a specific task
|
|
42
|
+
- `list`: List available tasks
|
|
43
|
+
- `config`: Show current configuration
|
|
44
|
+
- `help`: Show help information
|
|
45
|
+
|
|
46
|
+
## Development
|
|
47
|
+
|
|
48
|
+
### Building
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
cd packages/cli
|
|
52
|
+
bun run build
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Testing
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
bun test
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
*This README was generated by polka.codes*
|
package/dist/config.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAY,CAAC,EAAE,MAAM,KAAK,CAAA;AAMjC,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQd,CAAA;AAEX,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAEjD,wBAAgB,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,GAAE,MAAsB,GAAG,MAAM,GAAG,SAAS,CAsBzF"}
|
package/dist/config.js
CHANGED
|
@@ -1,19 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.configSchema = void 0;
|
|
4
|
+
exports.loadConfig = loadConfig;
|
|
5
|
+
const node_fs_1 = require("node:fs");
|
|
6
|
+
const node_path_1 = require("node:path");
|
|
7
|
+
const yaml_1 = require("yaml");
|
|
8
|
+
const zod_1 = require("zod");
|
|
9
|
+
const core_1 = require("@polka-codes/core");
|
|
10
|
+
const logger = (0, core_1.createServiceLogger)('cli/config');
|
|
11
|
+
exports.configSchema = zod_1.z
|
|
8
12
|
.object({
|
|
9
|
-
provider: z.string().optional(),
|
|
10
|
-
apiKey: z.string().optional(),
|
|
11
|
-
model: z.string().optional(),
|
|
12
|
-
commands: z.record(z.string(), z.string().or(z.object({ command: z.string(), description: z.string() }))).optional(),
|
|
13
|
-
rules: z.array(z.string()).optional().or(z.string()).optional(),
|
|
13
|
+
provider: zod_1.z.string().optional(),
|
|
14
|
+
apiKey: zod_1.z.string().optional(),
|
|
15
|
+
model: zod_1.z.string().optional(),
|
|
16
|
+
commands: zod_1.z.record(zod_1.z.string(), zod_1.z.string().or(zod_1.z.object({ command: zod_1.z.string(), description: zod_1.z.string() }))).optional(),
|
|
17
|
+
rules: zod_1.z.array(zod_1.z.string()).optional().or(zod_1.z.string()).optional(),
|
|
14
18
|
})
|
|
15
19
|
.strict();
|
|
16
|
-
|
|
20
|
+
function loadConfig(path, cwd = process.cwd()) {
|
|
17
21
|
if (path) {
|
|
18
22
|
try {
|
|
19
23
|
return readConfig(path);
|
|
@@ -23,13 +27,13 @@ export function loadConfig(path, cwd = process.cwd()) {
|
|
|
23
27
|
process.exit(1);
|
|
24
28
|
}
|
|
25
29
|
}
|
|
26
|
-
const configPaths = [join(cwd, '.polkacodes.yml'), join(cwd, '.polkacodes.yaml')];
|
|
30
|
+
const configPaths = [(0, node_path_1.join)(cwd, '.polkacodes.yml'), (0, node_path_1.join)(cwd, '.polkacodes.yaml')];
|
|
27
31
|
for (const path of configPaths) {
|
|
28
32
|
try {
|
|
29
33
|
return readConfig(path);
|
|
30
34
|
}
|
|
31
35
|
catch (error) {
|
|
32
|
-
if (error instanceof ZodError) {
|
|
36
|
+
if (error instanceof zod_1.ZodError) {
|
|
33
37
|
logger.error(`Error in config file: ${path}\n${error}`);
|
|
34
38
|
process.exit(1);
|
|
35
39
|
}
|
|
@@ -37,8 +41,8 @@ export function loadConfig(path, cwd = process.cwd()) {
|
|
|
37
41
|
}
|
|
38
42
|
}
|
|
39
43
|
const readConfig = (path) => {
|
|
40
|
-
const file = readFileSync(path, 'utf8');
|
|
41
|
-
const config = parse(file);
|
|
42
|
-
return configSchema.parse(config);
|
|
44
|
+
const file = (0, node_fs_1.readFileSync)(path, 'utf8');
|
|
45
|
+
const config = (0, yaml_1.parse)(file);
|
|
46
|
+
return exports.configSchema.parse(config);
|
|
43
47
|
};
|
|
44
48
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AAqBA,gCAsBC;AA3CD,qCAAsC;AACtC,yCAAgC;AAChC,+BAA4B;AAC5B,6BAAiC;AAEjC,4CAAuD;AAEvD,MAAM,MAAM,GAAG,IAAA,0BAAmB,EAAC,YAAY,CAAC,CAAA;AAEnC,QAAA,YAAY,GAAG,OAAC;KAC1B,MAAM,CAAC;IACN,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,QAAQ,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,OAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpH,KAAK,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAChE,CAAC;KACD,MAAM,EAAE,CAAA;AAIX,SAAgB,UAAU,CAAC,IAAa,EAAE,MAAc,OAAO,CAAC,GAAG,EAAE;IACnE,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC;YACH,OAAO,UAAU,CAAC,IAAI,CAAC,CAAA;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,8BAA8B,IAAI,KAAK,KAAK,EAAE,CAAC,CAAA;YAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,CAAC,IAAA,gBAAI,EAAC,GAAG,EAAE,iBAAiB,CAAC,EAAE,IAAA,gBAAI,EAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC,CAAA;IAEjF,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,OAAO,UAAU,CAAC,IAAI,CAAC,CAAA;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,cAAQ,EAAE,CAAC;gBAC9B,MAAM,CAAC,KAAK,CAAC,yBAAyB,IAAI,KAAK,KAAK,EAAE,CAAC,CAAA;gBACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,IAAY,EAAU,EAAE;IAC1C,MAAM,IAAI,GAAG,IAAA,sBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACvC,MAAM,MAAM,GAAG,IAAA,YAAK,EAAC,IAAI,CAAC,CAAA;IAC1B,OAAO,oBAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;AACnC,CAAC,CAAA"}
|
package/dist/config.test.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.test.d.ts","sourceRoot":"","sources":["../src/config.test.ts"],"names":[],"mappings":""}
|
package/dist/config.test.js
CHANGED
|
@@ -1,71 +1,73 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const bun_test_1 = require("bun:test");
|
|
4
|
+
const node_fs_1 = require("node:fs");
|
|
5
|
+
const node_os_1 = require("node:os");
|
|
6
|
+
const node_path_1 = require("node:path");
|
|
7
|
+
const config_1 = require("./config");
|
|
8
|
+
(0, bun_test_1.describe)('config', () => {
|
|
7
9
|
let testDir;
|
|
8
10
|
let testSubDir;
|
|
9
|
-
beforeAll(() => {
|
|
10
|
-
testDir = mkdtempSync(join(tmpdir(), 'polkacodes-test-'));
|
|
11
|
+
(0, bun_test_1.beforeAll)(() => {
|
|
12
|
+
testDir = (0, node_fs_1.mkdtempSync)((0, node_path_1.join)((0, node_os_1.tmpdir)(), 'polkacodes-test-'));
|
|
11
13
|
});
|
|
12
|
-
beforeEach(() => {
|
|
13
|
-
testSubDir = mkdtempSync(join(testDir, 'test-'));
|
|
14
|
+
(0, bun_test_1.beforeEach)(() => {
|
|
15
|
+
testSubDir = (0, node_fs_1.mkdtempSync)((0, node_path_1.join)(testDir, 'test-'));
|
|
14
16
|
});
|
|
15
|
-
afterEach(() => {
|
|
16
|
-
rmSync(testSubDir, { recursive: true, force: true });
|
|
17
|
+
(0, bun_test_1.afterEach)(() => {
|
|
18
|
+
(0, node_fs_1.rmSync)(testSubDir, { recursive: true, force: true });
|
|
17
19
|
});
|
|
18
|
-
afterAll(() => {
|
|
19
|
-
rmSync(testDir, { recursive: true, force: true });
|
|
20
|
+
(0, bun_test_1.afterAll)(() => {
|
|
21
|
+
(0, node_fs_1.rmSync)(testDir, { recursive: true, force: true });
|
|
20
22
|
});
|
|
21
|
-
test('loads config from specified path', () => {
|
|
22
|
-
const configPath = join(testSubDir, 'test-config.yml');
|
|
23
|
-
writeFileSync(configPath, `
|
|
23
|
+
(0, bun_test_1.test)('loads config from specified path', () => {
|
|
24
|
+
const configPath = (0, node_path_1.join)(testSubDir, 'test-config.yml');
|
|
25
|
+
(0, node_fs_1.writeFileSync)(configPath, `
|
|
24
26
|
provider: anthropic
|
|
25
27
|
apiKey: test-key
|
|
26
28
|
model: claude-3-opus
|
|
27
29
|
`);
|
|
28
|
-
const config = loadConfig(configPath, testSubDir);
|
|
29
|
-
expect(config).toEqual({
|
|
30
|
+
const config = (0, config_1.loadConfig)(configPath, testSubDir);
|
|
31
|
+
(0, bun_test_1.expect)(config).toEqual({
|
|
30
32
|
provider: 'anthropic',
|
|
31
33
|
apiKey: 'test-key',
|
|
32
34
|
model: 'claude-3-opus',
|
|
33
35
|
});
|
|
34
36
|
});
|
|
35
|
-
test('loads config from default paths', () => {
|
|
36
|
-
const configPath = join(testSubDir, '.polkacodes.yml');
|
|
37
|
-
writeFileSync(configPath, `
|
|
37
|
+
(0, bun_test_1.test)('loads config from default paths', () => {
|
|
38
|
+
const configPath = (0, node_path_1.join)(testSubDir, '.polkacodes.yml');
|
|
39
|
+
(0, node_fs_1.writeFileSync)(configPath, `
|
|
38
40
|
provider: deepseek
|
|
39
41
|
apiKey: test-key-2
|
|
40
42
|
model: deepseek-chat
|
|
41
43
|
`);
|
|
42
|
-
const config = loadConfig(undefined, testSubDir);
|
|
43
|
-
expect(config).toEqual({
|
|
44
|
+
const config = (0, config_1.loadConfig)(undefined, testSubDir);
|
|
45
|
+
(0, bun_test_1.expect)(config).toEqual({
|
|
44
46
|
provider: 'deepseek',
|
|
45
47
|
apiKey: 'test-key-2',
|
|
46
48
|
model: 'deepseek-chat',
|
|
47
49
|
});
|
|
48
50
|
// Clean up
|
|
49
|
-
writeFileSync(configPath, '');
|
|
51
|
+
(0, node_fs_1.writeFileSync)(configPath, '');
|
|
50
52
|
});
|
|
51
|
-
test('validates config schema', () => {
|
|
52
|
-
const configPath = join(testSubDir, 'invalid-config.yml');
|
|
53
|
-
writeFileSync(configPath, `
|
|
53
|
+
(0, bun_test_1.test)('validates config schema', () => {
|
|
54
|
+
const configPath = (0, node_path_1.join)(testSubDir, 'invalid-config.yml');
|
|
55
|
+
(0, node_fs_1.writeFileSync)(configPath, `
|
|
54
56
|
invalidKey: value
|
|
55
57
|
`);
|
|
56
|
-
expect(() => loadConfig(configPath, testSubDir)).toThrow();
|
|
58
|
+
(0, bun_test_1.expect)(() => (0, config_1.loadConfig)(configPath, testSubDir)).toThrow();
|
|
57
59
|
});
|
|
58
|
-
test('handles commands configuration', () => {
|
|
59
|
-
const configPath = join(testSubDir, 'commands-config.yml');
|
|
60
|
-
writeFileSync(configPath, `
|
|
60
|
+
(0, bun_test_1.test)('handles commands configuration', () => {
|
|
61
|
+
const configPath = (0, node_path_1.join)(testSubDir, 'commands-config.yml');
|
|
62
|
+
(0, node_fs_1.writeFileSync)(configPath, `
|
|
61
63
|
commands:
|
|
62
64
|
test: echo "test"
|
|
63
65
|
complex:
|
|
64
66
|
command: echo "complex"
|
|
65
67
|
description: A complex command
|
|
66
68
|
`);
|
|
67
|
-
const config = loadConfig(configPath, testSubDir);
|
|
68
|
-
expect(config?.commands).toEqual({
|
|
69
|
+
const config = (0, config_1.loadConfig)(configPath, testSubDir);
|
|
70
|
+
(0, bun_test_1.expect)(config?.commands).toEqual({
|
|
69
71
|
test: 'echo "test"',
|
|
70
72
|
complex: {
|
|
71
73
|
command: 'echo "complex"',
|
|
@@ -73,15 +75,15 @@ commands:
|
|
|
73
75
|
},
|
|
74
76
|
});
|
|
75
77
|
});
|
|
76
|
-
test('handles rules configuration', () => {
|
|
77
|
-
const configPath = join(testSubDir, 'rules-config.yml');
|
|
78
|
-
writeFileSync(configPath, `
|
|
78
|
+
(0, bun_test_1.test)('handles rules configuration', () => {
|
|
79
|
+
const configPath = (0, node_path_1.join)(testSubDir, 'rules-config.yml');
|
|
80
|
+
(0, node_fs_1.writeFileSync)(configPath, `
|
|
79
81
|
rules:
|
|
80
82
|
- rule1
|
|
81
83
|
- rule2
|
|
82
84
|
`);
|
|
83
|
-
const config = loadConfig(configPath, testSubDir);
|
|
84
|
-
expect(config?.rules).toEqual(['rule1', 'rule2']);
|
|
85
|
+
const config = (0, config_1.loadConfig)(configPath, testSubDir);
|
|
86
|
+
(0, bun_test_1.expect)(config?.rules).toEqual(['rule1', 'rule2']);
|
|
85
87
|
});
|
|
86
88
|
});
|
|
87
89
|
//# sourceMappingURL=config.test.js.map
|
package/dist/config.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.test.js","sourceRoot":"","sources":["../src/config.test.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"config.test.js","sourceRoot":"","sources":["../src/config.test.ts"],"names":[],"mappings":"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"}
|
package/dist/handlers.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../src/handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,8BAA8B,EAAS,MAAM,oBAAoB,CAAA;AAE/E,OAAO,EAAE,KAAK,WAAW,EAAsE,MAAM,mBAAmB,CAAA;AA8RxH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,cAAc,CAAC,EAAE;QACf,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;QACrD,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;QACrD,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,KAAK,IAAI,CAAA;KAClF,CAAA;IACD,KAAK,CAAC,EAAE;QACN,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;QAClD,GAAG,CAAC,EAAE,MAAM,CAAA;KACb,CAAA;CACF,CAAA;AAED,eAAO,MAAM,cAAc,YAAa,kBAAkB,KAAG,WAQ5D,CAAA"}
|
package/dist/handlers.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getToolHandler = void 0;
|
|
4
|
+
const node_child_process_1 = require("node:child_process");
|
|
5
|
+
const promises_1 = require("node:fs/promises");
|
|
6
|
+
const core_1 = require("@polka-codes/core");
|
|
7
|
+
const listFiles_1 = require("./utils/listFiles");
|
|
8
|
+
const replaceInFile_1 = require("./utils/replaceInFile");
|
|
9
|
+
const logger = (0, core_1.createServiceLogger)('cli/handlers');
|
|
7
10
|
const handleError = async (name, fn) => {
|
|
8
11
|
try {
|
|
9
12
|
return await fn();
|
|
@@ -11,7 +14,7 @@ const handleError = async (name, fn) => {
|
|
|
11
14
|
catch (error) {
|
|
12
15
|
logger.warn(error, `Error executing tool: ${name}`);
|
|
13
16
|
return {
|
|
14
|
-
type: ToolResponseType.Error,
|
|
17
|
+
type: core_1.ToolResponseType.Error,
|
|
15
18
|
message: `Error executing tool: ${name}
|
|
16
19
|
Error: ${error}`,
|
|
17
20
|
canRetry: false,
|
|
@@ -25,6 +28,16 @@ const getString = (args, name, defaultValue) => {
|
|
|
25
28
|
}
|
|
26
29
|
return ret;
|
|
27
30
|
};
|
|
31
|
+
const getStringArray = (args, name, defaultValue) => {
|
|
32
|
+
const ret = args[name];
|
|
33
|
+
if (!ret) {
|
|
34
|
+
if (defaultValue === undefined) {
|
|
35
|
+
throw new Error(`Missing required argument: ${name}`);
|
|
36
|
+
}
|
|
37
|
+
return defaultValue;
|
|
38
|
+
}
|
|
39
|
+
return ret.split(',');
|
|
40
|
+
};
|
|
28
41
|
const getBoolean = (args, name, defaultValue) => {
|
|
29
42
|
const ret = args[name];
|
|
30
43
|
if (!ret) {
|
|
@@ -62,7 +75,7 @@ const handlers = {
|
|
|
62
75
|
const shouldExecute = (await options.executeCommand?.shouldExecute?.(command)) ?? true;
|
|
63
76
|
if (!shouldExecute) {
|
|
64
77
|
return {
|
|
65
|
-
type: ToolResponseType.Invalid,
|
|
78
|
+
type: core_1.ToolResponseType.Invalid,
|
|
66
79
|
message: `<command>${command}</command><command_rejected>Rejected by policy</command_rejected>`,
|
|
67
80
|
};
|
|
68
81
|
}
|
|
@@ -71,7 +84,7 @@ const handlers = {
|
|
|
71
84
|
const shouldApprove = await options.executeCommand?.shouldApprove?.(command);
|
|
72
85
|
if (!shouldApprove) {
|
|
73
86
|
return {
|
|
74
|
-
type: ToolResponseType.Invalid,
|
|
87
|
+
type: core_1.ToolResponseType.Invalid,
|
|
75
88
|
message: `<command>${command}</command><command_rejected>Rejected by policy</command_rejected>`,
|
|
76
89
|
};
|
|
77
90
|
}
|
|
@@ -80,7 +93,7 @@ const handlers = {
|
|
|
80
93
|
return new Promise((resolve, reject) => {
|
|
81
94
|
// spawn a shell to execute the command
|
|
82
95
|
logger.trace(`Executing command: ${command}`);
|
|
83
|
-
const child = spawn(command, [], {
|
|
96
|
+
const child = (0, node_child_process_1.spawn)(command, [], {
|
|
84
97
|
shell: true,
|
|
85
98
|
stdio: 'pipe',
|
|
86
99
|
});
|
|
@@ -105,13 +118,13 @@ ${stderrText}
|
|
|
105
118
|
`;
|
|
106
119
|
if (code === 0) {
|
|
107
120
|
resolve({
|
|
108
|
-
type: ToolResponseType.Reply,
|
|
121
|
+
type: core_1.ToolResponseType.Reply,
|
|
109
122
|
message,
|
|
110
123
|
});
|
|
111
124
|
}
|
|
112
125
|
else {
|
|
113
126
|
resolve({
|
|
114
|
-
type: ToolResponseType.Error,
|
|
127
|
+
type: core_1.ToolResponseType.Error,
|
|
115
128
|
message,
|
|
116
129
|
});
|
|
117
130
|
}
|
|
@@ -122,19 +135,24 @@ ${stderrText}
|
|
|
122
135
|
});
|
|
123
136
|
},
|
|
124
137
|
readFile: async (options, args) => {
|
|
125
|
-
const
|
|
126
|
-
const
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
138
|
+
const paths = getStringArray(args, 'path');
|
|
139
|
+
for (const path of paths) {
|
|
140
|
+
const isPathAllowed = (await options.files?.isPathAllowed?.(path)) ?? true;
|
|
141
|
+
if (!isPathAllowed) {
|
|
142
|
+
return {
|
|
143
|
+
type: core_1.ToolResponseType.Invalid,
|
|
144
|
+
message: `<path>${path}</path><path_rejected>Rejected by policy</path_rejected>`,
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
const resp = [];
|
|
149
|
+
for (const path of paths) {
|
|
150
|
+
const fileContent = await (0, promises_1.readFile)(path, 'utf8');
|
|
151
|
+
resp.push(`<read_file_file_conten path="${path}">${fileContent}</read_file_file_content>`);
|
|
132
152
|
}
|
|
133
|
-
const fileContent = await readFile(path, 'utf8');
|
|
134
153
|
return {
|
|
135
|
-
type: ToolResponseType.Reply,
|
|
136
|
-
message:
|
|
137
|
-
<read_file_file_content>${fileContent}</read_file_file_content>`,
|
|
154
|
+
type: core_1.ToolResponseType.Reply,
|
|
155
|
+
message: resp.join('\n'),
|
|
138
156
|
};
|
|
139
157
|
},
|
|
140
158
|
writeToFile: async (options, args) => {
|
|
@@ -143,13 +161,13 @@ ${stderrText}
|
|
|
143
161
|
const isPathAllowed = (await options.files?.isPathAllowed?.(path)) ?? true;
|
|
144
162
|
if (!isPathAllowed) {
|
|
145
163
|
return {
|
|
146
|
-
type: ToolResponseType.Invalid,
|
|
164
|
+
type: core_1.ToolResponseType.Invalid,
|
|
147
165
|
message: `<path>${path}</path><path_rejected>Rejected by policy</path_rejected>`,
|
|
148
166
|
};
|
|
149
167
|
}
|
|
150
|
-
await writeFile(path, content, 'utf8');
|
|
168
|
+
await (0, promises_1.writeFile)(path, content, 'utf8');
|
|
151
169
|
return {
|
|
152
|
-
type: ToolResponseType.Reply,
|
|
170
|
+
type: core_1.ToolResponseType.Reply,
|
|
153
171
|
message: `<write_file_path>${path}</write_file_path><status>Success</status>`,
|
|
154
172
|
};
|
|
155
173
|
},
|
|
@@ -159,22 +177,22 @@ ${stderrText}
|
|
|
159
177
|
const isPathAllowed = (await options.files?.isPathAllowed?.(path)) ?? true;
|
|
160
178
|
if (!isPathAllowed) {
|
|
161
179
|
return {
|
|
162
|
-
type: ToolResponseType.Invalid,
|
|
180
|
+
type: core_1.ToolResponseType.Invalid,
|
|
163
181
|
message: `<path>${path}</path><path_rejected>Rejected by policy</path_rejected>`,
|
|
164
182
|
};
|
|
165
183
|
}
|
|
166
|
-
const fileContent = await readFile(path, 'utf8');
|
|
167
|
-
const result = await replaceInFile(fileContent, diff);
|
|
168
|
-
await writeFile(path, result, 'utf8');
|
|
184
|
+
const fileContent = await (0, promises_1.readFile)(path, 'utf8');
|
|
185
|
+
const result = await (0, replaceInFile_1.replaceInFile)(fileContent, diff);
|
|
186
|
+
await (0, promises_1.writeFile)(path, result, 'utf8');
|
|
169
187
|
return {
|
|
170
|
-
type: ToolResponseType.Reply,
|
|
188
|
+
type: core_1.ToolResponseType.Reply,
|
|
171
189
|
message: `<replace_in_file_path>${path}</replace_in_file_path>`,
|
|
172
190
|
};
|
|
173
191
|
},
|
|
174
192
|
searchFiles: async (options, args) => {
|
|
175
193
|
// TODO
|
|
176
194
|
return {
|
|
177
|
-
type: ToolResponseType.Exit,
|
|
195
|
+
type: core_1.ToolResponseType.Exit,
|
|
178
196
|
message: 'Files searched successfully',
|
|
179
197
|
};
|
|
180
198
|
},
|
|
@@ -184,14 +202,14 @@ ${stderrText}
|
|
|
184
202
|
const isPathAllowed = (await options.files?.isPathAllowed?.(path)) ?? true;
|
|
185
203
|
if (!isPathAllowed) {
|
|
186
204
|
return {
|
|
187
|
-
type: ToolResponseType.Invalid,
|
|
205
|
+
type: core_1.ToolResponseType.Invalid,
|
|
188
206
|
message: `<path>${path}</path><path_rejected>Rejected by policy</path_rejected>`,
|
|
189
207
|
};
|
|
190
208
|
}
|
|
191
209
|
const recursive = depth > 0;
|
|
192
|
-
const [files, limitReached] = await listFiles(path, recursive, depth, options.files?.cwd ?? process.cwd());
|
|
210
|
+
const [files, limitReached] = await (0, listFiles_1.listFiles)(path, recursive, depth, options.files?.cwd ?? process.cwd());
|
|
193
211
|
return {
|
|
194
|
-
type: ToolResponseType.Reply,
|
|
212
|
+
type: core_1.ToolResponseType.Reply,
|
|
195
213
|
message: `<list_files_path>${path}</list_files_path>
|
|
196
214
|
<list_files_depth>${depth}</list_files_depth>
|
|
197
215
|
<list_files_files>
|
|
@@ -203,31 +221,31 @@ ${files.join('\n')}
|
|
|
203
221
|
listCodeDefinitionNames: async (options, args) => {
|
|
204
222
|
// TODO
|
|
205
223
|
return {
|
|
206
|
-
type: ToolResponseType.Exit,
|
|
224
|
+
type: core_1.ToolResponseType.Exit,
|
|
207
225
|
message: 'Code definition names listed successfully',
|
|
208
226
|
};
|
|
209
227
|
},
|
|
210
228
|
askFollowupQuestion: async (options, args) => {
|
|
211
229
|
// TODO
|
|
212
230
|
return {
|
|
213
|
-
type: ToolResponseType.Exit,
|
|
231
|
+
type: core_1.ToolResponseType.Exit,
|
|
214
232
|
message: 'Followup question asked successfully',
|
|
215
233
|
};
|
|
216
234
|
},
|
|
217
235
|
attemptCompletion: async (options, args) => {
|
|
218
236
|
return {
|
|
219
|
-
type: ToolResponseType.Exit,
|
|
237
|
+
type: core_1.ToolResponseType.Exit,
|
|
220
238
|
message: '<completed>true</completed>',
|
|
221
239
|
};
|
|
222
240
|
},
|
|
223
241
|
};
|
|
224
242
|
const processedHandlers = Object.fromEntries(Object.entries(handlers).map(([toolName, handler]) => {
|
|
225
243
|
return [
|
|
226
|
-
allTools[toolName].name,
|
|
244
|
+
core_1.allTools[toolName].name,
|
|
227
245
|
async (options, args) => handleError(toolName, async () => handler(options, args)),
|
|
228
246
|
];
|
|
229
247
|
}));
|
|
230
|
-
|
|
248
|
+
const getToolHandler = (options) => {
|
|
231
249
|
return async (toolName, args) => {
|
|
232
250
|
const handler = processedHandlers[toolName];
|
|
233
251
|
if (!handler) {
|
|
@@ -236,4 +254,5 @@ export const getToolHandler = (options) => {
|
|
|
236
254
|
return handler(options, args);
|
|
237
255
|
};
|
|
238
256
|
};
|
|
257
|
+
exports.getToolHandler = getToolHandler;
|
|
239
258
|
//# sourceMappingURL=handlers.js.map
|
package/dist/handlers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../src/handlers.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../src/handlers.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|
package/dist/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
const program = new Command();
|
|
8
|
-
program.name('polka').description('Polka Codes CLI').version(version);
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const commander_1 = require("commander");
|
|
4
|
+
const package_json_1 = require("../package.json");
|
|
5
|
+
const config_1 = require("./config");
|
|
6
|
+
const runTask_1 = require("./runTask");
|
|
7
|
+
const program = new commander_1.Command();
|
|
8
|
+
program.name('polka').description('Polka Codes CLI').version(package_json_1.version);
|
|
9
9
|
// Main command for executing tasks
|
|
10
10
|
program
|
|
11
11
|
.argument('[task]', 'The task to execute')
|
|
@@ -14,11 +14,11 @@ program
|
|
|
14
14
|
.option('--model-id <model>', 'Model ID')
|
|
15
15
|
.option('--api-key <key>', 'API key')
|
|
16
16
|
.action(async (taskArg, options) => {
|
|
17
|
-
const config = loadConfig(options.config ?? options.c) ?? {};
|
|
17
|
+
const config = (0, config_1.loadConfig)(options.config ?? options.c) ?? {};
|
|
18
18
|
const provider = options.apiProvider || process.env.POLKA_API_PROVIDER || config.provider || 'anthropic';
|
|
19
19
|
const model = options.modelId || process.env.POLKA_MODEL_ID || config.model;
|
|
20
20
|
const apiKey = options.apiKey || process.env.POLKA_API_KEY || config.apiKey;
|
|
21
|
-
await runTask({
|
|
21
|
+
await (0, runTask_1.runTask)({
|
|
22
22
|
task: taskArg,
|
|
23
23
|
provider,
|
|
24
24
|
model,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAAA,yCAAmC;AAEnC,kDAAyC;AACzC,qCAAqC;AACrC,uCAAmC;AAEnC,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAA;AAE7B,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,sBAAO,CAAC,CAAA;AAErE,mCAAmC;AACnC,OAAO;KACJ,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC;KACzC,MAAM,CAAC,oBAAoB,EAAE,qBAAqB,CAAC;KACnD,MAAM,CAAC,2BAA2B,EAAE,cAAc,CAAC;KACnD,MAAM,CAAC,oBAAoB,EAAE,UAAU,CAAC;KACxC,MAAM,CAAC,iBAAiB,EAAE,SAAS,CAAC;KACpC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IACjC,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IAE5D,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,MAAM,CAAC,QAAQ,IAAI,WAAW,CAAA;IAExG,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,MAAM,CAAC,KAAK,CAAA;IAE3E,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,MAAM,CAAC,MAAM,CAAA;IAE3E,MAAM,IAAA,iBAAO,EAAC;QACZ,IAAI,EAAE,OAAO;QACb,QAAQ;QACR,KAAK;QACL,MAAM;QACN,MAAM;KACP,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEJ,OAAO,CAAC,KAAK,EAAE,CAAA"}
|