arkna 1.4.0 → 2.0.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.
Files changed (58) hide show
  1. package/dist/commands/init.d.ts +3 -0
  2. package/dist/commands/init.d.ts.map +1 -0
  3. package/dist/commands/init.js +276 -0
  4. package/dist/commands/init.js.map +1 -0
  5. package/dist/commands/login.d.ts.map +1 -1
  6. package/dist/commands/login.js +2 -5
  7. package/dist/commands/login.js.map +1 -1
  8. package/dist/commands/status.d.ts.map +1 -1
  9. package/dist/commands/status.js +47 -116
  10. package/dist/commands/status.js.map +1 -1
  11. package/dist/commands/verify.d.ts.map +1 -1
  12. package/dist/commands/verify.js +87 -114
  13. package/dist/commands/verify.js.map +1 -1
  14. package/dist/index.js +6 -16
  15. package/dist/index.js.map +1 -1
  16. package/dist/lib/arkna-dir.d.ts +4 -86
  17. package/dist/lib/arkna-dir.d.ts.map +1 -1
  18. package/dist/lib/arkna-dir.js +6 -110
  19. package/dist/lib/arkna-dir.js.map +1 -1
  20. package/dist/lib/connectivity.d.ts +7 -50
  21. package/dist/lib/connectivity.d.ts.map +1 -1
  22. package/dist/lib/connectivity.js +39 -255
  23. package/dist/lib/connectivity.js.map +1 -1
  24. package/dist/lib/detect.d.ts +35 -0
  25. package/dist/lib/detect.d.ts.map +1 -0
  26. package/dist/lib/detect.js +335 -0
  27. package/dist/lib/detect.js.map +1 -0
  28. package/dist/lib/ui.js +2 -2
  29. package/dist/lib/ui.js.map +1 -1
  30. package/package.json +8 -7
  31. package/dist/commands/action.d.ts +0 -3
  32. package/dist/commands/action.d.ts.map +0 -1
  33. package/dist/commands/action.js +0 -333
  34. package/dist/commands/action.js.map +0 -1
  35. package/dist/commands/connect.d.ts +0 -3
  36. package/dist/commands/connect.d.ts.map +0 -1
  37. package/dist/commands/connect.js +0 -582
  38. package/dist/commands/connect.js.map +0 -1
  39. package/dist/commands/pull-governance.d.ts +0 -3
  40. package/dist/commands/pull-governance.d.ts.map +0 -1
  41. package/dist/commands/pull-governance.js +0 -116
  42. package/dist/commands/pull-governance.js.map +0 -1
  43. package/dist/commands/push-manifest.d.ts +0 -3
  44. package/dist/commands/push-manifest.d.ts.map +0 -1
  45. package/dist/commands/push-manifest.js +0 -138
  46. package/dist/commands/push-manifest.js.map +0 -1
  47. package/dist/commands/sync.d.ts +0 -3
  48. package/dist/commands/sync.d.ts.map +0 -1
  49. package/dist/commands/sync.js +0 -65
  50. package/dist/commands/sync.js.map +0 -1
  51. package/dist/commands/test.d.ts +0 -3
  52. package/dist/commands/test.d.ts.map +0 -1
  53. package/dist/commands/test.js +0 -142
  54. package/dist/commands/test.js.map +0 -1
  55. package/dist/lib/platforms.d.ts +0 -45
  56. package/dist/lib/platforms.d.ts.map +0 -1
  57. package/dist/lib/platforms.js +0 -638
  58. package/dist/lib/platforms.js.map +0 -1
