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.
Files changed (54) hide show
  1. package/dist/commands/init.d.ts +3 -0
  2. package/dist/commands/init.d.ts.map +1 -0
  3. package/dist/commands/init.js +276 -0
  4. package/dist/commands/init.js.map +1 -0
  5. package/dist/commands/login.d.ts.map +1 -1
  6. package/dist/commands/login.js +2 -5
  7. package/dist/commands/login.js.map +1 -1
  8. package/dist/commands/status.d.ts.map +1 -1
  9. package/dist/commands/status.js +47 -116
  10. package/dist/commands/status.js.map +1 -1
  11. package/dist/commands/verify.d.ts.map +1 -1
  12. package/dist/commands/verify.js +87 -114
  13. package/dist/commands/verify.js.map +1 -1
  14. package/dist/index.js +6 -14
  15. package/dist/index.js.map +1 -1
  16. package/dist/lib/arkna-dir.d.ts +4 -86
  17. package/dist/lib/arkna-dir.d.ts.map +1 -1
  18. package/dist/lib/arkna-dir.js +6 -110
  19. package/dist/lib/arkna-dir.js.map +1 -1
  20. package/dist/lib/connectivity.d.ts +7 -50
  21. package/dist/lib/connectivity.d.ts.map +1 -1
  22. package/dist/lib/connectivity.js +39 -255
  23. package/dist/lib/connectivity.js.map +1 -1
  24. package/dist/lib/detect.d.ts +35 -0
  25. package/dist/lib/detect.d.ts.map +1 -0
  26. package/dist/lib/detect.js +335 -0
  27. package/dist/lib/detect.js.map +1 -0
  28. package/dist/lib/ui.js +2 -2
  29. package/dist/lib/ui.js.map +1 -1
  30. package/package.json +8 -7
  31. package/dist/commands/connect.d.ts +0 -3
  32. package/dist/commands/connect.d.ts.map +0 -1
  33. package/dist/commands/connect.js +0 -582
  34. package/dist/commands/connect.js.map +0 -1
  35. package/dist/commands/pull-governance.d.ts +0 -3
  36. package/dist/commands/pull-governance.d.ts.map +0 -1
  37. package/dist/commands/pull-governance.js +0 -116
  38. package/dist/commands/pull-governance.js.map +0 -1
  39. package/dist/commands/push-manifest.d.ts +0 -3
  40. package/dist/commands/push-manifest.d.ts.map +0 -1
  41. package/dist/commands/push-manifest.js +0 -138
  42. package/dist/commands/push-manifest.js.map +0 -1
  43. package/dist/commands/sync.d.ts +0 -3
  44. package/dist/commands/sync.d.ts.map +0 -1
  45. package/dist/commands/sync.js +0 -65
  46. package/dist/commands/sync.js.map +0 -1
  47. package/dist/commands/test.d.ts +0 -3
  48. package/dist/commands/test.d.ts.map +0 -1
  49. package/dist/commands/test.js +0 -142
  50. package/dist/commands/test.js.map +0 -1
  51. package/dist/lib/platforms.d.ts +0 -45
  52. package/dist/lib/platforms.d.ts.map +0 -1
  53. package/dist/lib/platforms.js +0 -638
  54. package/dist/lib/platforms.js.map +0 -1
@@ -1,139 +1,112 @@
1
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
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.verifyCommand = void 0;
4
37
  const commander_1 = require("commander");
38
+ const fs = __importStar(require("fs"));
39
+ const path = __importStar(require("path"));
5
40
  const ui_1 = require("../lib/ui");
6
41
  const connectivity_1 = require("../lib/connectivity");
7
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
+ }
8
56
  exports.verifyCommand = new commander_1.Command('verify')
