arkna 2.0.1 → 3.1.0

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 (78) hide show
  1. package/dist/client.d.ts +264 -0
  2. package/dist/client.d.ts.map +1 -0
  3. package/dist/client.js +1003 -0
  4. package/dist/client.js.map +1 -0
  5. package/dist/diagnostics.d.ts +41 -0
  6. package/dist/diagnostics.d.ts.map +1 -0
  7. package/dist/diagnostics.js +146 -0
  8. package/dist/diagnostics.js.map +1 -0
  9. package/dist/enforcement.d.ts +67 -0
  10. package/dist/enforcement.d.ts.map +1 -0
  11. package/dist/enforcement.js +303 -0
  12. package/dist/enforcement.js.map +1 -0
  13. package/dist/index.d.ts +27 -1
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +32 -27
  16. package/dist/index.js.map +1 -1
  17. package/dist/init.d.ts +80 -0
  18. package/dist/init.d.ts.map +1 -0
  19. package/dist/init.js +357 -0
  20. package/dist/init.js.map +1 -0
  21. package/dist/instrumentations/langchain.d.ts +79 -0
  22. package/dist/instrumentations/langchain.d.ts.map +1 -0
  23. package/dist/instrumentations/langchain.js +398 -0
  24. package/dist/instrumentations/langchain.js.map +1 -0
  25. package/dist/instrumentations/vercel-ai.d.ts +40 -0
  26. package/dist/instrumentations/vercel-ai.d.ts.map +1 -0
  27. package/dist/instrumentations/vercel-ai.js +212 -0
  28. package/dist/instrumentations/vercel-ai.js.map +1 -0
  29. package/dist/license.d.ts +89 -0
  30. package/dist/license.d.ts.map +1 -0
  31. package/dist/license.js +198 -0
  32. package/dist/license.js.map +1 -0
  33. package/dist/types.d.ts +408 -0
  34. package/dist/types.d.ts.map +1 -0
  35. package/dist/types.js +8 -0
  36. package/dist/types.js.map +1 -0
  37. package/package.json +23 -25
  38. package/bin/arkna.js +0 -2
  39. package/dist/commands/init.d.ts +0 -3
  40. package/dist/commands/init.d.ts.map +0 -1
  41. package/dist/commands/init.js +0 -276
  42. package/dist/commands/init.js.map +0 -1
  43. package/dist/commands/login.d.ts +0 -3
  44. package/dist/commands/login.d.ts.map +0 -1
  45. package/dist/commands/login.js +0 -289
  46. package/dist/commands/login.js.map +0 -1
  47. package/dist/commands/status.d.ts +0 -3
  48. package/dist/commands/status.d.ts.map +0 -1
  49. package/dist/commands/status.js +0 -108
  50. package/dist/commands/status.js.map +0 -1
  51. package/dist/commands/verify.d.ts +0 -3
  52. package/dist/commands/verify.d.ts.map +0 -1
  53. package/dist/commands/verify.js +0 -112
  54. package/dist/commands/verify.js.map +0 -1
  55. package/dist/lib/arkna-dir.d.ts +0 -12
  56. package/dist/lib/arkna-dir.d.ts.map +0 -1
  57. package/dist/lib/arkna-dir.js +0 -89
  58. package/dist/lib/arkna-dir.js.map +0 -1
  59. package/dist/lib/connectivity.d.ts +0 -31
  60. package/dist/lib/connectivity.d.ts.map +0 -1
  61. package/dist/lib/connectivity.js +0 -116
  62. package/dist/lib/connectivity.js.map +0 -1
  63. package/dist/lib/detect.d.ts +0 -35
  64. package/dist/lib/detect.d.ts.map +0 -1
  65. package/dist/lib/detect.js +0 -335
  66. package/dist/lib/detect.js.map +0 -1
  67. package/dist/lib/ui.d.ts +0 -28
  68. package/dist/lib/ui.d.ts.map +0 -1
  69. package/dist/lib/ui.js +0 -176
  70. package/dist/lib/ui.js.map +0 -1
  71. package/dist/lib/update-check.d.ts +0 -7
  72. package/dist/lib/update-check.d.ts.map +0 -1
  73. package/dist/lib/update-check.js +0 -94
  74. package/dist/lib/update-check.js.map +0 -1
  75. package/dist/lib/verify.d.ts +0 -15
  76. package/dist/lib/verify.d.ts.map +0 -1
  77. package/dist/lib/verify.js +0 -33
  78. package/dist/lib/verify.js.map +0 -1
