arkna 2.0.0 → 3.0.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.
- package/dist/client.d.ts +257 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +948 -0
- package/dist/client.js.map +1 -0
- package/dist/diagnostics.d.ts +41 -0
- package/dist/diagnostics.d.ts.map +1 -0
- package/dist/diagnostics.js +146 -0
- package/dist/diagnostics.js.map +1 -0
- package/dist/enforcement.d.ts +67 -0
- package/dist/enforcement.d.ts.map +1 -0
- package/dist/enforcement.js +303 -0
- package/dist/enforcement.js.map +1 -0
- package/dist/index.d.ts +27 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +32 -27
- package/dist/index.js.map +1 -1
- package/dist/init.d.ts +74 -0
- package/dist/init.d.ts.map +1 -0
- package/dist/init.js +333 -0
- package/dist/init.js.map +1 -0
- package/dist/instrumentations/langchain.d.ts +79 -0
- package/dist/instrumentations/langchain.d.ts.map +1 -0
- package/dist/instrumentations/langchain.js +398 -0
- package/dist/instrumentations/langchain.js.map +1 -0
- package/dist/instrumentations/vercel-ai.d.ts +40 -0
- package/dist/instrumentations/vercel-ai.d.ts.map +1 -0
- package/dist/instrumentations/vercel-ai.js +212 -0
- package/dist/instrumentations/vercel-ai.js.map +1 -0
- package/dist/license.d.ts +89 -0
- package/dist/license.d.ts.map +1 -0
- package/dist/license.js +198 -0
- package/dist/license.js.map +1 -0
- package/dist/types.d.ts +402 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +8 -0
- package/dist/types.js.map +1 -0
- package/package.json +23 -25
- package/bin/arkna.js +0 -2
- package/dist/commands/init.d.ts +0 -3
- package/dist/commands/init.d.ts.map +0 -1
- package/dist/commands/init.js +0 -276
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/login.d.ts +0 -3
- package/dist/commands/login.d.ts.map +0 -1
- package/dist/commands/login.js +0 -289
- package/dist/commands/login.js.map +0 -1
- package/dist/commands/status.d.ts +0 -3
- package/dist/commands/status.d.ts.map +0 -1
- package/dist/commands/status.js +0 -108
- package/dist/commands/status.js.map +0 -1
- package/dist/commands/verify.d.ts +0 -3
- package/dist/commands/verify.d.ts.map +0 -1
- package/dist/commands/verify.js +0 -112
- package/dist/commands/verify.js.map +0 -1
- package/dist/lib/arkna-dir.d.ts +0 -12
- package/dist/lib/arkna-dir.d.ts.map +0 -1
- package/dist/lib/arkna-dir.js +0 -89
- package/dist/lib/arkna-dir.js.map +0 -1
- package/dist/lib/connectivity.d.ts +0 -31
- package/dist/lib/connectivity.d.ts.map +0 -1
- package/dist/lib/connectivity.js +0 -116
- package/dist/lib/connectivity.js.map +0 -1
- package/dist/lib/detect.d.ts +0 -35
- package/dist/lib/detect.d.ts.map +0 -1
- package/dist/lib/detect.js +0 -335
- package/dist/lib/detect.js.map +0 -1
- package/dist/lib/ui.d.ts +0 -28
- package/dist/lib/ui.d.ts.map +0 -1
- package/dist/lib/ui.js +0 -176
- package/dist/lib/ui.js.map +0 -1
- package/dist/lib/update-check.d.ts +0 -7
- package/dist/lib/update-check.d.ts.map +0 -1
- package/dist/lib/update-check.js +0 -94
- package/dist/lib/update-check.js.map +0 -1
- package/dist/lib/verify.d.ts +0 -15
- package/dist/lib/verify.d.ts.map +0 -1
- package/dist/lib/verify.js +0 -33
- package/dist/lib/verify.js.map +0 -1
package/dist/commands/status.js
DELETED
|
@@ -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 +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"}
|
package/dist/commands/verify.js
DELETED
|
@@ -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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"}
|
package/dist/lib/arkna-dir.d.ts
DELETED
|
@@ -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"}
|
package/dist/lib/arkna-dir.js
DELETED
|
@@ -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"}
|
package/dist/lib/connectivity.js
DELETED
|
@@ -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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"}
|
package/dist/lib/detect.d.ts
DELETED
|
@@ -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
|
package/dist/lib/detect.d.ts.map
DELETED
|
@@ -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"}
|