9
- .description('Verify that the gateway and agent are operational')
10
- .option('-d, --dir <dir>', 'Base directory containing .arkna/ (default: current directory)')
11
- .option('-w, --watch', 'Poll until the agent registers (waiting mode)')
12
- .option('--timeout <seconds>', 'Timeout for --watch mode in seconds (default: 120)', '120')
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')
13
60
  .action(async (options) => {
14
- const baseDir = options.dir || process.cwd();
15
- (0, ui_1.miniBanner)('Verify');
16
- // ── Read credentials ─────────────────────────────────────────────────
17
- const env = (0, arkna_dir_1.readArknaEnv)(baseDir);
18
- if (!env) {
19
- (0, ui_1.errorBox)('No credentials found', [
20
- (0, ui_1.dim)('No .arkna/.env found or missing ARKNA_URL/ARKNA_TOKEN.'),
21
- (0, ui_1.dim)('Run `arkna connect <platform>` first.'),
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.'),
22
79
  ]);
23
80
  process.exit(1);
24
81
  }
25
- (0, ui_1.kvLine)('Gateway', env.url);
26
- console.log('');
27
- // ── Gateway check ────────────────────────────────────────────────────
28
- const s1 = (0, ui_1.startSpinner)('Checking gateway...');
29
- const health = await (0, connectivity_1.checkHealth)(env.url);
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);
30
86
  s1.stop();
87
+ results.push(health);
31
88
  (0, ui_1.resultLine)(health.passed, health.name, health.detail);
32
89
  if (!health.passed) {
33
- (0, ui_1.errorBox)('Gateway unreachable', [
34
- (0, ui_1.dim)('Check your ARKNA_URL and network connection.'),
35
- ]);
90
+ (0, connectivity_1.printSummary)(results);
36
91
  process.exit(1);
37
92
  }
38
- // ── Token check ──────────────────────────────────────────────────────
93
+ // 2. Token valid
39
94
  const s2 = (0, ui_1.startSpinner)('Validating token...');
40
- const tokenCheck = await (0, connectivity_1.checkTokenValid)(env.url, env.token);
95
+ const tokenCheck = await (0, connectivity_1.checkTokenValid)(url, token);
41
96
  s2.stop();
97
+ results.push(tokenCheck);
42
98
  (0, ui_1.resultLine)(tokenCheck.passed, tokenCheck.name, tokenCheck.detail);
43
99
  if (!tokenCheck.passed) {
44
- (0, ui_1.errorBox)('Token invalid', [
45
- (0, ui_1.dim)('Check your ARKNA_TOKEN or create a new one in Settings > External Agents.'),
46
- ]);
100
+ (0, connectivity_1.printSummary)(results);
47
101
  process.exit(1);
48
102
  }
49
- // ── Agent registered? ────────────────────────────────────────────────
50
- if (tokenCheck.agentRegistered) {
51
- // Agent is registered pull config and show full status
52
- (0, ui_1.resultLine)(true, 'Agent registered', 'bound to token');
53
- await showRegisteredStatus(env.url, env.token, baseDir);
54
- process.exit(0);
55
- }
56
- // Agent not yet registered
57
- if (!options.watch) {
58
- // Instant mode — just report what we know
59
- (0, ui_1.resultLine)(false, 'Agent registered', 'waiting \u2014 no agent has called POST /register yet');
60
- console.log('');
61
- console.log(` ${(0, ui_1.warn)('\u26A0')} ${(0, ui_1.dim)('No agent found.')}`);
62
- console.log(` ${(0, ui_1.dim)(' This means your agent has not started yet, or it is not configured')}`);
63
- console.log(` ${(0, ui_1.dim)(' to call POST /api/gateway/register on startup.')}`);
64
- console.log('');
65
- console.log(` ${(0, ui_1.dim)(' Make sure you are running this from your')} ${(0, ui_1.brand)('agent project directory')}`);
66
- console.log(` ${(0, ui_1.dim)(' and that your agent has been wired with')} ${(0, ui_1.brand)('arkna connect')}`);
67
- console.log('');
68
- console.log(` ${(0, ui_1.dim)(' To wait for your agent to register:')} ${(0, ui_1.brand)('arkna verify --watch')}`);
69
- console.log('');
70
- process.exit(0);
71
- }
72
- // ── Watch mode — poll until agent registers ──────────────────────────
73
- const timeoutSec = parseInt(options.timeout || '120', 10);
74
- console.log('');
75
- console.log(` ${(0, ui_1.dim)('\u23F3')} ${(0, ui_1.dim)(`Waiting for agent to register (timeout: ${timeoutSec}s)...`)}`);
76
- console.log(` ${(0, ui_1.dim)(' Start your agent now — it should call POST /api/gateway/register on startup.')}`);
77
- console.log('');
78
- const startTime = Date.now();
79
- const pollInterval = 5000; // 5 seconds
80
- while (true) {
81
- const elapsed = (Date.now() - startTime) / 1000;
82
- if (elapsed >= timeoutSec) {
83
- (0, ui_1.errorBox)('Timeout', [
84
- `${(0, ui_1.dim)(`Agent did not register within ${timeoutSec}s.`)}`,
85
- (0, ui_1.dim)('Check that your agent is running and has the correct ARKNA_TOKEN.'),
86
- (0, ui_1.dim)('You can increase timeout: arkna verify --watch --timeout 300'),
87
- ]);
88
- process.exit(1);
89
- }
90
- // Poll
91
- const check = await (0, connectivity_1.checkTokenValid)(env.url, env.token);
92
- if (check.agentRegistered) {
93
- (0, ui_1.resultLine)(true, 'Agent registered', `detected after ${Math.round(elapsed)}s`);
94
- await showRegisteredStatus(env.url, env.token, baseDir);
95
- process.exit(0);
96
- }
97
- // Show progress dot
98
- const remaining = Math.round(timeoutSec - elapsed);
99
- process.stdout.write(`\r ${(0, ui_1.dim)('\u23F3')} ${(0, ui_1.dim)(`Polling... ${remaining}s remaining`)}`);
100
- await sleep(pollInterval);
101
- }
102
- });
103
- async function showRegisteredStatus(url, token, baseDir) {
104
- // Pull config
105
- const s3 = (0, ui_1.startSpinner)('Pulling config...');
106
- const configResult = await (0, connectivity_1.pullConfig)(url, token);
103
+ // 3. Test ingestion
104
+ const s3 = (0, ui_1.startSpinner)('Testing ingestion pipeline...');
105
+ const ingestion = await (0, connectivity_1.sendTestRun)(url, token);
107
106
  s3.stop();
108
- if (!configResult.success) {
109
- (0, ui_1.resultLine)(false, 'Config pull', configResult.error || 'failed');
110
- return;
111
- }
112
- const envelope = configResult.data;
113
- const toolCount = envelope.tools?.length || 0;
114
- const policyCount = envelope.policies?.length || 0;
115
- (0, ui_1.resultLine)(true, 'Config pulled', `${toolCount} tools, ${policyCount} policies`);
116
- // Kill switch
117
- if (envelope.kill_switch?.active) {
118
- (0, ui_1.resultLine)(false, 'Kill switch', `ACTIVE \u2014 ${envelope.kill_switch.reason || 'no reason'}`);
119
- }
120
- else {
121
- (0, ui_1.resultLine)(true, 'Kill switch', 'inactive');
122
- }
123
- // Write full .arkna/ directory
124
- const files = (0, arkna_dir_1.writeArknaDir)(envelope, url, token, envelope.agent?.external_platform || 'custom', baseDir);
125
- (0, ui_1.fileTree)('.arkna', files);
126
- (0, ui_1.divider)();
127
- (0, ui_1.successBox)('GOVERNED', [
128
- `${(0, ui_1.dim)('Agent:')} ${envelope.agent?.name || 'unknown'}`,
129
- `${(0, ui_1.dim)('Agent ID:')} ${envelope.agent?.id || 'unknown'}`,
130
- `${(0, ui_1.dim)('Platform:')} ${envelope.agent?.external_platform || 'unknown'}`,
131
- `${(0, ui_1.dim)('Tools:')} ${toolCount}`,
132
- `${(0, ui_1.dim)('Policies:')} ${policyCount}`,
133
- `${(0, ui_1.dim)('Version:')} ${envelope.config_version || '?'}`,
134
- ]);
135
- }
136
- function sleep(ms) {
137
- return new Promise(resolve => setTimeout(resolve, ms));
138
- }
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
+ });
139
112
  //# sourceMappingURL=verify.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -5,33 +5,25 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const commander_1 = require("commander");
