@armoriq/sdk-dev 0.2.15 → 0.3.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/cli/commands/auth.d.ts +15 -0
- package/dist/cli/commands/auth.d.ts.map +1 -0
- package/dist/cli/commands/auth.js +259 -0
- package/dist/cli/commands/auth.js.map +1 -0
- package/dist/cli/commands/keys.d.ts +14 -0
- package/dist/cli/commands/keys.d.ts.map +1 -0
- package/dist/cli/commands/keys.js +132 -0
- package/dist/cli/commands/keys.js.map +1 -0
- package/dist/cli/commands/orgs.d.ts +10 -0
- package/dist/cli/commands/orgs.d.ts.map +1 -0
- package/dist/cli/commands/orgs.js +152 -0
- package/dist/cli/commands/orgs.js.map +1 -0
- package/dist/cli/commands/status.d.ts +9 -0
- package/dist/cli/commands/status.d.ts.map +1 -0
- package/dist/cli/commands/status.js +103 -0
- package/dist/cli/commands/status.js.map +1 -0
- package/dist/cli/index.d.ts +15 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +141 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/state.d.ts +22 -0
- package/dist/cli/state.d.ts.map +1 -0
- package/dist/cli/state.js +91 -0
- package/dist/cli/state.js.map +1 -0
- package/dist/cli/util.d.ts +19 -0
- package/dist/cli/util.d.ts.map +1 -0
- package/dist/cli/util.js +107 -0
- package/dist/cli/util.js.map +1 -0
- package/dist/client.d.ts +73 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +289 -5
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +64 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +215 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +6 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -2
- package/dist/index.js.map +1 -1
- package/dist/integrations/google_adk.d.ts +107 -0
- package/dist/integrations/google_adk.d.ts.map +1 -0
- package/dist/integrations/google_adk.js +301 -0
- package/dist/integrations/google_adk.js.map +1 -0
- package/dist/models.d.ts +36 -0
- package/dist/models.d.ts.map +1 -1
- package/dist/plan_builder.d.ts +53 -0
- package/dist/plan_builder.d.ts.map +1 -0
- package/dist/plan_builder.js +110 -0
- package/dist/plan_builder.js.map +1 -0
- package/dist/session.d.ts +75 -0
- package/dist/session.d.ts.map +1 -0
- package/dist/session.js +486 -0
- package/dist/session.js.map +1 -0
- package/package.json +9 -2
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;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -39,7 +39,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
39
39
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
40
|
};
|
|
41
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
-
exports.ArmorIQClient = void 0;
|
|
42
|
+
exports.ArmorIQUserScope = exports.ArmorIQClient = void 0;
|
|
43
43
|
const axios_1 = __importDefault(require("axios"));
|
|
44
44
|
const crypto = __importStar(require("crypto"));
|
|
45
45
|
const models_1 = require("./models");
|
|
@@ -89,10 +89,20 @@ class ArmorIQClient {
|
|
|
89
89
|
contextId;
|
|
90
90
|
apiKey;
|
|
91
91
|
timeout;
|
|
92
|
+
maxRetries;
|
|
92
93
|
verifySsl;
|
|
93
94
|
httpClient;
|
|
94
95
|
tokenCache;
|
|
95
96
|
metadataCache;
|
|
97
|
+
mcpCredentials;
|
|
98
|
+
bootstrapCache = null;
|
|
99
|
+
userCache = new Map();
|
|
100
|
+
userContextTtlSeconds = 300;
|
|
101
|
+
/**
|
|
102
|
+
* When set by ArmorIQUserScope, all enforcement / token minting calls
|
|
103
|
+
* are tagged with this email. Read by session and report paths.
|
|
104
|
+
*/
|
|
105
|
+
userEmailOverride;
|
|
96
106
|
constructor(options = {}) {
|
|
97
107
|
// `useProduction: false` is a legacy escape hatch for local dev — treat
|
|
98
108
|
// it as ARMORIQ_ENV=local unless the caller set the env var explicitly.
|
|
@@ -166,10 +176,11 @@ class ArmorIQClient {
|
|
|
166
176
|
}
|
|
167
177
|
this.proxyEndpoints = options.proxyEndpoints || {};
|
|
168
178
|
this.timeout = options.timeout || 30000;
|
|
179
|
+
this.maxRetries = options.maxRetries ?? 3;
|
|
169
180
|
this.verifySsl = options.verifySsl ?? true;
|
|
170
181
|
// Initialize HTTP client
|
|
171
182
|
const headers = {
|
|
172
|
-
'User-Agent': `ArmorIQ-SDK-TS/0.
|
|
183
|
+
'User-Agent': `ArmorIQ-SDK-TS/0.3.0 (agent=${this.agentId})`,
|
|
173
184
|
};
|
|
174
185
|
if (this.apiKey) {
|
|
175
186
|
headers['Authorization'] = `Bearer ${this.apiKey}`;
|
|
@@ -181,6 +192,7 @@ class ArmorIQClient {
|
|
|
181
192
|
});
|
|
182
193
|
this.tokenCache = new Map();
|
|
183
194
|
this.metadataCache = new Map();
|
|
195
|
+
this.mcpCredentials = ArmorIQClient.resolveMcpCredentials(options.mcpCredentials);
|
|
184
196
|
const mode = (process.env.ARMORIQ_ENV || '').toLowerCase() || _build_env_1.ARMORIQ_ENV;
|
|
185
197
|
console.log(`ArmorIQ SDK initialized: mode=${mode}, ` +
|
|
186
198
|
`user=${this.userId}, agent=${this.agentId}, ` +
|
|
@@ -210,6 +222,231 @@ class ArmorIQClient {
|
|
|
210
222
|
get proxyEndpoint() {
|
|
211
223
|
return this.defaultProxyEndpoint;
|
|
212
224
|
}
|
|
225
|
+
/**
|
|
226
|
+
* Internal accessor for ArmorIQSession and other in-package consumers.
|
|
227
|
+
* Not part of the public API.
|
|
228
|
+
* @internal
|
|
229
|
+
*/
|
|
230
|
+
_sessionInternals() {
|
|
231
|
+
return {
|
|
232
|
+
apiKey: this.apiKey,
|
|
233
|
+
backendEndpoint: this.backendEndpoint,
|
|
234
|
+
defaultProxyEndpoint: this.defaultProxyEndpoint,
|
|
235
|
+
httpClient: this.httpClient,
|
|
236
|
+
userId: this.userId,
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Start a session bound to this client. Mirrors PY ArmorIQClient.start_session.
|
|
241
|
+
*/
|
|
242
|
+
startSession(opts) {
|
|
243
|
+
// Lazy require to keep client.ts free of a hard dependency on session.ts
|
|
244
|
+
// (and to avoid an import cycle with ArmorIQUserScope).
|
|
245
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
246
|
+
const { ArmorIQSession } = require('./session');
|
|
247
|
+
return new ArmorIQSession(this, opts);
|
|
248
|
+
}
|
|
249
|
+
// ─── Bootstrap ────────────────────────────────────────────────────
|
|
250
|
+
// Mirrors armoriq_sdk/client.py:bootstrap. Resolves agent identity +
|
|
251
|
+
// registered MCPs + tool→MCP map from the API key. Cached for the
|
|
252
|
+
// lifetime of the client; refreshBootstrap() forces a re-fetch.
|
|
253
|
+
async bootstrap() {
|
|
254
|
+
if (this.bootstrapCache)
|
|
255
|
+
return this.bootstrapCache;
|
|
256
|
+
const resp = await this.httpClient.post(`${this.backendEndpoint}/iap/sdk/bootstrap`, {}, { headers: { 'X-API-Key': this.apiKey, 'Content-Type': 'application/json' } });
|
|
257
|
+
if (resp.status >= 400) {
|
|
258
|
+
throw new exceptions_1.ConfigurationException(`sdk/bootstrap failed: ${resp.status} ${typeof resp.data === 'string' ? resp.data : JSON.stringify(resp.data)}`);
|
|
259
|
+
}
|
|
260
|
+
this.bootstrapCache = resp.data;
|
|
261
|
+
return resp.data;
|
|
262
|
+
}
|
|
263
|
+
async refreshBootstrap() {
|
|
264
|
+
this.bootstrapCache = null;
|
|
265
|
+
return this.bootstrap();
|
|
266
|
+
}
|
|
267
|
+
// ─── Multi-org / user scope ──────────────────────────────────────
|
|
268
|
+
// Mirrors armoriq_sdk/client.py:resolve_user / for_user.
|
|
269
|
+
async resolveUser(userEmail) {
|
|
270
|
+
const key = userEmail.trim().toLowerCase();
|
|
271
|
+
const hit = this.userCache.get(key);
|
|
272
|
+
if (hit && hit.expiresAt > Date.now() / 1000) {
|
|
273
|
+
return hit.data;
|
|
274
|
+
}
|
|
275
|
+
const resp = await this.httpClient.post(`${this.backendEndpoint}/iap/sdk/resolve-user`, { userEmail: key }, { headers: { 'X-API-Key': this.apiKey, 'Content-Type': 'application/json' } });
|
|
276
|
+
if (resp.status >= 400) {
|
|
277
|
+
throw new exceptions_1.ConfigurationException(`sdk/resolve-user failed for ${key}: ${resp.status} ${typeof resp.data === 'string' ? resp.data : JSON.stringify(resp.data)}`);
|
|
278
|
+
}
|
|
279
|
+
this.userCache.set(key, {
|
|
280
|
+
data: resp.data,
|
|
281
|
+
expiresAt: Date.now() / 1000 + this.userContextTtlSeconds,
|
|
282
|
+
});
|
|
283
|
+
return resp.data;
|
|
284
|
+
}
|
|
285
|
+
invalidateUser(userEmail) {
|
|
286
|
+
this.userCache.delete(userEmail.trim().toLowerCase());
|
|
287
|
+
}
|
|
288
|
+
forUser(userEmail) {
|
|
289
|
+
return new ArmorIQUserScope(this, userEmail);
|
|
290
|
+
}
|
|
291
|
+
// ─── MCP credential resolution ─────────────────────────────────────
|
|
292
|
+
// Mirrors armoriq_sdk/client.py:_resolve_mcp_credentials so the same
|
|
293
|
+
// env JSON / per-MCP env vars work in both SDKs.
|
|
294
|
+
// 1. ARMORIQ_MCP_CREDENTIALS (JSON object {mcpName: cred})
|
|
295
|
+
// 2. ARMORIQ_MCP_<SAFE_NAME>_AUTH_TYPE plus matching value vars
|
|
296
|
+
// 3. constructor option `mcpCredentials` — wins.
|
|
297
|
+
/**
|
|
298
|
+
* Construct an ArmorIQClient from an armoriq.yaml file. Mirrors PY
|
|
299
|
+
* ArmorIQClient.from_config — reads YAML, expands $VAR / ${VAR} env refs,
|
|
300
|
+
* builds the SDKConfig, and returns a ready client.
|
|
301
|
+
*/
|
|
302
|
+
static fromConfig(filePath = 'armoriq.yaml') {
|
|
303
|
+
// Lazy require to avoid making js-yaml a hard dependency for callers
|
|
304
|
+
// that never use the YAML loader.
|
|
305
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
306
|
+
const { loadArmorIQConfig, resolveEnvReferences } = require('./config');
|
|
307
|
+
const cfg = resolveEnvReferences(loadArmorIQConfig(filePath));
|
|
308
|
+
const proxyEndpoints = {};
|
|
309
|
+
const mcpCredentials = {};
|
|
310
|
+
for (const s of cfg.mcp_servers) {
|
|
311
|
+
proxyEndpoints[s.id] = s.url;
|
|
312
|
+
if (s.auth.type === 'bearer' && s.auth.token) {
|
|
313
|
+
mcpCredentials[s.id] = { authType: 'bearer', token: s.auth.token };
|
|
314
|
+
}
|
|
315
|
+
else if (s.auth.type === 'api_key' && s.auth.api_key) {
|
|
316
|
+
mcpCredentials[s.id] = { authType: 'api_key', apiKey: s.auth.api_key };
|
|
317
|
+
}
|
|
318
|
+
else if (s.auth.type === 'none') {
|
|
319
|
+
mcpCredentials[s.id] = { authType: 'none' };
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
return new ArmorIQClient({
|
|
323
|
+
apiKey: cfg.identity.api_key,
|
|
324
|
+
userId: cfg.identity.user_id,
|
|
325
|
+
agentId: cfg.identity.agent_id,
|
|
326
|
+
proxyEndpoint: cfg.proxy.url,
|
|
327
|
+
timeout: cfg.proxy.timeout * 1000,
|
|
328
|
+
proxyEndpoints,
|
|
329
|
+
mcpCredentials,
|
|
330
|
+
});
|
|
331
|
+
}
|
|
332
|
+
static resolveMcpCredentials(fromOptions) {
|
|
333
|
+
const merged = {};
|
|
334
|
+
const jsonRaw = process.env.ARMORIQ_MCP_CREDENTIALS;
|
|
335
|
+
if (jsonRaw) {
|
|
336
|
+
try {
|
|
337
|
+
const parsed = JSON.parse(jsonRaw);
|
|
338
|
+
if (parsed && typeof parsed === 'object') {
|
|
339
|
+
for (const [k, v] of Object.entries(parsed)) {
|
|
340
|
+
merged[k] = v;
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
catch (e) {
|
|
345
|
+
console.warn(`Failed to parse ARMORIQ_MCP_CREDENTIALS as JSON: ${e.message}`);
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
const safeNames = new Set();
|
|
349
|
+
for (const key of Object.keys(process.env)) {
|
|
350
|
+
const m = /^ARMORIQ_MCP_(.+)_AUTH_TYPE$/.exec(key);
|
|
351
|
+
if (m)
|
|
352
|
+
safeNames.add(m[1]);
|
|
353
|
+
}
|
|
354
|
+
for (const safe of safeNames) {
|
|
355
|
+
const authType = (process.env[`ARMORIQ_MCP_${safe}_AUTH_TYPE`] || '').toLowerCase();
|
|
356
|
+
let cred;
|
|
357
|
+
if (authType === 'bearer') {
|
|
358
|
+
const token = process.env[`ARMORIQ_MCP_${safe}_TOKEN`];
|
|
359
|
+
if (token)
|
|
360
|
+
cred = { authType: 'bearer', token };
|
|
361
|
+
}
|
|
362
|
+
else if (authType === 'api_key') {
|
|
363
|
+
const apiKey = process.env[`ARMORIQ_MCP_${safe}_API_KEY`];
|
|
364
|
+
const headerName = process.env[`ARMORIQ_MCP_${safe}_HEADER_NAME`];
|
|
365
|
+
if (apiKey)
|
|
366
|
+
cred = headerName ? { authType: 'api_key', apiKey, headerName } : { authType: 'api_key', apiKey };
|
|
367
|
+
}
|
|
368
|
+
else if (authType === 'basic') {
|
|
369
|
+
const username = process.env[`ARMORIQ_MCP_${safe}_USERNAME`];
|
|
370
|
+
const password = process.env[`ARMORIQ_MCP_${safe}_PASSWORD`];
|
|
371
|
+
if (username && password)
|
|
372
|
+
cred = { authType: 'basic', username, password };
|
|
373
|
+
}
|
|
374
|
+
else if (authType === 'none') {
|
|
375
|
+
cred = { authType: 'none' };
|
|
376
|
+
}
|
|
377
|
+
if (cred)
|
|
378
|
+
merged[safe] = cred;
|
|
379
|
+
}
|
|
380
|
+
if (fromOptions) {
|
|
381
|
+
for (const [k, v] of Object.entries(fromOptions)) {
|
|
382
|
+
merged[k] = v;
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
return merged;
|
|
386
|
+
}
|
|
387
|
+
getMcpCredential(mcpName) {
|
|
388
|
+
if (this.mcpCredentials[mcpName])
|
|
389
|
+
return this.mcpCredentials[mcpName];
|
|
390
|
+
const safe = mcpName.toUpperCase().replace(/[^A-Z0-9]/g, '_');
|
|
391
|
+
return this.mcpCredentials[safe];
|
|
392
|
+
}
|
|
393
|
+
static encodeMcpAuthHeader(cred) {
|
|
394
|
+
return Buffer.from(JSON.stringify(cred), 'utf-8').toString('base64');
|
|
395
|
+
}
|
|
396
|
+
// ─── Retry helpers ─────────────────────────────────────────────────
|
|
397
|
+
// Mirrors armoriq_sdk/client.py:_retry_post. Exponential backoff
|
|
398
|
+
// (1s → 4s capped) on 5xx + network errors only — 4xx passes through
|
|
399
|
+
// unchanged so callers can still distinguish policy denials from
|
|
400
|
+
// transport flakes. The same Idempotency-Key is reused across retries
|
|
401
|
+
// so the backend can dedupe.
|
|
402
|
+
shouldRetry(status) {
|
|
403
|
+
if (status === undefined)
|
|
404
|
+
return true; // network error
|
|
405
|
+
return status >= 500;
|
|
406
|
+
}
|
|
407
|
+
/**
|
|
408
|
+
* POST with exponential backoff. Reuses the same Idempotency-Key
|
|
409
|
+
* across retries so the backend can dedupe on its side.
|
|
410
|
+
* @internal
|
|
411
|
+
*/
|
|
412
|
+
async _retryPost(url, body, options = {}) {
|
|
413
|
+
const merged = { ...(options.headers ?? {}) };
|
|
414
|
+
if (options.idempotencyKey && !merged['Idempotency-Key']) {
|
|
415
|
+
merged['Idempotency-Key'] = options.idempotencyKey;
|
|
416
|
+
}
|
|
417
|
+
const attempts = Math.max(1, this.maxRetries + 1);
|
|
418
|
+
let lastErr;
|
|
419
|
+
let lastResponse;
|
|
420
|
+
for (let i = 0; i < attempts; i++) {
|
|
421
|
+
try {
|
|
422
|
+
const response = await this.httpClient.post(url, body, {
|
|
423
|
+
headers: merged,
|
|
424
|
+
timeout: options.timeout ?? this.timeout,
|
|
425
|
+
});
|
|
426
|
+
if (!this.shouldRetry(response.status))
|
|
427
|
+
return response;
|
|
428
|
+
lastResponse = response;
|
|
429
|
+
}
|
|
430
|
+
catch (e) {
|
|
431
|
+
// axios throws on network errors when validateStatus doesn't catch them;
|
|
432
|
+
// ECONNREFUSED / ETIMEDOUT / socket-hangup all surface as Error here.
|
|
433
|
+
const code = e?.code;
|
|
434
|
+
if (code === 'ECONNREFUSED' || code === 'ETIMEDOUT' || code === 'ECONNRESET' || !e?.response) {
|
|
435
|
+
lastErr = e;
|
|
436
|
+
}
|
|
437
|
+
else {
|
|
438
|
+
throw e;
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
if (i < attempts - 1) {
|
|
442
|
+
const backoff = Math.min(1000 * 2 ** i, 4000);
|
|
443
|
+
await new Promise((r) => setTimeout(r, backoff));
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
if (lastResponse)
|
|
447
|
+
return lastResponse;
|
|
448
|
+
throw lastErr ?? new Error('retry loop exited without a result');
|
|
449
|
+
}
|
|
213
450
|
/**
|
|
214
451
|
* Validate API key with the proxy server.
|
|
215
452
|
*/
|
|
@@ -292,9 +529,12 @@ class ArmorIQClient {
|
|
|
292
529
|
expires_in: validitySeconds,
|
|
293
530
|
};
|
|
294
531
|
try {
|
|
295
|
-
|
|
532
|
+
// Token issuance is idempotent on the backend (planHash-keyed),
|
|
533
|
+
// so retrying a 5xx with the same Idempotency-Key is safe.
|
|
534
|
+
const response = await this._retryPost(`${this.backendEndpoint}/iap/sdk/token`, payload, {
|
|
296
535
|
headers: { 'X-API-Key': this.apiKey },
|
|
297
536
|
timeout: 30000,
|
|
537
|
+
idempotencyKey: crypto.randomBytes(16).toString('hex'),
|
|
298
538
|
});
|
|
299
539
|
if (response.status >= 400) {
|
|
300
540
|
throw new exceptions_1.InvalidTokenException(`Token issuance failed: ${response.data?.message || response.statusText}`);
|
|
@@ -408,6 +648,10 @@ class ArmorIQClient {
|
|
|
408
648
|
if (this.apiKey) {
|
|
409
649
|
headers['X-API-Key'] = this.apiKey;
|
|
410
650
|
}
|
|
651
|
+
const mcpCred = this.getMcpCredential(mcp);
|
|
652
|
+
if (mcpCred) {
|
|
653
|
+
headers['X-Armoriq-MCP-Auth'] = ArmorIQClient.encodeMcpAuthHeader(mcpCred);
|
|
654
|
+
}
|
|
411
655
|
// Send CSRG token structure
|
|
412
656
|
if (intentToken.rawToken && typeof intentToken.rawToken === 'object') {
|
|
413
657
|
payload.token = intentToken.rawToken.token || {};
|
|
@@ -774,9 +1018,15 @@ class ArmorIQClient {
|
|
|
774
1018
|
}
|
|
775
1019
|
/**
|
|
776
1020
|
* Mark a delegation as executed.
|
|
1021
|
+
*
|
|
1022
|
+
* Idempotent on the backend (delegationId-keyed), so a stable
|
|
1023
|
+
* Idempotency-Key derived from the delegation_id is safe to retry.
|
|
777
1024
|
*/
|
|
778
1025
|
async markDelegationExecuted(userEmail, delegationId) {
|
|
779
|
-
await this.
|
|
1026
|
+
await this._retryPost(`${this.backendEndpoint}/delegation/mark-executed`, { delegationId }, {
|
|
1027
|
+
headers: { 'X-API-Key': this.apiKey, 'X-User-Email': userEmail },
|
|
1028
|
+
idempotencyKey: `mark-exec:${delegationId}`,
|
|
1029
|
+
});
|
|
780
1030
|
}
|
|
781
1031
|
/**
|
|
782
1032
|
* Mark an intent plan as completed after all tools have been executed.
|
|
@@ -786,11 +1036,17 @@ class ArmorIQClient {
|
|
|
786
1036
|
}
|
|
787
1037
|
/**
|
|
788
1038
|
* Update an intent plan's status.
|
|
1039
|
+
*
|
|
1040
|
+
* Status transitions are idempotent — retrying with the same
|
|
1041
|
+
* `planId:status` key is safe.
|
|
789
1042
|
* Valid statuses: 'active', 'completed', 'failed', 'expired'
|
|
790
1043
|
*/
|
|
791
1044
|
async updatePlanStatus(planId, status) {
|
|
792
1045
|
try {
|
|
793
|
-
await this.
|
|
1046
|
+
await this._retryPost(`${this.backendEndpoint}/iap/plans/${planId}/status`, { status }, {
|
|
1047
|
+
headers: { 'X-API-Key': this.apiKey },
|
|
1048
|
+
idempotencyKey: `plan-status:${planId}:${status}`,
|
|
1049
|
+
});
|
|
794
1050
|
console.log(`Plan ${planId} status updated to ${status}`);
|
|
795
1051
|
}
|
|
796
1052
|
catch (error) {
|
|
@@ -904,4 +1160,32 @@ class ArmorIQClient {
|
|
|
904
1160
|
}
|
|
905
1161
|
}
|
|
906
1162
|
exports.ArmorIQClient = ArmorIQClient;
|
|
1163
|
+
/**
|
|
1164
|
+
* User-scoped helper returned by ArmorIQClient.forUser(email).
|
|
1165
|
+
*
|
|
1166
|
+
* Mirrors armoriq_sdk/client.py:ArmorIQUserScope. Tags all token-minting
|
|
1167
|
+
* and enforcement calls with the bound email so multi-user agents route
|
|
1168
|
+
* per-request policies correctly.
|
|
1169
|
+
*/
|
|
1170
|
+
class ArmorIQUserScope {
|
|
1171
|
+
client;
|
|
1172
|
+
userEmail;
|
|
1173
|
+
constructor(client, userEmail) {
|
|
1174
|
+
this.client = client;
|
|
1175
|
+
this.userEmail = userEmail.trim().toLowerCase();
|
|
1176
|
+
}
|
|
1177
|
+
startSession(opts) {
|
|
1178
|
+
// Lazy import to avoid a cycle between client.ts and session.ts.
|
|
1179
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
1180
|
+
const { ArmorIQSession } = require('./session');
|
|
1181
|
+
this.client.userEmailOverride = this.userEmail;
|
|
1182
|
+
const session = new ArmorIQSession(this.client, opts);
|
|
1183
|
+
session.userEmail = this.userEmail;
|
|
1184
|
+
return session;
|
|
1185
|
+
}
|
|
1186
|
+
async resolve() {
|
|
1187
|
+
return this.client.resolveUser(this.userEmail);
|
|
1188
|
+
}
|
|
1189
|
+
}
|
|
1190
|
+
exports.ArmorIQUserScope = ArmorIQUserScope;
|
|
907
1191
|
//# sourceMappingURL=client.js.map
|
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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"}
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* armoriq.yaml configuration models and loader.
|
|
3
|
+
*
|
|
4
|
+
* Mirrors armoriq_sdk/config.py shape so the same file is portable
|
|
5
|
+
* between the two SDKs.
|
|
6
|
+
*/
|
|
7
|
+
export declare const DEFAULT_PROXY_URL = "https://customer-proxy.armoriq.ai";
|
|
8
|
+
export declare class ArmorIQConfigError extends Error {
|
|
9
|
+
constructor(message: string);
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Resolve `$ENV_VAR` or `${ENV_VAR}` references against process.env.
|
|
13
|
+
* Returns the original string when it is not an env reference.
|
|
14
|
+
*/
|
|
15
|
+
export declare function resolveEnvReference(value: string): string;
|
|
16
|
+
export interface IdentityConfig {
|
|
17
|
+
api_key: string;
|
|
18
|
+
user_id: string;
|
|
19
|
+
agent_id: string;
|
|
20
|
+
}
|
|
21
|
+
export interface ProxyConfig {
|
|
22
|
+
url: string;
|
|
23
|
+
timeout: number;
|
|
24
|
+
max_retries: number;
|
|
25
|
+
}
|
|
26
|
+
export type MCPAuthType = 'none' | 'bearer' | 'api_key';
|
|
27
|
+
export interface MCPAuthConfig {
|
|
28
|
+
type: MCPAuthType;
|
|
29
|
+
token?: string;
|
|
30
|
+
api_key?: string;
|
|
31
|
+
}
|
|
32
|
+
export interface MCPServerConfig {
|
|
33
|
+
id: string;
|
|
34
|
+
url: string;
|
|
35
|
+
description?: string;
|
|
36
|
+
auth: MCPAuthConfig;
|
|
37
|
+
}
|
|
38
|
+
export interface PolicyConfig {
|
|
39
|
+
allow: string[];
|
|
40
|
+
deny: string[];
|
|
41
|
+
}
|
|
42
|
+
export interface IntentConfig {
|
|
43
|
+
ttl_seconds: number;
|
|
44
|
+
require_csrg: boolean;
|
|
45
|
+
}
|
|
46
|
+
export type Environment = 'sandbox' | 'production';
|
|
47
|
+
export interface ArmorIQConfig {
|
|
48
|
+
version: 'v1';
|
|
49
|
+
identity: IdentityConfig;
|
|
50
|
+
environment: Environment;
|
|
51
|
+
proxy: ProxyConfig;
|
|
52
|
+
mcp_servers: MCPServerConfig[];
|
|
53
|
+
policy: PolicyConfig;
|
|
54
|
+
intent: IntentConfig;
|
|
55
|
+
}
|
|
56
|
+
export declare function parseArmorIQConfig(raw: any): ArmorIQConfig;
|
|
57
|
+
export declare function loadArmorIQConfig(filePath?: string): ArmorIQConfig;
|
|
58
|
+
/**
|
|
59
|
+
* Resolve every `$VAR` reference in the config against process.env.
|
|
60
|
+
* Returns a new config with the references replaced by their values.
|
|
61
|
+
*/
|
|
62
|
+
export declare function resolveEnvReferences(config: ArmorIQConfig): ArmorIQConfig;
|
|
63
|
+
export declare function saveArmorIQConfig(config: ArmorIQConfig, filePath?: string): void;
|
|
64
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,eAAO,MAAM,iBAAiB,sCAAsC,CAAC;AAErE,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,OAAO,EAAE,MAAM;CAI5B;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CASzD;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AAExD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,aAAa,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,YAAY,CAAC;AAEnD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,IAAI,CAAC;IACd,QAAQ,EAAE,cAAc,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,EAAE,WAAW,CAAC;IACnB,WAAW,EAAE,eAAe,EAAE,CAAC;IAC/B,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;CACtB;AAkCD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa,CA0D1D;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,GAAE,MAAuB,GAAG,aAAa,CAOlF;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,GAAG,aAAa,CAmBzE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,GAAE,MAAuB,GAAG,IAAI,CAwBhG"}
|