@armoriq/sdk-dev 0.3.9 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client.d.ts +24 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +110 -55
- package/dist/client.js.map +1 -1
- package/dist/crypto_verify.d.ts +4 -0
- package/dist/crypto_verify.d.ts.map +1 -0
- package/dist/crypto_verify.js +135 -0
- package/dist/crypto_verify.js.map +1 -0
- package/dist/index.d.ts +2 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +29 -15
- package/dist/session.js.map +1 -1
- package/dist/token_usage.d.ts +22 -0
- package/dist/token_usage.d.ts.map +1 -0
- package/dist/token_usage.js +71 -0
- package/dist/token_usage.js.map +1 -0
- package/package.json +1 -1
package/dist/client.d.ts
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import axios from 'axios';
|
|
5
5
|
import { IntentToken, PlanCapture, MCPInvocationResult, DelegationResult, SDKConfig, MCPSemanticMetadata, InvokeOptions, DelegationRequestParams, DelegationRequestResult, ApprovedDelegation, McpCredential, McpCredentialMap, PapRefineRequest, PapRefineResult } from './models';
|
|
6
|
+
import { RecordTokenUsagePayload } from './token_usage';
|
|
6
7
|
/**
|
|
7
8
|
* Lightweight error used by the PAP refine() path when fail-closed mode
|
|
8
9
|
* is active and the gateway is unreachable or returned an error.
|
|
@@ -81,6 +82,25 @@ export declare class ArmorIQClient {
|
|
|
81
82
|
refreshBootstrap(): Promise<Record<string, any>>;
|
|
82
83
|
resolveUser(userEmail: string): Promise<Record<string, any>>;
|
|
83
84
|
invalidateUser(userEmail: string): void;
|
|
85
|
+
recordTokenUsage(payload: RecordTokenUsagePayload): Promise<{
|
|
86
|
+
ok: boolean;
|
|
87
|
+
status?: number;
|
|
88
|
+
recorded?: number;
|
|
89
|
+
reason?: string;
|
|
90
|
+
}>;
|
|
91
|
+
/**
|
|
92
|
+
* Convenience: parse a JSONL transcript and post its token usage in one call.
|
|
93
|
+
* Use from a tool's session-end hook. Returns the parsed entry count.
|
|
94
|
+
*/
|
|
95
|
+
captureTranscriptTokens(opts: {
|
|
96
|
+
transcriptPath: string;
|
|
97
|
+
product: string;
|
|
98
|
+
sessionId: string;
|
|
99
|
+
}): Promise<{
|
|
100
|
+
ok: boolean;
|
|
101
|
+
recorded: number;
|
|
102
|
+
reason?: string;
|
|
103
|
+
}>;
|
|
84
104
|
forUser(userEmail: string): ArmorIQUserScope;
|
|
85
105
|
/**
|
|
86
106
|
* Construct an ArmorIQClient from an armoriq.yaml file. Mirrors PY
|
|
@@ -190,7 +210,10 @@ export declare class ArmorIQClient {
|
|
|
190
210
|
delegatedToken: IntentToken;
|
|
191
211
|
}>;
|
|
192
212
|
/**
|
|
193
|
-
* Verify an intent token
|
|
213
|
+
* Verify an intent token: checks expiry AND cryptographically verifies the
|
|
214
|
+
* Ed25519 signature over the canonical signed payload (which binds planHash).
|
|
215
|
+
* Any tampering with the signed fields - including planHash - makes this
|
|
216
|
+
* return false. Fails closed on missing material or any error.
|
|
194
217
|
*/
|
|
195
218
|
verifyToken(intentToken: IntentToken): Promise<boolean>;
|
|
196
219
|
/**
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAwB,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -42,7 +42,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
42
42
|
exports.ArmorIQUserScope = exports.ArmorIQClient = exports.ArmorIQError = void 0;
|
|
43
43
|
const axios_1 = __importDefault(require("axios"));
|
|
44
44
|
const crypto = __importStar(require("crypto"));
|
|
45
|
+
const crypto_verify_1 = require("./crypto_verify");
|
|
45
46
|
const models_1 = require("./models");
|
|
47
|
+
const token_usage_1 = require("./token_usage");
|
|
46
48
|
const exceptions_1 = require("./exceptions");
|
|
47
49
|
/**
|
|
48
50
|
* Lightweight error used by the PAP refine() path when fail-closed mode
|
|
@@ -142,19 +144,25 @@ class ArmorIQClient {
|
|
|
142
144
|
options.iapEndpoint ||
|
|
143
145
|
process.env.IAP_ENDPOINT ||
|
|
144
146
|
(isArmorClaw
|
|
145
|
-
?
|
|
147
|
+
? isLocal
|
|
148
|
+
? ArmorIQClient.LOCAL_ARMORCLAW_IAP_ENDPOINT
|
|
149
|
+
: ArmorIQClient.ARMORCLAW_IAP_ENDPOINT
|
|
146
150
|
: (0, _build_env_1.resolveEndpoint)('iap'));
|
|
147
151
|
this.defaultProxyEndpoint =
|
|
148
152
|
options.proxyEndpoint ||
|
|
149
153
|
process.env.PROXY_ENDPOINT ||
|
|
150
154
|
(isArmorClaw
|
|
151
|
-
?
|
|
155
|
+
? isLocal
|
|
156
|
+
? ArmorIQClient.LOCAL_ARMORCLAW_PROXY_ENDPOINT
|
|
157
|
+
: ArmorIQClient.ARMORCLAW_PROXY_ENDPOINT
|
|
152
158
|
: (0, _build_env_1.resolveEndpoint)('proxy'));
|
|
153
159
|
this.backendEndpoint =
|
|
154
160
|
options.backendEndpoint ||
|
|
155
161
|
process.env.BACKEND_ENDPOINT ||
|
|
156
162
|
(isArmorClaw
|
|
157
|
-
?
|
|
163
|
+
? isLocal
|
|
164
|
+
? ArmorIQClient.LOCAL_ARMORCLAW_BACKEND_ENDPOINT
|
|
165
|
+
: ArmorIQClient.ARMORCLAW_BACKEND_ENDPOINT
|
|
158
166
|
: (0, _build_env_1.resolveEndpoint)('backend'));
|
|
159
167
|
// Load user/agent identifiers
|
|
160
168
|
this.userId = options.userId || process.env.USER_ID || '';
|
|
@@ -192,7 +200,9 @@ class ArmorIQClient {
|
|
|
192
200
|
'Get your API key from https://dev.armoriq.ai');
|
|
193
201
|
}
|
|
194
202
|
// Validate API key format
|
|
195
|
-
if (!this.apiKey.startsWith('ak_live_') &&
|
|
203
|
+
if (!this.apiKey.startsWith('ak_live_') &&
|
|
204
|
+
!this.apiKey.startsWith('ak_test_') &&
|
|
205
|
+
!this.apiKey.startsWith('ak_claw_')) {
|
|
196
206
|
throw new exceptions_1.ConfigurationException("Invalid API key format. API keys must start with 'ak_live_', 'ak_claw_', or 'ak_test_'. " +
|
|
197
207
|
'Get your API key from https://platform.armoriq.ai/dashboard/api-keys');
|
|
198
208
|
}
|
|
@@ -225,8 +235,7 @@ class ArmorIQClient {
|
|
|
225
235
|
console.log(`ArmorIQ SDK initialized: mode=${mode}, ` +
|
|
226
236
|
`user=${this.userId}, agent=${this.agentId}, ` +
|
|
227
237
|
`iap=${this.iapEndpoint}, proxy=${this.defaultProxyEndpoint}, ` +
|
|
228
|
-
`backend=${this.backendEndpoint}
|
|
229
|
-
`api_key=${'***' + this.apiKey.slice(-8)}`);
|
|
238
|
+
`backend=${this.backendEndpoint}`);
|
|
230
239
|
// Validate API key on initialization.
|
|
231
240
|
//
|
|
232
241
|
// For ArmorClaw keys (`ak_claw_*`) the proxy is OPTIONAL — local-tool
|
|
@@ -317,6 +326,46 @@ class ArmorIQClient {
|
|
|
317
326
|
invalidateUser(userEmail) {
|
|
318
327
|
this.userCache.delete(userEmail.trim().toLowerCase());
|
|
319
328
|
}
|
|
329
|
+
// ─── Token usage ─────────────────────────────────────────────────
|
|
330
|
+
// Single cross-tool path for reporting per-session LLM token usage to the
|
|
331
|
+
// dashboard. The backend upserts by (org, product, session, model), so
|
|
332
|
+
// re-posting a session's running totals is idempotent. Best-effort: never
|
|
333
|
+
// throws — returns { ok } so callers can fire-and-forget at session end.
|
|
334
|
+
async recordTokenUsage(payload) {
|
|
335
|
+
const entries = Array.isArray(payload.entries) ? payload.entries : [];
|
|
336
|
+
if (!entries.length)
|
|
337
|
+
return { ok: true, recorded: 0 };
|
|
338
|
+
try {
|
|
339
|
+
const response = await this._retryPost(`${this.backendEndpoint}/dashboard/token-usage`, {
|
|
340
|
+
product: payload.product,
|
|
341
|
+
sessionId: payload.sessionId,
|
|
342
|
+
entries,
|
|
343
|
+
}, { headers: { 'X-API-Key': this.apiKey } });
|
|
344
|
+
return {
|
|
345
|
+
ok: response.status < 400,
|
|
346
|
+
status: response.status,
|
|
347
|
+
recorded: response.data?.recorded,
|
|
348
|
+
};
|
|
349
|
+
}
|
|
350
|
+
catch (e) {
|
|
351
|
+
return { ok: false, reason: String(e?.message ?? e) };
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* Convenience: parse a JSONL transcript and post its token usage in one call.
|
|
356
|
+
* Use from a tool's session-end hook. Returns the parsed entry count.
|
|
357
|
+
*/
|
|
358
|
+
async captureTranscriptTokens(opts) {
|
|
359
|
+
const entries = (0, token_usage_1.summarizeTranscriptUsage)(opts.transcriptPath);
|
|
360
|
+
if (!entries.length)
|
|
361
|
+
return { ok: true, recorded: 0 };
|
|
362
|
+
const res = await this.recordTokenUsage({
|
|
363
|
+
product: opts.product,
|
|
364
|
+
sessionId: opts.sessionId,
|
|
365
|
+
entries,
|
|
366
|
+
});
|
|
367
|
+
return { ok: res.ok, recorded: entries.length, reason: res.reason };
|
|
368
|
+
}
|
|
320
369
|
forUser(userEmail) {
|
|
321
370
|
return new ArmorIQUserScope(this, userEmail);
|
|
322
371
|
}
|
|
@@ -335,7 +384,8 @@ class ArmorIQClient {
|
|
|
335
384
|
// Lazy require to avoid making js-yaml a hard dependency for callers
|
|
336
385
|
// that never use the YAML loader.
|
|
337
386
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
338
|
-
const
|
|
387
|
+
const cfgModule = require('./config');
|
|
388
|
+
const { loadArmorIQConfig, resolveEnvReferences } = cfgModule;
|
|
339
389
|
const cfg = resolveEnvReferences(loadArmorIQConfig(filePath));
|
|
340
390
|
const proxyEndpoints = {};
|
|
341
391
|
const mcpCredentials = {};
|
|
@@ -395,7 +445,9 @@ class ArmorIQClient {
|
|
|
395
445
|
const apiKey = process.env[`ARMORIQ_MCP_${safe}_API_KEY`];
|
|
396
446
|
const headerName = process.env[`ARMORIQ_MCP_${safe}_HEADER_NAME`];
|
|
397
447
|
if (apiKey)
|
|
398
|
-
cred = headerName
|
|
448
|
+
cred = headerName
|
|
449
|
+
? { authType: 'api_key', apiKey, headerName }
|
|
450
|
+
: { authType: 'api_key', apiKey };
|
|
399
451
|
}
|
|
400
452
|
else if (authType === 'basic') {
|
|
401
453
|
const username = process.env[`ARMORIQ_MCP_${safe}_USERNAME`];
|
|
@@ -463,7 +515,10 @@ class ArmorIQClient {
|
|
|
463
515
|
// axios throws on network errors when validateStatus doesn't catch them;
|
|
464
516
|
// ECONNREFUSED / ETIMEDOUT / socket-hangup all surface as Error here.
|
|
465
517
|
const code = e?.code;
|
|
466
|
-
if (code === 'ECONNREFUSED' ||
|
|
518
|
+
if (code === 'ECONNREFUSED' ||
|
|
519
|
+
code === 'ETIMEDOUT' ||
|
|
520
|
+
code === 'ECONNRESET' ||
|
|
521
|
+
!e?.response) {
|
|
467
522
|
lastErr = e;
|
|
468
523
|
}
|
|
469
524
|
else {
|
|
@@ -488,8 +543,8 @@ class ArmorIQClient {
|
|
|
488
543
|
headers: { 'X-API-Key': this.apiKey },
|
|
489
544
|
timeout: 5000,
|
|
490
545
|
});
|
|
491
|
-
if (response.status === 401) {
|
|
492
|
-
throw new exceptions_1.ConfigurationException('Invalid API key. Please check your API key at https://platform.armoriq.ai/dashboard/api-keys');
|
|
546
|
+
if (response.status === 401 || response.status === 403) {
|
|
547
|
+
throw new exceptions_1.ConfigurationException('Invalid or revoked API key. Please check your API key at https://platform.armoriq.ai/dashboard/api-keys');
|
|
493
548
|
}
|
|
494
549
|
else if (response.status >= 400) {
|
|
495
550
|
console.warn(`API key validation returned status ${response.status}, but continuing...`);
|
|
@@ -566,18 +621,8 @@ class ArmorIQClient {
|
|
|
566
621
|
tool_calls: req.toolCalls,
|
|
567
622
|
authority_snapshot: req.authoritySnapshot,
|
|
568
623
|
};
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
console.warn(`[armoriq] pap refine() unreachable (${msg}); fail-open — accepting plan`);
|
|
572
|
-
return {
|
|
573
|
-
decision: 'accepted',
|
|
574
|
-
intentId: null,
|
|
575
|
-
violations: [],
|
|
576
|
-
offendingInterfaces: [],
|
|
577
|
-
predicateFails: [],
|
|
578
|
-
meta: { fail_open: true, error: msg },
|
|
579
|
-
};
|
|
580
|
-
};
|
|
624
|
+
// PAP refine always fails CLOSED: a transport error, non-2xx, or malformed
|
|
625
|
+
// response raises - it never silently accepts a plan.
|
|
581
626
|
let response;
|
|
582
627
|
try {
|
|
583
628
|
response = await this.httpClient.post(`${this.backendEndpoint}/iap/sdk/preflight`, payload, {
|
|
@@ -586,36 +631,21 @@ class ArmorIQClient {
|
|
|
586
631
|
'X-API-Key': this.apiKey,
|
|
587
632
|
},
|
|
588
633
|
timeout: 30000,
|
|
589
|
-
// Accept any status so we can branch on it explicitly below.
|
|
590
|
-
// Default axios behavior throws on 4xx/5xx — that lumps network
|
|
591
|
-
// outages and HTTP errors together, which the caller can't
|
|
592
|
-
// distinguish without inspecting the error shape.
|
|
593
634
|
validateStatus: () => true,
|
|
594
635
|
});
|
|
595
636
|
}
|
|
596
637
|
catch (err) {
|
|
597
638
|
const msg = err instanceof Error ? err.message : String(err);
|
|
598
|
-
if (failMode === 'open')
|
|
599
|
-
return buildOpenFallback(msg);
|
|
600
639
|
throw new ArmorIQError(`pap refine() transport error (fail-closed): ${msg}`);
|
|
601
640
|
}
|
|
602
641
|
const status = response?.status ?? 0;
|
|
603
642
|
const data = response?.data;
|
|
604
643
|
if (status < 200 || status >= 300) {
|
|
605
|
-
const detail = (data && (data.detail || data.message || data.error)) ||
|
|
606
|
-
|
|
607
|
-
const msg = `HTTP ${status}: ${detail}`;
|
|
608
|
-
if (failMode === 'open' && status >= 500) {
|
|
609
|
-
// Only treat 5xx as fail-open material; 4xx is the caller's fault
|
|
610
|
-
// and silently accepting it would mask real client errors.
|
|
611
|
-
return buildOpenFallback(msg);
|
|
612
|
-
}
|
|
613
|
-
throw new ArmorIQError(`pap refine() failed (fail-closed): ${msg}`);
|
|
644
|
+
const detail = (data && (data.detail || data.message || data.error)) || `HTTP ${status}`;
|
|
645
|
+
throw new ArmorIQError(`pap refine() failed (fail-closed): HTTP ${status}: ${detail}`);
|
|
614
646
|
}
|
|
615
647
|
if (!data || typeof data !== 'object' || !data.decision) {
|
|
616
648
|
const msg = `malformed response from pap-gateway: ${JSON.stringify(data).slice(0, 200)}`;
|
|
617
|
-
if (failMode === 'open')
|
|
618
|
-
return buildOpenFallback(msg);
|
|
619
649
|
throw new ArmorIQError(`pap refine() got malformed response (fail-closed): ${msg}`);
|
|
620
650
|
}
|
|
621
651
|
return {
|
|
@@ -691,7 +721,8 @@ class ArmorIQClient {
|
|
|
691
721
|
const responseData = error?.response?.data;
|
|
692
722
|
const deniedTools = responseData?.policy_validation?.denied_tools;
|
|
693
723
|
const deniedReasons = responseData?.policy_validation?.denied_reasons;
|
|
694
|
-
if (error?.response?.status === 403 ||
|
|
724
|
+
if (error?.response?.status === 403 ||
|
|
725
|
+
(Array.isArray(deniedTools) && deniedTools.length > 0)) {
|
|
695
726
|
const reason = (Array.isArray(deniedReasons) && deniedReasons.length > 0
|
|
696
727
|
? deniedReasons.join('; ')
|
|
697
728
|
: responseData?.message) || 'Blocked by policy';
|
|
@@ -840,7 +871,8 @@ class ArmorIQClient {
|
|
|
840
871
|
const enforcement = responseData.enforcement;
|
|
841
872
|
const enrichedError = new Error(responseData.message || `Enforcement: ${enforcement.action}`);
|
|
842
873
|
enrichedError.response = { status: response.status, data: responseData };
|
|
843
|
-
enrichedError.name =
|
|
874
|
+
enrichedError.name =
|
|
875
|
+
enforcement.action === 'block' ? 'PolicyBlockedException' : 'PolicyHoldException';
|
|
844
876
|
throw enrichedError;
|
|
845
877
|
}
|
|
846
878
|
if (response.status >= 400) {
|
|
@@ -879,9 +911,7 @@ class ArmorIQClient {
|
|
|
879
911
|
throw new exceptions_1.MCPInvocationException(`MCP tool error (${errorCode}): ${errorMsg} - ${errorData}`, mcp, action);
|
|
880
912
|
}
|
|
881
913
|
const resultData = data.result || data;
|
|
882
|
-
const hasToolError = Boolean(resultData?.isError) ||
|
|
883
|
-
Boolean(resultData?.error) ||
|
|
884
|
-
Boolean(resultData?.is_error);
|
|
914
|
+
const hasToolError = Boolean(resultData?.isError) || Boolean(resultData?.error) || Boolean(resultData?.is_error);
|
|
885
915
|
const result = {
|
|
886
916
|
mcp,
|
|
887
917
|
action,
|
|
@@ -910,7 +940,10 @@ class ArmorIQClient {
|
|
|
910
940
|
if (statusCode === 403 && errorDetail?.enforcement) {
|
|
911
941
|
const enrichedError = new Error(errorDetail.message || 'Enforcement action');
|
|
912
942
|
enrichedError.response = error.response;
|
|
913
|
-
enrichedError.name =
|
|
943
|
+
enrichedError.name =
|
|
944
|
+
errorDetail.enforcement.action === 'block'
|
|
945
|
+
? 'PolicyBlockedException'
|
|
946
|
+
: 'PolicyHoldException';
|
|
914
947
|
throw enrichedError;
|
|
915
948
|
}
|
|
916
949
|
if (statusCode === 401 || statusCode === 403) {
|
|
@@ -948,10 +981,11 @@ class ArmorIQClient {
|
|
|
948
981
|
if (subtask) {
|
|
949
982
|
payload.subtask = subtask;
|
|
950
983
|
}
|
|
984
|
+
// NOTE: delegate() is legacy. Prefer delegateSubtree() for subtree-bounded
|
|
985
|
+
// delegation. The /delegation/create route was removed; the live delegation
|
|
986
|
+
// endpoint is /iap/trust/delegate on the backend.
|
|
951
987
|
try {
|
|
952
|
-
const response = await this.httpClient.post(`${this.
|
|
953
|
-
timeout: 10000,
|
|
954
|
-
});
|
|
988
|
+
const response = await this.httpClient.post(`${this.backendEndpoint}/iap/trust/delegate`, payload, { timeout: 10000 });
|
|
955
989
|
if (response.status >= 400) {
|
|
956
990
|
throw new Error(`HTTP ${response.status}: ${response.statusText}`);
|
|
957
991
|
}
|
|
@@ -1107,7 +1141,10 @@ class ArmorIQClient {
|
|
|
1107
1141
|
}
|
|
1108
1142
|
}
|
|
1109
1143
|
/**
|
|
1110
|
-
* Verify an intent token
|
|
1144
|
+
* Verify an intent token: checks expiry AND cryptographically verifies the
|
|
1145
|
+
* Ed25519 signature over the canonical signed payload (which binds planHash).
|
|
1146
|
+
* Any tampering with the signed fields - including planHash - makes this
|
|
1147
|
+
* return false. Fails closed on missing material or any error.
|
|
1111
1148
|
*/
|
|
1112
1149
|
async verifyToken(intentToken) {
|
|
1113
1150
|
try {
|
|
@@ -1115,11 +1152,21 @@ class ArmorIQClient {
|
|
|
1115
1152
|
console.warn(`Token ${intentToken.tokenId} has expired`);
|
|
1116
1153
|
return false;
|
|
1117
1154
|
}
|
|
1118
|
-
|
|
1119
|
-
|
|
1155
|
+
const tokenData = (intentToken.rawToken && intentToken.rawToken.token) || {};
|
|
1156
|
+
const signedPlanHash = tokenData.plan_hash;
|
|
1157
|
+
if (!tokenData.public_key || !tokenData.signature || !signedPlanHash) {
|
|
1158
|
+
console.warn(`Token ${intentToken.tokenId} missing signature material; cannot verify`);
|
|
1159
|
+
return false;
|
|
1160
|
+
}
|
|
1161
|
+
if (!(0, crypto_verify_1.verifyIntentTokenSignature)(intentToken.rawToken)) {
|
|
1162
|
+
console.warn(`Token ${intentToken.tokenId} signature verification FAILED`);
|
|
1163
|
+
return false;
|
|
1164
|
+
}
|
|
1165
|
+
// The planHash the caller relies on must be the one that was signed.
|
|
1166
|
+
if (intentToken.planHash && intentToken.planHash !== signedPlanHash) {
|
|
1167
|
+
console.warn(`Token ${intentToken.tokenId} planHash does not match signed payload`);
|
|
1120
1168
|
return false;
|
|
1121
1169
|
}
|
|
1122
|
-
console.log(`Token ${intentToken.tokenId} is valid (expires in ${models_1.IntentToken.timeUntilExpiry(intentToken).toFixed(1)}s)`);
|
|
1123
1170
|
return true;
|
|
1124
1171
|
}
|
|
1125
1172
|
catch (error) {
|
|
@@ -1165,7 +1212,9 @@ class ArmorIQClient {
|
|
|
1165
1212
|
* List all MCPs registered for this org (resolved via API key).
|
|
1166
1213
|
*/
|
|
1167
1214
|
async listMcps() {
|
|
1168
|
-
const response = await this.httpClient.get(`${this.backendEndpoint}/mcp/my-servers`, {
|
|
1215
|
+
const response = await this.httpClient.get(`${this.backendEndpoint}/mcp/my-servers`, {
|
|
1216
|
+
headers: { 'X-API-Key': this.apiKey },
|
|
1217
|
+
});
|
|
1169
1218
|
if (response.status >= 400) {
|
|
1170
1219
|
throw new exceptions_1.MCPInvocationException(`listMcps failed: ${response.status} ${JSON.stringify(response.data)}`);
|
|
1171
1220
|
}
|
|
@@ -1242,7 +1291,13 @@ class ArmorIQClient {
|
|
|
1242
1291
|
*/
|
|
1243
1292
|
async createDelegationRequest(params) {
|
|
1244
1293
|
const idempotencyKey = `deleg-${Date.now()}-${Math.random().toString(36).slice(2, 10)}`;
|
|
1245
|
-
const response = await this.httpClient.post(`${this.backendEndpoint}/delegation/request`, params, {
|
|
1294
|
+
const response = await this.httpClient.post(`${this.backendEndpoint}/delegation/request`, params, {
|
|
1295
|
+
headers: {
|
|
1296
|
+
'X-API-Key': this.apiKey,
|
|
1297
|
+
'X-User-Email': params.requesterEmail,
|
|
1298
|
+
'Idempotency-Key': idempotencyKey,
|
|
1299
|
+
},
|
|
1300
|
+
});
|
|
1246
1301
|
if (response.status >= 400) {
|
|
1247
1302
|
throw new exceptions_1.DelegationException(`Failed to create delegation request: ${response.data?.message || response.statusText}`);
|
|
1248
1303
|
}
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function canonicalJson(value: unknown): string;
|
|
2
|
+
export declare function verifyIntentTokenSignature(rawToken: any): boolean;
|
|
3
|
+
export declare function verifyEd25519(publicKeyHex: string, message: Buffer, signatureHex: string): boolean;
|
|
4
|
+
//# sourceMappingURL=crypto_verify.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crypto_verify.d.ts","sourceRoot":"","sources":["../src/crypto_verify.ts"],"names":[],"mappings":"AAwBA,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAkBpD;AAKD,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAiBjE;AAKD,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAYlG"}
|
|
@@ -0,0 +1,135 @@
|
|
|
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.canonicalJson = canonicalJson;
|
|
37
|
+
exports.verifyIntentTokenSignature = verifyIntentTokenSignature;
|
|
38
|
+
exports.verifyEd25519 = verifyEd25519;
|
|
39
|
+
const crypto = __importStar(require("crypto"));
|
|
40
|
+
// Canonical JSON that byte-for-byte matches the IAP signer's
|
|
41
|
+
// json.dumps(payload, sort_keys=True, separators=(",", ":"), ensure_ascii=True).
|
|
42
|
+
// Used to recompute the exact bytes an Ed25519 intent-token signature covers.
|
|
43
|
+
function escapeAsciiString(s) {
|
|
44
|
+
let out = '"';
|
|
45
|
+
for (let i = 0; i < s.length; i++) {
|
|
46
|
+
const code = s.charCodeAt(i);
|
|
47
|
+
const ch = s[i];
|
|
48
|
+
if (ch === '"')
|
|
49
|
+
out += '\\"';
|
|
50
|
+
else if (ch === '\\')
|
|
51
|
+
out += '\\\\';
|
|
52
|
+
else if (code === 0x08)
|
|
53
|
+
out += '\\b';
|
|
54
|
+
else if (code === 0x09)
|
|
55
|
+
out += '\\t';
|
|
56
|
+
else if (code === 0x0a)
|
|
57
|
+
out += '\\n';
|
|
58
|
+
else if (code === 0x0c)
|
|
59
|
+
out += '\\f';
|
|
60
|
+
else if (code === 0x0d)
|
|
61
|
+
out += '\\r';
|
|
62
|
+
else if (code < 0x20 || code > 0x7e)
|
|
63
|
+
out += '\\u' + code.toString(16).padStart(4, '0');
|
|
64
|
+
else
|
|
65
|
+
out += ch;
|
|
66
|
+
}
|
|
67
|
+
return out + '"';
|
|
68
|
+
}
|
|
69
|
+
function canonicalJson(value) {
|
|
70
|
+
if (value === null)
|
|
71
|
+
return 'null';
|
|
72
|
+
const t = typeof value;
|
|
73
|
+
if (t === 'number') {
|
|
74
|
+
if (!Number.isFinite(value)) {
|
|
75
|
+
throw new Error('non-finite number is not valid in canonical JSON');
|
|
76
|
+
}
|
|
77
|
+
return JSON.stringify(value);
|
|
78
|
+
}
|
|
79
|
+
if (t === 'boolean')
|
|
80
|
+
return value ? 'true' : 'false';
|
|
81
|
+
if (t === 'string')
|
|
82
|
+
return escapeAsciiString(value);
|
|
83
|
+
if (Array.isArray(value))
|
|
84
|
+
return '[' + value.map(canonicalJson).join(',') + ']';
|
|
85
|
+
if (t === 'object') {
|
|
86
|
+
const obj = value;
|
|
87
|
+
const keys = Object.keys(obj).sort();
|
|
88
|
+
return '{' + keys.map((k) => escapeAsciiString(k) + ':' + canonicalJson(obj[k])).join(',') + '}';
|
|
89
|
+
}
|
|
90
|
+
throw new Error(`unsupported type in canonical JSON: ${t}`);
|
|
91
|
+
}
|
|
92
|
+
// Verify the Ed25519 signature of an intent token (the csrg token dict stored
|
|
93
|
+
// under rawToken.token), over the exact canonical payload the IAP signed.
|
|
94
|
+
// Returns false on missing material or a bad signature. Does NOT check expiry.
|
|
95
|
+
function verifyIntentTokenSignature(rawToken) {
|
|
96
|
+
const tokenData = (rawToken && rawToken.token) || {};
|
|
97
|
+
const publicKeyHex = tokenData.public_key;
|
|
98
|
+
const signatureHex = tokenData.signature;
|
|
99
|
+
if (!publicKeyHex || !signatureHex || !tokenData.plan_hash)
|
|
100
|
+
return false;
|
|
101
|
+
const payload = {
|
|
102
|
+
plan_hash: tokenData.plan_hash,
|
|
103
|
+
issued_at: tokenData.issued_at,
|
|
104
|
+
expires_at: tokenData.expires_at,
|
|
105
|
+
policy: tokenData.policy,
|
|
106
|
+
identity: tokenData.identity,
|
|
107
|
+
public_key: tokenData.public_key,
|
|
108
|
+
version: tokenData.version,
|
|
109
|
+
};
|
|
110
|
+
if (tokenData.allowed_operations)
|
|
111
|
+
payload.allowed_operations = tokenData.allowed_operations;
|
|
112
|
+
if (tokenData.resource_scope)
|
|
113
|
+
payload.resource_scope = tokenData.resource_scope;
|
|
114
|
+
return verifyEd25519(publicKeyHex, Buffer.from(canonicalJson(payload), 'utf8'), signatureHex);
|
|
115
|
+
}
|
|
116
|
+
// Verify a raw Ed25519 signature (hex) over `message` using a raw 32-byte
|
|
117
|
+
// Ed25519 public key (hex). Wraps the key in the standard SPKI DER prefix so
|
|
118
|
+
// Node's crypto.verify accepts it. Returns false on any malformed input.
|
|
119
|
+
function verifyEd25519(publicKeyHex, message, signatureHex) {
|
|
120
|
+
try {
|
|
121
|
+
const rawKey = Buffer.from(publicKeyHex, 'hex');
|
|
122
|
+
if (rawKey.length !== 32)
|
|
123
|
+
return false;
|
|
124
|
+
const sig = Buffer.from(signatureHex, 'hex');
|
|
125
|
+
if (sig.length !== 64)
|
|
126
|
+
return false;
|
|
127
|
+
const der = Buffer.concat([Buffer.from('302a300506032b6570032100', 'hex'), rawKey]);
|
|
128
|
+
const keyObject = crypto.createPublicKey({ key: der, format: 'der', type: 'spki' });
|
|
129
|
+
return crypto.verify(null, message, keyObject, sig);
|
|
130
|
+
}
|
|
131
|
+
catch {
|
|
132
|
+
return false;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=crypto_verify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crypto_verify.js","sourceRoot":"","sources":["../src/crypto_verify.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -9,14 +9,13 @@
|
|
|
9
9
|
* @version 0.3.0
|
|
10
10
|
*/
|
|
11
11
|
export { ArmorIQClient, ArmorIQUserScope } from './client';
|
|
12
|
+
export { summarizeTranscriptUsage, type TokenUsageEntry, type RecordTokenUsagePayload, } from './token_usage';
|
|
12
13
|
export { ArmorIQSession, SessionOptions, SessionMode, EnforceResult, ReportOptions, } from './session';
|
|
13
14
|
export { ArmorIQException, InvalidTokenException, IntentMismatchException, MCPInvocationException, TokenExpiredException, DelegationException, RevokedTokenError, ConfigurationException, PolicyBlockedException, PolicyHoldException, } from './exceptions';
|
|
14
15
|
export { IntentToken, PlanCapture, MCPInvocation, MCPInvocationResult, DelegationRequest, DelegationResult, SDKConfig, MCPSemanticMetadata, ToolSemanticEntry, PolicyContext, InvokeOptions, HoldInfo, DelegationRequestParams, DelegationRequestResult, ApprovedDelegation, ToolCall, McpCredential, McpCredentialMap, } from './models';
|
|
15
16
|
export { defaultToolNameParser, buildPlanFromToolCalls, hashToolCalls, ToolNameParser, PlanStep, BuiltPlan, } from './plan_builder';
|
|
16
17
|
export { ArmorIQConfig, ArmorIQConfigError, IdentityConfig, ProxyConfig, MCPAuthConfig, MCPAuthType, MCPServerConfig, PolicyConfig, IntentConfig, Environment, loadArmorIQConfig, parseArmorIQConfig, resolveEnvReference, resolveEnvReferences, saveArmorIQConfig, DEFAULT_PROXY_URL, } from './config';
|
|
17
|
-
export
|
|
18
|
-
export type { ArmorIQMCPToolsetOptions } from './integrations/google_adk_mcp_toolset';
|
|
19
|
-
export declare const VERSION = "0.3.0";
|
|
18
|
+
export declare const VERSION = "0.4.0";
|
|
20
19
|
export declare const AUTHOR = "ArmorIQ Team";
|
|
21
20
|
export declare const EMAIL = "license@armoriq.io";
|
|
22
21
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,EACL,cAAc,EACd,cAAc,EACd,WAAW,EACX,aAAa,EACb,aAAa,GACd,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,WAAW,EACX,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,EACT,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,QAAQ,EACR,uBAAuB,EACvB,uBAAuB,EACvB,kBAAkB,EAClB,QAAQ,EACR,aAAa,EACb,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,aAAa,EACb,cAAc,EACd,QAAQ,EACR,SAAS,GACV,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,aAAa,EACb,WAAW,EACX,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,UAAU,CAAC;AAElB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,EACL,wBAAwB,EACxB,KAAK,eAAe,EACpB,KAAK,uBAAuB,GAC7B,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,cAAc,EACd,cAAc,EACd,WAAW,EACX,aAAa,EACb,aAAa,GACd,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,WAAW,EACX,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,EACT,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,QAAQ,EACR,uBAAuB,EACvB,uBAAuB,EACvB,kBAAkB,EAClB,QAAQ,EACR,aAAa,EACb,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,aAAa,EACb,cAAc,EACd,QAAQ,EACR,SAAS,GACV,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,aAAa,EACb,WAAW,EACX,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,UAAU,CAAC;AAElB,eAAO,MAAM,OAAO,UAAU,CAAC;AAC/B,eAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,eAAO,MAAM,KAAK,uBAAuB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -10,10 +10,12 @@
|
|
|
10
10
|
* @version 0.3.0
|
|
11
11
|
*/
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.EMAIL = exports.AUTHOR = exports.VERSION = exports.
|
|
13
|
+
exports.EMAIL = exports.AUTHOR = exports.VERSION = exports.DEFAULT_PROXY_URL = exports.saveArmorIQConfig = exports.resolveEnvReferences = exports.resolveEnvReference = exports.parseArmorIQConfig = exports.loadArmorIQConfig = exports.ArmorIQConfigError = exports.hashToolCalls = exports.buildPlanFromToolCalls = exports.defaultToolNameParser = exports.IntentToken = exports.PolicyHoldException = exports.PolicyBlockedException = exports.ConfigurationException = exports.RevokedTokenError = exports.DelegationException = exports.TokenExpiredException = exports.MCPInvocationException = exports.IntentMismatchException = exports.InvalidTokenException = exports.ArmorIQException = exports.ArmorIQSession = exports.summarizeTranscriptUsage = exports.ArmorIQUserScope = exports.ArmorIQClient = void 0;
|
|
14
14
|
var client_1 = require("./client");
|
|
15
15
|
Object.defineProperty(exports, "ArmorIQClient", { enumerable: true, get: function () { return client_1.ArmorIQClient; } });
|
|
16
16
|
Object.defineProperty(exports, "ArmorIQUserScope", { enumerable: true, get: function () { return client_1.ArmorIQUserScope; } });
|
|
17
|
+
var token_usage_1 = require("./token_usage");
|
|
18
|
+
Object.defineProperty(exports, "summarizeTranscriptUsage", { enumerable: true, get: function () { return token_usage_1.summarizeTranscriptUsage; } });
|
|
17
19
|
var session_1 = require("./session");
|
|
18
20
|
Object.defineProperty(exports, "ArmorIQSession", { enumerable: true, get: function () { return session_1.ArmorIQSession; } });
|
|
19
21
|
var exceptions_1 = require("./exceptions");
|
|
@@ -41,9 +43,7 @@ Object.defineProperty(exports, "resolveEnvReference", { enumerable: true, get: f
|
|
|
41
43
|
Object.defineProperty(exports, "resolveEnvReferences", { enumerable: true, get: function () { return config_1.resolveEnvReferences; } });
|
|
42
44
|
Object.defineProperty(exports, "saveArmorIQConfig", { enumerable: true, get: function () { return config_1.saveArmorIQConfig; } });
|
|
43
45
|
Object.defineProperty(exports, "DEFAULT_PROXY_URL", { enumerable: true, get: function () { return config_1.DEFAULT_PROXY_URL; } });
|
|
44
|
-
|
|
45
|
-
Object.defineProperty(exports, "ArmorIQMCPToolset", { enumerable: true, get: function () { return google_adk_mcp_toolset_1.ArmorIQMCPToolset; } });
|
|
46
|
-
exports.VERSION = '0.3.0';
|
|
46
|
+
exports.VERSION = '0.4.0';
|
|
47
47
|
exports.AUTHOR = 'ArmorIQ Team';
|
|
48
48
|
exports.EMAIL = 'license@armoriq.io';
|
|
49
49
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAEH,mCAA2D;AAAlD,uGAAA,aAAa,OAAA;AAAE,0GAAA,gBAAgB,OAAA;AACxC,qCAMmB;AALjB,yGAAA,cAAc,OAAA;AAMhB,2CAWsB;AAVpB,8GAAA,gBAAgB,OAAA;AAChB,mHAAA,qBAAqB,OAAA;AACrB,qHAAA,uBAAuB,OAAA;AACvB,oHAAA,sBAAsB,OAAA;AACtB,mHAAA,qBAAqB,OAAA;AACrB,iHAAA,mBAAmB,OAAA;AACnB,+GAAA,iBAAiB,OAAA;AACjB,oHAAA,sBAAsB,OAAA;AACtB,oHAAA,sBAAsB,OAAA;AACtB,iHAAA,mBAAmB,OAAA;AAErB,mCAmBkB;AAlBhB,qGAAA,WAAW,OAAA;AAoBb,+CAOwB;AANtB,qHAAA,qBAAqB,OAAA;AACrB,sHAAA,sBAAsB,OAAA;AACtB,6GAAA,aAAa,OAAA;AAMf,mCAiBkB;AAfhB,4GAAA,kBAAkB,OAAA;AASlB,2GAAA,iBAAiB,OAAA;AACjB,4GAAA,kBAAkB,OAAA;AAClB,6GAAA,mBAAmB,OAAA;AACnB,8GAAA,oBAAoB,OAAA;AACpB,2GAAA,iBAAiB,OAAA;AACjB,2GAAA,iBAAiB,OAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAEH,mCAA2D;AAAlD,uGAAA,aAAa,OAAA;AAAE,0GAAA,gBAAgB,OAAA;AACxC,6CAIuB;AAHrB,uHAAA,wBAAwB,OAAA;AAI1B,qCAMmB;AALjB,yGAAA,cAAc,OAAA;AAMhB,2CAWsB;AAVpB,8GAAA,gBAAgB,OAAA;AAChB,mHAAA,qBAAqB,OAAA;AACrB,qHAAA,uBAAuB,OAAA;AACvB,oHAAA,sBAAsB,OAAA;AACtB,mHAAA,qBAAqB,OAAA;AACrB,iHAAA,mBAAmB,OAAA;AACnB,+GAAA,iBAAiB,OAAA;AACjB,oHAAA,sBAAsB,OAAA;AACtB,oHAAA,sBAAsB,OAAA;AACtB,iHAAA,mBAAmB,OAAA;AAErB,mCAmBkB;AAlBhB,qGAAA,WAAW,OAAA;AAoBb,+CAOwB;AANtB,qHAAA,qBAAqB,OAAA;AACrB,sHAAA,sBAAsB,OAAA;AACtB,6GAAA,aAAa,OAAA;AAMf,mCAiBkB;AAfhB,4GAAA,kBAAkB,OAAA;AASlB,2GAAA,iBAAiB,OAAA;AACjB,4GAAA,kBAAkB,OAAA;AAClB,6GAAA,mBAAmB,OAAA;AACnB,8GAAA,oBAAoB,OAAA;AACpB,2GAAA,iBAAiB,OAAA;AACjB,2GAAA,iBAAiB,OAAA;AAGN,QAAA,OAAO,GAAG,OAAO,CAAC;AAClB,QAAA,MAAM,GAAG,cAAc,CAAC;AACxB,QAAA,KAAK,GAAG,oBAAoB,CAAC"}
|
package/dist/session.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|
package/dist/session.js
CHANGED
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
*/
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
exports.ArmorIQSession = void 0;
|
|
19
|
+
const crypto_verify_1 = require("./crypto_verify");
|
|
19
20
|
const models_1 = require("./models");
|
|
20
21
|
const plan_builder_1 = require("./plan_builder");
|
|
21
22
|
class ArmorIQSession {
|
|
@@ -157,6 +158,12 @@ class ArmorIQSession {
|
|
|
157
158
|
if (models_1.IntentToken.isExpired(this.currentToken)) {
|
|
158
159
|
return { allowed: false, action: 'block', reason: 'token-expired' };
|
|
159
160
|
}
|
|
161
|
+
// The local decision is read from the token's policy fields, so the token
|
|
162
|
+
// must be cryptographically authentic first - otherwise a forged token
|
|
163
|
+
// could assert an arbitrary allowlist. Fail closed if the signature is bad.
|
|
164
|
+
if (!(0, crypto_verify_1.verifyIntentTokenSignature)(this.currentToken.rawToken)) {
|
|
165
|
+
return { allowed: false, action: 'block', reason: 'token-signature-invalid' };
|
|
166
|
+
}
|
|
160
167
|
const { mcp, action } = this.toolNameParser(toolName);
|
|
161
168
|
const inPlan = this.declaredTools.has(toolName) ||
|
|
162
169
|
this.declaredTools.has(action) ||
|
|
@@ -289,7 +296,7 @@ class ArmorIQSession {
|
|
|
289
296
|
timeout: 10000,
|
|
290
297
|
});
|
|
291
298
|
const data = response.data ?? {};
|
|
292
|
-
const allowed = data.allowed
|
|
299
|
+
const allowed = data.allowed === true;
|
|
293
300
|
const actionDecision = data.enforcementAction ?? (allowed ? 'allow' : 'block');
|
|
294
301
|
const matched = typeof data.matchedPolicy === 'object'
|
|
295
302
|
? data.matchedPolicy?.name
|
|
@@ -310,8 +317,12 @@ class ArmorIQSession {
|
|
|
310
317
|
};
|
|
311
318
|
}
|
|
312
319
|
catch (e) {
|
|
313
|
-
console.
|
|
314
|
-
return {
|
|
320
|
+
console.error(`enforceSdk() failed: ${e.message}. Blocking tool call (fail-closed).`);
|
|
321
|
+
return {
|
|
322
|
+
allowed: false,
|
|
323
|
+
action: 'block',
|
|
324
|
+
reason: `enforce-unavailable: ${e.message}`,
|
|
325
|
+
};
|
|
315
326
|
}
|
|
316
327
|
}
|
|
317
328
|
async enforce(toolName, toolArgs) {
|
|
@@ -349,21 +360,20 @@ class ArmorIQSession {
|
|
|
349
360
|
headers: { 'X-API-Key': internals.apiKey, 'Content-Type': 'application/json' },
|
|
350
361
|
timeout: 10000,
|
|
351
362
|
});
|
|
352
|
-
|
|
353
|
-
|
|
363
|
+
const data = response.data ?? {};
|
|
364
|
+
const rawPolicy = data.matched_policy ?? data.matchedPolicy;
|
|
365
|
+
const policyName = rawPolicy && typeof rawPolicy === 'object' ? rawPolicy.name : rawPolicy;
|
|
366
|
+
// Fail closed: only an explicit allow from a 2xx response permits the call.
|
|
367
|
+
// Any error status (403 or otherwise) or an ambiguous body blocks.
|
|
368
|
+
if (response.status >= 400) {
|
|
354
369
|
return {
|
|
355
370
|
allowed: false,
|
|
356
371
|
action: data.action ?? 'block',
|
|
357
|
-
reason: data.reason ?? data.message
|
|
358
|
-
matchedPolicy:
|
|
359
|
-
? data.matched_policy?.name
|
|
360
|
-
: data.matched_policy,
|
|
372
|
+
reason: data.reason ?? data.message ?? `enforce-rejected: HTTP ${response.status}`,
|
|
373
|
+
matchedPolicy: policyName,
|
|
361
374
|
};
|
|
362
375
|
}
|
|
363
|
-
const
|
|
364
|
-
const rawPolicy = data.matched_policy ?? data.matchedPolicy;
|
|
365
|
-
const policyName = rawPolicy && typeof rawPolicy === 'object' ? rawPolicy.name : rawPolicy;
|
|
366
|
-
const allowedFlag = data.allowed !== false;
|
|
376
|
+
const allowedFlag = data.allowed === true;
|
|
367
377
|
const actionDecision = data.enforcementAction ?? data.action ?? (allowedFlag ? 'allow' : 'block');
|
|
368
378
|
return {
|
|
369
379
|
allowed: allowedFlag,
|
|
@@ -374,8 +384,12 @@ class ArmorIQSession {
|
|
|
374
384
|
};
|
|
375
385
|
}
|
|
376
386
|
catch (e) {
|
|
377
|
-
console.
|
|
378
|
-
return {
|
|
387
|
+
console.error(`enforce() failed: ${e.message}. Blocking tool call (fail-closed).`);
|
|
388
|
+
return {
|
|
389
|
+
allowed: false,
|
|
390
|
+
action: 'block',
|
|
391
|
+
reason: `enforce-unavailable: ${e.message}`,
|
|
392
|
+
};
|
|
379
393
|
}
|
|
380
394
|
}
|
|
381
395
|
async check(toolName, toolArgs, userEmail) {
|
package/dist/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export interface TokenUsageEntry {
|
|
2
|
+
model: string;
|
|
3
|
+
inputTokens: number;
|
|
4
|
+
outputTokens: number;
|
|
5
|
+
cacheReadTokens: number;
|
|
6
|
+
cacheWriteTokens: number;
|
|
7
|
+
}
|
|
8
|
+
export interface RecordTokenUsagePayload {
|
|
9
|
+
/** Product slug: "armorclaude" | "armorcodex" | "armorcopilot" | ... */
|
|
10
|
+
product: string;
|
|
11
|
+
sessionId: string;
|
|
12
|
+
entries: TokenUsageEntry[];
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Parse a JSONL transcript (one JSON object per line) and sum LLM token usage by
|
|
16
|
+
* model. Each assistant line is expected to carry `message.usage` with
|
|
17
|
+
* `input_tokens` / `output_tokens` / `cache_read_input_tokens` /
|
|
18
|
+
* `cache_creation_input_tokens`, and `message.model`. Synthetic and zero-usage
|
|
19
|
+
* lines are skipped. Pure + defensive: returns [] on any read/parse error.
|
|
20
|
+
*/
|
|
21
|
+
export declare function summarizeTranscriptUsage(transcriptPath: string): TokenUsageEntry[];
|
|
22
|
+
//# sourceMappingURL=token_usage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token_usage.d.ts","sourceRoot":"","sources":["../src/token_usage.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,uBAAuB;IACtC,wEAAwE;IACxE,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,cAAc,EAAE,MAAM,GAAG,eAAe,EAAE,CA+ClF"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.summarizeTranscriptUsage = summarizeTranscriptUsage;
|
|
4
|
+
/**
|
|
5
|
+
* Token-usage capture — shared across all ArmorIQ tool integrations
|
|
6
|
+
* (ArmorClaude / ArmorCodex / ArmorCopilot / future agents).
|
|
7
|
+
*
|
|
8
|
+
* The transport (`ArmorIQClient.recordTokenUsage`) is the single code path every
|
|
9
|
+
* tool posts through. `summarizeTranscriptUsage` parses an Anthropic-style JSONL
|
|
10
|
+
* transcript (Claude Code / Codex CLI) into per-model entries; tools whose
|
|
11
|
+
* transcript differs can build entries themselves and still post via the client.
|
|
12
|
+
*/
|
|
13
|
+
const fs_1 = require("fs");
|
|
14
|
+
/**
|
|
15
|
+
* Parse a JSONL transcript (one JSON object per line) and sum LLM token usage by
|
|
16
|
+
* model. Each assistant line is expected to carry `message.usage` with
|
|
17
|
+
* `input_tokens` / `output_tokens` / `cache_read_input_tokens` /
|
|
18
|
+
* `cache_creation_input_tokens`, and `message.model`. Synthetic and zero-usage
|
|
19
|
+
* lines are skipped. Pure + defensive: returns [] on any read/parse error.
|
|
20
|
+
*/
|
|
21
|
+
function summarizeTranscriptUsage(transcriptPath) {
|
|
22
|
+
let raw;
|
|
23
|
+
try {
|
|
24
|
+
raw = (0, fs_1.readFileSync)(transcriptPath, 'utf8');
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
return [];
|
|
28
|
+
}
|
|
29
|
+
const byModel = new Map();
|
|
30
|
+
for (const line of raw.split('\n')) {
|
|
31
|
+
const trimmed = line.trim();
|
|
32
|
+
if (!trimmed)
|
|
33
|
+
continue;
|
|
34
|
+
let obj;
|
|
35
|
+
try {
|
|
36
|
+
obj = JSON.parse(trimmed);
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
// Tolerate both Anthropic (Claude Code) and OpenAI (Codex CLI) shapes, and
|
|
42
|
+
// common nestings (top-level, message.*, payload.*).
|
|
43
|
+
const msg = obj?.message ?? obj?.payload ?? obj;
|
|
44
|
+
const usage = msg?.usage ?? obj?.usage;
|
|
45
|
+
const model = typeof msg?.model === 'string' ? msg.model : typeof obj?.model === 'string' ? obj.model : '';
|
|
46
|
+
if (!usage || !model || model === '<synthetic>')
|
|
47
|
+
continue;
|
|
48
|
+
// Anthropic: input_tokens/output_tokens; OpenAI: prompt_tokens/completion_tokens.
|
|
49
|
+
const inTok = Number(usage.input_tokens ?? usage.prompt_tokens) || 0;
|
|
50
|
+
const outTok = Number(usage.output_tokens ?? usage.completion_tokens) || 0;
|
|
51
|
+
const cacheRead = Number(usage.cache_read_input_tokens ?? usage.prompt_tokens_details?.cached_tokens) || 0;
|
|
52
|
+
const cacheWrite = Number(usage.cache_creation_input_tokens) || 0;
|
|
53
|
+
if (inTok + outTok + cacheRead + cacheWrite === 0)
|
|
54
|
+
continue;
|
|
55
|
+
const acc = byModel.get(model) ||
|
|
56
|
+
{
|
|
57
|
+
model,
|
|
58
|
+
inputTokens: 0,
|
|
59
|
+
outputTokens: 0,
|
|
60
|
+
cacheReadTokens: 0,
|
|
61
|
+
cacheWriteTokens: 0,
|
|
62
|
+
};
|
|
63
|
+
acc.inputTokens += inTok;
|
|
64
|
+
acc.outputTokens += outTok;
|
|
65
|
+
acc.cacheReadTokens += cacheRead;
|
|
66
|
+
acc.cacheWriteTokens += cacheWrite;
|
|
67
|
+
byModel.set(model, acc);
|
|
68
|
+
}
|
|
69
|
+
return [...byModel.values()];
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=token_usage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token_usage.js","sourceRoot":"","sources":["../src/token_usage.ts"],"names":[],"mappings":";;AAiCA,4DA+CC;AAhFD;;;;;;;;GAQG;AACH,2BAAkC;AAiBlC;;;;;;GAMG;AACH,SAAgB,wBAAwB,CAAC,cAAsB;IAC7D,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,IAAA,iBAAY,EAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,GAAG,EAA2B,CAAC;IACnD,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,IAAI,GAAQ,CAAC;QACb,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,2EAA2E;QAC3E,qDAAqD;QACrD,MAAM,GAAG,GAAG,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,OAAO,IAAI,GAAG,CAAC;QAChD,MAAM,KAAK,GAAG,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,CAAC;QACvC,MAAM,KAAK,GACT,OAAO,GAAG,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,aAAa;YAAE,SAAS;QAC1D,kFAAkF;QAClF,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC3E,MAAM,SAAS,GACb,MAAM,CAAC,KAAK,CAAC,uBAAuB,IAAI,KAAK,CAAC,qBAAqB,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;QAC3F,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;QAClE,IAAI,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,KAAK,CAAC;YAAE,SAAS;QAC5D,MAAM,GAAG,GACP,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;YACjB;gBACC,KAAK;gBACL,WAAW,EAAE,CAAC;gBACd,YAAY,EAAE,CAAC;gBACf,eAAe,EAAE,CAAC;gBAClB,gBAAgB,EAAE,CAAC;aACA,CAAC;QACxB,GAAG,CAAC,WAAW,IAAI,KAAK,CAAC;QACzB,GAAG,CAAC,YAAY,IAAI,MAAM,CAAC;QAC3B,GAAG,CAAC,eAAe,IAAI,SAAS,CAAC;QACjC,GAAG,CAAC,gBAAgB,IAAI,UAAU,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AAC/B,CAAC"}
|