7
7
  const chalk_1 = __importDefault(require("chalk"));
8
- const login_1 = require("./commands/login");
9
- const connect_1 = require("./commands/connect");
8
+ const init_1 = require("./commands/init");
10
9
  const verify_1 = require("./commands/verify");
11
- const sync_1 = require("./commands/sync");
12
10
  const status_1 = require("./commands/status");
13
- const test_1 = require("./commands/test");
14
- const push_manifest_1 = require("./commands/push-manifest");
15
- const pull_governance_1 = require("./commands/pull-governance");
11
+ const login_1 = require("./commands/login");
16
12
  const update_check_1 = require("./lib/update-check");
17
13
  // Version injected at build time by `npm run build` — never depends on runtime path resolution
18
- const CLI_VERSION = '1.3.2';
14
+ const CLI_VERSION = '2.0.0';
19
15
  const brand = chalk_1.default.hex('#3B82F6');
20
16
  // Start non-blocking update check (runs at most once per 24h)
21
17
  const printUpdateNotice = (0, update_check_1.startUpdateCheck)(CLI_VERSION);
22
18
  const program = new commander_1.Command();
23
19
  program
24
20
  .name('arkna')
25
- .description(brand('\u25B2 ARKNA CLI') + chalk_1.default.dim(' \u2014 Connect agents to the AI Trust Gateway'))
21
+ .description(brand('\u25B2 ARKNA CLI') + chalk_1.default.dim(' \u2014 Agent Observability'))
26
22
  .version(CLI_VERSION, '-v, --version');
