@p0security/cli 0.20.7 → 0.21.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.
@@ -46,7 +46,13 @@ class BufferedSpanExporter {
46
46
  return;
47
47
  }
48
48
  if (this.delegate) {
49
- this.delegate.export(spans, resultCallback);
49
+ try {
50
+ this.delegate.export(spans, resultCallback);
51
+ }
52
+ catch (error) {
53
+ // Silently ignore export errors - traces are best-effort telemetry
54
+ resultCallback({ code: core_1.ExportResultCode.FAILED });
55
+ }
50
56
  }
51
57
  else {
52
58
  this.buffer.push(...spans);
@@ -57,7 +63,12 @@ class BufferedSpanExporter {
57
63
  var _a, _b;
58
64
  return __awaiter(this, void 0, void 0, function* () {
59
65
  if (this.delegate) {
60
- return (_b = (_a = this.delegate).forceFlush) === null || _b === void 0 ? void 0 : _b.call(_a);
66
+ try {
67
+ yield ((_b = (_a = this.delegate).forceFlush) === null || _b === void 0 ? void 0 : _b.call(_a));
68
+ }
69
+ catch (error) {
70
+ // Silently ignore flush errors
71
+ }
61
72
  }
62
73
  });
63
74
  }
@@ -65,7 +76,12 @@ class BufferedSpanExporter {
65
76
  return __awaiter(this, void 0, void 0, function* () {
66
77
  this.isShutdown = true;
67
78
  if (this.delegate) {
68
- return this.delegate.shutdown();
79
+ try {
80
+ yield this.delegate.shutdown();
81
+ }
82
+ catch (error) {
83
+ // Silently ignore shutdown errors
84
+ }
69
85
  }
70
86
  });
71
87
  }
@@ -75,7 +91,16 @@ class BufferedSpanExporter {
75
91
  this.delegate = exporter;
76
92
  if (this.buffer.length > 0) {
77
93
  const toFlush = this.buffer.splice(0);
78
- this.delegate.export(toFlush, () => { });
94
+ try {
95
+ this.delegate.export(toFlush, (result) => {
96
+ if (result.code === core_1.ExportResultCode.FAILED) {
97
+ // Silently ignore export failures
98
+ }
99
+ });
100
+ }
101
+ catch (error) {
102
+ // Silently ignore export errors
103
+ }
79
104
  }
80
105
  }
81
106
  }
