@crustdev/armordesk 1.0.2 → 1.0.4

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.
@@ -202,6 +202,23 @@ var ArmorDeskClient = class {
202
202
  }
203
203
  return res;
204
204
  }
205
+ /**
206
+ * Request OAuth 2.0 Device Code for terminal/browser authentication (RFC 8628)
207
+ */
208
+ async requestDeviceCode() {
209
+ return this.request("/api/auth/device/code", {
210
+ method: "POST"
211
+ });
212
+ }
213
+ /**
214
+ * Poll OAuth 2.0 Device Code until authorized by user in browser
215
+ */
216
+ async pollDeviceCode(deviceCode) {
217
+ return this.request("/api/auth/device/poll", {
218
+ method: "POST",
219
+ body: JSON.stringify({ device_code: deviceCode })
220
+ });
221
+ }
205
222
  /**
206
223
  * Check live status and ping telemetry of Governed MCP Gateway
207
224
  */
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AA4CA,wBAAsB,MAAM,CAAC,IAAI,GAAE,MAAM,EAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CA4UlF"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AA2DA,wBAAsB,MAAM,CAAC,IAAI,GAAE,MAAM,EAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CA6ZlF"}
package/dist/cli.js CHANGED
@@ -23,6 +23,7 @@ __export(cli_exports, {
23
23
  runCLI: () => runCLI
24
24
  });
25
25
  module.exports = __toCommonJS(cli_exports);
26
+ var import_node_child_process = require("child_process");
26
27
 
27
28
  // src/crypto.ts
28
29
  var import_node_crypto = require("crypto");
@@ -228,6 +229,23 @@ var ArmorDeskClient = class {
228
229
  }
229
230
  return res;
230
231
  }
232
+ /**
233
+ * Request OAuth 2.0 Device Code for terminal/browser authentication (RFC 8628)
234
+ */
235
+ async requestDeviceCode() {
236
+ return this.request("/api/auth/device/code", {
237
+ method: "POST"
238
+ });
239
+ }
240
+ /**
241
+ * Poll OAuth 2.0 Device Code until authorized by user in browser
242
+ */
243
+ async pollDeviceCode(deviceCode) {
244
+ return this.request("/api/auth/device/poll", {
245
+ method: "POST",
246
+ body: JSON.stringify({ device_code: deviceCode })
247
+ });
248
+ }
231
249
  /**
232
250
  * Check live status and ping telemetry of Governed MCP Gateway
233
251
  */
@@ -420,6 +438,14 @@ function generateCursorConfig(options = {}) {
420
438
  }
421
439
 
422
440
  // src/cli.ts
441
+ function tryOpenBrowser(url) {
442
+ try {
443
+ const cmd = process.platform === "darwin" ? `open "${url}"` : process.platform === "win32" ? `start "" "${url}"` : `xdg-open "${url}" 2>/dev/null`;
444
+ (0, import_node_child_process.exec)(cmd, () => {
445
+ });
446
+ } catch {
447
+ }
448
+ }
423
449
  var HELP_TEXT = `
424
450
  \u{1F6E1}\uFE0F ArmorDesk CLI: Enterprise AI Agent Control Plane & MCP Gateway
425
451
 
@@ -493,23 +519,97 @@ async function runCLI(args = process.argv.slice(2)) {
493
519
  try {
494
520
  switch (command) {
495
521
  case "login": {
496
- const email = flags["email"] || positional[1] || "rustaman@crusts.dev";
497
- const password = flags["password"] || "admin";
498
- const tenant = flags["tenant"] || "acme-corp";
522
+ const explicitEmail = flags["email"] || (positional[1] && positional[1].includes("@") ? positional[1] : null);
523
+ if (explicitEmail) {
524
+ const password = flags["password"] || "admin";
525
+ const tenant = flags["tenant"] || "acme-corp";
526
+ console.log(`
527
+ \u{1F510} Authenticating directly with ArmorDesk at ${client.baseUrl}...`);
528
+ const loginRes = await client.login(explicitEmail, password, tenant);
529
+ console.log("------------------------------------------------------------");
530
+ console.log(`\u2705 Logged in successfully as ${loginRes.user.name}!`);
531
+ console.log(` Email: ${loginRes.user.email}`);
532
+ console.log(` Role: ${loginRes.user.role.toUpperCase()}`);
533
+ console.log(` Title: ${loginRes.user.title}`);
534
+ console.log(` Tenant: ${loginRes.tenant.name} (${loginRes.tenant.id})`);
535
+ console.log(` Bank Balance: $${loginRes.tenant.balance.toLocaleString()} ${loginRes.tenant.currency}`);
536
+ console.log(` Scope: ${loginRes.user.scopeSummary}`);
537
+ console.log(`
538
+ \u{1F4C1} Session saved to: ${getConfigPath()}`);
539
+ console.log("All armordesk commands will now execute under this identity.\n");
540
+ break;
541
+ }
499
542
  console.log(`