27
- program.addCommand(login_1.loginCommand);
28
- program.addCommand(connect_1.connectCommand);
23
+ program.addCommand(init_1.initCommand, { isDefault: true });
29
24
  program.addCommand(verify_1.verifyCommand);
30
- program.addCommand(sync_1.syncCommand);
31
25
  program.addCommand(status_1.statusCommand);
32
- program.addCommand(test_1.testCommand);
33
- program.addCommand(push_manifest_1.pushManifestCommand);
34
- program.addCommand(pull_governance_1.pullGovernanceCommand);
26
+ program.addCommand(login_1.loginCommand);
35
27
  program.parseAsync().then(() => {
36
28
  printUpdateNotice();
37
29
  });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,yCAAoC;AACpC,kDAA0B;AAC1B,4CAAgD;AAChD,gDAAoD;AACpD,8CAAkD;AAClD,0CAA8C;AAC9C,8CAAkD;AAClD,0CAA8C;AAC9C,4DAA+D;AAC/D,gEAAmE;AACnE,qDAAsD;AAEtD,+FAA+F;AAC/F,MAAM,WAAW,GAAG,iBAAiB,CAAC;AAEtC,MAAM,KAAK,GAAG,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAEnC,8DAA8D;AAC9D,MAAM,iBAAiB,GAAG,IAAA,+BAAgB,EAAC,WAAW,CAAC,CAAC;AAExD,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,eAAK,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;KACpG,OAAO,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;AAEzC,OAAO,CAAC,UAAU,CAAC,oBAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,wBAAc,CAAC,CAAC;AACnC,OAAO,CAAC,UAAU,CAAC,sBAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,kBAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,sBAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,kBAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,mCAAmB,CAAC,CAAC;AACxC,OAAO,CAAC,UAAU,CAAC,uCAAqB,CAAC,CAAC;AAE1C,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;IAC7B,iBAAiB,EAAE,CAAC;AACtB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,yCAAoC;AACpC,kDAA0B;AAC1B,0CAA8C;AAC9C,8CAAkD;AAClD,8CAAkD;AAClD,4CAAgD;AAChD,qDAAsD;AAEtD,+FAA+F;AAC/F,MAAM,WAAW,GAAG,iBAAiB,CAAC;AAEtC,MAAM,KAAK,GAAG,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAEnC,8DAA8D;AAC9D,MAAM,iBAAiB,GAAG,IAAA,+BAAgB,EAAC,WAAW,CAAC,CAAC;AAExD,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,eAAK,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;KACjF,OAAO,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;AAEzC,OAAO,CAAC,UAAU,CAAC,kBAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACrD,OAAO,CAAC,UAAU,CAAC,sBAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,sBAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,oBAAY,CAAC,CAAC;AAEjC,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;IAC7B,iBAAiB,EAAE,CAAC;AACtB,CAAC,CAAC,CAAC"}
