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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * ARKNA SDK Diagnostics
3
+ *
4
+ * Programmatic equivalents of CLI `verify` and `status` commands.
5
+ * Use these to confirm connectivity and test the ingestion pipeline.
6
+ *
7
+ * Usage:
8
+ * import { verify, status } from 'arkna';
9
+ * const result = await verify({ token: 'intk_...', baseUrl: 'https://api.arkna.com.au' });
10
+ * console.log(result.allPassed); // true
11
+ */
12
+ export interface DiagnosticCheck {
13
+ name: string;
14
+ passed: boolean;
15
+ detail: string;
16
+ }
17
+ export interface VerifyResult {
18
+ allPassed: boolean;
19
+ checks: DiagnosticCheck[];
20
+ }
21
+ export interface StatusResult {
22
+ connected: boolean;
23
+ apiVersion?: string;
24
+ tokenValid: boolean;
25
+ checks: DiagnosticCheck[];
26
+ }
27
+ export interface DiagnosticsConfig {
28
+ token?: string;
29
+ baseUrl?: string;
30
+ }
31
+ /**
32
+ * Verify full connectivity: API health → token validation → test ingestion run.
33
+ * Returns pass/fail for each check.
34
+ */
35
+ export declare function verify(config?: DiagnosticsConfig): Promise<VerifyResult>;
36
+ /**
37
+ * Check connection status: API health → token validation.
38
+ * Lighter than verify() — does not send a test run.
39
+ */
40
+ export declare function status(config?: DiagnosticsConfig): Promise<StatusResult>;
41
+ //# sourceMappingURL=diagnostics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAqGD;;;GAGG;AACH,wBAAsB,MAAM,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC,CAyB9E;AAED;;;GAGG;AACH,wBAAsB,MAAM,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC,CAgB9E"}
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ /**
3
+ * ARKNA SDK Diagnostics
4
+ *
5
+ * Programmatic equivalents of CLI `verify` and `status` commands.
6
+ * Use these to confirm connectivity and test the ingestion pipeline.
7
+ *
8
+ * Usage:
9
+ * import { verify, status } from 'arkna';
10
+ * const result = await verify({ token: 'intk_...', baseUrl: 'https://api.arkna.com.au' });
11
+ * console.log(result.allPassed); // true
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.verify = verify;
15
+ exports.status = status;
16
+ function resolveConfig(config) {
17
+ const token = config?.token || process.env['ARKNA_TOKEN'] || '';
18
+ const baseUrl = (config?.baseUrl || process.env['ARKNA_URL'] || 'https://api.arkna.com.au').replace(/\/+$/, '');
19
+ return { token, baseUrl };
20
+ }
21
+ // ── Health Check ────────────────────────────────────────────────────────────
22
+ async function checkHealth(baseUrl) {
23
+ try {
24
+ const resp = await fetch(`${baseUrl}/api/health`);
25
+ if (!resp.ok) {
26
+ return { name: 'API reachable', passed: false, detail: `HTTP ${resp.status}` };
27
+ }
28
+ const data = await resp.json();
29
+ return { name: 'API reachable', passed: true, detail: `v${data.version || '?'}` };
30
+ }
31
+ catch (err) {
32
+ return { name: 'API reachable', passed: false, detail: err.message || 'Connection failed' };
33
+ }
34
+ }
35
+ // ── Token Validation ────────────────────────────────────────────────────────
36
+ async function checkToken(baseUrl, token) {
37
+ if (!token) {
38
+ return { name: 'Token valid', passed: false, detail: 'No token provided' };
39
+ }
40
+ try {
41
+ const resp = await fetch(`${baseUrl}/api/gateway/tools`, {
42
+ headers: { 'X-Integration-Token': token },
43
+ });
44
+ if (resp.ok) {
45
+ const data = await resp.json();
46
+ const count = data.count || 0;
47
+ return { name: 'Token valid', passed: true, detail: `${count} tools available` };
48
+ }
49
+ if (resp.status === 400) {
50
+ return { name: 'Token valid', passed: true, detail: 'authenticated (agent not registered yet)' };
51
+ }
52
+ return { name: 'Token valid', passed: false, detail: `HTTP ${resp.status}` };
53
+ }
54
+ catch (err) {
55
+ return { name: 'Token valid', passed: false, detail: err.message || 'Request failed' };
56
+ }
57
+ }
58
+ // ── Test Ingestion ──────────────────────────────────────────────────────────
59
+ async function checkIngestion(baseUrl, token) {
60
+ try {
61
+ const createResp = await fetch(`${baseUrl}/api/v1/runs`, {
62
+ method: 'POST',
63
+ headers: {
64
+ 'X-Integration-Token': token,
65
+ 'Content-Type': 'application/json',
66
+ },
67
+ body: JSON.stringify({
68
+ trigger_type: 'api',
69
+ input: 'ARKNA SDK diagnostic — verifying ingestion pipeline',
70
+ metadata: { source: 'arkna-sdk', event: 'verify' },
71
+ }),
72
+ });
73
+ if (!createResp.ok) {
74
+ const errBody = await createResp.json().catch(() => ({}));
75
+ const errMsg = errBody.error || `HTTP ${createResp.status}`;
76
+ return { name: 'Test ingestion', passed: false, detail: `Failed to create run: ${errMsg}` };
77
+ }
78
+ const createData = await createResp.json();
79
+ const runId = (createData.run_id || createData.id);
80
+ if (!runId) {
81
+ return { name: 'Test ingestion', passed: false, detail: 'No run ID returned' };
82
+ }
83
+ const patchResp = await fetch(`${baseUrl}/api/v1/runs/${runId}`, {
84
+ method: 'PATCH',
85
+ headers: {
86
+ 'X-Integration-Token': token,
87
+ 'Content-Type': 'application/json',
88
+ },
89
+ body: JSON.stringify({
90
+ status: 'completed',
91
+ output: 'SDK diagnostic — pipeline verified',
92
+ }),
93
+ });
94
+ if (!patchResp.ok) {
95
+ return { name: 'Test ingestion', passed: true, detail: `Run created (completion returned ${patchResp.status})` };
96
+ }
97
+ return { name: 'Test ingestion', passed: true, detail: 'Run recorded' };
98
+ }
99
+ catch (err) {
100
+ return { name: 'Test ingestion', passed: false, detail: err.message || 'Request failed' };
101
+ }
102
+ }
103
+ // ── Public API ──────────────────────────────────────────────────────────────
104
+ /**
105
+ * Verify full connectivity: API health → token validation → test ingestion run.
106
+ * Returns pass/fail for each check.
107
+ */
108
+ async function verify(config) {
109
+ const { token, baseUrl } = resolveConfig(config);
110
+ const checks = [];
111
+ const health = await checkHealth(baseUrl);
112
+ checks.push(health);
113
+ if (!health.passed) {
114
+ return { allPassed: false, checks };
115
+ }
116
+ const tokenCheck = await checkToken(baseUrl, token);
117
+ checks.push(tokenCheck);
118
+ if (!tokenCheck.passed) {
119
+ return { allPassed: false, checks };
120
+ }
121
+ const ingestion = await checkIngestion(baseUrl, token);
122
+ checks.push(ingestion);
123
+ return {
124
+ allPassed: checks.every(c => c.passed),
125
+ checks,
126
+ };
127
+ }
128
+ /**
129
+ * Check connection status: API health → token validation.
130
+ * Lighter than verify() — does not send a test run.
131
+ */
132
+ async function status(config) {
133
+ const { token, baseUrl } = resolveConfig(config);
134
+ const checks = [];
135
+ const health = await checkHealth(baseUrl);
136
+ checks.push(health);
137
+ const tokenCheck = await checkToken(baseUrl, token);
138
+ checks.push(tokenCheck);
139
+ return {
140
+ connected: health.passed,
141
+ apiVersion: health.passed ? health.detail.replace(/^v/, '') : undefined,
142
+ tokenValid: tokenCheck.passed,
143
+ checks,
144
+ };
145
+ }
146
+ //# sourceMappingURL=diagnostics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * ARKNA SDK — HTTP Enforcement Layer
3
+ *
4
+ * Intercepts outbound HTTP requests to governed domains and enforces
5
+ * routing through the ARKNA gateway. Three modes:
6
+ *
7
+ * - strict: Block direct calls, throw error
8
+ * - advisory: Warn + log, allow call to proceed
9
+ * - transparent: Silently log, allow call to proceed
10
+ *
11
+ * Usage:
12
+ * import { ArknaClient } from 'arkna';
13
+ * import { enableEnforcement } from 'arkna';
14
+ *
15
+ * const client = new ArknaClient();
16
+ * const guard = enableEnforcement(client);
17
+ *
18
+ * // Direct calls to governed domains are intercepted:
19
+ * await fetch('https://gmail.googleapis.com/...'); // BLOCKED in strict mode
20
+ *
21
+ * // Use client.execute() instead:
22
+ * await client.execute('send_email', { to: 'bob@acme.com' });
23
+ *
24
+ * guard.restore(); // undo patches
25
+ */
26
+ import type { ArknaClient } from './client';
27
+ /** Governance contract read from .arkna/governance.json */
28
+ export interface GovernanceContract {
29
+ version: string;
30
+ enforcement_mode: 'strict' | 'advisory' | 'transparent';
31
+ governed_domains: string[];
32
+ gateway_url: string;
33
+ agent_id: string;
34
+ tenant_id: string;
35
+ issued_at: string;
36
+ signature: string;
37
+ /** Signature algorithm: 'ed25519' for asymmetric, absent for legacy HMAC */
38
+ signature_alg?: 'ed25519';
39
+ /** Key ID of the signing key (for rotation tracking) */
40
+ signing_key_id?: string;
41
+ /** PEM-encoded ed25519 public key for verification */
42
+ public_key?: string;
43
+ }
44
+ export interface EnforcementOptions {
45
+ /** Override enforcement mode from contract */
46
+ mode?: 'strict' | 'advisory' | 'transparent';
47
+ /** Custom path to governance.json (default: walks up from cwd) */
48
+ contractPath?: string;
49
+ /** Callback on interception */
50
+ onIntercept?: (domain: string, mode: string) => void;
51
+ }
52
+ export interface EnforcementGuard {
53
+ /** Undo all patches, restoring original fetch/http behavior */
54
+ restore: () => void;
55
+ /** Number of intercepted calls since enforcement was enabled */
56
+ readonly interceptedCalls: number;
57
+ /** The loaded governance contract */
58
+ readonly contract: GovernanceContract | null;
59
+ }
60
+ /**
61
+ * Enable governance enforcement on outbound HTTP requests.
62
+ *
63
+ * Patches globalThis.fetch and http/https.request to intercept
64
+ * requests to governed domains.
65
+ */
66
+ export declare function enableEnforcement(_client: ArknaClient, opts?: EnforcementOptions): EnforcementGuard;
67
+ //# sourceMappingURL=enforcement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enforcement.d.ts","sourceRoot":"","sources":["../src/enforcement.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAOH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,2DAA2D;AAC3D,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,QAAQ,GAAG,UAAU,GAAG,aAAa,CAAC;IACxD,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,wDAAwD;IACxD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,8CAA8C;IAC9C,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,aAAa,CAAC;IAC7C,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+BAA+B;IAC/B,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACtD;AAED,MAAM,WAAW,gBAAgB;IAC/B,+DAA+D;IAC/D,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,gEAAgE;IAChE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,qCAAqC;IACrC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAC;CAC9C;AA4GD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,WAAW,EACpB,IAAI,CAAC,EAAE,kBAAkB,GACxB,gBAAgB,CAkIlB"}
@@ -0,0 +1,303 @@
1
+ "use strict";
2
+ /**
3
+ * ARKNA SDK — HTTP Enforcement Layer
4
+ *
5
+ * Intercepts outbound HTTP requests to governed domains and enforces
6
+ * routing through the ARKNA gateway. Three modes:
7
+ *
8
+ * - strict: Block direct calls, throw error
9
+ * - advisory: Warn + log, allow call to proceed
10
+ * - transparent: Silently log, allow call to proceed
11
+ *
12
+ * Usage:
13
+ * import { ArknaClient } from 'arkna';
14
+ * import { enableEnforcement } from 'arkna';
15
+ *
16
+ * const client = new ArknaClient();
17
+ * const guard = enableEnforcement(client);
18
+ *
19
+ * // Direct calls to governed domains are intercepted:
20
+ * await fetch('https://gmail.googleapis.com/...'); // BLOCKED in strict mode
21
+ *
22
+ * // Use client.execute() instead:
23
+ * await client.execute('send_email', { to: 'bob@acme.com' });
24
+ *
25
+ * guard.restore(); // undo patches
26
+ */
27
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
28
+ if (k2 === undefined) k2 = k;
29
+ var desc = Object.getOwnPropertyDescriptor(m, k);
30
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
31
+ desc = { enumerable: true, get: function() { return m[k]; } };
32
+ }
33
+ Object.defineProperty(o, k2, desc);
34
+ }) : (function(o, m, k, k2) {
35
+ if (k2 === undefined) k2 = k;
36
+ o[k2] = m[k];
37
+ }));
38
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
39
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
40
+ }) : function(o, v) {
41
+ o["default"] = v;
42
+ });
43
+ var __importStar = (this && this.__importStar) || (function () {
44
+ var ownKeys = function(o) {
45
+ ownKeys = Object.getOwnPropertyNames || function (o) {
46
+ var ar = [];
47
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
48
+ return ar;
49
+ };
50
+ return ownKeys(o);
51
+ };
52
+ return function (mod) {
53
+ if (mod && mod.__esModule) return mod;
54
+ var result = {};
55
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
56
+ __setModuleDefault(result, mod);
57
+ return result;
58
+ };
59
+ })();
60
+ Object.defineProperty(exports, "__esModule", { value: true });
61
+ exports.enableEnforcement = enableEnforcement;
62
+ const fs = __importStar(require("fs"));
63
+ const path = __importStar(require("path"));
64
+ const crypto = __importStar(require("crypto"));
65
+ const http = __importStar(require("http"));
66
+ const https = __importStar(require("https"));
67
+ /**
68
+ * Find .arkna/governance.json by walking up from cwd.
69
+ */
70
+ function findGovernanceContract(startDir) {
71
+ let dir = startDir || process.cwd();
72
+ const root = path.parse(dir).root;
73
+ while (dir !== root) {
74
+ const contractPath = path.join(dir, '.arkna', 'governance.json');
75
+ try {
76
+ const content = fs.readFileSync(contractPath, 'utf-8');
77
+ return JSON.parse(content);
78
+ }
79
+ catch {
80
+ // Not found — walk up
81
+ }
82
+ dir = path.dirname(dir);
83
+ }
84
+ return null;
85
+ }
86
+ /**
87
+ * Build the canonical payload string for contract verification.
88
+ * Must match the gateway's canonicalization.
89
+ */
90
+ function buildContractPayload(contract) {
91
+ return `${contract.version}|${contract.enforcement_mode}|${contract.governed_domains.join(',')}|${contract.gateway_url}|${contract.agent_id}|${contract.tenant_id}|${contract.issued_at}`;
92
+ }
93
+ /**
94
+ * Verify governance contract signature.
95
+ *
96
+ * Supports two modes:
97
+ * 1. ed25519 asymmetric (preferred): Uses public_key from the contract itself.
98
+ * The agent never has the private key — forgery requires compromising the gateway.
99
+ * 2. HMAC-SHA256 (legacy fallback): Uses POLICY_SIGNING_SECRET from .arkna/.env.
100
+ * Deprecated — agents have access to the shared secret.
101
+ */
102
+ function verifyContractSignature(contract) {
103
+ const payload = buildContractPayload(contract);
104
+ // Prefer ed25519 asymmetric verification
105
+ if (contract.signature_alg === 'ed25519' && contract.public_key) {
106
+ try {
107
+ const publicKey = crypto.createPublicKey(contract.public_key);
108
+ return crypto.verify(null, Buffer.from(payload, 'utf-8'), publicKey, Buffer.from(contract.signature, 'base64'));
109
+ }
110
+ catch {
111
+ return false;
112
+ }
113
+ }
114
+ // Legacy HMAC fallback (for contracts signed before the ed25519 migration)
115
+ const secret = process.env.POLICY_SIGNING_SECRET || readSigningSecret();
116
+ if (!secret) {
117
+ // Can't verify without secret — allow in non-strict scenarios
118
+ return false;
119
+ }
120
+ const expected = crypto.createHmac('sha256', secret).update(payload).digest('hex');
121
+ return expected === contract.signature;
122
+ }
123
+ function readSigningSecret() {
124
+ let dir = process.cwd();
125
+ const root = path.parse(dir).root;
126
+ while (dir !== root) {
127
+ const envPath = path.join(dir, '.arkna', '.env');
128
+ try {
129
+ const content = fs.readFileSync(envPath, 'utf-8');
130
+ for (const line of content.split('\n')) {
131
+ const trimmed = line.trim();
132
+ if (trimmed.startsWith('POLICY_SIGNING_SECRET=')) {
133
+ return trimmed.substring('POLICY_SIGNING_SECRET='.length).trim();
134
+ }
135
+ }
136
+ }
137
+ catch {
138
+ // Not found
139
+ }
140
+ dir = path.dirname(dir);
141
+ }
142
+ return null;
143
+ }
144
+ /**
145
+ * Check if a hostname matches a governed domain pattern.
146
+ * Supports glob: *.googleapis.com matches mail.googleapis.com
147
+ */
148
+ function matchesDomain(hostname, patterns) {
149
+ for (const pattern of patterns) {
150
+ if (pattern.startsWith('*.')) {
151
+ const suffix = pattern.substring(1); // e.g. ".googleapis.com"
152
+ if (hostname.endsWith(suffix) || hostname === pattern.substring(2)) {
153
+ return true;
154
+ }
155
+ }
156
+ else if (hostname === pattern) {
157
+ return true;
158
+ }
159
+ }
160
+ return false;
161
+ }
162
+ /**
163
+ * Enable governance enforcement on outbound HTTP requests.
164
+ *
165
+ * Patches globalThis.fetch and http/https.request to intercept
166
+ * requests to governed domains.
167
+ */
168
+ function enableEnforcement(_client, opts) {
169
+ // Load governance contract
170
+ let contract = null;
171
+ if (opts?.contractPath) {
172
+ try {
173
+ const content = fs.readFileSync(opts.contractPath, 'utf-8');
174
+ contract = JSON.parse(content);
175
+ }
176
+ catch {
177
+ // Invalid path
178
+ }
179
+ }
180
+ else {
181
+ contract = findGovernanceContract();
182
+ }
183
+ const mode = opts?.mode || contract?.enforcement_mode || 'advisory';
184
+ const domains = contract?.governed_domains || [];
185
+ // Verify contract signature (warn but don't block on failure)
186
+ if (contract) {
187
+ const valid = verifyContractSignature(contract);
188
+ if (!valid && mode === 'strict') {
189
+ console.warn('[ARKNA] Governance contract signature verification failed. Contract may be tampered.');
190
+ }
191
+ }
192
+ let interceptedCalls = 0;
193
+ function handleIntercept(hostname) {
194
+ interceptedCalls++;
195
+ if (opts?.onIntercept) {
196
+ opts.onIntercept(hostname, mode);
197
+ }
198
+ if (mode === 'strict') {
199
+ throw new Error(`[ARKNA] Direct API call to governed domain "${hostname}" blocked. ` +
200
+ `Use client.execute() to route through the ARKNA gateway instead.`);
201
+ }
202
+ else if (mode === 'advisory') {
203
+ console.warn(`[ARKNA] Direct API call to governed domain "${hostname}" detected. ` +
204
+ `Consider using client.execute() for governance compliance.`);
205
+ }
206
+ // transparent: silently count
207
+ }
208
+ // ── Patch fetch ──
209
+ const originalFetch = globalThis.fetch;
210
+ const patchedFetch = function (input, init) {
211
+ try {
212
+ let hostname = null;
213
+ if (typeof input === 'string') {
214
+ try {
215
+ hostname = new URL(input).hostname;
216
+ }
217
+ catch { /* not a URL */ }
218
+ }
219
+ else if (input instanceof URL) {
220
+ hostname = input.hostname;
221
+ }
222
+ else if (input instanceof Request) {
223
+ try {
224
+ hostname = new URL(input.url).hostname;
225
+ }
226
+ catch { /* not a URL */ }
227
+ }
228
+ if (hostname && matchesDomain(hostname, domains)) {
229
+ handleIntercept(hostname);
230
+ }
231
+ }
232
+ catch (err) {
233
+ if (mode === 'strict')
234
+ throw err;
235
+ // In advisory/transparent, log and proceed
236
+ }
237
+ return originalFetch.call(globalThis, input, init);
238
+ };
239
+ globalThis.fetch = patchedFetch;
240
+ // ── Patch http.request and https.request ──
241
+ const originalHttpRequest = http.request;
242
+ const originalHttpsRequest = https.request;
243
+ function patchHttpRequest(original) {
244
+ return function patchedRequest(...args) {
245
+ try {
246
+ let hostname = null;
247
+ const first = args[0];
248
+ if (typeof first === 'string') {
249
+ try {
250
+ hostname = new URL(first).hostname;
251
+ }
252
+ catch { /* not a URL */ }
253
+ }
254
+ else if (first instanceof URL) {
255
+ hostname = first.hostname;
256
+ }
257
+ else if (first && typeof first === 'object' && 'hostname' in first) {
258
+ hostname = first.hostname || null;
259
+ }
260
+ if (hostname && matchesDomain(hostname, domains)) {
261
+ handleIntercept(hostname);
262
+ }
263
+ }
264
+ catch (err) {
265
+ if (mode === 'strict')
266
+ throw err;
267
+ }
268
+ return original.apply(this, args);
269
+ };
270
+ }
271
+ // Patch http/https.request — may fail in some environments (Jest, frozen modules).
272
+ // Fetch patching (above) is the primary enforcement path; http/https is supplementary.
273
+ let httpPatched = false;
274
+ try {
275
+ Object.defineProperty(http, 'request', { value: patchHttpRequest(originalHttpRequest), writable: true, configurable: true });
276
+ Object.defineProperty(https, 'request', { value: patchHttpRequest(originalHttpsRequest), writable: true, configurable: true });
277
+ httpPatched = true;
278
+ }
279
+ catch {
280
+ // http.request not reconfigurable — fetch interception still active
281
+ }
282
+ return {
283
+ restore() {
284
+ globalThis.fetch = originalFetch;
285
+ if (httpPatched) {
286
+ try {
287
+ Object.defineProperty(http, 'request', { value: originalHttpRequest, writable: true, configurable: true });
288
+ Object.defineProperty(https, 'request', { value: originalHttpsRequest, writable: true, configurable: true });
289
+ }
290
+ catch {
291
+ // Best effort
292
+ }
293
+ }
294
+ },
295
+ get interceptedCalls() {
296
+ return interceptedCalls;
297
+ },
298
+ get contract() {
299
+ return contract;
300
+ },
301
+ };
302
+ }
303
+ //# sourceMappingURL=enforcement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enforcement.js","sourceRoot":"","sources":["../src/enforcement.ts"],"names":[],"mappings":"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"}