@@ -1 +1 @@
1
- {"version":3,"file":"buffered-exporter.js","sourceRoot":"","sources":["../../../src/opentelemetry/buffered-exporter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,8CAAqE;AAGrE;;;;;;;;;;;;GAYG;AACH,MAAa,oBAAoB;IAAjC;QACU,WAAM,GAAmB,EAAE,CAAC;QAC5B,aAAQ,GAA6B,SAAS,CAAC;QAC/C,eAAU,GAAG,KAAK,CAAC;IA2C7B,CAAC;IAzCC,MAAM,CACJ,KAAqB,EACrB,cAA8C;QAE9C,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,cAAc,CAAC,EAAE,IAAI,EAAE,uBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC;YAClD,OAAO;SACR;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;SAC7C;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;YAC3B,cAAc,CAAC,EAAE,IAAI,EAAE,uBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC;SACpD;IACH,CAAC;IAEK,UAAU;;;YACd,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,OAAO,MAAA,MAAA,IAAI,CAAC,QAAQ,EAAC,UAAU,kDAAI,CAAC;aACrC;;KAEF;IAEK,QAAQ;;YACZ,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;aACjC;QACH,CAAC;KAAA;IAED,oBAAoB,CAAC,QAAsB;QACzC,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO;QAE5B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;SACzC;IACH,CAAC;CACF;AA9CD,oDA8CC"}
1
+ {"version":3,"file":"buffered-exporter.js","sourceRoot":"","sources":["../../../src/opentelemetry/buffered-exporter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,8CAAqE;AAGrE;;;;;;;;;;;;GAYG;AACH,MAAa,oBAAoB;IAAjC;QACU,WAAM,GAAmB,EAAE,CAAC;QAC5B,aAAQ,GAA6B,SAAS,CAAC;QAC/C,eAAU,GAAG,KAAK,CAAC;IAgE7B,CAAC;IA9DC,MAAM,CACJ,KAAqB,EACrB,cAA8C;QAE9C,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,cAAc,CAAC,EAAE,IAAI,EAAE,uBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC;YAClD,OAAO;SACR;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI;gBACF,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;aAC7C;YAAC,OAAO,KAAK,EAAE;gBACd,mEAAmE;gBACnE,cAAc,CAAC,EAAE,IAAI,EAAE,uBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC;aACnD;SACF;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;YAC3B,cAAc,CAAC,EAAE,IAAI,EAAE,uBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC;SACpD;IACH,CAAC;IAEK,UAAU;;;YACd,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI;oBACF,MAAM,CAAA,MAAA,MAAA,IAAI,CAAC,QAAQ,EAAC,UAAU,kDAAI,CAAA,CAAC;iBACpC;gBAAC,OAAO,KAAK,EAAE;oBACd,+BAA+B;iBAChC;aACF;;KAEF;IAEK,QAAQ;;YACZ,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI;oBACF,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;iBAChC;gBAAC,OAAO,KAAK,EAAE;oBACd,kCAAkC;iBACnC;aACF;QACH,CAAC;KAAA;IAED,oBAAoB,CAAC,QAAsB;QACzC,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO;QAE5B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI;gBACF,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;oBACvC,IAAI,MAAM,CAAC,IAAI,KAAK,uBAAgB,CAAC,MAAM,EAAE;wBAC3C,kCAAkC;qBACnC;gBACH,CAAC,CAAC,CAAC;aACJ;YAAC,OAAO,KAAK,EAAE;gBACd,gCAAgC;aACjC;SACF;IACH,CAAC;CACF;AAnED,oDAmEC"}
@@ -27,7 +27,7 @@ const oidc_1 = require("../../common/auth/oidc");
27
27
  const server_1 = require("../../common/auth/server");
28
28
  const fetch_1 = require("../../common/fetch");
29
29
  const stdio_1 = require("../../drivers/stdio");
30
- const open_1 = __importDefault(require("open"));
30
+ const util_1 = require("../../util");
31
31
  const pkce_challenge_1 = __importDefault(require("pkce-challenge"));
32
32
  const AZURE_SCOPE = "openid profile email offline_access";
33
33
  const AZURE_REDIRECT_PORT = 52701;
@@ -49,14 +49,15 @@ const requestAuth = (org) => __awaiter(void 0, void 0, void 0, function* () {
49
49
  state: "azure_login",
50
50
  };
51
51
  const url = `${baseUrl}?${(0, fetch_1.urlEncode)(authBody)}`;
52
- (0, stdio_1.print2)(`Your browser has been opened to visit:
53
-
54
- ${url}\n`);
55
- (0, open_1.default)(url).catch(() => {
56
- (0, stdio_1.print2)(`Please visit the following URL to continue login:
52
+ try {
53
+ yield (0, util_1.osSafeOpen)(url);
54
+ (0, stdio_1.print1)(`Please use the opened browser window to continue your P0 login.`);
55
+ }
56
+ catch (_a) {
57
+ (0, stdio_1.print1)(`Please visit the following URL to continue login:
57
58
 
58
59
  ${url}`);
59
- });
60
+ }
60
61
  return pkce;
61
62
  });
62
63
  const requestToken = (org, code, pkce) => __awaiter(void 0, void 0, void 0, function* () {
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../../src/plugins/azure/login.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,iDAAsD;AACtD,qDAA8D;AAC9D,8CAAiE;AACjE,+CAA6C;AAG7C,gDAAwB;AACxB,oEAA2C;AAE3C,MAAM,WAAW,GAAG,qCAAqC,CAAC;AAC1D,MAAM,mBAAmB,GAAG,KAAK,CAAC;AAClC,MAAM,kBAAkB,GAAG,oBAAoB,mBAAmB,EAAE,CAAC;AACrE,MAAM,WAAW,GAAG,GAAG,CAAC;AAOxB,MAAM,WAAW,GAAG,CAAO,GAAY,EAAE,EAAE;IACzC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE;QACvB,MAAM,oDAAoD,CAAC;KAC5D;IAED,MAAM,IAAI,GAAG,MAAM,IAAA,wBAAa,EAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,qCAAqC,GAAG,CAAC,cAAc,wBAAwB,CAAC;IAEhG,MAAM,QAAQ,GAAqB;QACjC,SAAS,EAAE,GAAG,CAAC,QAAQ;QACvB,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,qBAAqB,EAAE,MAAM;QAC7B,YAAY,EAAE,kBAAkB;QAChC,aAAa,EAAE,MAAM;QACrB,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,aAAa;KACrB,CAAC;IAEF,MAAM,GAAG,GAAG,GAAG,OAAO,IAAI,IAAA,iBAAS,EAAC,QAAQ,CAAC,EAAE,CAAC;IAEhD,IAAA,cAAM,EAAC;;MAEH,GAAG,IAAI,CAAC,CAAC;IAEb,IAAA,cAAI,EAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QACnB,IAAA,cAAM,EAAC;;MAEL,GAAG,EAAE,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC,CAAA,CAAC;AAEF,MAAM,YAAY,GAAG,CACnB,GAAY,EACZ,IAAY,EACZ,IAAuD,EACvD,EAAE;IACF,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE;QACvB,MAAM,oDAAoD,CAAC;KAC5D;IAED,MAAM,QAAQ,GAAG,qCAAqC,GAAG,CAAC,cAAc,oBAAoB,CAAC;IAE7F,MAAM,IAAI,GAAG;QACX,SAAS,EAAE,GAAG,CAAC,QAAQ;QACvB,IAAI;QACJ,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,UAAU,EAAE,oBAAoB;QAChC,YAAY,EAAE,kBAAkB;KACjC,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;QACrC,MAAM,EAAE,MAAM;QACd,OAAO,kCACF,mBAAY,KACf,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,kBAAkB,GAC3B;QACD,IAAI,EAAE,IAAA,iBAAS,EAAC,IAAI,CAAC;KACtB,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,MAAM,IAAA,wBAAgB,EAAC,QAAQ,CAAC,CAAC;IAC/C,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAkB,CAAC;AAC/C,CAAC,CAAA,CAAC;AAEK,MAAM,UAAU,GAAG,CAAO,GAAY,EAA0B,EAAE;IACvE,OAAO,MAAM,IAAA,2BAAkB,EAC7B,GAAS,EAAE,kDAAC,OAAA,MAAM,WAAW,CAAC,GAAG,CAAC,CAAA,GAAA,EAClC,CAAO,IAAI,EAAE,KAAK,EAAE,EAAE,kDAAC,OAAA,MAAM,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA,GAAA,EAChE,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAC9B,CAAC;AACJ,CAAC,CAAA,CAAC;AANW,QAAA,UAAU,cAMrB"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../../src/plugins/azure/login.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,iDAAsD;AACtD,qDAA8D;AAC9D,8CAAiE;AACjE,+CAA6C;AAG7C,qCAAwC;AACxC,oEAA2C;AAE3C,MAAM,WAAW,GAAG,qCAAqC,CAAC;AAC1D,MAAM,mBAAmB,GAAG,KAAK,CAAC;AAClC,MAAM,kBAAkB,GAAG,oBAAoB,mBAAmB,EAAE,CAAC;AACrE,MAAM,WAAW,GAAG,GAAG,CAAC;AAOxB,MAAM,WAAW,GAAG,CAAO,GAAY,EAAE,EAAE;IACzC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE;QACvB,MAAM,oDAAoD,CAAC;KAC5D;IAED,MAAM,IAAI,GAAG,MAAM,IAAA,wBAAa,EAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,qCAAqC,GAAG,CAAC,cAAc,wBAAwB,CAAC;IAEhG,MAAM,QAAQ,GAAqB;QACjC,SAAS,EAAE,GAAG,CAAC,QAAQ;QACvB,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,qBAAqB,EAAE,MAAM;QAC7B,YAAY,EAAE,kBAAkB;QAChC,aAAa,EAAE,MAAM;QACrB,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,aAAa;KACrB,CAAC;IAEF,MAAM,GAAG,GAAG,GAAG,OAAO,IAAI,IAAA,iBAAS,EAAC,QAAQ,CAAC,EAAE,CAAC;IAEhD,IAAI;QACF,MAAM,IAAA,iBAAU,EAAC,GAAG,CAAC,CAAC;QACtB,IAAA,cAAM,EAAC,iEAAiE,CAAC,CAAC;KAC3E;IAAC,WAAM;QACN,IAAA,cAAM,EAAC;;MAEL,GAAG,EAAE,CAAC,CAAC;KACV;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAA,CAAC;AAEF,MAAM,YAAY,GAAG,CACnB,GAAY,EACZ,IAAY,EACZ,IAAuD,EACvD,EAAE;IACF,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE;QACvB,MAAM,oDAAoD,CAAC;KAC5D;IAED,MAAM,QAAQ,GAAG,qCAAqC,GAAG,CAAC,cAAc,oBAAoB,CAAC;IAE7F,MAAM,IAAI,GAAG;QACX,SAAS,EAAE,GAAG,CAAC,QAAQ;QACvB,IAAI;QACJ,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,UAAU,EAAE,oBAAoB;QAChC,YAAY,EAAE,kBAAkB;KACjC,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;QACrC,MAAM,EAAE,MAAM;QACd,OAAO,kCACF,mBAAY,KACf,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,kBAAkB,GAC3B;QACD,IAAI,EAAE,IAAA,iBAAS,EAAC,IAAI,CAAC;KACtB,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,MAAM,IAAA,wBAAgB,EAAC,QAAQ,CAAC,CAAC;IAC/C,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAkB,CAAC;AAC/C,CAAC,CAAA,CAAC;AAEK,MAAM,UAAU,GAAG,CAAO,GAAY,EAA0B,EAAE;IACvE,OAAO,MAAM,IAAA,2BAAkB,EAC7B,GAAS,EAAE,kDAAC,OAAA,MAAM,WAAW,CAAC,GAAG,CAAC,CAAA,GAAA,EAClC,CAAO,IAAI,EAAE,KAAK,EAAE,EAAE,kDAAC,OAAA,MAAM,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA,GAAA,EAChE,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAC9B,CAAC;AACJ,CAAC,CAAA,CAAC;AANW,QAAA,UAAU,cAMrB"}
@@ -28,7 +28,7 @@ const server_1 = require("../../common/auth/server");
28
28
  const fetch_1 = require("../../common/fetch");
29
29
  const config_1 = require("../../drivers/config");
30
30
  const stdio_1 = require("../../drivers/stdio");
31
- const open_1 = __importDefault(require("open"));
31
+ const util_1 = require("../../util");
32
32
  const pkce_challenge_1 = __importDefault(require("pkce-challenge"));
33
33
  const GOOGLE_OIDC_URL = "https://accounts.google.com/o/oauth2/v2/auth";
34
34
  const GOOGLE_OIDC_EXCHANGE_URL = "https://oauth2.googleapis.com/token";
@@ -47,11 +47,15 @@ const requestAuth = () => __awaiter(void 0, void 0, void 0, function* () {
47
47
  scope: "openid email",
48
48
  };
49
49
  const url = `${GOOGLE_OIDC_URL}?${(0, fetch_1.urlEncode)(authBody)}`;
50
- (0, open_1.default)(url).catch(() => {
51
- (0, stdio_1.print2)(`Please visit the following URL to continue login:
50
+ try {
51
+ yield (0, util_1.osSafeOpen)(url);
52
+ (0, stdio_1.print1)(`Please use the opened browser window to continue your P0 login.`);
53
+ }
54
+ catch (_a) {
55
+ (0, stdio_1.print1)(`Please visit the following URL to continue login:
52
56
 
53
- ${url}`);
54
- });
57
+ ${url}`);
58
+ }
55
59
  return pkce;
56
60
  });
57
61
  const requestToken = (code, pkce) => __awaiter(void 0, void 0, void 0, function* () {
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../../src/plugins/google/login.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,iDAAsD;AACtD,qDAA8D;AAC9D,8CAAiE;AACjE,iDAA6D;AAC7D,+CAA6C;AAE7C,gDAAwB;AACxB,oEAA2C;AAO3C,MAAM,eAAe,GAAG,8CAA8C,CAAC;AACvE,MAAM,wBAAwB,GAAG,qCAAqC,CAAC;AACvE,MAAM,yBAAyB,GAAG,KAAK,CAAC;AACxC,MAAM,wBAAwB,GAAG,oBAAoB,yBAAyB,EAAE,CAAC;AACjF,MAAM,WAAW,GAAG,GAAG,CAAC;AAExB,MAAM,WAAW,GAAG,GAAS,EAAE;IAC7B,MAAM,YAAY,GAAG,IAAA,8BAAqB,GAAE,CAAC;IAC7C,MAAM,IAAI,GAAG,MAAM,IAAA,wBAAa,EAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAqB;QACjC,SAAS,EAAE,YAAY,CAAC,MAAM,CAAC,QAAQ;QACvC,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,qBAAqB,EAAE,MAAM;QAC7B,YAAY,EAAE,wBAAwB;QACtC,aAAa,EAAE,MAAM;QACrB,KAAK,EAAE,cAAc;KACtB,CAAC;IACF,MAAM,GAAG,GAAG,GAAG,eAAe,IAAI,IAAA,iBAAS,EAAC,QAAQ,CAAC,EAAE,CAAC;IACxD,IAAA,cAAI,EAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QACnB,IAAA,cAAM,EAAC;;EAET,GAAG,EAAE,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC,CAAA,CAAC;AAEF,MAAM,YAAY,GAAG,CACnB,IAAY,EACZ,IAAuD,EACvD,EAAE;IACF,MAAM,YAAY,GAAG,IAAA,8BAAqB,GAAE,CAAC;IAC7C,MAAM,IAAI,GAAG;QACX,SAAS,EAAE,YAAY,CAAC,MAAM,CAAC,QAAQ;QACvC,aAAa,EAAE,YAAY,CAAC,MAAM,CAAC,yBAAyB;QAC5D,IAAI;QACJ,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,UAAU,EAAE,oBAAoB;QAChC,YAAY,EAAE,wBAAwB;KACvC,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,wBAAwB,EAAE;QACrD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,mBAAY;QACrB,IAAI,EAAE,IAAA,iBAAS,EAAC,IAAI,CAAC;KACtB,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,MAAM,IAAA,wBAAgB,EAAC,QAAQ,CAAC,CAAC;IAC/C,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAkB,CAAC;AAC/C,CAAC,CAAA,CAAC;AAEK,MAAM,WAAW,GAAG,GAAS,EAAE;IACpC,OAAO,MAAM,IAAA,2BAAkB,EAC7B,GAAS,EAAE,kDAAC,OAAA,MAAM,WAAW,EAAE,CAAA,GAAA,EAC/B,CAAO,IAAI,EAAE,KAAK,EAAE,EAAE,kDAAC,OAAA,MAAM,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA,GAAA,EAC3D,EAAE,IAAI,EAAE,yBAAyB,EAAE,CACpC,CAAC;AACJ,CAAC,CAAA,CAAC;AANW,QAAA,WAAW,eAMtB"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../../src/plugins/google/login.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,iDAAsD;AACtD,qDAA8D;AAC9D,8CAAiE;AACjE,iDAA6D;AAC7D,+CAA6C;AAE7C,qCAAwC;AACxC,oEAA2C;AAO3C,MAAM,eAAe,GAAG,8CAA8C,CAAC;AACvE,MAAM,wBAAwB,GAAG,qCAAqC,CAAC;AACvE,MAAM,yBAAyB,GAAG,KAAK,CAAC;AACxC,MAAM,wBAAwB,GAAG,oBAAoB,yBAAyB,EAAE,CAAC;AACjF,MAAM,WAAW,GAAG,GAAG,CAAC;AAExB,MAAM,WAAW,GAAG,GAAS,EAAE;IAC7B,MAAM,YAAY,GAAG,IAAA,8BAAqB,GAAE,CAAC;IAC7C,MAAM,IAAI,GAAG,MAAM,IAAA,wBAAa,EAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAqB;QACjC,SAAS,EAAE,YAAY,CAAC,MAAM,CAAC,QAAQ;QACvC,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,qBAAqB,EAAE,MAAM;QAC7B,YAAY,EAAE,wBAAwB;QACtC,aAAa,EAAE,MAAM;QACrB,KAAK,EAAE,cAAc;KACtB,CAAC;IACF,MAAM,GAAG,GAAG,GAAG,eAAe,IAAI,IAAA,iBAAS,EAAC,QAAQ,CAAC,EAAE,CAAC;IACxD,IAAI;QACF,MAAM,IAAA,iBAAU,EAAC,GAAG,CAAC,CAAC;QACtB,IAAA,cAAM,EAAC,iEAAiE,CAAC,CAAC;KAC3E;IAAC,WAAM;QACN,IAAA,cAAM,EAAC;;MAEL,GAAG,EAAE,CAAC,CAAC;KACV;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAA,CAAC;AAEF,MAAM,YAAY,GAAG,CACnB,IAAY,EACZ,IAAuD,EACvD,EAAE;IACF,MAAM,YAAY,GAAG,IAAA,8BAAqB,GAAE,CAAC;IAC7C,MAAM,IAAI,GAAG;QACX,SAAS,EAAE,YAAY,CAAC,MAAM,CAAC,QAAQ;QACvC,aAAa,EAAE,YAAY,CAAC,MAAM,CAAC,yBAAyB;QAC5D,IAAI;QACJ,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,UAAU,EAAE,oBAAoB;QAChC,YAAY,EAAE,wBAAwB;KACvC,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,wBAAwB,EAAE;QACrD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,mBAAY;QACrB,IAAI,EAAE,IAAA,iBAAS,EAAC,IAAI,CAAC;KACtB,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,MAAM,IAAA,wBAAgB,EAAC,QAAQ,CAAC,CAAC;IAC/C,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAkB,CAAC;AAC/C,CAAC,CAAA,CAAC;AAEK,MAAM,WAAW,GAAG,GAAS,EAAE;IACpC,OAAO,MAAM,IAAA,2BAAkB,EAC7B,GAAS,EAAE,kDAAC,OAAA,MAAM,WAAW,EAAE,CAAA,GAAA,EAC/B,CAAO,IAAI,EAAE,KAAK,EAAE,EAAE,kDAAC,OAAA,MAAM,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA,GAAA,EAC3D,EAAE,IAAI,EAAE,yBAAyB,EAAE,CACpC,CAAC;AACJ,CAAC,CAAA,CAAC;AANW,QAAA,WAAW,eAMtB"}
@@ -8,9 +8,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
11
  Object.defineProperty(exports, "__esModule", { value: true });
15
12
  exports.oidcLogin = exports.oidcLoginSteps = exports.waitForActivation = exports.fetchOidcToken = exports.authorize = exports.validateProviderDomain = exports.DEVICE_GRANT_TYPE = void 0;
16
13
  /** Copyright © 2024-present P0 Security
@@ -27,7 +24,6 @@ const oidc_1 = require("../../common/auth/oidc");
27
24
  const fetch_1 = require("../../common/fetch");
28
25
  const stdio_1 = require("../../drivers/stdio");
29
26
  const util_1 = require("../../util");
30
- const open_1 = __importDefault(require("open"));
31
27
  exports.DEVICE_GRANT_TYPE = "urn:ietf:params:oauth:grant-type:device_code";
32
28
  const validateProviderDomain = (org) => {
33
29
  if (!org.providerDomain)
@@ -159,15 +155,20 @@ const oidcLogin = (steps) => __awaiter(void 0, void 0, void 0, function* () {
159
155
  const { providerType, buildAuthorizeRequest, buildTokenRequest, processAuthzExpiry, processAuthzResponse, validateResponse, } = steps;
160
156
  const deviceAuthorizationResponse = yield (0, exports.authorize)(buildAuthorizeRequest(), validateResponse);
161
157
  const { user_code, verification_uri_complete } = processAuthzResponse(deviceAuthorizationResponse);
162
- (0, stdio_1.print2)(`Please use the opened browser window to continue your P0 login.
163
-
158
+ try {
159
+ yield (0, util_1.osSafeOpen)(verification_uri_complete);
160
+ (0, stdio_1.print1)(`Please use the opened browser window to continue your P0 login.`);
161
+ }
162
+ catch (_a) {
163
+ (0, stdio_1.print1)(`Could not open browser automatically. Please visit the following URL in your browser: ${verification_uri_complete}`);
164
+ }
165
+ (0, stdio_1.print2)(`
164
166
  When prompted, confirm that ${oidcProviderLabels(providerType)} displays this code:
165
167
 
166
168
  ${user_code}
167
169
 
168
170
  Waiting for authorization...
169
171
  `);
170
- void (0, open_1.default)(verification_uri_complete);
171
172
  return yield (0, exports.waitForActivation)(deviceAuthorizationResponse, processAuthzExpiry, buildTokenRequest(deviceAuthorizationResponse));
172
173
  });
173
174
  exports.oidcLogin = oidcLogin;
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../../src/plugins/oidc/login.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../../src/plugins/oidc/login.ts"],"names":[],"mappings":"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"}
@@ -106,7 +106,11 @@ exports.selfHostedSshProvider = {
106
106
  };
107
107
  }),
108
108
  proxyCommand: (request, port) => {
109
- return ["nc", request.id, port !== null && port !== void 0 ? port : "22"];
109
+ const targetPort = port !== null && port !== void 0 ? port : "22";
110
+ // On Windows, use ncat (from nmap). On Unix/Mac, use nc.
111
+ // Both have the same command line syntax: command localhost port
112
+ const command = (0, util_1.getOperatingSystem)() === "win" ? "ncat" : "nc";
113
+ return [command, request.id, targetPort];
110
114
  },
111
115
  reproCommands: () => undefined,
112
116
  requestToSsh: (request) => {
@@ -1 +1 @@
1
- {"version":3,"file":"ssh.js","sourceRoot":"","sources":["../../../../src/plugins/self-hosted/ssh.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ssh.js","sourceRoot":"","sources":["../../../../src/plugins/self-hosted/ssh.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@
10
10
  /// <reference types="node" />
11
11
  import { type ChildProcess, type ChildProcessByStdio, type ChildProcessWithoutNullStreams, type SpawnOptions, type SpawnOptionsWithoutStdio, type SpawnOptionsWithStdioTuple, type StdioNull, type StdioPipe } from "node:child_process";
12
12
  import type { Readable } from "node:stream";
13
+ import open from "open";
13
14
  /**
14
15
  * Creates a clean environment for child processes by removing FIPS OpenSSL configuration
15
16
  * variables that could interfere with external tools not designed for our custom setup.
@@ -85,4 +86,14 @@ export declare const osSafeCommand: (command: string, args: string[]) => {
85
86
  command: string;
86
87
  args: string[];
87
88
  };
89
+ /**
90
+ * Wraps the 'open' function to provide a timeout and error handling. This is
91
+ * necessary because on some OSes, 'open' may fail depending on whether the machine
92
+ * has the required dependencies installed (e.g., 'xdg-open' on Linux). Without
93
+ * proper error handling, the promise may hang indefinitely or throw an unhandled exception,
94
+ * which would crash the application entirely.
95
+ * @param target the URL to open
96
+ * @param options options to be passed directly to the 'open' function
97
+ */
98
+ export declare const osSafeOpen: (target: string, options?: open.Options) => Promise<void>;
88
99
  export {};
@@ -12,7 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.osSafeCommand = exports.getOperatingSystem = exports.delay = exports.ciEquals = exports.unexpectedValueError = exports.assertNever = exports.conditionalAbortBeforeThrow = exports.throwAssertNever = exports.exec = exports.timeout = exports.sleep = exports.P0_PATH = exports.getAppName = exports.getAppPath = exports.spawnWithCleanEnv = exports.createCleanChildEnv = void 0;
15
+ exports.osSafeOpen = exports.osSafeCommand = exports.getOperatingSystem = exports.delay = exports.ciEquals = exports.unexpectedValueError = exports.assertNever = exports.conditionalAbortBeforeThrow = exports.throwAssertNever = exports.exec = exports.timeout = exports.sleep = exports.P0_PATH = exports.getAppName = exports.getAppPath = exports.spawnWithCleanEnv = exports.createCleanChildEnv = void 0;
16
16
  /** Copyright © 2024-present P0 Security
17
17
 
18
18
  This file is part of @p0security/cli
@@ -28,6 +28,7 @@ const node_child_process_1 = require("node:child_process");
28
28
  const node_os_1 = __importDefault(require("node:os"));
29
29
  const node_path_1 = __importDefault(require("node:path"));
30
30
  const node_process_1 = __importDefault(require("node:process"));
31
+ const open_1 = __importDefault(require("open"));
31
32
  const typescript_1 = require("typescript");
32
33
  /**
33
34
  * Creates a clean environment for child processes by removing FIPS OpenSSL configuration
@@ -185,4 +186,54 @@ const osSafeCommand = (command, args) => {
185
186
  : { command, args };
186
187
  };
187
188
  exports.osSafeCommand = osSafeCommand;
189
+ const OPEN_TIMEOUT_MS = 5000;
190
+ /**
191
+ * Wraps the 'open' function to provide a timeout and error handling. This is
192
+ * necessary because on some OSes, 'open' may fail depending on whether the machine
193
+ * has the required dependencies installed (e.g., 'xdg-open' on Linux). Without
194
+ * proper error handling, the promise may hang indefinitely or throw an unhandled exception,
195
+ * which would crash the application entirely.
196
+ * @param target the URL to open
197
+ * @param options options to be passed directly to the 'open' function
198
+ */
199
+ const osSafeOpen = (target, options) => __awaiter(void 0, void 0, void 0, function* () {
200
+ const child = yield (0, open_1.default)(target, options);
201
+ return new Promise((resolve, reject) => {
202
+ let settled = false;
203
+ const settle = () => {
204
+ settled = true;
205
+ child.removeListener("error", errorHandler);
206
+ child.removeListener("spawn", spawnHandler);
207
+ };
208
+ // Timeout to avoid hanging indefinitely
209
+ const timeout = setTimeout(() => {
210
+ if (!settled) {
211
+ settle();
212
+ reject(new Error("Failed to open target: timeout exceeded"));
213
+ }
214
+ }, OPEN_TIMEOUT_MS);
215
+ const errorHandler = (err) => {
216
+ if (!settled) {
217
+ settle();
218
+ clearTimeout(timeout);
219
+ reject(err);
220
+ }
221
+ };
222
+ const spawnHandler = () => {
223
+ if (!settled) {
224
+ settle();
225
+ clearTimeout(timeout);
226
+ resolve();
227
+ }
228
+ };
229
+ // Attach handlers synchronously to catch immediate errors
230
+ child.on("error", errorHandler);
231
+ child.on("spawn", spawnHandler);
232
+ // Handle already-spawned case (process started before handlers attached)
233
+ if (child.pid !== undefined) {
234
+ spawnHandler();
235
+ }
236
+ });
237
+ });
238
+ exports.osSafeOpen = osSafeOpen;
188
239
  //# sourceMappingURL=util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"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"}