@@ -1,116 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.pullGovernanceCommand = void 0;
37
- const commander_1 = require("commander");
38
- const fs = __importStar(require("fs"));
39
- const path = __importStar(require("path"));
40
- const ui_1 = require("../lib/ui");
41
- const connectivity_1 = require("../lib/connectivity");
42
- const arkna_dir_1 = require("../lib/arkna-dir");
43
- exports.pullGovernanceCommand = new commander_1.Command('pull-governance')
44
- .description('Pull governance profile from the ARKNA gateway')
45
- .option('-d, --dir <dir>', 'Base directory containing .arkna/ (default: current directory)')
46
- .action(async (options) => {
47
- const baseDir = options.dir || process.cwd();
48
- (0, ui_1.miniBanner)('Pull Governance');
49
- // Read existing enrollment
50
- const config = (0, arkna_dir_1.readArknaConfig)(baseDir);
51
- if (!config) {
52
- (0, ui_1.errorBox)('Not enrolled', [
53
- (0, ui_1.dim)('No .arkna/config.json found.'),
54
- (0, ui_1.dim)('Run `arkna connect` to enroll your agent first.'),
55
- ]);
56
- process.exit(1);
57
- }
58
- const env = (0, arkna_dir_1.readArknaEnv)(baseDir);
59
- if (!env) {
60
- (0, ui_1.errorBox)('Missing credentials', [
61
- (0, ui_1.dim)('No .arkna/.env found or missing ARKNA_TOKEN/ARKNA_URL.'),
62
- (0, ui_1.dim)('Run `arkna connect` to re-enroll.'),
63
- ]);
64
- process.exit(1);
65
- }
66
- (0, ui_1.kvLine)('Agent', `${config.agent_name} (${config.agent_id.substring(0, 8)}...)`);
67
- (0, ui_1.kvLine)('Gateway', config.gateway_url);
68
- (0, ui_1.kvLine)('Current version', config.config_version);
69
- console.log('');
70
- // Pull governance profile
71
- const spinner = (0, ui_1.startSpinner)('Pulling governance profile...');
72
- const result = await (0, connectivity_1.pullGovernance)(env.url, env.token);
73
- spinner.stop();
74
- if (!result.success) {
75
- (0, ui_1.errorBox)('Governance pull failed', [
76
- result.error || 'Unknown error',
77
- (0, ui_1.dim)('Check your connection and token.'),
78
- ]);
79
- process.exit(1);
80
- }
81
- const data = result.data;
82
- // Write governance.json
83
- const arknaDir = path.join(baseDir, '.arkna');
84
- fs.mkdirSync(arknaDir, { recursive: true });
85
- const governance = {
86
- risk_tier: data.agent?.risk_tier,
87
- constitution: data.constitution,
88
- overlay: data.overlay || {},
89
- permissions: data.permissions,
90
- policies: data.policies,
91
- kill_switch: data.kill_switch,
92
- config_version: data.config_version,
93
- pulled_at: new Date().toISOString(),
94
- };
95
- fs.writeFileSync(path.join(arknaDir, 'governance.json'), JSON.stringify(governance, null, 2) + '\n');
96
- // Also update tools.json + policy.json for compatibility (using the envelope shape)
97
- const envelope = data;
98
- const { updated, previousVersion, newVersion } = (0, arkna_dir_1.updateArknaDir)(envelope, baseDir);
99
- const files = ['governance.json'];
100
- if (updated) {
101
- files.push('tools.json', 'policy.json');
102
- (0, connectivity_1.resultLine)(true, 'Config updated', `${previousVersion} → ${newVersion}`);
103
- }
104
- const overlayKeys = Object.keys(data.overlay || {}).filter(k => data.overlay[k] !== undefined && data.overlay[k] !== null);
105
- const policyCount = Array.isArray(data.policies) ? data.policies.length : 0;
106
- const constitutionCount = Array.isArray(data.constitution) ? data.constitution.length : 0;
107
- (0, ui_1.fileTree)('.arkna', files);
108
- (0, ui_1.successBox)('Governance profile pulled', [
109
- `${(0, ui_1.dim)('Version:')} ${data.config_version || '?'}`,
110
- `${(0, ui_1.dim)('Risk tier:')} ${data.agent?.risk_tier || '?'}`,
111
- `${(0, ui_1.dim)('Policies:')} ${policyCount}`,
112
- `${(0, ui_1.dim)('Constitution:')} ${constitutionCount} rules`,
113
- `${(0, ui_1.dim)('Overlay keys:')} ${overlayKeys.length > 0 ? overlayKeys.join(', ') : 'none'}`,
114
- ]);
115
- });
116
- //# sourceMappingURL=pull-governance.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pull-governance.js","sourceRoot":"","sources":["../../src/commands/pull-governance.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare const pushManifestCommand: Command;
3
- //# sourceMappingURL=push-manifest.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"push-manifest.d.ts","sourceRoot":"","sources":["../../src/commands/push-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,eAAO,MAAM,mBAAmB,SAsE5B,CAAC"}
@@ -1,138 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.pushManifestCommand = void 0;
37
- const commander_1 = require("commander");
38
- const fs = __importStar(require("fs"));
39
- const path = __importStar(require("path"));
40
- const os = __importStar(require("os"));
41
- const child_process_1 = require("child_process");
42
- const ui_1 = require("../lib/ui");
43
- const arkna_dir_1 = require("../lib/arkna-dir");
44
- const connectivity_1 = require("../lib/connectivity");
45
- exports.pushManifestCommand = new commander_1.Command('push-manifest')
46
- .description('Push agent manifest to the ARKNA gateway')
47
- .option('-f, --file <path>', 'Path to arkna.manifest.json (auto-generates if not provided)')
48
- .option('-d, --dir <dir>', 'Base directory containing .arkna/ (default: current directory)')
49
- .action(async (options) => {
50
- const baseDir = options.dir || process.cwd();
51
- (0, ui_1.miniBanner)('Push Manifest');
52
- // Read credentials
53
- const env = (0, arkna_dir_1.readArknaEnv)(baseDir);
54
- if (!env) {
55
- (0, ui_1.errorBox)('Missing credentials', [
56
- (0, ui_1.dim)('No .arkna/.env found or missing ARKNA_TOKEN/ARKNA_URL.'),
57
- (0, ui_1.dim)('Run `arkna connect` to enroll your agent first.'),
58
- ]);
59
- process.exit(1);
60
- }
61
- const config = (0, arkna_dir_1.readArknaConfig)(baseDir);
62
- if (config) {
63
- (0, ui_1.kvLine)('Agent', `${config.agent_name} (${config.agent_id.substring(0, 8)}...)`);
64
- (0, ui_1.kvLine)('Gateway', config.gateway_url);
65
- }
66
- // Build manifest
67
- let manifest;
68
- if (options.file) {
69
- // Read from file
70
- const filePath = path.resolve(baseDir, options.file);
71
- if (!fs.existsSync(filePath)) {
72
- (0, ui_1.errorBox)('File not found', [filePath]);
73
- process.exit(1);
74
- }
75
- manifest = JSON.parse(fs.readFileSync(filePath, 'utf-8'));
76
- (0, ui_1.kvLine)('Source', filePath);
77
- }
78
- else {
79
- // Try arkna.manifest.json in current dir
80
- const defaultPath = path.join(baseDir, 'arkna.manifest.json');
81
- if (fs.existsSync(defaultPath)) {
82
- manifest = JSON.parse(fs.readFileSync(defaultPath, 'utf-8'));
83
- (0, ui_1.kvLine)('Source', 'arkna.manifest.json');
84
- }
85
- else {
86
- // Auto-generate from environment
87
- manifest = autoGenerateManifest(baseDir);
88
- (0, ui_1.kvLine)('Source', (0, ui_1.dim)('auto-generated'));
89
- }
90
- }
91
- console.log('');
92
- // Push manifest
93
- const spinner = (0, ui_1.startSpinner)('Pushing manifest...');
94
- const result = await (0, connectivity_1.pushManifest)(env.url, env.token, manifest);
95
- spinner.stop();
96
- if (!result.success) {
97
- (0, ui_1.errorBox)('Push failed', [
98
- result.error || 'Unknown error',
99
- (0, ui_1.dim)('Check your connection and token.'),
100
- ]);
101
- process.exit(1);
102
- }
103
- (0, ui_1.successBox)('Manifest pushed', [
104
- `${(0, ui_1.dim)('Agent:')} ${result.agentId || config?.agent_id || '?'}`,
105
- `${(0, ui_1.dim)('Pushed:')} ${result.pushedAt || new Date().toISOString()}`,
106
- `${(0, ui_1.dim)('Version:')} ${manifest.version || 'unversioned'}`,
107
- ]);
108
- });
109
- function autoGenerateManifest(baseDir) {
110
- const manifest = {};
111
- // Try to get git commit
112
- try {
113
- const commit = (0, child_process_1.execSync)('git rev-parse --short HEAD', { cwd: baseDir, encoding: 'utf-8' }).trim();
114
- manifest.git_commit = commit;
115
- }
116
- catch {
117
- // Not a git repo — skip
118
- }
119
- // Try to get version from package.json
120
- const pkgPath = path.join(baseDir, 'package.json');
121
- if (fs.existsSync(pkgPath)) {
122
- try {
123
- const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'));
124
- if (pkg.version)
125
- manifest.version = pkg.version;
126
- }
127
- catch {
128
- // Invalid JSON — skip
129
- }
130
- }
131
- // Runtime info
132
- manifest.runtime = {
133
- platform: process.platform,
134
- hostname: os.hostname(),
135
- };
136
- return manifest;
137
- }
138
- //# sourceMappingURL=push-manifest.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"push-manifest.js","sourceRoot":"","sources":["../../src/commands/push-manifest.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare const syncCommand: Command;
3
- //# sourceMappingURL=sync.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,eAAO,MAAM,WAAW,SAgEpB,CAAC"}
@@ -1,65 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.syncCommand = void 0;
4
- const commander_1 = require("commander");
5
- const ui_1 = require("../lib/ui");
6
- const connectivity_1 = require("../lib/connectivity");
7
- const arkna_dir_1 = require("../lib/arkna-dir");
8
- exports.syncCommand = new commander_1.Command('sync')
9
- .description('Re-pull config from the ARKNA gateway')
10
- .option('-d, --dir <dir>', 'Base directory containing .arkna/ (default: current directory)')
11
- .action(async (options) => {
12
- const baseDir = options.dir || process.cwd();
13
- (0, ui_1.miniBanner)('Sync Config');
14
- // Read existing enrollment
15
- const config = (0, arkna_dir_1.readArknaConfig)(baseDir);
16
- if (!config) {
17
- (0, ui_1.errorBox)('Not enrolled', [
18
- (0, ui_1.dim)('No .arkna/config.json found.'),
19
- (0, ui_1.dim)('Run `arkna connect` to enroll your agent first.'),
20
- ]);
21
- process.exit(1);
22
- }
23
- const env = (0, arkna_dir_1.readArknaEnv)(baseDir);
24
- if (!env) {
25
- (0, ui_1.errorBox)('Missing credentials', [
26
- (0, ui_1.dim)('No .arkna/.env found or missing ARKNA_TOKEN/ARKNA_URL.'),
27
- (0, ui_1.dim)('Run `arkna connect` to re-enroll.'),
28
- ]);
29
- process.exit(1);
30
- }
31
- (0, ui_1.kvLine)('Agent', `${config.agent_name} (${config.agent_id.substring(0, 8)}...)`);
32
- (0, ui_1.kvLine)('Gateway', config.gateway_url);
33
- (0, ui_1.kvLine)('Current version', config.config_version);
34
- console.log('');
35
- // Pull latest config
36
- const spinner = (0, ui_1.startSpinner)('Pulling config...');
37
- const result = await (0, connectivity_1.pullConfig)(env.url, env.token);
38
- spinner.stop();
39
- if (!result.success) {
40
- (0, ui_1.errorBox)('Config pull failed', [
41
- result.error || 'Unknown error',
42
- (0, ui_1.dim)('Check your connection and token.'),
43
- ]);
44
- process.exit(1);
45
- }
46
- const envelope = result.data;
47
- // Update local files
48
- const { updated, previousVersion, newVersion } = (0, arkna_dir_1.updateArknaDir)(envelope, baseDir);
49
- if (updated) {
50
- (0, connectivity_1.resultLine)(true, 'Config updated', `${previousVersion} → ${newVersion}`);
51
- const toolCount = envelope.tools?.length || 0;
52
- const policyCount = envelope.policies?.length || 0;
53
- (0, ui_1.successBox)('Sync complete', [
54
- `${(0, ui_1.dim)('Version:')} ${newVersion}`,
55
- `${(0, ui_1.dim)('Tools:')} ${toolCount}`,
56
- `${(0, ui_1.dim)('Policies:')} ${policyCount}`,
57
- `${(0, ui_1.dim)('Files:')} tools.json, policy.json updated`,
58
- ]);
59
- }
60
- else {
61
- (0, connectivity_1.resultLine)(true, 'Already up to date', `v${newVersion}`);
62
- console.log('');
63
- }
64
- });
65
- //# sourceMappingURL=sync.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":";;;AAAA,yCAAoC;AACpC,kCAEmB;AACnB,sDAA6D;AAC7D,gDAAiG;AAEpF,QAAA,WAAW,GAAG,IAAI,mBAAO,CAAC,MAAM,CAAC;KAC3C,WAAW,CAAC,uCAAuC,CAAC;KACpD,MAAM,CAAC,iBAAiB,EAAE,gEAAgE,CAAC;KAC3F,MAAM,CAAC,KAAK,EAAE,OAAyB,EAAE,EAAE;IAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAE7C,IAAA,eAAU,EAAC,aAAa,CAAC,CAAC;IAE1B,2BAA2B;IAC3B,MAAM,MAAM,GAAG,IAAA,2BAAe,EAAC,OAAO,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,IAAA,aAAQ,EAAC,cAAc,EAAE;YACvB,IAAA,QAAG,EAAC,8BAA8B,CAAC;YACnC,IAAA,QAAG,EAAC,iDAAiD,CAAC;SACvD,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,GAAG,GAAG,IAAA,wBAAY,EAAC,OAAO,CAAC,CAAC;IAClC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,IAAA,aAAQ,EAAC,qBAAqB,EAAE;YAC9B,IAAA,QAAG,EAAC,wDAAwD,CAAC;YAC7D,IAAA,QAAG,EAAC,mCAAmC,CAAC;SACzC,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAA,WAAM,EAAC,OAAO,EAAE,GAAG,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IAChF,IAAA,WAAM,EAAC,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IACtC,IAAA,WAAM,EAAC,iBAAiB,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,qBAAqB;IACrB,MAAM,OAAO,GAAG,IAAA,iBAAY,EAAC,mBAAmB,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,MAAM,IAAA,yBAAU,EAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACpD,OAAO,CAAC,IAAI,EAAE,CAAC;IAEf,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,IAAA,aAAQ,EAAC,oBAAoB,EAAE;YAC7B,MAAM,CAAC,KAAK,IAAI,eAAe;YAC/B,IAAA,QAAG,EAAC,kCAAkC,CAAC;SACxC,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAiC,CAAC;IAE1D,qBAAqB;IACrB,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,IAAA,0BAAc,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAEnF,IAAI,OAAO,EAAE,CAAC;QACZ,IAAA,yBAAU,EAAC,IAAI,EAAE,gBAAgB,EAAE,GAAG,eAAe,MAAM,UAAU,EAAE,CAAC,CAAC;QACzE,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC;QACnD,IAAA,eAAU,EAAC,eAAe,EAAE;YAC1B,GAAG,IAAA,QAAG,EAAC,UAAU,CAAC,KAAK,UAAU,EAAE;YACnC,GAAG,IAAA,QAAG,EAAC,QAAQ,CAAC,OAAO,SAAS,EAAE;YAClC,GAAG,IAAA,QAAG,EAAC,WAAW,CAAC,IAAI,WAAW,EAAE;YACpC,GAAG,IAAA,QAAG,EAAC,QAAQ,CAAC,qCAAqC;SACtD,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,IAAA,yBAAU,EAAC,IAAI,EAAE,oBAAoB,EAAE,IAAI,UAAU,EAAE,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare const testCommand: Command;
3
- //# sourceMappingURL=test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqBpC,eAAO,MAAM,WAAW,SAgGpB,CAAC"}
@@ -1,142 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.testCommand = void 0;
37
- const commander_1 = require("commander");
38
- const fs = __importStar(require("fs"));
39
- const path = __importStar(require("path"));
40
- const connectivity_1 = require("../lib/connectivity");
41
- const ui_1 = require("../lib/ui");
42
- const arkna_dir_1 = require("../lib/arkna-dir");
43
- function loadEnvFile(envPath) {
44
- const vars = {};
45
- if (fs.existsSync(envPath)) {
46
- const lines = fs.readFileSync(envPath, 'utf-8').split('\n');
47
- for (const line of lines) {
48
- const match = line.match(/^([^#][^=]+)=(.+)$/);
49
- if (match) {
50
- vars[match[1].trim()] = match[2].trim();
51
- }
52
- }
53
- }
54
- return vars;
55
- }
56
- exports.testCommand = new commander_1.Command('test')
57
- .description('Test connectivity to the ARKNA gateway')
58
- .option('-u, --url <url>', 'ARKNA URL (default: from env or .env)')
59
- .option('-t, --token <token>', 'Integration token (default: from env or .env)')
60
- .action(async (options) => {
61
- // Load from .arkna/.env first, then .env, then env vars
62
- const arknaEnv = (0, arkna_dir_1.readArknaEnv)();
63
- const dotEnvVars = loadEnvFile(path.join(process.cwd(), '.env'));
64
- const url = options.url
65
- || process.env.ARKNA_URL
66
- || arknaEnv?.url
67
- || dotEnvVars.ARKNA_URL
68
- || 'https://api.arkna.com.au';
69
- const token = options.token
70
- || process.env.ARKNA_TOKEN
71
- || arknaEnv?.token
72
- || dotEnvVars.ARKNA_TOKEN;
73
- // Determine source for display
74
- let source = (0, ui_1.dim)('default');
75
- if (options.token)
76
- source = 'CLI flag';
77
- else if (process.env.ARKNA_TOKEN)
78
- source = 'env var';
79
- else if (arknaEnv?.token)
80
- source = '.arkna/.env';
81
- else if (dotEnvVars.ARKNA_TOKEN)
82
- source = '.env file';
83
- (0, ui_1.miniBanner)('Connectivity Test');
84
- (0, ui_1.kvLine)('Gateway', url);
85
- (0, ui_1.kvLine)('Token', token ? `${token.substring(0, 13)}...` : (0, ui_1.dim)('(not set)'));
86
- (0, ui_1.kvLine)('Source', source);
87
- console.log('');
88
- if (!token) {
89
- (0, ui_1.errorBox)('No token found', [
90
- (0, ui_1.dim)('Set ARKNA_TOKEN in one of:'),
91
- '',
92
- ` ${(0, ui_1.dim)('1.')} arkna connect ${(0, ui_1.dim)('\u2014 enroll and auto-configure')}`,
93
- ` ${(0, ui_1.dim)('2.')} .arkna/.env ${(0, ui_1.dim)('\u2014 created by arkna connect')}`,
94
- ` ${(0, ui_1.dim)('3.')} .env file ${(0, ui_1.dim)('\u2014 ARKNA_TOKEN=intk_...')}`,
95
- ` ${(0, ui_1.dim)('4.')} env var ${(0, ui_1.dim)('\u2014 export ARKNA_TOKEN=intk_...')}`,
96
- ` ${(0, ui_1.dim)('5.')} CLI flag ${(0, ui_1.dim)('\u2014 arkna test --token intk_...')}`,
97
- ]);
98
- console.log('');
99
- process.exit(1);
100
- }
101
- const results = [];
102
- // 1. Health check
103
- const spinner1 = (0, ui_1.startSpinner)('Checking gateway...');
104
- const health = await (0, connectivity_1.checkHealth)(url);
105
- spinner1.stop();
106
- results.push(health);
107
- (0, connectivity_1.resultLine)(health.passed, health.name, health.detail);
108
- if (!health.passed) {
109
- (0, connectivity_1.printSummary)(results);
110
- process.exit(1);
111
- }
112
- // 2. Token validity (using checkTokenValid for honest reporting)
113
- const spinner2 = (0, ui_1.startSpinner)('Validating token...');
114
- const tokenCheck = await (0, connectivity_1.checkTokenValid)(url, token);
115
- spinner2.stop();
116
- results.push(tokenCheck);
117
- (0, connectivity_1.resultLine)(tokenCheck.passed, tokenCheck.name, tokenCheck.detail);
118
- if (!tokenCheck.passed) {
119
- (0, connectivity_1.printSummary)(results);
120
- process.exit(1);
121
- }
122
- // 3. Dry run (only if agent is registered)
123
- if (tokenCheck.agentRegistered) {
124
- const spinner3 = (0, ui_1.startSpinner)('Testing policy pipeline...');
125
- const dryRun = await (0, connectivity_1.checkDryRun)(url, token);
126
- spinner3.stop();
127
- results.push(dryRun);
128
- (0, connectivity_1.resultLine)(dryRun.passed, dryRun.name, dryRun.detail);
129
- // 4. Config pull
130
- if (dryRun.passed) {
131
- const spinner4 = (0, ui_1.startSpinner)('Checking config pull...');
132
- const configCheck = await (0, connectivity_1.checkConfigPull)(url, token);
133
- spinner4.stop();
134
- results.push(configCheck);
135
- (0, connectivity_1.resultLine)(configCheck.passed, configCheck.name, configCheck.detail);
136
- }
137
- }
138
- (0, connectivity_1.printSummary)(results);
139
- const allPassed = results.every(r => r.passed);
140
- process.exit(allPassed ? 0 : 1);
141
- });
142
- //# sourceMappingURL=test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAoC;AACpC,uCAAyB;AACzB,2CAA6B;AAC7B,sDAAuI;AACvI,kCAA4E;AAC5E,gDAAgD;AAEhD,SAAS,WAAW,CAAC,OAAe;IAClC,MAAM,IAAI,GAA2B,EAAE,CAAC;IACxC,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAC/C,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAEY,QAAA,WAAW,GAAG,IAAI,mBAAO,CAAC,MAAM,CAAC;KAC3C,WAAW,CAAC,wCAAwC,CAAC;KACrD,MAAM,CAAC,iBAAiB,EAAE,uCAAuC,CAAC;KAClE,MAAM,CAAC,qBAAqB,EAAE,+CAA+C,CAAC;KAC9E,MAAM,CAAC,KAAK,EAAE,OAAyC,EAAE,EAAE;IAC1D,wDAAwD;IACxD,MAAM,QAAQ,GAAG,IAAA,wBAAY,GAAE,CAAC;IAChC,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;IAEjE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG;WAClB,OAAO,CAAC,GAAG,CAAC,SAAS;WACrB,QAAQ,EAAE,GAAG;WACb,UAAU,CAAC,SAAS;WACpB,0BAA0B,CAAC;IAEhC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK;WACtB,OAAO,CAAC,GAAG,CAAC,WAAW;WACvB,QAAQ,EAAE,KAAK;WACf,UAAU,CAAC,WAAW,CAAC;IAE5B,+BAA+B;IAC/B,IAAI,MAAM,GAAG,IAAA,QAAG,EAAC,SAAS,CAAC,CAAC;IAC5B,IAAI,OAAO,CAAC,KAAK;QAAE,MAAM,GAAG,UAAU,CAAC;SAClC,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW;QAAE,MAAM,GAAG,SAAS,CAAC;SAChD,IAAI,QAAQ,EAAE,KAAK;QAAE,MAAM,GAAG,aAAa,CAAC;SAC5C,IAAI,UAAU,CAAC,WAAW;QAAE,MAAM,GAAG,WAAW,CAAC;IAEtD,IAAA,eAAU,EAAC,mBAAmB,CAAC,CAAC;IAEhC,IAAA,WAAM,EAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACvB,IAAA,WAAM,EAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAA,QAAG,EAAC,WAAW,CAAC,CAAC,CAAC;IAC3E,IAAA,WAAM,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACzB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAA,aAAQ,EAAC,gBAAgB,EAAE;YACzB,IAAA,QAAG,EAAC,4BAA4B,CAAC;YACjC,EAAE;YACF,KAAK,IAAA,QAAG,EAAC,IAAI,CAAC,kBAAkB,IAAA,QAAG,EAAC,kCAAkC,CAAC,EAAE;YACzE,KAAK,IAAA,QAAG,EAAC,IAAI,CAAC,kBAAkB,IAAA,QAAG,EAAC,iCAAiC,CAAC,EAAE;YACxE,KAAK,IAAA,QAAG,EAAC,IAAI,CAAC,kBAAkB,IAAA,QAAG,EAAC,6BAA6B,CAAC,EAAE;YACpE,KAAK,IAAA,QAAG,EAAC,IAAI,CAAC,iBAAiB,IAAA,QAAG,EAAC,oCAAoC,CAAC,EAAE;YAC1E,KAAK,IAAA,QAAG,EAAC,IAAI,CAAC,iBAAiB,IAAA,QAAG,EAAC,oCAAoC,CAAC,EAAE;SAC3E,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAiB,EAAE,CAAC;IAEjC,kBAAkB;IAClB,MAAM,QAAQ,GAAG,IAAA,iBAAY,EAAC,qBAAqB,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAW,EAAC,GAAG,CAAC,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAChB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrB,IAAA,yBAAU,EAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAEtD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,IAAA,2BAAY,EAAC,OAAO,CAAC,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,iEAAiE;IACjE,MAAM,QAAQ,GAAG,IAAA,iBAAY,EAAC,qBAAqB,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,MAAM,IAAA,8BAAe,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACrD,QAAQ,CAAC,IAAI,EAAE,CAAC;IAChB,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzB,IAAA,yBAAU,EAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAElE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QACvB,IAAA,2BAAY,EAAC,OAAO,CAAC,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,2CAA2C;IAC3C,IAAI,UAAU,CAAC,eAAe,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,IAAA,iBAAY,EAAC,4BAA4B,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAW,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7C,QAAQ,CAAC,IAAI,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrB,IAAA,yBAAU,EAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAEtD,iBAAiB;QACjB,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,QAAQ,GAAG,IAAA,iBAAY,EAAC,yBAAyB,CAAC,CAAC;YACzD,MAAM,WAAW,GAAG,MAAM,IAAA,8BAAe,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACtD,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1B,IAAA,yBAAU,EAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED,IAAA,2BAAY,EAAC,OAAO,CAAC,CAAC;IAEtB,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC/C,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC"}
@@ -1,45 +0,0 @@
1
- export interface DetectionResult {
2
- platform: string;
3
- confidence: 'certain' | 'likely' | 'guessed';
4
- evidence: string;
5
- configFile?: string;
6
- }
7
- /**
8
- * Auto-detect the agent platform by scanning for marker files in `dir`.
9
- * Returns null if nothing is detected.
10
- */
11
- export declare function detectPlatform(dir: string): DetectionResult | null;
12
- /**
13
- * Find an OpenClaw config YAML in `dir`.
14
- * Looks for YAML files with connectors/startup_hooks/tool_routing keys,
15
- * or common names like agent.yaml, openclaw.yaml, config.yaml.
16
- */
17
- export declare function findOpenClawConfig(dir: string): string | null;
18
- export interface DetectedAgent {
19
- name: string;
20
- path: string;
21
- platform: string;
22
- confidence: 'certain' | 'likely' | 'guessed';
23
- evidence: string;
24
- configFile?: string;
25
- }
26
- /**
27
- * Detect all agents in `dir`.
28
- * - If CWD itself is an agent (certain/likely), return just that one (don't scan subdirs).
29
- * - Otherwise, scan immediate subdirectories for agents (certain/likely only).
30
- * Returns empty array if nothing detected.
31
- */
32
- export declare function detectAgents(dir: string): DetectedAgent[];
33
- export interface WireResult {
34
- success: boolean;
35
- alreadyConfigured?: boolean;
36
- wrapperPath?: string;
37
- patch?: string;
38
- error?: string;
39
- }
40
- export declare function wireOpenClaw(configPath: string, url: string, agentName: string): WireResult;
41
- export declare function getOpenClawYamlBlock(agentName: string): string;
42
- export declare function wireCrewAI(outputDir: string, agentName: string): WireResult;
43
- export declare function wireLangChain(outputDir: string, agentName: string): WireResult;
44
- export declare function getCustomPatch(agentName: string): string;
45
- //# sourceMappingURL=platforms.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"platforms.d.ts","sourceRoot":"","sources":["../../src/lib/platforms.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAuDlE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAuC7D;AAgDD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,EAAE,CA6CzD;AAID,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAID,wBAAgB,YAAY,CAC1B,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,GAChB,UAAU,CAsEZ;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAwC9D;AAID,wBAAgB,UAAU,CACxB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,UAAU,CAsIZ;AAID,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,UAAU,CA8HZ;AAID,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAoCxD"}