500
- \u{1F510} Authenticating with ArmorDesk at ${client.baseUrl}...`);
501
- const loginRes = await client.login(email, password, tenant);
543
+ \u{1F510} Initiating ArmorDesk Browser Authorization...`);
544
+ const codeRes = await client.requestDeviceCode();
502
545
  console.log("------------------------------------------------------------");
503
- console.log(`\u2705 Logged in successfully as ${loginRes.user.name}!`);
504
- console.log(` Email: ${loginRes.user.email}`);
505
- console.log(` Role: ${loginRes.user.role.toUpperCase()}`);
506
- console.log(` Title: ${loginRes.user.title}`);
507
- console.log(` Tenant: ${loginRes.tenant.name} (${loginRes.tenant.id})`);
508
- console.log(` Bank Balance: $${loginRes.tenant.balance.toLocaleString()} ${loginRes.tenant.currency}`);
509
- console.log(` Scope: ${loginRes.user.scopeSummary}`);
546
+ console.log(` 1. Please visit the authorization URL in your browser:`);
547
+ console.log(` \u{1F449} \x1B[36m\x1B[1m${codeRes.verification_uri_complete}\x1B[0m`);
510
548
  console.log(`
549
+ 2. Confirm your one-time device code:`);
550
+ console.log(` \u{1F511} \x1B[32m\x1B[1m${codeRes.user_code}\x1B[0m`);
551
+ console.log("------------------------------------------------------------");
552
+ console.log(`Waiting for browser authorization... (Press Ctrl+C to abort)`);
553
+ tryOpenBrowser(codeRes.verification_uri_complete);
554
+ let approved = false;
555
+ const intervalMs = (codeRes.interval || 2) * 1e3;
556
+ const maxPolls = 450;
557
+ let polls = 0;
558
+ while (!approved && polls < maxPolls) {
559
+ await new Promise((r) => setTimeout(r, intervalMs));
560
+ polls++;
561
+ try {
562
+ const pollRes = await client.pollDeviceCode(codeRes.device_code);
563
+ if (pollRes.status === "APPROVED" && pollRes.token && pollRes.user) {
564
+ approved = true;
565
+ saveStoredConfig({
566
+ baseUrl: client.baseUrl,
567
+ token: pollRes.token,
568
+ user: {
569
+ id: pollRes.user.id,
570
+ name: pollRes.user.name,
571
+ email: pollRes.user.email,
572
+ role: pollRes.user.role,
573
+ title: pollRes.user.role === "manager" ? "Corporate Officer" : "FinOps Member",
574
+ avatar: pollRes.user.name.split(" ").map((n) => n[0]).join("").slice(0, 2).toUpperCase() || "CU",
575
+ tenant_id: pollRes.user.tenant_id,
576
+ scopeSummary: pollRes.user.role === "manager" ? "Full Treasury & Wire Transfer Approval Authority" : "Restricted View-Only Scope"
577
+ },
578
+ tenant: pollRes.tenant,
579
+ apiKey: client.apiKey,
580
+ updatedAt: (/* @__PURE__ */ new Date()).toISOString()
581
+ });
582
+ client.token = pollRes.token;
583
+ client.tenantId = pollRes.user.tenant_id;
584
+ try {
585
+ await client.getMCPStatus();
586
+ } catch {
587
+ }
588
+ console.log("\n------------------------------------------------------------");
589
+ console.log(`\u2705 Authorization Approved by Browser!`);
590
+ console.log(` User: ${pollRes.user.name} (${pollRes.user.email})`);
591
+ console.log(` Role: ${pollRes.user.role.toUpperCase()}`);
592
+ console.log(` Tenant: ${pollRes.tenant?.name || pollRes.user.tenant_id}`);
593
+ console.log(`
511
594
  \u{1F4C1} Session saved to: ${getConfigPath()}`);
512
- console.log("All armordesk commands will now execute under this identity.\n");
595
+ console.log("All armordesk commands will now execute under this identity.\n");
596
+ break;
597
+ } else if (pollRes.status === "DENIED") {
598
+ console.error("\n\u274C Authorization request was declined in browser.");
599
+ process.exit(1);
600
+ } else if (pollRes.status === "EXPIRED") {
601
+ console.error("\n\u231B Device code has expired. Please run 'armordesk login' again.");
602
+ process.exit(1);
603
+ } else {
604
+ process.stdout.write(".");
605
+ }
606
+ } catch (err) {
607
+ }
608
+ }
609
+ if (!approved) {
610
+ console.error("\n\u231B Authorization timed out. Please try logging in again.");
611
+ process.exit(1);
612
+ }
513
613
  break;
