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.
Files changed (78) hide show
  1. package/dist/client.d.ts +257 -0
  2. package/dist/client.d.ts.map +1 -0
  3. package/dist/client.js +948 -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 +74 -0
  18. package/dist/init.d.ts.map +1 -0
  19. package/dist/init.js +333 -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 +402 -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,335 +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.getInitSnippet = getInitSnippet;
37
- exports.getRequireSnippet = getRequireSnippet;
38
- exports.getInstallCommand = getInstallCommand;
39
- exports.runtimeLabel = runtimeLabel;
40
- exports.sdkLabel = sdkLabel;
41
- exports.detectProject = detectProject;
42
- exports.isCommonJS = isCommonJS;
43
- exports.findInjectionPoint = findInjectionPoint;
44
- const fs = __importStar(require("fs"));
45
- const path = __importStar(require("path"));
46
- // ── Runtime Detection ───────────────────────────────────────────────────────
47
- function detectRuntime(dir) {
48
- if (fs.existsSync(path.join(dir, 'package.json')))
49
- return 'node';
50
- if (fs.existsSync(path.join(dir, 'requirements.txt')))
51
- return 'python';
52
- if (fs.existsSync(path.join(dir, 'pyproject.toml')))
53
- return 'python';
54
- if (fs.existsSync(path.join(dir, 'setup.py')))
55
- return 'python';
56
- return 'unknown';
57
- }
58
- // ── LLM SDK Detection ──────────────────────────────────────────────────────
59
- function detectLlmSdk(dir, runtime) {
60
- if (runtime === 'node') {
61
- return detectNodeLlmSdk(dir);
62
- }
63
- if (runtime === 'python') {
64
- return detectPythonLlmSdk(dir);
65
- }
66
- return { sdk: 'unknown', sdkInstalled: false };
67
- }
68
- function detectNodeLlmSdk(dir) {
69
- const pkgPath = path.join(dir, 'package.json');
70
- if (!fs.existsSync(pkgPath))
71
- return { sdk: 'unknown', sdkInstalled: false };
72
- try {
73
- const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'));
74
- const allDeps = { ...pkg.dependencies, ...pkg.devDependencies };
75
- const sdkInstalled = !!allDeps['@arkna/sdk'];
76
- // Check in priority order (most specific first)
77
- if (allDeps['@langchain/core'] || allDeps['langchain'])
78
- return { sdk: 'langchain', sdkInstalled };
79
- if (allDeps['ai'])
80
- return { sdk: 'vercel-ai', sdkInstalled };
81
- if (allDeps['@anthropic-ai/sdk'])
82
- return { sdk: 'anthropic', sdkInstalled };
83
- if (allDeps['openai'])
84
- return { sdk: 'openai', sdkInstalled };
85
- return { sdk: 'unknown', sdkInstalled };
86
- }
87
- catch {
88
- return { sdk: 'unknown', sdkInstalled: false };
89
- }
90
- }
91
- function detectPythonLlmSdk(dir) {
92
- // Check requirements.txt
93
- const reqPath = path.join(dir, 'requirements.txt');
94
- if (fs.existsSync(reqPath)) {
95
- const content = fs.readFileSync(reqPath, 'utf-8').toLowerCase();
96
- const sdkInstalled = content.includes('arkna');
97
- if (content.includes('crewai'))
98
- return { sdk: 'crewai', sdkInstalled };
99
- if (content.includes('langchain'))
100
- return { sdk: 'langchain', sdkInstalled };
101
- if (content.includes('anthropic'))
102
- return { sdk: 'anthropic', sdkInstalled };
103
- if (content.includes('openai'))
104
- return { sdk: 'openai', sdkInstalled };
105
- return { sdk: 'unknown', sdkInstalled };
106
- }
107
- // Check pyproject.toml
108
- const pyprojectPath = path.join(dir, 'pyproject.toml');
109
- if (fs.existsSync(pyprojectPath)) {
110
- const content = fs.readFileSync(pyprojectPath, 'utf-8').toLowerCase();
111
- const sdkInstalled = content.includes('arkna');
112
- if (content.includes('crewai'))
113
- return { sdk: 'crewai', sdkInstalled };
114
- if (content.includes('langchain'))
115
- return { sdk: 'langchain', sdkInstalled };
116
- if (content.includes('anthropic'))
117
- return { sdk: 'anthropic', sdkInstalled };
118
- if (content.includes('openai'))
119
- return { sdk: 'openai', sdkInstalled };
120
- return { sdk: 'unknown', sdkInstalled };
121
- }
122
- return { sdk: 'unknown', sdkInstalled: false };
123
- }
124
- // ── Package Manager Detection ───────────────────────────────────────────────
125
- function detectPackageManager(dir, runtime) {
126
- if (runtime === 'node') {
127
- if (fs.existsSync(path.join(dir, 'pnpm-lock.yaml')))
128
- return 'pnpm';
129
- if (fs.existsSync(path.join(dir, 'yarn.lock')))
130
- return 'yarn';
131
- return 'npm';
132
- }
133
- if (runtime === 'python') {
134
- if (fs.existsSync(path.join(dir, 'pyproject.toml'))) {
135
- const content = fs.readFileSync(path.join(dir, 'pyproject.toml'), 'utf-8');
136
- if (content.includes('[tool.poetry]'))
137
- return 'poetry';
138
- }
139
- if (fs.existsSync(path.join(dir, 'uv.lock')))
140
- return 'uv';
141
- return 'pip';
142
- }
143
- return 'unknown';
144
- }
145
- // ── Entry File Detection ────────────────────────────────────────────────────
146
- function detectEntryFile(dir, runtime) {
147
- if (runtime === 'node') {
148
- return detectNodeEntry(dir);
149
- }
150
- if (runtime === 'python') {
151
- return detectPythonEntry(dir);
152
- }
153
- return null;
154
- }
155
- function detectNodeEntry(dir) {
156
- // 1. Check package.json main or start script
157
- const pkgPath = path.join(dir, 'package.json');
158
- if (fs.existsSync(pkgPath)) {
159
- try {
160
- const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'));
161
- // Check start script for entry file
162
- const startScript = pkg.scripts?.start || pkg.scripts?.dev || '';
163
- const scriptMatch = startScript.match(/(?:tsx?|node|ts-node)\s+(\S+\.(?:ts|js))/);
164
- if (scriptMatch) {
165
- const candidate = scriptMatch[1];
166
- if (fs.existsSync(path.join(dir, candidate)))
167
- return candidate;
168
- }
169
- // Check main field
170
- if (pkg.main) {
171
- // Try TS version of main
172
- const tsMain = pkg.main.replace(/\.js$/, '.ts');
173
- if (fs.existsSync(path.join(dir, tsMain)))
174
- return tsMain;
175
- if (fs.existsSync(path.join(dir, pkg.main)))
176
- return pkg.main;
177
- }
178
- }
179
- catch {
180
- // ignore
181
- }
182
- }
183
- // 2. Scan common entry file locations
184
- const candidates = [
185
- 'src/index.ts',
186
- 'src/app.ts',
187
- 'src/main.ts',
188
- 'src/index.js',
189
- 'src/app.js',
190
- 'src/main.js',
191
- 'index.ts',
192
- 'index.js',
193
- 'app.ts',
194
- 'app.js',
195
- ];
196
- for (const c of candidates) {
197
- if (fs.existsSync(path.join(dir, c)))
198
- return c;
199
- }
200
- return null;
201
- }
202
- function detectPythonEntry(dir) {
203
- const candidates = [
204
- 'main.py',
205
- 'app.py',
206
- 'src/main.py',
207
- 'src/app.py',
208
- 'run.py',
209
- ];
210
- for (const c of candidates) {
211
- if (fs.existsSync(path.join(dir, c)))
212
- return c;
213
- }
214
- return null;
215
- }
216
- // ── Init Snippet Generation ─────────────────────────────────────────────────
217
- function getInitSnippet(runtime) {
218
- if (runtime === 'python') {
219
- return {
220
- importLine: 'import arkna',
221
- initLine: 'arkna.init()',
222
- };
223
- }
224
- // Default: Node.js
225
- return {
226
- importLine: "import { init as arknaInit } from '@arkna/sdk';",
227
- initLine: 'arknaInit();',
228
- };
229
- }
230
- /**
231
- * Get the require-style snippet for CommonJS Node.js projects.
232
- */
233
- function getRequireSnippet() {
234
- return {
235
- importLine: "const { init: arknaInit } = require('@arkna/sdk');",
236
- initLine: 'arknaInit();',
237
- };
238
- }
239
- // ── Install Command ─────────────────────────────────────────────────────────
240
- function getInstallCommand(pm) {
241
- switch (pm) {
242
- case 'npm': return 'npm install @arkna/sdk';
243
- case 'yarn': return 'yarn add @arkna/sdk';
244
- case 'pnpm': return 'pnpm add @arkna/sdk';
245
- case 'pip': return 'pip install arkna';
246
- case 'poetry': return 'poetry add arkna';
247
- case 'uv': return 'uv add arkna';
248
- default: return 'npm install @arkna/sdk';
249
- }
250
- }
251
- // ── Display Helpers ─────────────────────────────────────────────────────────
252
- function runtimeLabel(runtime) {
253
- switch (runtime) {
254
- case 'node': return 'Node.js';
255
- case 'python': return 'Python';
256
- default: return 'Unknown';
257
- }
258
- }
259
- function sdkLabel(sdk) {
260
- switch (sdk) {
261
- case 'openai': return 'openai';
262
- case 'anthropic': return 'anthropic';
263
- case 'langchain': return 'langchain';
264
- case 'vercel-ai': return 'vercel ai';
265
- case 'crewai': return 'crewai';
266
- default: return '';
267
- }
268
- }
269
- // ── Main Detection ──────────────────────────────────────────────────────────
270
- function detectProject(dir) {
271
- const d = dir || process.cwd();
272
- const runtime = detectRuntime(d);
273
- const { sdk, sdkInstalled } = detectLlmSdk(d, runtime);
274
- const packageManager = detectPackageManager(d, runtime);
275
- const entryFile = detectEntryFile(d, runtime);
276
- return { runtime, llmSdk: sdk, packageManager, entryFile, sdkInstalled };
277
- }
278
- /**
279
- * Check if the entry file uses CommonJS (require) or ES modules (import).
280
- */
281
- function isCommonJS(dir, entryFile) {
282
- const filePath = path.join(dir, entryFile);
283
- if (!fs.existsSync(filePath))
284
- return false;
285
- const content = fs.readFileSync(filePath, 'utf-8');
286
- // If file uses require() or module.exports, it's CJS
287
- if (/\brequire\s*\(/.test(content) || /\bmodule\.exports\b/.test(content))
288
- return true;
289
- // .js file with type: module in package.json → ESM
290
- if (entryFile.endsWith('.js')) {
291
- const pkgPath = path.join(dir, 'package.json');
292
- if (fs.existsSync(pkgPath)) {
293
- try {
294
- const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'));
295
- if (pkg.type === 'module')
296
- return false;
297
- }
298
- catch {
299
- // ignore
300
- }
301
- }
302
- return true; // .js without type: module defaults to CJS
303
- }
304
- // .ts files default to ESM-style imports
305
- return false;
306
- }
307
- /**
308
- * Find the injection point — line number after the last import/require.
309
- * Returns 0-indexed line number to insert after.
310
- */
311
- function findInjectionPoint(content, runtime) {
312
- const lines = content.split('\n');
313
- let lastImportLine = -1;
314
- for (let i = 0; i < lines.length; i++) {
315
- const line = lines[i].trim();
316
- if (runtime === 'python') {
317
- if (line.startsWith('import ') || line.startsWith('from ')) {
318
- lastImportLine = i;
319
- }
320
- }
321
- else {
322
- // Node.js — match import or require
323
- if (line.startsWith('import ') || line.startsWith('import{') || /^(const|let|var)\s+.*=\s*require\(/.test(line)) {
324
- lastImportLine = i;
325
- }
326
- // Multi-line import: if previous line was `import {` and this continues, extend
327
- if (lastImportLine >= 0 && i === lastImportLine + 1 && /^[^'"]*from\s+['"]/.test(line)) {
328
- lastImportLine = i;
329
- }
330
- }
331
- }
332
- // Insert after last import, or at top if none found
333
- return lastImportLine >= 0 ? lastImportLine + 1 : 0;
334
- }
335
- //# sourceMappingURL=detect.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"detect.js","sourceRoot":"","sources":["../../src/lib/detect.ts"],"names":[],"mappings":"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"}
package/dist/lib/ui.d.ts DELETED
@@ -1,28 +0,0 @@
1
- import chalk from 'chalk';
2
- declare const brand: chalk.Chalk;
3
- declare const brandBold: chalk.Chalk;
4
- declare const dim: chalk.Chalk;
5
- declare const success: chalk.Chalk;
6
- declare const fail: chalk.Chalk;
7
- declare const warn: chalk.Chalk;
8
- declare const muted: chalk.Chalk;
9
- export { brand, brandBold, dim, success, fail, warn, muted };
10
- /** Mask a token for safe display: intk_abcd…1234 */
11
- export declare function maskToken(token: string): string;
12
- export declare function box(lines: string[], width?: number): string;
13
- export declare function banner(): void;
14
- export declare function miniBanner(subtitle: string): void;
15
- export declare function section(title: string): void;
16
- export declare function sectionEnd(): void;
17
- export declare function step(n: number, total: number, label: string): void;
18
- export declare function resultLine(passed: boolean, name: string, detail: string): void;
19
- export declare function startSpinner(message: string): {
20
- stop: (finalMsg?: string) => void;
21
- };
22
- export declare function fileTree(dirName: string, files: string[]): void;
23
- export declare function divider(): void;
24
- export declare function kvLine(key: string, value: string): void;
25
- export declare function hint(lines: string[]): void;
26
- export declare function successBox(title: string, lines: string[]): void;
27
- export declare function errorBox(title: string, lines: string[]): void;
28
- //# sourceMappingURL=ui.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/lib/ui.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,QAAA,MAAM,KAAK,aAAuB,CAAC;AACnC,QAAA,MAAM,SAAS,aAA4B,CAAC;AAC5C,QAAA,MAAM,GAAG,aAAY,CAAC;AACtB,QAAA,MAAM,OAAO,aAAc,CAAC;AAC5B,QAAA,MAAM,IAAI,aAAY,CAAC;AACvB,QAAA,MAAM,IAAI,aAAe,CAAC;AAC1B,QAAA,MAAM,KAAK,aAAa,CAAC;AAEzB,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAG7D,oDAAoD;AACpD,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAK/C;AAYD,wBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,SAAK,GAAG,MAAM,CAYvD;AAGD,wBAAgB,MAAM,IAAI,IAAI,CAU7B;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAQjD;AAGD,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAE3C;AAED,wBAAgB,UAAU,IAAI,IAAI,CAEjC;AAGD,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAGlE;AAGD,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAI9E;AAGD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,CAiBnF;AAGD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAkB/D;AAGD,wBAAgB,OAAO,IAAI,IAAI,CAE9B;AAGD,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAEvD;AAGD,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAM1C;AAGD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAM/D;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAM7D"}
package/dist/lib/ui.js DELETED
@@ -1,176 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.muted = exports.warn = exports.fail = exports.success = exports.dim = exports.brandBold = exports.brand = void 0;
7
- exports.maskToken = maskToken;
8
- exports.box = box;
9
- exports.banner = banner;
10
- exports.miniBanner = miniBanner;
11
- exports.section = section;
12
- exports.sectionEnd = sectionEnd;
13
- exports.step = step;
14
- exports.resultLine = resultLine;
15
- exports.startSpinner = startSpinner;
16
- exports.fileTree = fileTree;
17
- exports.divider = divider;
18
- exports.kvLine = kvLine;
19
- exports.hint = hint;
20
- exports.successBox = successBox;
21
- exports.errorBox = errorBox;
22
- const chalk_1 = __importDefault(require("chalk"));
23
- // ── ARKNA brand colors ─────────────────────────────────────────────────────
24
- const brand = chalk_1.default.hex('#3B82F6'); // ARKNA blue
25
- exports.brand = brand;
26
- const brandBold = chalk_1.default.hex('#3B82F6').bold;
27
- exports.brandBold = brandBold;
28
- const dim = chalk_1.default.dim;
29
- exports.dim = dim;
30
- const success = chalk_1.default.green;
31
- exports.success = success;
32
- const fail = chalk_1.default.red;
33
- exports.fail = fail;
34
- const warn = chalk_1.default.yellow;
35
- exports.warn = warn;
36
- const muted = chalk_1.default.gray;
37
- exports.muted = muted;
38
- // ── Token masking ─────────────────────────────────────────────────────────
39
- /** Mask a token for safe display: intk_abcd…1234 */
40
- function maskToken(token) {
41
- if (!token || token.length < 16)
42
- return '***';
43
- const prefix = token.slice(0, 9); // "intk_" + 4 chars
44
- const suffix = token.slice(-4);
45
- return `${prefix}…${suffix}`;
46
- }
47
- // ── Box drawing ────────────────────────────────────────────────────────────
48
- const BOX = {
49
- tl: '╭', tr: '╮', bl: '╰', br: '╯',
50
- h: '─', v: '│',
51
- };
52
- function repeat(ch, n) {
53
- return ch.repeat(Math.max(0, n));
54
- }
55
- function box(lines, width = 60) {
56
- const inner = width - 2;
57
- const out = [];
58
- out.push(brand(`${BOX.tl}${repeat(BOX.h, inner)}${BOX.tr}`));
59
- for (const line of lines) {
60
- // Strip ANSI for length calc
61
- const stripped = line.replace(/\x1b\[[0-9;]*m/g, '');
62
- const pad = Math.max(0, inner - stripped.length);
63
- out.push(brand(BOX.v) + line + ' '.repeat(pad) + brand(BOX.v));
64
- }
65
- out.push(brand(`${BOX.bl}${repeat(BOX.h, inner)}${BOX.br}`));
66
- return out.join('\n');
67
- }
68
- // ── Banner ─────────────────────────────────────────────────────────────────
69
- function banner() {
70
- console.log('');
71
- console.log(box([
72
- '',
73
- ` ${brandBold('▲ ARKNA')} ${dim('Agent Observability')}`,
74
- '',
75
- ` ${dim('Recording · Replay · Incidents')}`,
76
- '',
77
- ]));
78
- console.log('');
79
- }
80
- function miniBanner(subtitle) {
81
- console.log('');
82
- console.log(box([
83
- '',
84
- ` ${brandBold('▲ ARKNA')} ${dim(subtitle)}`,
85
- '',
86
- ]));
87
- console.log('');
88
- }
89
- // ── Section headers ────────────────────────────────────────────────────────
90
- function section(title) {
91
- console.log(`\n${brand('┌')} ${chalk_1.default.bold(title)}`);
92
- }
93
- function sectionEnd() {
94
- console.log(brand('└') + brand(repeat('─', 40)));
95
- }
96
- // ── Step indicator ─────────────────────────────────────────────────────────
97
- function step(n, total, label) {
98
- const counter = dim(`[${n}/${total}]`);
99
- console.log(`\n ${brand('●')} ${counter} ${chalk_1.default.bold(label)}`);
100
- }
101
- // ── Result line ────────────────────────────────────────────────────────────
102
- function resultLine(passed, name, detail) {
103
- const icon = passed ? success('✔') : fail('✘');
104
- const nameStr = passed ? name : chalk_1.default.red(name);
105
- console.log(` ${icon} ${nameStr} ${dim(detail)}`);
106
- }
107
- // ── Spinner (simple dots animation) ────────────────────────────────────────
108
- function startSpinner(message) {
109
- const frames = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
110
- let i = 0;
111
- const interval = setInterval(() => {
112
- process.stdout.write(`\r ${brand(frames[i % frames.length])} ${muted(message)}`);
113
- i++;
114
- }, 80);
115
- return {
116
- stop(finalMsg) {
117
- clearInterval(interval);
118
- process.stdout.write('\r' + ' '.repeat(message.length + 10) + '\r');
119
- if (finalMsg) {
120
- console.log(` ${finalMsg}`);
121
- }
122
- },
123
- };
124
- }
125
- // ── File tree ──────────────────────────────────────────────────────────────
126
- function fileTree(dirName, files) {
127
- console.log(`\n ${brand('📁')} ${chalk_1.default.bold(dirName)}/`);
128
- for (let i = 0; i < files.length; i++) {
129
- const isLast = i === files.length - 1;
130
- const connector = isLast ? '└──' : '├──';
131
- const file = files[i];
132
- const icon = file === '.env'
133
- ? warn('⚠')
134
- : file.endsWith('.sh') || file.endsWith('.ps1')
135
- ? '🔧'
136
- : file === 'README.md'
137
- ? '📖'
138
- : file === '.gitignore'
139
- ? '🔒'
140
- : '📄';
141
- const extra = file === '.env' ? dim(' (contains token — gitignored)') : '';
142
- console.log(` ${dim(connector)} ${icon} ${file}${extra}`);
143
- }
144
- }
145
- // ── Divider ────────────────────────────────────────────────────────────────
146
- function divider() {
147
- console.log(dim(' ' + repeat('─', 50)));
148
- }
149
- // ── Key-value pair ─────────────────────────────────────────────────────────
150
- function kvLine(key, value) {
151
- console.log(` ${dim(key + ':')} ${value}`);
152
- }
153
- // ── Hint box ───────────────────────────────────────────────────────────────
154
- function hint(lines) {
155
- console.log('');
156
- for (const line of lines) {
157
- console.log(` ${dim('│')} ${line}`);
158
- }
159
- console.log('');
160
- }
161
- // ── Success / Error boxes ──────────────────────────────────────────────────
162
- function successBox(title, lines) {
163
- console.log('');
164
- console.log(` ${success('✔')} ${chalk_1.default.bold.green(title)}`);
165
- for (const line of lines) {
166
- console.log(` ${line}`);
167
- }
168
- }
169
- function errorBox(title, lines) {
170
- console.log('');
171
- console.log(` ${fail('✘')} ${chalk_1.default.bold.red(title)}`);
172
- for (const line of lines) {
173
- console.log(` ${line}`);
174
- }
175
- }
176
- //# sourceMappingURL=ui.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/lib/ui.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Kick off a non-blocking update check. Returns a function that,
3
- * when called, prints an update notice if a newer version was found.
4
- * The check runs at most once every 24 hours.
5
- */
6
- export declare function startUpdateCheck(currentVersion: string): () => void;
7
- //# sourceMappingURL=update-check.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-check.d.ts","sourceRoot":"","sources":["../../src/lib/update-check.ts"],"names":[],"mappings":"AA0CA;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,IAAI,CAkCnE"}