@agents-at-scale/ark 0.1.35 → 0.1.36-rc1
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/arkServices.d.ts +42 -0
- package/dist/arkServices.js +138 -0
- package/dist/arkServices.spec.d.ts +1 -0
- package/dist/arkServices.spec.js +24 -0
- package/dist/charts/charts.d.ts +5 -0
- package/dist/charts/charts.js +6 -0
- package/dist/charts/dependencies.d.ts +6 -0
- package/dist/charts/dependencies.js +50 -0
- package/dist/charts/types.d.ts +40 -0
- package/dist/charts/types.js +1 -0
- package/dist/commands/agents/index.d.ts +3 -0
- package/dist/commands/agents/index.js +65 -0
- package/dist/commands/agents/index.spec.d.ts +1 -0
- package/dist/commands/agents/index.spec.js +67 -0
- package/dist/commands/agents/selector.d.ts +8 -0
- package/dist/commands/agents/selector.js +53 -0
- package/dist/commands/agents.d.ts +2 -0
- package/dist/commands/agents.js +53 -0
- package/dist/commands/chat/index.d.ts +3 -0
- package/dist/commands/chat/index.js +29 -0
- package/dist/commands/chat.d.ts +2 -0
- package/dist/commands/chat.js +45 -0
- package/dist/commands/cluster/get.d.ts +2 -0
- package/dist/commands/cluster/get.js +39 -0
- package/dist/commands/cluster/get.spec.d.ts +1 -0
- package/dist/commands/cluster/get.spec.js +92 -0
- package/dist/commands/cluster/index.d.ts +2 -1
- package/dist/commands/cluster/index.js +3 -5
- package/dist/commands/cluster/index.spec.d.ts +1 -0
- package/dist/commands/cluster/index.spec.js +24 -0
- package/dist/commands/completion/index.d.ts +3 -0
- package/dist/commands/completion/index.js +230 -0
- package/dist/commands/completion/index.spec.d.ts +1 -0
- package/dist/commands/completion/index.spec.js +34 -0
- package/dist/commands/completion.js +159 -2
- package/dist/commands/config/index.d.ts +3 -0
- package/dist/commands/config/index.js +42 -0
- package/dist/commands/config/index.spec.d.ts +1 -0
- package/dist/commands/config/index.spec.js +78 -0
- package/dist/commands/config.d.ts +0 -3
- package/dist/commands/config.js +38 -321
- package/dist/commands/dashboard/index.d.ts +4 -0
- package/dist/commands/dashboard/index.js +39 -0
- package/dist/commands/dashboard.d.ts +3 -0
- package/dist/commands/dashboard.js +39 -0
- package/dist/commands/dev/index.d.ts +3 -0
- package/dist/commands/dev/index.js +9 -0
- package/dist/commands/dev/tool/check.d.ts +2 -0
- package/dist/commands/dev/tool/check.js +142 -0
- package/dist/commands/dev/tool/clean.d.ts +2 -0
- package/dist/commands/dev/tool/clean.js +153 -0
- package/dist/commands/dev/tool/generate.d.ts +2 -0
- package/dist/commands/dev/tool/generate.js +28 -0
- package/dist/commands/dev/tool/index.d.ts +2 -0
- package/dist/commands/dev/tool/index.js +14 -0
- package/dist/commands/dev/tool/init.d.ts +2 -0
- package/dist/commands/dev/tool/init.js +320 -0
- package/dist/commands/dev/tool/shared.d.ts +5 -0
- package/dist/commands/dev/tool/shared.js +258 -0
- package/dist/commands/dev/tool/status.d.ts +2 -0
- package/dist/commands/dev/tool/status.js +136 -0
- package/dist/commands/dev/tool-generate.spec.d.ts +1 -0
- package/dist/commands/dev/tool-generate.spec.js +163 -0
- package/dist/commands/dev/tool.d.ts +2 -0
- package/dist/commands/dev/tool.js +559 -0
- package/dist/commands/dev/tool.spec.d.ts +1 -0
- package/dist/commands/dev/tool.spec.js +48 -0
- package/dist/commands/docs/index.d.ts +4 -0
- package/dist/commands/docs/index.js +18 -0
- package/dist/commands/generate/config.js +5 -24
- package/dist/commands/generate/generators/mcpserver.d.ts +2 -1
- package/dist/commands/generate/generators/mcpserver.js +26 -5
- package/dist/commands/generate/generators/project.js +22 -41
- package/dist/commands/generate/index.d.ts +2 -1
- package/dist/commands/generate/index.js +1 -1
- package/dist/commands/install/index.d.ts +8 -0
- package/dist/commands/install/index.js +295 -0
- package/dist/commands/install/index.spec.d.ts +1 -0
- package/dist/commands/install/index.spec.js +143 -0
- package/dist/commands/install.d.ts +3 -0
- package/dist/commands/install.js +147 -0
- package/dist/commands/models/create.d.ts +1 -0
- package/dist/commands/models/create.js +213 -0
- package/dist/commands/models/create.spec.d.ts +1 -0
- package/dist/commands/models/create.spec.js +125 -0
- package/dist/commands/models/index.d.ts +3 -0
- package/dist/commands/models/index.js +75 -0
- package/dist/commands/models/index.spec.d.ts +1 -0
- package/dist/commands/models/index.spec.js +96 -0
- package/dist/commands/models/selector.d.ts +8 -0
- package/dist/commands/models/selector.js +53 -0
- package/dist/commands/query/index.d.ts +3 -0
- package/dist/commands/query/index.js +24 -0
- package/dist/commands/query/index.spec.d.ts +1 -0
- package/dist/commands/query/index.spec.js +53 -0
- package/dist/commands/routes/index.d.ts +3 -0
- package/dist/commands/routes/index.js +93 -0
- package/dist/commands/routes.d.ts +2 -0
- package/dist/commands/routes.js +101 -0
- package/dist/commands/status/index.d.ts +3 -0
- package/dist/commands/status/index.js +281 -0
- package/dist/commands/status.d.ts +3 -0
- package/dist/commands/status.js +33 -0
- package/dist/commands/targets/index.d.ts +3 -0
- package/dist/commands/targets/index.js +72 -0
- package/dist/commands/targets/index.spec.d.ts +1 -0
- package/dist/commands/targets/index.spec.js +154 -0
- package/dist/commands/targets.d.ts +2 -0
- package/dist/commands/targets.js +65 -0
- package/dist/commands/teams/index.d.ts +3 -0
- package/dist/commands/teams/index.js +64 -0
- package/dist/commands/teams/index.spec.d.ts +1 -0
- package/dist/commands/teams/index.spec.js +70 -0
- package/dist/commands/teams/selector.d.ts +8 -0
- package/dist/commands/teams/selector.js +55 -0
- package/dist/commands/tools/index.d.ts +3 -0
- package/dist/commands/tools/index.js +49 -0
- package/dist/commands/tools/index.spec.d.ts +1 -0
- package/dist/commands/tools/index.spec.js +70 -0
- package/dist/commands/tools/selector.d.ts +8 -0
- package/dist/commands/tools/selector.js +53 -0
- package/dist/commands/uninstall/index.d.ts +3 -0
- package/dist/commands/uninstall/index.js +101 -0
- package/dist/commands/uninstall/index.spec.d.ts +1 -0
- package/dist/commands/uninstall/index.spec.js +125 -0
- package/dist/commands/uninstall.d.ts +2 -0
- package/dist/commands/uninstall.js +83 -0
- package/dist/components/ChatUI.d.ts +16 -0
- package/dist/components/ChatUI.js +801 -0
- package/dist/components/StatusView.d.ts +10 -0
- package/dist/components/StatusView.js +39 -0
- package/dist/components/statusChecker.d.ts +14 -24
- package/dist/components/statusChecker.js +295 -129
- package/dist/config.d.ts +3 -22
- package/dist/config.js +10 -161
- package/dist/index.d.ts +1 -1
- package/dist/index.js +42 -42
- package/dist/lib/arkApiClient.d.ts +53 -0
- package/dist/lib/arkApiClient.js +102 -0
- package/dist/lib/arkApiProxy.d.ts +9 -0
- package/dist/lib/arkApiProxy.js +22 -0
- package/dist/lib/arkServiceProxy.d.ts +14 -0
- package/dist/lib/arkServiceProxy.js +95 -0
- package/dist/lib/arkStatus.d.ts +10 -0
- package/dist/lib/arkStatus.js +79 -0
- package/dist/lib/arkStatus.spec.d.ts +1 -0
- package/dist/lib/arkStatus.spec.js +49 -0
- package/dist/lib/chatClient.d.ts +33 -0
- package/dist/lib/chatClient.js +93 -0
- package/dist/lib/cluster.d.ts +2 -1
- package/dist/lib/cluster.js +37 -16
- package/dist/lib/cluster.spec.d.ts +1 -0
- package/dist/lib/cluster.spec.js +338 -0
- package/dist/lib/commandUtils.d.ts +4 -0
- package/dist/lib/commandUtils.js +18 -0
- package/dist/lib/commandUtils.test.d.ts +1 -0
- package/dist/lib/commandUtils.test.js +44 -0
- package/dist/lib/commands.d.ts +16 -0
- package/dist/lib/commands.js +29 -0
- package/dist/lib/commands.spec.d.ts +1 -0
- package/dist/lib/commands.spec.js +146 -0
- package/dist/lib/config.d.ts +26 -80
- package/dist/lib/config.js +70 -205
- package/dist/lib/config.spec.d.ts +1 -0
- package/dist/lib/config.spec.js +99 -0
- package/dist/lib/config.test.d.ts +1 -0
- package/dist/lib/config.test.js +93 -0
- package/dist/lib/consts.d.ts +0 -1
- package/dist/lib/consts.js +0 -2
- package/dist/lib/consts.spec.d.ts +1 -0
- package/dist/lib/consts.spec.js +15 -0
- package/dist/lib/dev/tools/analyzer.d.ts +30 -0
- package/dist/lib/dev/tools/analyzer.js +190 -0
- package/dist/lib/dev/tools/discover_tools.py +392 -0
- package/dist/lib/dev/tools/mcp-types.d.ts +28 -0
- package/dist/lib/dev/tools/mcp-types.js +86 -0
- package/dist/lib/dev/tools/types.d.ts +50 -0
- package/dist/lib/dev/tools/types.js +1 -0
- package/dist/lib/errors.js +1 -1
- package/dist/lib/errors.spec.d.ts +1 -0
- package/dist/lib/errors.spec.js +221 -0
- package/dist/lib/exec.d.ts +0 -4
- package/dist/lib/exec.js +0 -11
- package/dist/lib/executeQuery.d.ts +20 -0
- package/dist/lib/executeQuery.js +135 -0
- package/dist/lib/executeQuery.spec.d.ts +1 -0
- package/dist/lib/executeQuery.spec.js +170 -0
- package/dist/lib/nextSteps.d.ts +4 -0
- package/dist/lib/nextSteps.js +20 -0
- package/dist/lib/nextSteps.spec.d.ts +1 -0
- package/dist/lib/nextSteps.spec.js +59 -0
- package/dist/lib/output.d.ts +36 -0
- package/dist/lib/output.js +89 -0
- package/dist/lib/output.spec.d.ts +1 -0
- package/dist/lib/output.spec.js +123 -0
- package/dist/lib/portUtils.d.ts +8 -0
- package/dist/lib/portUtils.js +39 -0
- package/dist/lib/queryRunner.d.ts +22 -0
- package/dist/lib/queryRunner.js +142 -0
- package/dist/lib/startup.d.ts +9 -0
- package/dist/lib/startup.js +87 -0
- package/dist/lib/startup.spec.d.ts +1 -0
- package/dist/lib/startup.spec.js +152 -0
- package/dist/lib/types.d.ts +87 -3
- package/dist/lib/versions.d.ts +23 -0
- package/dist/lib/versions.js +51 -0
- package/dist/types/types.d.ts +40 -0
- package/dist/types/types.js +1 -0
- package/dist/ui/AgentSelector.d.ts +8 -0
- package/dist/ui/AgentSelector.js +53 -0
- package/dist/ui/MainMenu.d.ts +5 -1
- package/dist/ui/MainMenu.js +226 -91
- package/dist/ui/ModelSelector.d.ts +8 -0
- package/dist/ui/ModelSelector.js +53 -0
- package/dist/ui/TeamSelector.d.ts +8 -0
- package/dist/ui/TeamSelector.js +55 -0
- package/dist/ui/ToolSelector.d.ts +8 -0
- package/dist/ui/ToolSelector.js +53 -0
- package/dist/ui/statusFormatter.d.ts +22 -7
- package/dist/ui/statusFormatter.js +39 -39
- package/dist/ui/statusFormatter.spec.d.ts +1 -0
- package/dist/ui/statusFormatter.spec.js +58 -0
- package/package.json +16 -5
|
@@ -1,47 +1,47 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
|
+
/**
|
|
3
|
+
* Simple status formatter that just formats sections and lines
|
|
4
|
+
* The caller is responsible for deciding what to show
|
|
5
|
+
*/
|
|
2
6
|
export class StatusFormatter {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
StatusFormatter.printService(service);
|
|
13
|
-
}
|
|
14
|
-
// Print dependencies status
|
|
15
|
-
console.log(chalk.cyan.bold('\n🛠️ System Dependencies:'));
|
|
16
|
-
for (const dep of statusData.dependencies) {
|
|
17
|
-
StatusFormatter.printDependency(dep);
|
|
18
|
-
}
|
|
7
|
+
static printSections(sections) {
|
|
8
|
+
console.log();
|
|
9
|
+
sections.forEach((section, index) => {
|
|
10
|
+
console.log(chalk.cyan.bold(section.title));
|
|
11
|
+
section.lines.forEach((line) => this.printLine(line));
|
|
12
|
+
if (index < sections.length - 1) {
|
|
13
|
+
console.log();
|
|
14
|
+
}
|
|
15
|
+
});
|
|
19
16
|
console.log();
|
|
20
17
|
}
|
|
21
|
-
static
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
18
|
+
static applyColor(text, color) {
|
|
19
|
+
if (!color)
|
|
20
|
+
return text;
|
|
21
|
+
const colorMap = {
|
|
22
|
+
green: chalk.green,
|
|
23
|
+
red: chalk.red,
|
|
24
|
+
yellow: chalk.yellow,
|
|
25
|
+
gray: chalk.gray,
|
|
26
|
+
white: chalk.white,
|
|
27
|
+
cyan: chalk.cyan,
|
|
28
|
+
bold: chalk.bold,
|
|
29
|
+
};
|
|
30
|
+
return colorMap[color](text);
|
|
34
31
|
}
|
|
35
|
-
static
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
32
|
+
static printLine(line) {
|
|
33
|
+
const icon = this.applyColor(line.icon, line.iconColor);
|
|
34
|
+
const status = this.applyColor(line.status, line.statusColor);
|
|
35
|
+
// Name formatting is now handled where the name is assembled
|
|
36
|
+
const name = this.applyColor(line.name, line.nameColor || 'white');
|
|
37
|
+
const parts = [
|
|
38
|
+
` ${icon} ${status}`,
|
|
39
|
+
name,
|
|
40
|
+
line.details ? chalk.gray(line.details) : '',
|
|
41
|
+
].filter(Boolean);
|
|
42
|
+
console.log(parts.join(' '));
|
|
43
|
+
if (line.subtext) {
|
|
44
|
+
console.log(` ${chalk.gray(line.subtext)}`);
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { describe, it, expect, jest, beforeEach, afterEach } from '@jest/globals';
|
|
2
|
+
import { StatusFormatter } from './statusFormatter.js';
|
|
3
|
+
describe('StatusFormatter', () => {
|
|
4
|
+
let consoleLogSpy;
|
|
5
|
+
beforeEach(() => {
|
|
6
|
+
consoleLogSpy = jest.spyOn(console, 'log').mockImplementation(() => { });
|
|
7
|
+
});
|
|
8
|
+
afterEach(() => {
|
|
9
|
+
jest.restoreAllMocks();
|
|
10
|
+
});
|
|
11
|
+
it('prints sections', () => {
|
|
12
|
+
const sections = [
|
|
13
|
+
{
|
|
14
|
+
title: 'Test Section',
|
|
15
|
+
lines: [{ icon: '✓', status: 'ok', name: 'test' }],
|
|
16
|
+
},
|
|
17
|
+
];
|
|
18
|
+
StatusFormatter.printSections(sections);
|
|
19
|
+
expect(consoleLogSpy).toHaveBeenCalled();
|
|
20
|
+
const calls = consoleLogSpy.mock.calls.map((c) => c[0]);
|
|
21
|
+
expect(calls.some((c) => c?.includes('Test Section'))).toBe(true);
|
|
22
|
+
expect(calls.some((c) => c?.includes('✓ ok'))).toBe(true);
|
|
23
|
+
});
|
|
24
|
+
it('prints line with details', () => {
|
|
25
|
+
const sections = [
|
|
26
|
+
{
|
|
27
|
+
title: 'Test',
|
|
28
|
+
lines: [{ icon: '✓', status: 'ok', name: 'test', details: 'v1.0.0' }],
|
|
29
|
+
},
|
|
30
|
+
];
|
|
31
|
+
StatusFormatter.printSections(sections);
|
|
32
|
+
const calls = consoleLogSpy.mock.calls.map((c) => c[0]);
|
|
33
|
+
expect(calls.some((c) => c?.includes('v1.0.0'))).toBe(true);
|
|
34
|
+
});
|
|
35
|
+
it('prints subtext', () => {
|
|
36
|
+
const sections = [
|
|
37
|
+
{
|
|
38
|
+
title: 'Test',
|
|
39
|
+
lines: [
|
|
40
|
+
{ icon: '✗', status: 'error', name: 'test', subtext: 'Try again' },
|
|
41
|
+
],
|
|
42
|
+
},
|
|
43
|
+
];
|
|
44
|
+
StatusFormatter.printSections(sections);
|
|
45
|
+
const calls = consoleLogSpy.mock.calls.map((c) => c[0]);
|
|
46
|
+
expect(calls.some((c) => c?.includes('Try again'))).toBe(true);
|
|
47
|
+
});
|
|
48
|
+
it('adds spacing between sections', () => {
|
|
49
|
+
const sections = [
|
|
50
|
+
{ title: 'First', lines: [] },
|
|
51
|
+
{ title: 'Second', lines: [] },
|
|
52
|
+
];
|
|
53
|
+
StatusFormatter.printSections(sections);
|
|
54
|
+
const calls = consoleLogSpy.mock.calls;
|
|
55
|
+
// Should have blank lines for spacing
|
|
56
|
+
expect(calls.filter((c) => c.length === 0).length).toBeGreaterThan(0);
|
|
57
|
+
});
|
|
58
|
+
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agents-at-scale/ark",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.36-rc1",
|
|
4
4
|
"description": "ARK CLI - Interactive terminal interface for ARK agents",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -12,11 +12,12 @@
|
|
|
12
12
|
],
|
|
13
13
|
"scripts": {
|
|
14
14
|
"build": "tsc && chmod +x dist/index.js",
|
|
15
|
-
"dev": "
|
|
16
|
-
"start": "node dist/index.js",
|
|
15
|
+
"dev": "tsc --watch",
|
|
16
|
+
"start": "NODE_NO_WARNINGS=1 node dist/index.js",
|
|
17
17
|
"clean": "rm -rf dist",
|
|
18
18
|
"lint": "eslint src/ --fix && prettier --write src/",
|
|
19
19
|
"lint:check": "eslint src/ && prettier --check src/",
|
|
20
|
+
"test": "NODE_OPTIONS=\"--experimental-vm-modules\" jest --coverage --coverageDirectory=./artifacts/coverage --coverageReporters=text --coverageReporters=lcov --coverageReporters=text-summary",
|
|
20
21
|
"postinstall": "echo \"ARK CLI installed! Run 'ark' to try it out.\""
|
|
21
22
|
},
|
|
22
23
|
"keywords": [
|
|
@@ -39,7 +40,7 @@
|
|
|
39
40
|
},
|
|
40
41
|
"dependencies": {
|
|
41
42
|
"@kubernetes/client-node": "^1.3.0",
|
|
42
|
-
"@
|
|
43
|
+
"@modelcontextprotocol/sdk": "^1.18.0",
|
|
43
44
|
"axios": "^1.7.7",
|
|
44
45
|
"chalk": "^4.1.2",
|
|
45
46
|
"commander": "^12.1.0",
|
|
@@ -47,23 +48,33 @@
|
|
|
47
48
|
"execa": "^9.6.0",
|
|
48
49
|
"ink": "^6.0.1",
|
|
49
50
|
"ink-select-input": "^6.2.0",
|
|
51
|
+
"ink-spinner": "^5.0.0",
|
|
50
52
|
"ink-text-input": "^6.0.0",
|
|
51
53
|
"inquirer": "^12.1.0",
|
|
54
|
+
"marked": "^15.0.12",
|
|
55
|
+
"marked-terminal": "^7.3.0",
|
|
52
56
|
"open": "^10.2.0",
|
|
57
|
+
"openai": "^5.19.1",
|
|
58
|
+
"ora": "^8.2.0",
|
|
53
59
|
"react": "^19.1.0",
|
|
54
|
-
"simple-git": "^3.28.0",
|
|
55
60
|
"yaml": "^2.6.1"
|
|
56
61
|
},
|
|
57
62
|
"devDependencies": {
|
|
58
63
|
"@eslint/js": "^9.17.0",
|
|
64
|
+
"@jest/globals": "^30.1.2",
|
|
59
65
|
"@types/debug": "^4.1.12",
|
|
60
66
|
"@types/inquirer": "^9.0.7",
|
|
67
|
+
"@types/jest": "^30.0.0",
|
|
61
68
|
"@types/node": "^22.10.2",
|
|
69
|
+
"@types/react": "^19.1.13",
|
|
62
70
|
"@typescript-eslint/eslint-plugin": "^8.20.0",
|
|
63
71
|
"@typescript-eslint/parser": "^8.20.0",
|
|
64
72
|
"eslint": "^9.17.0",
|
|
73
|
+
"jest": "^30.1.3",
|
|
65
74
|
"prettier": "^3.6.2",
|
|
75
|
+
"ts-jest": "^29.4.1",
|
|
66
76
|
"ts-node": "^10.9.2",
|
|
77
|
+
"tsx": "^4.20.5",
|
|
67
78
|
"typescript": "^5.7.2"
|
|
68
79
|
},
|
|
69
80
|
"engines": {
|