514
614
  }
515
615
  case "whoami": {
package/dist/cli.mjs CHANGED
@@ -4,10 +4,20 @@ import {
4
4
  generateClaudeDesktopConfig,
5
5
  generateCursorConfig,
6
6
  getConfigPath,
7
- loadStoredConfig
8
- } from "./chunk-YXC2ASA3.mjs";
7
+ loadStoredConfig,
8
+ saveStoredConfig
9
+ } from "./chunk-IKQRJ7XB.mjs";
9
10
 
10
11
  // src/cli.ts
12
+ import { exec } from "child_process";
13
+ function tryOpenBrowser(url) {
14
+ try {
15
+ const cmd = process.platform === "darwin" ? `open "${url}"` : process.platform === "win32" ? `start "" "${url}"` : `xdg-open "${url}" 2>/dev/null`;
16
+ exec(cmd, () => {
17
+ });
18
+ } catch {
19
+ }
20
+ }
11
21
  var HELP_TEXT = `
12
22
  \u{1F6E1}\uFE0F ArmorDesk CLI: Enterprise AI Agent Control Plane & MCP Gateway
13
23
 
@@ -81,23 +91,97 @@ async function runCLI(args = process.argv.slice(2)) {
81
91
  try {
82
92
  switch (command) {
83
93
  case "login": {
84
- const email = flags["email"] || positional[1] || "rustaman@crusts.dev";
85
- const password = flags["password"] || "admin";
86
- const tenant = flags["tenant"] || "acme-corp";
94
+ const explicitEmail = flags["email"] || (positional[1] && positional[1].includes("@") ? positional[1] : null);
95
+ if (explicitEmail) {
96
+ const password = flags["password"] || "admin";
97
+ const tenant = flags["tenant"] || "acme-corp";
98
+ console.log(`
99
+ \u{1F510} Authenticating directly with ArmorDesk at ${client.baseUrl}...`);
100
+ const loginRes = await client.login(explicitEmail, password, tenant);
101
+ console.log("------------------------------------------------------------");
102
+ console.log(`\u2705 Logged in successfully as ${loginRes.user.name}!`);
103
+ console.log(` Email: ${loginRes.user.email}`);
104
+ console.log(` Role: ${loginRes.user.role.toUpperCase()}`);
105
+ console.log(` Title: ${loginRes.user.title}`);
106
+ console.log(` Tenant: ${loginRes.tenant.name} (${loginRes.tenant.id})`);
107
+ console.log(` Bank Balance: $${loginRes.tenant.balance.toLocaleString()} ${loginRes.tenant.currency}`);
108
+ console.log(` Scope: ${loginRes.user.scopeSummary}`);
109
+ console.log(`
110
+ \u{1F4C1} Session saved to: ${getConfigPath()}`);
111
+ console.log("All armordesk commands will now execute under this identity.\n");
112
+ break;
113
+ }
87
114
  console.log(`
88
- \u{1F510} Authenticating with ArmorDesk at ${client.baseUrl}...`);
89
- const loginRes = await client.login(email, password, tenant);
115
+ \u{1F510} Initiating ArmorDesk Browser Authorization...`);
116
+ const codeRes = await client.requestDeviceCode();
90
117
  console.log("------------------------------------------------------------");