@@ -1,94 +1,12 @@
1
- export interface ArknaConfig {
2
- agent_id: string;
3
- agent_name: string;
4
- platform: string;
5
- gateway_url: string;
6
- endpoints: {
7
- health: string;
8
- heartbeat: string;
9
- actions: string;
10
- tools: string;
11
- config: string;
12
- };
13
- config_version: string;
14
- enrolled_at: string;
15
- last_synced_at: string;
16
- }
17
- export interface GovernanceContract {
18
- version: string;
19
- enforcement_mode: string;
20
- governed_domains: string[];
21
- gateway_url: string;
22
- agent_id: string;
23
- tenant_id: string;
24
- issued_at: string;
25
- signature: string;
26
- }
27
- export interface PolicyEnvelope {
28
- agent: {
29
- id: string;
30
- name: string;
31
- status: string;
32
- risk_tier: string;
33
- agent_source: string;
34
- external_platform: string;
35
- agent_type: string;
36
- };
37
- tools: Array<{
38
- name: string;
39
- description: string;
40
- parameters: Record<string, unknown>;
41
- }>;
42
- permissions: Record<string, {
43
- permission: string;
44
- config: Record<string, unknown>;
45
- }>;
46
- policies: Array<{
47
- id: string;
48
- name: string;
49
- description: string;
50
- priority: number;
51
- scope: string;
52
- }>;
53
- constitution: Array<{
54
- category: string;
55
- rule: string;
56
- severity: string;
57
- }>;
58
- kill_switch: {
59
- active: boolean;
60
- reason: string | null;
61
- };
62
- governance_contract?: GovernanceContract;
63
- gateway: {
64
- url: string;
65
- endpoints: {
66
- health: string;
67
- heartbeat: string;
68
- actions: string;
69
- tools: string;
70
- config: string;
71
- };
72
- };
73
- config_version: string;
74
- refresh_interval_seconds: number;
75
- }
76
- export declare function arknaConfigExists(baseDir?: string): boolean;
77
- export declare function readArknaConfig(baseDir?: string): ArknaConfig | null;
1
+ /**
2
+ * Read token + URL from .arkna/.env file.
3
+ */
78
4
  export declare function readArknaEnv(baseDir?: string): {
79
5
  url: string;
80
6
  token: string;
81
- agentId?: string;
82
7
  } | null;
83
- export declare function writeArknaDir(envelope: PolicyEnvelope, url: string, token: string, platform: string, baseDir?: string): string[];
84
8
  /**
85
- * Write just the .arkna/.env + .gitignore files (no config.json, tools.json, policy.json).
86
- * Used by `arkna connect` before the agent has registered — only stores credentials.
9
+ * Write token + URL to .arkna/.env (creates directory + .gitignore if needed).
87
10
  */
88
11
  export declare function writeTokenEnv(url: string, token: string, baseDir?: string): string[];
89
- export declare function updateArknaDir(envelope: PolicyEnvelope, baseDir?: string): {
90
- updated: boolean;
91
- previousVersion: string;
92
- newVersion: string;
93
- };
94
12
  //# sourceMappingURL=arkna-dir.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"arkna-dir.d.ts","sourceRoot":"","sources":["../../src/lib/arkna-dir.ts"],"names":[],"mappings":"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"}
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"}
@@ -33,35 +33,24 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.arknaConfigExists = arknaConfigExists;
37
- exports.readArknaConfig = readArknaConfig;
38
36
  exports.readArknaEnv = readArknaEnv;