@@ -1,108 +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.statusCommand = 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
- function loadDotEnv() {
44
- const envPath = path.join(process.cwd(), '.env');
45
- const vars = {};
46
- if (fs.existsSync(envPath)) {
47
- const lines = fs.readFileSync(envPath, 'utf-8').split('\n');
48
- for (const line of lines) {
49
- const match = line.match(/^([^#][^=]+)=(.+)$/);
50
- if (match)
51
- vars[match[1].trim()] = match[2].trim();
52
- }
53
- }
54
- return vars;
55
- }
56
- exports.statusCommand = new commander_1.Command('status')
57
- .description('Show ARKNA recording status')
58
- .option('-u, --url <url>', 'ARKNA API URL')
59
- .action(async (options) => {
60
- (0, ui_1.miniBanner)('Status');
61
- const arknaEnv = (0, arkna_dir_1.readArknaEnv)();
62
- const dotEnv = loadDotEnv();
63
- const url = options.url
64
- || process.env.ARKNA_URL
65
- || arknaEnv?.url
66
- || dotEnv.ARKNA_URL
67
- || 'https://api.arkna.com.au';
68
- const token = process.env.ARKNA_TOKEN
69
- || arknaEnv?.token
70
- || dotEnv.ARKNA_TOKEN;
71
- // Token status
72
- let tokenSource = (0, ui_1.dim)('not found');
73
- if (process.env.ARKNA_TOKEN)
74
- tokenSource = 'env var';
75
- else if (arknaEnv?.token)
76
- tokenSource = '.arkna/.env';
77
- else if (dotEnv.ARKNA_TOKEN)
78
- tokenSource = '.env';
79
- (0, ui_1.kvLine)('API', url);
80
- (0, ui_1.kvLine)('Token', token ? `${(0, ui_1.maskToken)(token)} ${(0, ui_1.dim)(`(${tokenSource})`)}` : `${(0, ui_1.fail)('missing')} — run ${(0, ui_1.brand)('arkna init')}`);
81
- if (!token) {
82
- console.log('');
83
- process.exit(1);
84
- }
85
- console.log('');
86
- // API reachability
87
- const health = await (0, connectivity_1.checkHealth)(url);
88
- (0, ui_1.kvLine)('API status', health.passed ? `${(0, ui_1.success)('reachable')} ${(0, ui_1.dim)(health.detail)}` : `${(0, ui_1.fail)('unreachable')} ${(0, ui_1.dim)(health.detail)}`);
89
- if (!health.passed) {
90
- console.log('');
91
- process.exit(1);
92
- }
93
- // Token + registration
94
- const tokenCheck = await (0, connectivity_1.checkTokenValid)(url, token);
95
- if (tokenCheck.passed) {
96
- if (tokenCheck.agentRegistered) {
97
- (0, ui_1.kvLine)('Recording', `${(0, ui_1.success)('active')} ${(0, ui_1.dim)(`${tokenCheck.toolCount} tools registered`)}`);
98
- }
99
- else {
100
- (0, ui_1.kvLine)('Recording', `${(0, ui_1.warn)('pending')} ${(0, ui_1.dim)('agent not yet registered — send your first event')}`);
101
- }
102
- }
103
- else {
104
- (0, ui_1.kvLine)('Recording', `${(0, ui_1.fail)('error')} ${(0, ui_1.dim)(tokenCheck.detail)}`);
105
- }
106
- console.log('');
107
- });
108
- //# sourceMappingURL=status.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare const verifyCommand: Command;
3
- //# sourceMappingURL=verify.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsBpC,eAAO,MAAM,aAAa,SAmEtB,CAAC"}
@@ -1,112 +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.verifyCommand = 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
- function loadDotEnv() {
44
- const envPath = path.join(process.cwd(), '.env');
45
- const vars = {};
46
- if (fs.existsSync(envPath)) {
47
- const lines = fs.readFileSync(envPath, 'utf-8').split('\n');
48
- for (const line of lines) {
49
- const match = line.match(/^([^#][^=]+)=(.+)$/);
50
- if (match)
51
- vars[match[1].trim()] = match[2].trim();
52
- }
53
- }
54
- return vars;
55
- }
56
- exports.verifyCommand = new commander_1.Command('verify')
57
- .description('Verify ARKNA setup: API reachable, token valid, test ingestion')
58
- .option('-u, --url <url>', 'ARKNA API URL')
59
- .option('-t, --token <token>', 'Integration token')
60
- .action(async (options) => {
61
- (0, ui_1.miniBanner)('Verify Setup');
62
- const arknaEnv = (0, arkna_dir_1.readArknaEnv)();
63
- const dotEnv = loadDotEnv();
64
- const url = options.url
65
- || process.env.ARKNA_URL
66
- || arknaEnv?.url
67
- || dotEnv.ARKNA_URL
68
- || 'https://api.arkna.com.au';
69
- const token = options.token
70
- || process.env.ARKNA_TOKEN
71
- || arknaEnv?.token
72
- || dotEnv.ARKNA_TOKEN;
73
- console.log(` ${(0, ui_1.dim)('API:')} ${url}`);
74
- console.log(` ${(0, ui_1.dim)('Token:')} ${token ? (0, ui_1.maskToken)(token) : (0, ui_1.dim)('(not set)')}`);
75
- console.log('');
76
- if (!token) {
77
- (0, ui_1.errorBox)('No token found', [
78
- (0, ui_1.dim)('Run arkna init to set up your project, or set ARKNA_TOKEN.'),
79
- ]);
80
- process.exit(1);
81
- }
82
- const results = [];
83
- // 1. API reachable
84
- const s1 = (0, ui_1.startSpinner)('Checking API...');
85
- const health = await (0, connectivity_1.checkHealth)(url);
86
- s1.stop();
87
- results.push(health);
88
- (0, ui_1.resultLine)(health.passed, health.name, health.detail);
89
- if (!health.passed) {
90
- (0, connectivity_1.printSummary)(results);
91
- process.exit(1);
92
- }
93
- // 2. Token valid
94
- const s2 = (0, ui_1.startSpinner)('Validating token...');
95
- const tokenCheck = await (0, connectivity_1.checkTokenValid)(url, token);
96
- s2.stop();
97
- results.push(tokenCheck);
98
- (0, ui_1.resultLine)(tokenCheck.passed, tokenCheck.name, tokenCheck.detail);
99
- if (!tokenCheck.passed) {
100
- (0, connectivity_1.printSummary)(results);
101
- process.exit(1);
102
- }
103
- // 3. Test ingestion
104
- const s3 = (0, ui_1.startSpinner)('Testing ingestion pipeline...');
105
- const ingestion = await (0, connectivity_1.sendTestRun)(url, token);
106
- s3.stop();
107
- results.push(ingestion);
108
- (0, ui_1.resultLine)(ingestion.passed, ingestion.name, ingestion.detail);
109
- (0, connectivity_1.printSummary)(results);
110
- process.exit(results.every(r => r.passed) ? 0 : 1);
111
- });
112
- //# sourceMappingURL=verify.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- /**
2
- * Read token + URL from .arkna/.env file.
3
- */
4
- export declare function readArknaEnv(baseDir?: string): {
5
- url: string;
6
- token: string;
7
- } | null;
8
- /**
9
- * Write token + URL to .arkna/.env (creates directory + .gitignore if needed).
10
- */
11
- export declare function writeTokenEnv(url: string, token: string, baseDir?: string): string[];
12
- //# sourceMappingURL=arkna-dir.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"arkna-dir.d.ts","sourceRoot":"","sources":["../../src/lib/arkna-dir.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAiBpF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAwBpF"}
@@ -1,89 +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.readArknaEnv = readArknaEnv;
37
- exports.writeTokenEnv = writeTokenEnv;
38
- const fs = __importStar(require("fs"));
39
- const path = __importStar(require("path"));
40
- const ARKNA_DIR = '.arkna';
41
- function getArknaDir(baseDir) {
42
- return path.join(baseDir || process.cwd(), ARKNA_DIR);
43
- }
44
- /**
45
- * Read token + URL from .arkna/.env file.
46
- */
47
- function readArknaEnv(baseDir) {
48
- const envPath = path.join(getArknaDir(baseDir), '.env');
49
- if (!fs.existsSync(envPath)) {
50
- return null;
51
- }
52
- const vars = {};
53
- const lines = fs.readFileSync(envPath, 'utf-8').split(/\r?\n/);
54
- for (const line of lines) {
55
- const match = line.match(/^([^#][^=]+)=(.+)$/);
56
- if (match) {
57
- vars[match[1].trim()] = match[2].trim();
58
- }
59
- }
60
- if (!vars.ARKNA_URL || !vars.ARKNA_TOKEN) {
61
- return null;
62
- }
63
- return { url: vars.ARKNA_URL, token: vars.ARKNA_TOKEN };
64
- }
65
- /**
66
- * Write token + URL to .arkna/.env (creates directory + .gitignore if needed).
67
- */
68
- function writeTokenEnv(url, token, baseDir) {
69
- const dir = getArknaDir(baseDir);
70
- fs.mkdirSync(dir, { recursive: true });
71
- const files = [];
72
- // .env — secrets (gitignored)
73
- const envContent = `# ARKNA Agent Configuration — Environment Variables
74
- # This file is gitignored. Do NOT commit this file.
75
- ARKNA_URL=${url}
76
- ARKNA_TOKEN=${token}
77
- `;
78
- fs.writeFileSync(path.join(dir, '.env'), envContent);
79
- files.push('.env');
80
- // .gitignore — block EVERYTHING from git (secrets + config are local-only)
81
- const gitignore = `# .arkna/ contains secrets — never commit any of it
82
- *
83
- !.gitignore
84
- `;
85
- fs.writeFileSync(path.join(dir, '.gitignore'), gitignore);
86
- files.push('.gitignore');
87
- return files;
88
- }
89
- //# sourceMappingURL=arkna-dir.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"arkna-dir.js","sourceRoot":"","sources":["../../src/lib/arkna-dir.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,oCAiBC;AAKD,sCAwBC;AA1DD,uCAAyB;AACzB,2CAA6B;AAE7B,MAAM,SAAS,GAAG,QAAQ,CAAC;AAE3B,SAAS,WAAW,CAAC,OAAgB;IACnC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,OAAgB;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;IACxD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GAA2B,EAAE,CAAC;IACxC,MAAM,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC/C,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1C,CAAC;IACH,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;AAC1D,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,GAAW,EAAE,KAAa,EAAE,OAAgB;IACxE,MAAM,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACjC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEvC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,8BAA8B;IAC9B,MAAM,UAAU,GAAG;;YAET,GAAG;cACD,KAAK;CAClB,CAAC;IACA,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC;IACrD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEnB,2EAA2E;IAC3E,MAAM,SAAS,GAAG;;;CAGnB,CAAC;IACA,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,SAAS,CAAC,CAAC;IAC1D,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAEzB,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,31 +0,0 @@
1
- import { resultLine } from './ui';
2
- export { resultLine };
3
- export interface TestResult {
4
- name: string;
5
- passed: boolean;
6
- detail: string;
7
- }
8
- export declare function checkHealth(url: string): Promise<TestResult>;
9
- export interface TokenValidResult extends TestResult {
10
- agentRegistered: boolean;
11
- toolCount: number;
12
- }
13
- /**
14
- * Validate token via GET /api/gateway/tools.
15
- * - 200 = token valid, agent registered (returns tool count)
16
- * - 400 "not bound" = token valid, agent not yet registered (still a pass)
17
- * - 401/403 = token invalid (fail)
18
- */
19
- export declare function checkTokenValid(url: string, token: string): Promise<TokenValidResult>;
20
- export interface TestRunResult extends TestResult {
21
- runId?: string;
22
- }
23
- /**
24
- * Send a test run through the ingestion pipeline:
25
- * 1. POST /api/v1/runs — create a run
26
- * 2. PATCH /api/v1/runs/:id — complete the run
27
- * Returns success if both succeed.
28
- */
29
- export declare function sendTestRun(url: string, token: string): Promise<TestRunResult>;
30
- export declare function printSummary(results: TestResult[]): void;
31
- //# sourceMappingURL=connectivity.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"connectivity.d.ts","sourceRoot":"","sources":["../../src/lib/connectivity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA+C,MAAM,MAAM,CAAC;AAE/E,OAAO,EAAE,UAAU,EAAE,CAAC;AAEtB,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAID,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAWlE;AAID,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAClD,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAiB3F;AAID,MAAM,WAAW,aAAc,SAAQ,UAAU;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAmDpF;AAID,wBAAgB,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,CAWxD"}
@@ -1,116 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resultLine = void 0;
4
- exports.checkHealth = checkHealth;
5
- exports.checkTokenValid = checkTokenValid;
6
- exports.sendTestRun = sendTestRun;
7
- exports.printSummary = printSummary;
8
- const ui_1 = require("./ui");
9
- Object.defineProperty(exports, "resultLine", { enumerable: true, get: function () { return ui_1.resultLine; } });
10
- // ── Health Check ────────────────────────────────────────────────────────────
11
- async function checkHealth(url) {
12
- try {
13
- const resp = await fetch(`${url}/api/health`);
14
- if (!resp.ok) {
15
- return { name: 'API reachable', passed: false, detail: `HTTP ${resp.status}` };
16
- }
17
- const data = await resp.json();
18
- return { name: 'API reachable', passed: true, detail: `v${data.version || '?'}` };
19
- }
20
- catch (err) {
21
- return { name: 'API reachable', passed: false, detail: err.message || 'Connection failed' };
22
- }
23
- }
24
- /**
25
- * Validate token via GET /api/gateway/tools.
26
- * - 200 = token valid, agent registered (returns tool count)
27
- * - 400 "not bound" = token valid, agent not yet registered (still a pass)
28
- * - 401/403 = token invalid (fail)
29
- */
30
- async function checkTokenValid(url, token) {
31
- try {
32
- const resp = await fetch(`${url}/api/gateway/tools`, {
33
- headers: { 'X-Integration-Token': token },
34
- });
35
- if (resp.ok) {
36
- const data = await resp.json();
37
- const count = data.count || 0;
38
- return { name: 'Token valid', passed: true, detail: `${count} tools available`, agentRegistered: true, toolCount: count };
39
- }
40
- if (resp.status === 400) {
41
- return { name: 'Token valid', passed: true, detail: 'authenticated (agent not registered yet)', agentRegistered: false, toolCount: 0 };
42
- }
43
- return { name: 'Token valid', passed: false, detail: `HTTP ${resp.status} — check token ${(0, ui_1.maskToken)(token)}`, agentRegistered: false, toolCount: 0 };
44
- }
45
- catch (err) {
46
- return { name: 'Token valid', passed: false, detail: err.message || 'Request failed', agentRegistered: false, toolCount: 0 };
47
- }
48
- }
49
- /**
50
- * Send a test run through the ingestion pipeline:
51
- * 1. POST /api/v1/runs — create a run
52
- * 2. PATCH /api/v1/runs/:id — complete the run
53
- * Returns success if both succeed.
54
- */
55
- async function sendTestRun(url, token) {
56
- try {
57
- // 1. Create run
58
- const createResp = await fetch(`${url}/api/v1/runs`, {
59
- method: 'POST',
60
- headers: {
61
- 'X-Integration-Token': token,
62
- 'Content-Type': 'application/json',
63
- },
64
- body: JSON.stringify({
65
- trigger_type: 'api',
66
- input: 'ARKNA CLI test event — verifying ingestion pipeline',
67
- metadata: { source: 'arkna-cli', event: 'init-test' },
68
- }),
69
- });
70
- if (!createResp.ok) {
71
- const errBody = await createResp.json().catch(() => ({}));
72
- const errMsg = errBody.error || `HTTP ${createResp.status}`;
73
- return { name: 'Test ingestion', passed: false, detail: `Failed to create run: ${errMsg}` };
74
- }
75
- const createData = await createResp.json();
76
- const runId = (createData.run_id || createData.id);
77
- if (!runId) {
78
- return { name: 'Test ingestion', passed: false, detail: 'No run ID returned' };
79
- }
80
- // 2. Complete run
81
- const patchResp = await fetch(`${url}/api/v1/runs/${runId}`, {
82
- method: 'PATCH',
83
- headers: {
84
- 'X-Integration-Token': token,
85
- 'Content-Type': 'application/json',
86
- },
87
- body: JSON.stringify({
88
- status: 'completed',
89
- output: 'CLI init test — pipeline verified',
90
- }),
91
- });
92
- if (!patchResp.ok) {
93
- // Run was created but couldn't be completed — still partially working
94
- return { name: 'Test ingestion', passed: true, detail: `Run ${runId.substring(0, 8)}... created (completion returned ${patchResp.status})`, runId };
95
- }
96
- return { name: 'Test ingestion', passed: true, detail: `Run recorded`, runId };
97
- }
98
- catch (err) {
99
- return { name: 'Test ingestion', passed: false, detail: err.message || 'Request failed' };
100
- }
101
- }
102
- // ── Summary ─────────────────────────────────────────────────────────────────
103
- function printSummary(results) {
104
- const allPassed = results.every(r => r.passed);
105
- const passed = results.filter(r => r.passed).length;
106
- console.log('');
107
- if (allPassed) {
108
- console.log(` ${(0, ui_1.success)('✔')} ${ui_1.success.bold(`All ${passed} checks passed`)}`);
109
- }
110
- else {
111
- const failed = results.filter(r => !r.passed);
112
- console.log(` ${(0, ui_1.fail)('✘')} ${ui_1.fail.bold(`${failed.length} of ${results.length} check(s) failed`)}`);
113
- }
114
- console.log('');
115
- }
116
- //# sourceMappingURL=connectivity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"connectivity.js","sourceRoot":"","sources":["../../src/lib/connectivity.ts"],"names":[],"mappings":"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"}
@@ -1,35 +0,0 @@
1
- export type Runtime = 'node' | 'python' | 'unknown';
2
- export type LlmSdk = 'openai' | 'anthropic' | 'langchain' | 'vercel-ai' | 'crewai' | 'unknown';
3
- export type PackageManager = 'npm' | 'yarn' | 'pnpm' | 'pip' | 'poetry' | 'uv' | 'unknown';
4
- export interface ProjectInfo {
5
- runtime: Runtime;
6
- llmSdk: LlmSdk;
7
- packageManager: PackageManager;
8
- entryFile: string | null;
9
- sdkInstalled: boolean;
10
- }
11
- export declare function getInitSnippet(runtime: Runtime): {
12
- importLine: string;
13
- initLine: string;
14
- };
15
- /**
16
- * Get the require-style snippet for CommonJS Node.js projects.
17
- */
18
- export declare function getRequireSnippet(): {
19
- importLine: string;
20
- initLine: string;
21
- };
22
- export declare function getInstallCommand(pm: PackageManager): string;
23
- export declare function runtimeLabel(runtime: Runtime): string;
24
- export declare function sdkLabel(sdk: LlmSdk): string;
25
- export declare function detectProject(dir?: string): ProjectInfo;
26
- /**
27
- * Check if the entry file uses CommonJS (require) or ES modules (import).
28
- */
29
- export declare function isCommonJS(dir: string, entryFile: string): boolean;
30
- /**
31
- * Find the injection point — line number after the last import/require.
32
- * Returns 0-indexed line number to insert after.
33
- */
34
- export declare function findInjectionPoint(content: string, runtime: Runtime): number;
35
- //# sourceMappingURL=detect.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../src/lib/detect.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEpD,MAAM,MAAM,MAAM,GACd,QAAQ,GACR,WAAW,GACX,WAAW,GACX,WAAW,GACX,QAAQ,GACR,SAAS,CAAC;AAEd,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,IAAI,GAAG,SAAS,CAAC;AAE3F,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;CACvB;AA0KD,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAYzF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAK5E;AAID,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,CAU5D;AAID,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAMrD;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAS5C;AAID,wBAAgB,aAAa,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,WAAW,CAQvD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAqBlE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAwB5E"}