91
- console.log(`\u2705 Logged in successfully as ${loginRes.user.name}!`);
92
- console.log(` Email: ${loginRes.user.email}`);
93
- console.log(` Role: ${loginRes.user.role.toUpperCase()}`);
94
- console.log(` Title: ${loginRes.user.title}`);
95
- console.log(` Tenant: ${loginRes.tenant.name} (${loginRes.tenant.id})`);
96
- console.log(` Bank Balance: $${loginRes.tenant.balance.toLocaleString()} ${loginRes.tenant.currency}`);
97
- console.log(` Scope: ${loginRes.user.scopeSummary}`);
118
+ console.log(` 1. Please visit the authorization URL in your browser:`);
119
+ console.log(` \u{1F449} \x1B[36m\x1B[1m${codeRes.verification_uri_complete}\x1B[0m`);
98
120
  console.log(`
121
+ 2. Confirm your one-time device code:`);
122
+ console.log(` \u{1F511} \x1B[32m\x1B[1m${codeRes.user_code}\x1B[0m`);
123
+ console.log("------------------------------------------------------------");
124
+ console.log(`Waiting for browser authorization... (Press Ctrl+C to abort)`);
125
+ tryOpenBrowser(codeRes.verification_uri_complete);
126
+ let approved = false;
127
+ const intervalMs = (codeRes.interval || 2) * 1e3;
128
+ const maxPolls = 450;
129
+ let polls = 0;
130
+ while (!approved && polls < maxPolls) {
131
+ await new Promise((r) => setTimeout(r, intervalMs));
132
+ polls++;
133
+ try {
134
+ const pollRes = await client.pollDeviceCode(codeRes.device_code);
135
+ if (pollRes.status === "APPROVED" && pollRes.token && pollRes.user) {
136
+ approved = true;
137
+ saveStoredConfig({
138
+ baseUrl: client.baseUrl,
139
+ token: pollRes.token,
140
+ user: {
141
+ id: pollRes.user.id,
142
+ name: pollRes.user.name,
143
+ email: pollRes.user.email,
144
+ role: pollRes.user.role,
145
+ title: pollRes.user.role === "manager" ? "Corporate Officer" : "FinOps Member",
146
+ avatar: pollRes.user.name.split(" ").map((n) => n[0]).join("").slice(0, 2).toUpperCase() || "CU",
147
+ tenant_id: pollRes.user.tenant_id,
148
+ scopeSummary: pollRes.user.role === "manager" ? "Full Treasury & Wire Transfer Approval Authority" : "Restricted View-Only Scope"
149
+ },
150
+ tenant: pollRes.tenant,
151
+ apiKey: client.apiKey,
152
+ updatedAt: (/* @__PURE__ */ new Date()).toISOString()
153
+ });
154
+ client.token = pollRes.token;
155
+ client.tenantId = pollRes.user.tenant_id;
156
+ try {
157
+ await client.getMCPStatus();
158
+ } catch {
159
+ }
160
+ console.log("\n------------------------------------------------------------");
161
+ console.log(`\u2705 Authorization Approved by Browser!`);
162
+ console.log(` User: ${pollRes.user.name} (${pollRes.user.email})`);
163
+ console.log(` Role: ${pollRes.user.role.toUpperCase()}`);
164
+ console.log(` Tenant: ${pollRes.tenant?.name || pollRes.user.tenant_id}`);
165
+ console.log(`
99
166
  \u{1F4C1} Session saved to: ${getConfigPath()}`);
100
- console.log("All armordesk commands will now execute under this identity.\n");
167
+ console.log("All armordesk commands will now execute under this identity.\n");
168
+ break;
169
+ } else if (pollRes.status === "DENIED") {
170
+ console.error("\n\u274C Authorization request was declined in browser.");
171
+ process.exit(1);
172
+ } else if (pollRes.status === "EXPIRED") {
173
+ console.error("\n\u231B Device code has expired. Please run 'armordesk login' again.");
174
+ process.exit(1);
175
+ } else {
176
+ process.stdout.write(".");
177
+ }
178
+ } catch (err) {
179
+ }
180
+ }
181
+ if (!approved) {
182
+ console.error("\n\u231B Authorization timed out. Please try logging in again.");
183
+ process.exit(1);
184
+ }
101
185
  break;
102
186
  }
