@armoriq/sdk-dev 0.2.15 → 0.3.1

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 (55) hide show
  1. package/dist/cli/commands/auth.d.ts +15 -0
  2. package/dist/cli/commands/auth.d.ts.map +1 -0
  3. package/dist/cli/commands/auth.js +259 -0
  4. package/dist/cli/commands/auth.js.map +1 -0
  5. package/dist/cli/commands/keys.d.ts +14 -0
  6. package/dist/cli/commands/keys.d.ts.map +1 -0
  7. package/dist/cli/commands/keys.js +132 -0
  8. package/dist/cli/commands/keys.js.map +1 -0
  9. package/dist/cli/commands/orgs.d.ts +10 -0
  10. package/dist/cli/commands/orgs.d.ts.map +1 -0
  11. package/dist/cli/commands/orgs.js +152 -0
  12. package/dist/cli/commands/orgs.js.map +1 -0
  13. package/dist/cli/commands/status.d.ts +9 -0
  14. package/dist/cli/commands/status.d.ts.map +1 -0
  15. package/dist/cli/commands/status.js +103 -0
  16. package/dist/cli/commands/status.js.map +1 -0
  17. package/dist/cli/index.d.ts +15 -0
  18. package/dist/cli/index.d.ts.map +1 -0
  19. package/dist/cli/index.js +141 -0
  20. package/dist/cli/index.js.map +1 -0
  21. package/dist/cli/state.d.ts +22 -0
  22. package/dist/cli/state.d.ts.map +1 -0
  23. package/dist/cli/state.js +91 -0
  24. package/dist/cli/state.js.map +1 -0
  25. package/dist/cli/util.d.ts +19 -0
  26. package/dist/cli/util.d.ts.map +1 -0
  27. package/dist/cli/util.js +107 -0
  28. package/dist/cli/util.js.map +1 -0
  29. package/dist/client.d.ts +73 -1
  30. package/dist/client.d.ts.map +1 -1
  31. package/dist/client.js +289 -5
  32. package/dist/client.js.map +1 -1
  33. package/dist/config.d.ts +64 -0
  34. package/dist/config.d.ts.map +1 -0
  35. package/dist/config.js +215 -0
  36. package/dist/config.js.map +1 -0
  37. package/dist/index.d.ts +6 -3
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +17 -2
  40. package/dist/index.js.map +1 -1
  41. package/dist/integrations/google_adk.d.ts +113 -0
  42. package/dist/integrations/google_adk.d.ts.map +1 -0
  43. package/dist/integrations/google_adk.js +319 -0
  44. package/dist/integrations/google_adk.js.map +1 -0
  45. package/dist/models.d.ts +36 -0
  46. package/dist/models.d.ts.map +1 -1
  47. package/dist/plan_builder.d.ts +53 -0
  48. package/dist/plan_builder.d.ts.map +1 -0
  49. package/dist/plan_builder.js +110 -0
  50. package/dist/plan_builder.js.map +1 -0
  51. package/dist/session.d.ts +87 -0
  52. package/dist/session.d.ts.map +1 -0
  53. package/dist/session.js +490 -0
  54. package/dist/session.js.map +1 -0
  55. package/package.json +9 -2
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
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.2.6 (agent=${this.agentId})`,
183
+ 'User-Agent': `ArmorIQ-SDK-TS/0.3.1 (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
- const response = await this.httpClient.post(`${this.backendEndpoint}/iap/sdk/token`, payload, {
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.httpClient.post(`${this.backendEndpoint}/delegation/mark-executed`, { delegationId }, { headers: { 'X-API-Key': this.apiKey, 'X-User-Email': userEmail } });
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.httpClient.post(`${this.backendEndpoint}/iap/plans/${planId}/status`, { status }, { headers: { 'X-API-Key': this.apiKey } });
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
@@ -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,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"}