39
- exports.writeArknaDir = writeArknaDir;
40
37
  exports.writeTokenEnv = writeTokenEnv;
41
- exports.updateArknaDir = updateArknaDir;
42
38
  const fs = __importStar(require("fs"));
43
39
  const path = __importStar(require("path"));
44
40
  const ARKNA_DIR = '.arkna';
45
41
  function getArknaDir(baseDir) {
46
42
  return path.join(baseDir || process.cwd(), ARKNA_DIR);
47
43
  }
48
- function arknaConfigExists(baseDir) {
49
- return fs.existsSync(path.join(getArknaDir(baseDir), 'config.json'));
50
- }
51
- function readArknaConfig(baseDir) {
52
- const configPath = path.join(getArknaDir(baseDir), 'config.json');
53
- if (!fs.existsSync(configPath)) {
54
- return null;
55
- }
56
- return JSON.parse(fs.readFileSync(configPath, 'utf-8'));
57
- }
44
+ /**
45
+ * Read token + URL from .arkna/.env file.
46
+ */
58
47
  function readArknaEnv(baseDir) {
59
48
  const envPath = path.join(getArknaDir(baseDir), '.env');
60
49
  if (!fs.existsSync(envPath)) {
61
50
  return null;
62
51
  }
63
52
  const vars = {};
64
- const lines = fs.readFileSync(envPath, 'utf-8').split('\n');
53
+ const lines = fs.readFileSync(envPath, 'utf-8').split(/\r?\n/);
65
54
  for (const line of lines) {
66
55
  const match = line.match(/^([^#][^=]+)=(.+)$/);
67
56
  if (match) {
@@ -71,77 +60,15 @@ function readArknaEnv(baseDir) {
71
60
  if (!vars.ARKNA_URL || !vars.ARKNA_TOKEN) {
72
61
  return null;
73
62
  }
74
- return { url: vars.ARKNA_URL, token: vars.ARKNA_TOKEN, agentId: vars.ARKNA_AGENT_ID };
75
- }
76
- function writeArknaDir(envelope, url, token, platform, baseDir) {
77
- const dir = getArknaDir(baseDir);
78
- fs.mkdirSync(dir, { recursive: true });
79
- const files = [];
80
- const now = new Date().toISOString();
81
- // config.json — agent identity + gateway info
82
- const config = {
83
- agent_id: envelope.agent.id,
84
- agent_name: envelope.agent.name,
85
- platform,
86
- gateway_url: url,
87
- endpoints: envelope.gateway.endpoints,
88
- config_version: envelope.config_version,
89
- enrolled_at: now,
90
- last_synced_at: now,
91
- };
92
- fs.writeFileSync(path.join(dir, 'config.json'), JSON.stringify(config, null, 2) + '\n');
93
- files.push('config.json');
94
- // tools.json — available tools with full schemas
95
- fs.writeFileSync(path.join(dir, 'tools.json'), JSON.stringify(envelope.tools, null, 2) + '\n');
96
- files.push('tools.json');
97
- // policy.json — permissions, policies, constitution, kill switch
98
- const policy = {
99
- permissions: envelope.permissions,
100
- policies: envelope.policies,
101
- constitution: envelope.constitution,
102
- kill_switch: envelope.kill_switch,
103
- };
104
- fs.writeFileSync(path.join(dir, 'policy.json'), JSON.stringify(policy, null, 2) + '\n');
105
- files.push('policy.json');
106
- // governance.json — HMAC-signed governance contract for SDK enforcement
107
- if (envelope.governance_contract) {
108
- fs.writeFileSync(path.join(dir, 'governance.json'), JSON.stringify(envelope.governance_contract, null, 2) + '\n');
109
- files.push('governance.json');
110
- }
111
- // .env — secrets (gitignored)
112
- const envContent = `# ARKNA Agent Enrollment — Environment Variables
113
- # This file is gitignored. Do NOT commit this file.
114
- ARKNA_URL=${url}
115
- ARKNA_TOKEN=${token}
116
- ARKNA_AGENT_ID=${envelope.agent.id}
117
- `;
118
- fs.writeFileSync(path.join(dir, '.env'), envContent);
119
- files.push('.env');
120
- // .gitignore — block EVERYTHING from git (secrets + config are local-only)
121
- const gitignore = `# .arkna/ contains secrets — never commit any of it
122
- *
123
- !.gitignore
124
- `;
125
- fs.writeFileSync(path.join(dir, '.gitignore'), gitignore);
126
- files.push('.gitignore');
127
- return files;
63
+ return { url: vars.ARKNA_URL, token: vars.ARKNA_TOKEN };
128
64
  }
129
65
  /**
130
- * Write just the .arkna/.env + .gitignore files (no config.json, tools.json, policy.json).
131
- * Used by `arkna connect` before the agent has registered — only stores credentials.
66
+ * Write token + URL to .arkna/.env (creates directory + .gitignore if needed).
132
67
  */
133
68
  function writeTokenEnv(url, token, baseDir) {
134
69
  const dir = getArknaDir(baseDir);
135
70
  fs.mkdirSync(dir, { recursive: true });
136
71
  const files = [];
137
- // Remove stale config files from previous enrollment — they belong to a
138
- // different agent/token and will confuse `status` and `sync`.
139
- for (const staleFile of ['config.json', 'tools.json', 'policy.json']) {
140
- const p = path.join(dir, staleFile);
141
- if (fs.existsSync(p)) {
142
- fs.unlinkSync(p);
143
- }
144
- }
145
72
  // .env — secrets (gitignored)
146
73
  const envContent = `# ARKNA Agent Configuration — Environment Variables
147
74
  # This file is gitignored. Do NOT commit this file.
@@ -159,35 +86,4 @@ ARKNA_TOKEN=${token}
159
86
  files.push('.gitignore');
160
87
  return files;
161
88
  }
162
- function updateArknaDir(envelope, baseDir) {
163
- const dir = getArknaDir(baseDir);
164
- const configPath = path.join(dir, 'config.json');
165
- if (!fs.existsSync(configPath)) {
166
- return { updated: false, previousVersion: '', newVersion: envelope.config_version };
167
- }
168
- const existing = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
169
- const previousVersion = existing.config_version;
170
- if (previousVersion === envelope.config_version) {
171
- return { updated: false, previousVersion, newVersion: envelope.config_version };
172
- }
173
- // Update tools.json
174
- fs.writeFileSync(path.join(dir, 'tools.json'), JSON.stringify(envelope.tools, null, 2) + '\n');
175
- // Update policy.json
176
- const policy = {
177
- permissions: envelope.permissions,
178
- policies: envelope.policies,
179
- constitution: envelope.constitution,
180
- kill_switch: envelope.kill_switch,
181
- };
182
- fs.writeFileSync(path.join(dir, 'policy.json'), JSON.stringify(policy, null, 2) + '\n');
183
- // Update governance.json
184
- if (envelope.governance_contract) {
185
- fs.writeFileSync(path.join(dir, 'governance.json'), JSON.stringify(envelope.governance_contract, null, 2) + '\n');
186
- }
187
- // Update config.json (preserve enrolled_at)
188
- existing.config_version = envelope.config_version;
189
- existing.last_synced_at = new Date().toISOString();
190
- fs.writeFileSync(configPath, JSON.stringify(existing, null, 2) + '\n');
191
- return { updated: true, previousVersion, newVersion: envelope.config_version };
192
- }
193
89
  //# sourceMappingURL=arkna-dir.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"arkna-dir.js","sourceRoot":"","sources":["../../src/lib/arkna-dir.ts"],"names":[],"mappings":"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"}
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"}