@validate.qa/runner 1.0.62 → 1.0.63

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.js CHANGED
@@ -73455,6 +73455,7 @@ var require_inbox_tools = __commonJS({
73455
73455
  legacyEmail,
73456
73456
  tag,
73457
73457
  usePlusTag: email !== baseEmail,
73458
+ allowPlainFallback: opts.allowPlainFallback ?? true,
73458
73459
  passwordKey: opts.passwordKey ?? "TEST_USER_PASSWORD",
73459
73460
  provisioned: false,
73460
73461
  // Floor reads at run start so a verification email from a PRIOR run (the
@@ -73617,6 +73618,9 @@ var require_inbox_tools = __commonJS({
73617
73618
  const { state: state2 } = ctx;
73618
73619
  const plain = args.plain === true || args.plain === "true";
73619
73620
  const restore = args.plain === false || args.plain === "false";
73621
+ if (plain && !state2.allowPlainFallback) {
73622
+ return err("The bare inbox address is unavailable for this brokered run because it is shared across projects. Keep using the project-scoped +tag address; if the app rejects plus-addressing, report email verification as blocked.");
73623
+ }
73620
73624
  if (plain && state2.usePlusTag) {
73621
73625
  state2.email = state2.baseEmail;
73622
73626
  state2.usePlusTag = false;
@@ -75458,7 +75462,10 @@ ${existingScreens.slice(0, 100).map((s) => `- ${s.screenId}${s.name ? ` "${s.nam
75458
75462
  } else if (registerRequested && ctx.inboxBroker?.address && ctx.inboxBrokerRead) {
75459
75463
  inboxState = (0, inbox_tools_js_1.createInboxRunState)({ address: ctx.inboxBroker.address }, {
75460
75464
  tagSeed: targetAppId ?? ctx.projectId,
75461
- projectScope: ctx.projectId
75465
+ projectScope: ctx.projectId,
75466
+ // A user-controlled local runner must never read the shared bare inbox:
75467
+ // only the project-scoped +tag is an authorization boundary.
75468
+ allowPlainFallback: false
75462
75469
  });
75463
75470
  inboxReader = new brokered_inbox_reader_js_1.BrokeredInboxReader(ctx.inboxBrokerRead);
75464
75471
  await (0, inbox_tools_js_1.applyAndPersistInboxIdentity)({
@@ -350851,7 +350858,7 @@ var require_package4 = __commonJS({
350851
350858
  "package.json"(exports2, module2) {
350852
350859
  module2.exports = {
350853
350860
  name: "@validate.qa/runner",
350854
- version: "1.0.62",
350861
+ version: "1.0.63",
350855
350862
  description: "validate local test runner - execute Playwright tests on your machine, connected to validate.qa cloud.",
350856
350863
  bin: {
350857
350864
  "validate-runner": "dist/cli.js"
package/dist/cli.mjs CHANGED
@@ -73460,6 +73460,7 @@ var require_inbox_tools = __commonJS({
73460
73460
  legacyEmail,
73461
73461
  tag,
73462
73462
  usePlusTag: email !== baseEmail,
73463
+ allowPlainFallback: opts.allowPlainFallback ?? true,
73463
73464
  passwordKey: opts.passwordKey ?? "TEST_USER_PASSWORD",
73464
73465
  provisioned: false,
73465
73466
  // Floor reads at run start so a verification email from a PRIOR run (the
@@ -73622,6 +73623,9 @@ var require_inbox_tools = __commonJS({
73622
73623
  const { state: state2 } = ctx;
73623
73624
  const plain = args.plain === true || args.plain === "true";
73624
73625
  const restore = args.plain === false || args.plain === "false";
73626
+ if (plain && !state2.allowPlainFallback) {
73627
+ return err("The bare inbox address is unavailable for this brokered run because it is shared across projects. Keep using the project-scoped +tag address; if the app rejects plus-addressing, report email verification as blocked.");
73628
+ }
73625
73629
  if (plain && state2.usePlusTag) {
73626
73630
  state2.email = state2.baseEmail;
73627
73631
  state2.usePlusTag = false;
@@ -75463,7 +75467,10 @@ ${existingScreens.slice(0, 100).map((s) => `- ${s.screenId}${s.name ? ` "${s.nam
75463
75467
  } else if (registerRequested && ctx.inboxBroker?.address && ctx.inboxBrokerRead) {
75464
75468
  inboxState = (0, inbox_tools_js_1.createInboxRunState)({ address: ctx.inboxBroker.address }, {
75465
75469
  tagSeed: targetAppId ?? ctx.projectId,
75466
- projectScope: ctx.projectId
75470
+ projectScope: ctx.projectId,
75471
+ // A user-controlled local runner must never read the shared bare inbox:
75472
+ // only the project-scoped +tag is an authorization boundary.
75473
+ allowPlainFallback: false
75467
75474
  });
75468
75475
  inboxReader = new brokered_inbox_reader_js_1.BrokeredInboxReader(ctx.inboxBrokerRead);
75469
75476
  await (0, inbox_tools_js_1.applyAndPersistInboxIdentity)({
@@ -350856,7 +350863,7 @@ var require_package4 = __commonJS({
350856
350863
  "package.json"(exports, module) {
350857
350864
  module.exports = {
350858
350865
  name: "@validate.qa/runner",
350859
- version: "1.0.62",
350866
+ version: "1.0.63",
350860
350867
  description: "validate local test runner - execute Playwright tests on your machine, connected to validate.qa cloud.",
350861
350868
  bin: {
350862
350869
  "validate-runner": "dist/cli.js"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@validate.qa/runner",
3
- "version": "1.0.62",
3
+ "version": "1.0.63",
4
4
  "description": "validate local test runner - execute Playwright tests on your machine, connected to validate.qa cloud.",
5
5
  "bin": {
6
6
  "validate-runner": "dist/cli.js"