103
187
  case "whoami": {
package/dist/client.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { ArmorDeskClientOptions, ArmorDeskStatus, TenantInfo, TraceItem, ApprovalItem, ReceiptItem, VerifyProofRequest, VerifyProofResponse, MCPGatewayConfig, MCPCallResponse, ScenarioRunResponse, CTFSubmitResponse, VoiceBriefingResponse, LoginResponse, MCPStatusResponse } from "./types.js";
1
+ import type { ArmorDeskClientOptions, ArmorDeskStatus, TenantInfo, TraceItem, ApprovalItem, ReceiptItem, VerifyProofRequest, VerifyProofResponse, MCPGatewayConfig, MCPCallResponse, ScenarioRunResponse, CTFSubmitResponse, VoiceBriefingResponse, LoginResponse, MCPStatusResponse, DeviceCodeResponse, DevicePollResponse } from "./types.js";
2
2
  import { canonicalJson, generatePlanHash, buildMerkleTree, verifyMerkleRoot, verifyProof } from "./crypto.js";
3
3
  export declare class ArmorDeskClient {
4
4
  baseUrl: string;
@@ -21,6 +21,14 @@ export declare class ArmorDeskClient {
21
21
  * Authenticate with an ArmorDesk account and persist credentials
22
22
  */
23
23
  login(email: string, password?: string, tenantId?: string): Promise<LoginResponse>;
24
+ /**
25
+ * Request OAuth 2.0 Device Code for terminal/browser authentication (RFC 8628)
26
+ */
27
+ requestDeviceCode(): Promise<DeviceCodeResponse>;
28
+ /**
29
+ * Poll OAuth 2.0 Device Code until authorized by user in browser
30
+ */
31
+ pollDeviceCode(deviceCode: string): Promise<DevicePollResponse>;
24
32
  /**
25
33
  * Check live status and ping telemetry of Governed MCP Gateway
26
34
  */
@@ -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/index.js CHANGED
@@ -241,6 +241,23 @@ var ArmorDeskClient = class {
241
241
  }
242
242
  return res;
243
243
  }
244
+ /**
245
+ * Request OAuth 2.0 Device Code for terminal/browser authentication (RFC 8628)
246
+ */
247
+ async requestDeviceCode() {
248
+ return this.request("/api/auth/device/code", {
249
+ method: "POST"
250
+ });
251
+ }
252
+ /**
253
+ * Poll OAuth 2.0 Device Code until authorized by user in browser
254
+ */
255
+ async pollDeviceCode(deviceCode) {
256
+ return this.request("/api/auth/device/poll", {
257
+ method: "POST",
258
+ body: JSON.stringify({ device_code: deviceCode })
259
+ });
260
+ }
244
261
  /**
245
262
  * Check live status and ping telemetry of Governed MCP Gateway
246
263
  */
package/dist/index.mjs CHANGED
@@ -13,7 +13,7 @@ import {
13
13
  saveStoredConfig,
14
14
  verifyMerkleRoot,
15
15
  verifyProof
16
- } from "./chunk-YXC2ASA3.mjs";
16
+ } from "./chunk-IKQRJ7XB.mjs";
17
17
  export {
18
18
  ArmorDeskClient,
19
19
  buildMerkleTree,
package/dist/types.d.ts CHANGED
@@ -45,6 +45,32 @@ export interface LoginResponse {
45
45
  currency: string;
46
46
  };
47
47
  }
48
+ export interface DeviceCodeResponse {
49
+ device_code: string;
50
+ user_code: string;
51
+ verification_uri: string;
52
+ verification_uri_complete: string;
53
+ expires_in: number;
54
+ interval: number;
55
+ }
56
+ export interface DevicePollResponse {
57
+ status: "PENDING" | "APPROVED" | "DENIED" | "EXPIRED" | string;
58
+ token?: string;
59
+ user?: {
60
+ id: string;
61
+ name: string;
62
+ email: string;
63
+ role: string;
64
+ tenant_id: string;
65
+ };
66
+ tenant?: {
67
+ id: string;
68
+ name: string;
69
+ spend_limit: number;
70
+ balance: number;
71
+ currency: string;
72
+ };
73
+ }
48
74
  export interface MCPStatusResponse {
49
75
  status: string;
50
76
  gateway: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crustdev/armordesk",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "Official TypeScript SDK and CLI for ArmorDesk: Enterprise AI Agent Control Plane, Governed MCP Gateway, and Cryptographic Trust Center.",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",