arkna 1.3.2 → 2.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/commands/init.d.ts +3 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +276 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +2 -5
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +47 -116
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +87 -114
- package/dist/commands/verify.js.map +1 -1
- package/dist/index.js +6 -14
- package/dist/index.js.map +1 -1
- package/dist/lib/arkna-dir.d.ts +4 -86
- package/dist/lib/arkna-dir.d.ts.map +1 -1
- package/dist/lib/arkna-dir.js +6 -110
- package/dist/lib/arkna-dir.js.map +1 -1
- package/dist/lib/connectivity.d.ts +7 -50
- package/dist/lib/connectivity.d.ts.map +1 -1
- package/dist/lib/connectivity.js +39 -255
- package/dist/lib/connectivity.js.map +1 -1
- package/dist/lib/detect.d.ts +35 -0
- package/dist/lib/detect.d.ts.map +1 -0
- package/dist/lib/detect.js +335 -0
- package/dist/lib/detect.js.map +1 -0
- package/dist/lib/ui.js +2 -2
- package/dist/lib/ui.js.map +1 -1
- package/package.json +8 -7
- package/dist/commands/connect.d.ts +0 -3
- package/dist/commands/connect.d.ts.map +0 -1
- package/dist/commands/connect.js +0 -582
- package/dist/commands/connect.js.map +0 -1
- package/dist/commands/pull-governance.d.ts +0 -3
- package/dist/commands/pull-governance.d.ts.map +0 -1
- package/dist/commands/pull-governance.js +0 -116
- package/dist/commands/pull-governance.js.map +0 -1
- package/dist/commands/push-manifest.d.ts +0 -3
- package/dist/commands/push-manifest.d.ts.map +0 -1
- package/dist/commands/push-manifest.js +0 -138
- package/dist/commands/push-manifest.js.map +0 -1
- package/dist/commands/sync.d.ts +0 -3
- package/dist/commands/sync.d.ts.map +0 -1
- package/dist/commands/sync.js +0 -65
- package/dist/commands/sync.js.map +0 -1
- package/dist/commands/test.d.ts +0 -3
- package/dist/commands/test.d.ts.map +0 -1
- package/dist/commands/test.js +0 -142
- package/dist/commands/test.js.map +0 -1
- package/dist/lib/platforms.d.ts +0 -45
- package/dist/lib/platforms.d.ts.map +0 -1
- package/dist/lib/platforms.js +0 -638
- package/dist/lib/platforms.js.map +0 -1
|
@@ -6,7 +6,6 @@ export interface TestResult {
|
|
|
6
6
|
detail: string;
|
|
7
7
|
}
|
|
8
8
|
export declare function checkHealth(url: string): Promise<TestResult>;
|
|
9
|
-
export declare function checkToken(url: string, token: string): Promise<TestResult>;
|
|
10
9
|
export interface TokenValidResult extends TestResult {
|
|
11
10
|
agentRegistered: boolean;
|
|
12
11
|
toolCount: number;
|
|
@@ -18,57 +17,15 @@ export interface TokenValidResult extends TestResult {
|
|
|
18
17
|
* - 401/403 = token invalid (fail)
|
|
19
18
|
*/
|
|
20
19
|
export declare function checkTokenValid(url: string, token: string): Promise<TokenValidResult>;
|
|
21
|
-
export
|
|
22
|
-
|
|
23
|
-
export declare function registerAgent(url: string, token: string, name: string, platform: string, replyUrl?: string): Promise<{
|
|
24
|
-
success: boolean;
|
|
25
|
-
agent?: Record<string, unknown>;
|
|
26
|
-
error?: string;
|
|
27
|
-
}>;
|
|
28
|
-
export declare function pullConfig(url: string, token: string): Promise<{
|
|
29
|
-
success: boolean;
|
|
30
|
-
data?: Record<string, unknown>;
|
|
31
|
-
error?: string;
|
|
32
|
-
}>;
|
|
33
|
-
export declare function pushManifest(url: string, token: string, manifest: Record<string, unknown>): Promise<{
|
|
34
|
-
success: boolean;
|
|
35
|
-
agentId?: string;
|
|
36
|
-
pushedAt?: string;
|
|
37
|
-
error?: string;
|
|
38
|
-
}>;
|
|
39
|
-
export declare function pullGovernance(url: string, token: string): Promise<{
|
|
40
|
-
success: boolean;
|
|
41
|
-
data?: Record<string, unknown>;
|
|
42
|
-
error?: string;
|
|
43
|
-
}>;
|
|
44
|
-
export declare function checkConfigPull(url: string, token: string): Promise<TestResult>;
|
|
45
|
-
export interface AdminSession {
|
|
46
|
-
jwt: string;
|
|
47
|
-
user: {
|
|
48
|
-
email: string;
|
|
49
|
-
role: string;
|
|
50
|
-
firstName: string;
|
|
51
|
-
lastName: string;
|
|
52
|
-
};
|
|
20
|
+
export interface TestRunResult extends TestResult {
|
|
21
|
+
runId?: string;
|
|
53
22
|
}
|
|
54
23
|
/**
|
|
55
|
-
*
|
|
56
|
-
*
|
|
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.
|
|
57
28
|
*/
|
|
58
|
-
export declare function
|
|
59
|
-
success: boolean;
|
|
60
|
-
session?: AdminSession;
|
|
61
|
-
error?: string;
|
|
62
|
-
}>;
|
|
63
|
-
/**
|
|
64
|
-
* Create an integration token via the admin API.
|
|
65
|
-
* Returns the plaintext token (only available at creation time).
|
|
66
|
-
*/
|
|
67
|
-
export declare function provisionToken(url: string, jwt: string, agentName: string): Promise<{
|
|
68
|
-
success: boolean;
|
|
69
|
-
token?: string;
|
|
70
|
-
tokenId?: string;
|
|
71
|
-
error?: string;
|
|
72
|
-
}>;
|
|
29
|
+
export declare function sendTestRun(url: string, token: string): Promise<TestRunResult>;
|
|
73
30
|
export declare function printSummary(results: TestResult[]): void;
|
|
74
31
|
//# sourceMappingURL=connectivity.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connectivity.d.ts","sourceRoot":"","sources":["../../src/lib/connectivity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,
|
|
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
CHANGED
|
@@ -2,51 +2,23 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.resultLine = void 0;
|
|
4
4
|
exports.checkHealth = checkHealth;
|
|
5
|
-
exports.checkToken = checkToken;
|
|
6
5
|
exports.checkTokenValid = checkTokenValid;
|
|
7
|
-
exports.
|
|
8
|
-
exports.runAllChecks = runAllChecks;
|
|
9
|
-
exports.registerAgent = registerAgent;
|
|
10
|
-
exports.pullConfig = pullConfig;
|
|
11
|
-
exports.pushManifest = pushManifest;
|
|
12
|
-
exports.pullGovernance = pullGovernance;
|
|
13
|
-
exports.checkConfigPull = checkConfigPull;
|
|
14
|
-
exports.adminLogin = adminLogin;
|
|
15
|
-
exports.provisionToken = provisionToken;
|
|
6
|
+
exports.sendTestRun = sendTestRun;
|
|
16
7
|
exports.printSummary = printSummary;
|
|
17
8
|
const ui_1 = require("./ui");
|
|
18
9
|
Object.defineProperty(exports, "resultLine", { enumerable: true, get: function () { return ui_1.resultLine; } });
|
|
10
|
+
// ── Health Check ────────────────────────────────────────────────────────────
|
|
19
11
|
async function checkHealth(url) {
|
|
20
12
|
try {
|
|
21
|
-
const resp = await fetch(`${url}/api/
|
|
13
|
+
const resp = await fetch(`${url}/api/health`);
|
|
22
14
|
if (!resp.ok) {
|
|
23
|
-
return { name: '
|
|
15
|
+
return { name: 'API reachable', passed: false, detail: `HTTP ${resp.status}` };
|
|
24
16
|
}
|
|
25
17
|
const data = await resp.json();
|
|
26
|
-
return { name: '
|
|
18
|
+
return { name: 'API reachable', passed: true, detail: `v${data.version || '?'}` };
|
|
27
19
|
}
|
|
28
20
|
catch (err) {
|
|
29
|
-
return { name: '
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
async function checkToken(url, token) {
|
|
33
|
-
try {
|
|
34
|
-
const resp = await fetch(`${url}/api/gateway/tools`, {
|
|
35
|
-
headers: { 'X-Integration-Token': token },
|
|
36
|
-
});
|
|
37
|
-
if (resp.ok) {
|
|
38
|
-
const data = await resp.json();
|
|
39
|
-
return { name: 'Token valid', passed: true, detail: `${data.count || 0} tools available` };
|
|
40
|
-
}
|
|
41
|
-
// 400 = token is valid but not yet bound to an agent (pre-registration)
|
|
42
|
-
if (resp.status === 400) {
|
|
43
|
-
return { name: 'Token valid', passed: true, detail: 'authenticated (agent not registered yet)' };
|
|
44
|
-
}
|
|
45
|
-
// 401/403 = actually invalid token
|
|
46
|
-
return { name: 'Token valid', passed: false, detail: `HTTP ${resp.status} — check token ${(0, ui_1.maskToken)(token)}` };
|
|
47
|
-
}
|
|
48
|
-
catch (err) {
|
|
49
|
-
return { name: 'Token valid', passed: false, detail: err.message || 'Request failed' };
|
|
21
|
+
return { name: 'API reachable', passed: false, detail: err.message || 'Connection failed' };
|
|
50
22
|
}
|
|
51
23
|
}
|
|
52
24
|
/**
|
|
@@ -74,248 +46,60 @@ async function checkTokenValid(url, token) {
|
|
|
74
46
|
return { name: 'Token valid', passed: false, detail: err.message || 'Request failed', agentRegistered: false, toolCount: 0 };
|
|
75
47
|
}
|
|
76
48
|
}
|
|
77
|
-
|
|
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) {
|
|
78
56
|
try {
|
|
79
|
-
|
|
57
|
+
// 1. Create run
|
|
58
|
+
const createResp = await fetch(`${url}/api/v1/runs`, {
|
|
80
59
|
method: 'POST',
|
|
81
60
|
headers: {
|
|
82
61
|
'X-Integration-Token': token,
|
|
83
62
|
'Content-Type': 'application/json',
|
|
84
63
|
},
|
|
85
64
|
body: JSON.stringify({
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
dry_run: true,
|
|
65
|
+
trigger_type: 'api',
|
|
66
|
+
input: 'ARKNA CLI test event — verifying ingestion pipeline',
|
|
67
|
+
metadata: { source: 'arkna-cli', event: 'init-test' },
|
|
90
68
|
}),
|
|
91
69
|
});
|
|
92
|
-
if (
|
|
93
|
-
const
|
|
94
|
-
const
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
return { name: 'Policy pipeline', passed: false, detail: `HTTP ${resp.status}` };
|
|
106
|
-
}
|
|
107
|
-
catch (err) {
|
|
108
|
-
return { name: 'Policy pipeline', passed: false, detail: err.message || 'Request failed' };
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
async function runAllChecks(url, token) {
|
|
112
|
-
const results = [];
|
|
113
|
-
const spinner1 = (0, ui_1.startSpinner)('Checking gateway...');
|
|
114
|
-
const health = await checkHealth(url);
|
|
115
|
-
spinner1.stop();
|
|
116
|
-
results.push(health);
|
|
117
|
-
(0, ui_1.resultLine)(health.passed, health.name, health.detail);
|
|
118
|
-
if (!health.passed) {
|
|
119
|
-
return results;
|
|
120
|
-
}
|
|
121
|
-
const spinner2 = (0, ui_1.startSpinner)('Validating token...');
|
|
122
|
-
const tokenCheck = await checkToken(url, token);
|
|
123
|
-
spinner2.stop();
|
|
124
|
-
results.push(tokenCheck);
|
|
125
|
-
(0, ui_1.resultLine)(tokenCheck.passed, tokenCheck.name, tokenCheck.detail);
|
|
126
|
-
if (!tokenCheck.passed) {
|
|
127
|
-
return results;
|
|
128
|
-
}
|
|
129
|
-
const spinner3 = (0, ui_1.startSpinner)('Testing policy pipeline...');
|
|
130
|
-
const dryRun = await checkDryRun(url, token);
|
|
131
|
-
spinner3.stop();
|
|
132
|
-
results.push(dryRun);
|
|
133
|
-
(0, ui_1.resultLine)(dryRun.passed, dryRun.name, dryRun.detail);
|
|
134
|
-
return results;
|
|
135
|
-
}
|
|
136
|
-
async function registerAgent(url, token, name, platform, replyUrl) {
|
|
137
|
-
try {
|
|
138
|
-
const body = { name, platform };
|
|
139
|
-
if (replyUrl)
|
|
140
|
-
body.reply_url = replyUrl;
|
|
141
|
-
const resp = await fetch(`${url}/api/gateway/register`, {
|
|
142
|
-
method: 'POST',
|
|
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',
|
|
143
83
|
headers: {
|
|
144
84
|
'X-Integration-Token': token,
|
|
145
85
|
'Content-Type': 'application/json',
|
|
146
86
|
},
|
|
147
|
-
body: JSON.stringify(body),
|
|
148
|
-
});
|
|
149
|
-
const data = await resp.json();
|
|
150
|
-
if (resp.ok) {
|
|
151
|
-
return { success: true, agent: data.agent };
|
|
152
|
-
}
|
|
153
|
-
const errMsg = data.error || `HTTP ${resp.status}`;
|
|
154
|
-
// Ensure token is never leaked in error messages
|
|
155
|
-
return { success: false, error: errMsg.replace(/intk_[a-f0-9]+/gi, (m) => (0, ui_1.maskToken)(m)) };
|
|
156
|
-
}
|
|
157
|
-
catch (err) {
|
|
158
|
-
const errMsg = err.message || 'Connection failed';
|
|
159
|
-
return { success: false, error: errMsg.replace(/intk_[a-f0-9]+/gi, (m) => (0, ui_1.maskToken)(m)) };
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
async function pullConfig(url, token) {
|
|
163
|
-
try {
|
|
164
|
-
const resp = await fetch(`${url}/api/gateway/config`, {
|
|
165
|
-
headers: { 'X-Integration-Token': token },
|
|
166
|
-
});
|
|
167
|
-
if (resp.ok) {
|
|
168
|
-
const data = await resp.json();
|
|
169
|
-
return { success: true, data };
|
|
170
|
-
}
|
|
171
|
-
const contentType = resp.headers.get('content-type') || '';
|
|
172
|
-
if (contentType.includes('application/json')) {
|
|
173
|
-
const err = await resp.json();
|
|
174
|
-
const errMsg = err.error || `HTTP ${resp.status}`;
|
|
175
|
-
return { success: false, error: errMsg.replace(/intk_[a-f0-9]+/gi, (m) => (0, ui_1.maskToken)(m)) };
|
|
176
|
-
}
|
|
177
|
-
return { success: false, error: `HTTP ${resp.status} (${resp.statusText})` };
|
|
178
|
-
}
|
|
179
|
-
catch (err) {
|
|
180
|
-
const errMsg = err.message || 'Connection failed';
|
|
181
|
-
return { success: false, error: errMsg.replace(/intk_[a-f0-9]+/gi, (m) => (0, ui_1.maskToken)(m)) };
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
async function pushManifest(url, token, manifest) {
|
|
185
|
-
try {
|
|
186
|
-
const resp = await fetch(`${url}/api/gateway/manifest`, {
|
|
187
|
-
method: 'POST',
|
|
188
|
-
headers: {
|
|
189
|
-
'X-Integration-Token': token,
|
|
190
|
-
'Content-Type': 'application/json',
|
|
191
|
-
},
|
|
192
|
-
body: JSON.stringify(manifest),
|
|
193
|
-
});
|
|
194
|
-
if (resp.ok) {
|
|
195
|
-
const data = await resp.json();
|
|
196
|
-
return {
|
|
197
|
-
success: true,
|
|
198
|
-
agentId: data.agent_id,
|
|
199
|
-
pushedAt: data.manifest_pushed_at,
|
|
200
|
-
};
|
|
201
|
-
}
|
|
202
|
-
const contentType = resp.headers.get('content-type') || '';
|
|
203
|
-
if (contentType.includes('application/json')) {
|
|
204
|
-
const err = await resp.json();
|
|
205
|
-
const errMsg = err.error || `HTTP ${resp.status}`;
|
|
206
|
-
return { success: false, error: errMsg.replace(/intk_[a-f0-9]+/gi, (m) => (0, ui_1.maskToken)(m)) };
|
|
207
|
-
}
|
|
208
|
-
return { success: false, error: `HTTP ${resp.status} (${resp.statusText})` };
|
|
209
|
-
}
|
|
210
|
-
catch (err) {
|
|
211
|
-
const errMsg = err.message || 'Connection failed';
|
|
212
|
-
return { success: false, error: errMsg.replace(/intk_[a-f0-9]+/gi, (m) => (0, ui_1.maskToken)(m)) };
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
async function pullGovernance(url, token) {
|
|
216
|
-
try {
|
|
217
|
-
const resp = await fetch(`${url}/api/gateway/governance`, {
|
|
218
|
-
headers: { 'X-Integration-Token': token },
|
|
219
|
-
});
|
|
220
|
-
if (resp.ok) {
|
|
221
|
-
const data = await resp.json();
|
|
222
|
-
return { success: true, data };
|
|
223
|
-
}
|
|
224
|
-
const contentType = resp.headers.get('content-type') || '';
|
|
225
|
-
if (contentType.includes('application/json')) {
|
|
226
|
-
const err = await resp.json();
|
|
227
|
-
const errMsg = err.error || `HTTP ${resp.status}`;
|
|
228
|
-
return { success: false, error: errMsg.replace(/intk_[a-f0-9]+/gi, (m) => (0, ui_1.maskToken)(m)) };
|
|
229
|
-
}
|
|
230
|
-
return { success: false, error: `HTTP ${resp.status} (${resp.statusText})` };
|
|
231
|
-
}
|
|
232
|
-
catch (err) {
|
|
233
|
-
const errMsg = err.message || 'Connection failed';
|
|
234
|
-
return { success: false, error: errMsg.replace(/intk_[a-f0-9]+/gi, (m) => (0, ui_1.maskToken)(m)) };
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
async function checkConfigPull(url, token) {
|
|
238
|
-
try {
|
|
239
|
-
const resp = await fetch(`${url}/api/gateway/config`, {
|
|
240
|
-
headers: { 'X-Integration-Token': token },
|
|
241
|
-
});
|
|
242
|
-
if (resp.ok) {
|
|
243
|
-
const data = await resp.json();
|
|
244
|
-
return { name: 'Config pull', passed: true, detail: `version ${data.config_version || '?'}` };
|
|
245
|
-
}
|
|
246
|
-
if (resp.status === 400) {
|
|
247
|
-
return { name: 'Config pull', passed: true, detail: 'ready (agent not registered yet)' };
|
|
248
|
-
}
|
|
249
|
-
return { name: 'Config pull', passed: false, detail: `HTTP ${resp.status}` };
|
|
250
|
-
}
|
|
251
|
-
catch (err) {
|
|
252
|
-
return { name: 'Config pull', passed: false, detail: err.message || 'Request failed' };
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
/**
|
|
256
|
-
* Login as admin via email + password → JWT.
|
|
257
|
-
* Used by `arkna connect` to auto-provision integration tokens.
|
|
258
|
-
*/
|
|
259
|
-
async function adminLogin(url, email, password) {
|
|
260
|
-
try {
|
|
261
|
-
const resp = await fetch(`${url}/api/auth/login`, {
|
|
262
|
-
method: 'POST',
|
|
263
|
-
headers: { 'Content-Type': 'application/json' },
|
|
264
|
-
body: JSON.stringify({ email, password }),
|
|
265
|
-
});
|
|
266
|
-
const data = await resp.json();
|
|
267
|
-
if (resp.ok && data.token) {
|
|
268
|
-
const user = data.user;
|
|
269
|
-
return {
|
|
270
|
-
success: true,
|
|
271
|
-
session: {
|
|
272
|
-
jwt: data.token,
|
|
273
|
-
user: {
|
|
274
|
-
email: user.email,
|
|
275
|
-
role: user.role,
|
|
276
|
-
firstName: user.firstName,
|
|
277
|
-
lastName: user.lastName,
|
|
278
|
-
},
|
|
279
|
-
},
|
|
280
|
-
};
|
|
281
|
-
}
|
|
282
|
-
return { success: false, error: data.error || `HTTP ${resp.status}` };
|
|
283
|
-
}
|
|
284
|
-
catch (err) {
|
|
285
|
-
return { success: false, error: err.message || 'Connection failed' };
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
|
-
/**
|
|
289
|
-
* Create an integration token via the admin API.
|
|
290
|
-
* Returns the plaintext token (only available at creation time).
|
|
291
|
-
*/
|
|
292
|
-
async function provisionToken(url, jwt, agentName) {
|
|
293
|
-
try {
|
|
294
|
-
const resp = await fetch(`${url}/api/admin/integration-tokens`, {
|
|
295
|
-
method: 'POST',
|
|
296
|
-
headers: {
|
|
297
|
-
'Content-Type': 'application/json',
|
|
298
|
-
'Authorization': `Bearer ${jwt}`,
|
|
299
|
-
},
|
|
300
87
|
body: JSON.stringify({
|
|
301
|
-
|
|
302
|
-
|
|
88
|
+
status: 'completed',
|
|
89
|
+
output: 'CLI init test — pipeline verified',
|
|
303
90
|
}),
|
|
304
91
|
});
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
return {
|
|
308
|
-
success: true,
|
|
309
|
-
token: data.token,
|
|
310
|
-
tokenId: data.id,
|
|
311
|
-
};
|
|
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 };
|
|
312
95
|
}
|
|
313
|
-
return {
|
|
96
|
+
return { name: 'Test ingestion', passed: true, detail: `Run recorded`, runId };
|
|
314
97
|
}
|
|
315
98
|
catch (err) {
|
|
316
|
-
return {
|
|
99
|
+
return { name: 'Test ingestion', passed: false, detail: err.message || 'Request failed' };
|
|
317
100
|
}
|
|
318
101
|
}
|
|
102
|
+
// ── Summary ─────────────────────────────────────────────────────────────────
|
|
319
103
|
function printSummary(results) {
|
|
320
104
|
const allPassed = results.every(r => r.passed);
|
|
321
105
|
const passed = results.filter(r => r.passed).length;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connectivity.js","sourceRoot":"","sources":["../../src/lib/connectivity.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"connectivity.js","sourceRoot":"","sources":["../../src/lib/connectivity.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|