@drawbridge/drawbridge-utils 0.0.144 → 0.0.146

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.
@@ -4428,9 +4428,18 @@ var shopify_default2 = {
4428
4428
  // there is nothing further to choose. `shop` absent means the install did not
4429
4429
  // finish, which is a credential problem rather than a setup one, so the
4430
4430
  // stored status already says so.
4431
- // Nothing to add — no setting can make this connection unusable, so the
4432
- // credential's own verdict stands.
4433
- status: (data2) => data2 == null ? void 0 : data2.status,
4431
+ //
4432
+ // ONE presentation downgrade: an ACTIVE store whose approval carries no
4433
+ // usage meter (source.metered explicitly null) PRESENTS as error, so the
4434
+ // connections list shows the red state and the merchant knows to click in
4435
+ // — where the Fix-order-billing card and the billing Issue explain the
4436
+ // click. The STORED status stays active on purpose: serving and tracking
4437
+ // gate on it, and the orders recorded while the merchant fixes the plan
4438
+ // are the ones billed afterward.
4439
+ status: (data2) => {
4440
+ var _a;
4441
+ return (data2 == null ? void 0 : data2.status) === "active" && ((_a = data2 == null ? void 0 : data2.source) == null ? void 0 : _a.metered) === null ? "error" : data2 == null ? void 0 : data2.status;
4442
+ },
4434
4443
  // Step types name the CAPABILITY, not this vendor. A second store platform
4435
4444
  // implements the same four commerce steps, and the connection on the step
4436
4445
  // says which store it runs against — so a merchant sees one "Create
@@ -4541,19 +4550,17 @@ var shopify_default2 = {
4541
4550
  //
4542
4551
  // Scope drift is NOT here: drawbridge-sync writes it onto the connection
4543
4552
  // document, and the document's own warnings render beside these.
4544
- // Both cards carry `action : 'billing'`: the dashboard renders it as a real
4545
- // button that mints the corrective subscription (POST .../billing) and sends
4546
- // the owner to Shopify's confirmation screen — the fix lives in OUR
4547
- // dashboard, and the one Shopify-hosted step is the charge consent no app
4548
- // can perform for a merchant.
4553
+ // Both cards send the merchant INTO THE APP via the store link already on
4554
+ // this page the App Home is where the issue renders (its error section)
4555
+ // and where the fix runs (the release-then-reselect flow). No dashboard
4556
+ // button: two entry points into a cancel flow is two ways to get it wrong.
4549
4557
  tasks: (data2) => {
4550
4558
  var _a;
4551
4559
  return [
4552
4560
  ...(data2 == null ? void 0 : data2.status) === "pending" ? [
4553
4561
  {
4554
- action: "billing",
4555
- message: "Approve the Drawbridge plan to activate this connection. You'll be asked to select a plan on Shopify, then everything else happens here.",
4556
- title: "Approve your plan",
4562
+ message: "Open the Drawbridge app in your Shopify admin and choose your plan. The connection activates once Shopify confirms it.",
4563
+ title: "Choose your plan",
4557
4564
  type: "warning"
4558
4565
  }
4559
4566
  ] : [],
@@ -4566,8 +4573,7 @@ var shopify_default2 = {
4566
4573
  // nagging on silence.
4567
4574
  ...(data2 == null ? void 0 : data2.status) === "active" && ((_a = data2 == null ? void 0 : data2.source) == null ? void 0 : _a.metered) === null ? [
4568
4575
  {
4569
- action: "billing",
4570
- message: "Order billing isn't set up for this store, so campaign-attributed orders aren't being charged. You'll need to reselect your plan on Shopify and approve it to fix this.",
4576
+ message: "Order billing isn't set up for this store, so campaign-attributed orders aren't being charged. Open the Drawbridge app in your Shopify admin \u2014 it shows this issue and walks you through reselecting your plan.",
4571
4577
  title: "Fix order billing",
4572
4578
  type: "error"
4573
4579
  }
@@ -5175,6 +5181,11 @@ var publicConnectionKeys = Object.freeze([
5175
5181
  "settings",
5176
5182
  "shop",
5177
5183
  "slug",
5184
+ // Vendor identity plus the metered billing stamp — domain, id, label,
5185
+ // metered — no credentials live here (those are the encrypted settings
5186
+ // blob). The status and tasks hooks pivot on source.metered, so stripping
5187
+ // it here left the presented status blind to the one state it must show.
5188
+ "source",
5178
5189
  "status",
5179
5190
  "tasks",
5180
5191
  "title",
@@ -5283,9 +5283,19 @@ var shopify = {
5283
5283
  // there is nothing further to choose. `shop` absent means the install did not
5284
5284
  // finish, which is a credential problem rather than a setup one, so the
5285
5285
  // stored status already says so.
5286
- // Nothing to add — no setting can make this connection unusable, so the
5287
- // credential's own verdict stands.
5288
- status : ( data ) => data?.status,
5286
+ //
5287
+ // ONE presentation downgrade: an ACTIVE store whose approval carries no
5288
+ // usage meter (source.metered explicitly null) PRESENTS as error, so the
5289
+ // connections list shows the red state and the merchant knows to click in
5290
+ // — where the Fix-order-billing card and the billing Issue explain the
5291
+ // click. The STORED status stays active on purpose: serving and tracking
5292
+ // gate on it, and the orders recorded while the merchant fixes the plan
5293
+ // are the ones billed afterward.
5294
+ status : ( data ) => (
5295
+ data?.status === 'active' && data?.source?.metered === null
5296
+ ? 'error'
5297
+ : data?.status
5298
+ ),
5289
5299
  // Step types name the CAPABILITY, not this vendor. A second store platform
5290
5300
  // implements the same four commerce steps, and the connection on the step
5291
5301
  // says which store it runs against — so a merchant sees one "Create
@@ -5407,18 +5417,16 @@ var shopify = {
5407
5417
  //
5408
5418
  // Scope drift is NOT here: drawbridge-sync writes it onto the connection
5409
5419
  // document, and the document's own warnings render beside these.
5410
- // Both cards carry `action : 'billing'`: the dashboard renders it as a real
5411
- // button that mints the corrective subscription (POST .../billing) and sends
5412
- // the owner to Shopify's confirmation screen — the fix lives in OUR
5413
- // dashboard, and the one Shopify-hosted step is the charge consent no app
5414
- // can perform for a merchant.
5420
+ // Both cards send the merchant INTO THE APP via the store link already on
5421
+ // this page the App Home is where the issue renders (its error section)
5422
+ // and where the fix runs (the release-then-reselect flow). No dashboard
5423
+ // button: two entry points into a cancel flow is two ways to get it wrong.
5415
5424
  tasks : ( data ) => [
5416
5425
  ...( data?.status === 'pending'
5417
5426
  ? [
5418
5427
  {
5419
- action : 'billing',
5420
- message : 'Approve the Drawbridge plan to activate this connection. You\'ll be asked to select a plan on Shopify, then everything else happens here.',
5421
- title : 'Approve your plan',
5428
+ message : 'Open the Drawbridge app in your Shopify admin and choose your plan. The connection activates once Shopify confirms it.',
5429
+ title : 'Choose your plan',
5422
5430
  type : 'warning'
5423
5431
  }
5424
5432
  ]
@@ -5434,8 +5442,7 @@ var shopify = {
5434
5442
  ...( data?.status === 'active' && data?.source?.metered === null
5435
5443
  ? [
5436
5444
  {
5437
- action : 'billing',
5438
- message : 'Order billing isn\'t set up for this store, so campaign-attributed orders aren\'t being charged. You\'ll need to reselect your plan on Shopify and approve it to fix this.',
5445
+ message : 'Order billing isn\'t set up for this store, so campaign-attributed orders aren\'t being charged. Open the Drawbridge app in your Shopify admin — it shows this issue and walks you through reselecting your plan.',
5439
5446
  title : 'Fix order billing',
5440
5447
  type : 'error'
5441
5448
  }
@@ -6454,6 +6461,11 @@ const publicConnectionKeys = Object.freeze([
6454
6461
  'settings',
6455
6462
  'shop',
6456
6463
  'slug',
6464
+ // Vendor identity plus the metered billing stamp — domain, id, label,
6465
+ // metered — no credentials live here (those are the encrypted settings
6466
+ // blob). The status and tasks hooks pivot on source.metered, so stripping
6467
+ // it here left the presented status blind to the one state it must show.
6468
+ 'source',
6457
6469
  'status',
6458
6470
  'tasks',
6459
6471
  'title',
@@ -5283,9 +5283,19 @@ var shopify = {
5283
5283
  // there is nothing further to choose. `shop` absent means the install did not
5284
5284
  // finish, which is a credential problem rather than a setup one, so the
5285
5285
  // stored status already says so.
5286
- // Nothing to add — no setting can make this connection unusable, so the
5287
- // credential's own verdict stands.
5288
- status : ( data ) => data?.status,
5286
+ //
5287
+ // ONE presentation downgrade: an ACTIVE store whose approval carries no
5288
+ // usage meter (source.metered explicitly null) PRESENTS as error, so the
5289
+ // connections list shows the red state and the merchant knows to click in
5290
+ // — where the Fix-order-billing card and the billing Issue explain the
5291
+ // click. The STORED status stays active on purpose: serving and tracking
5292
+ // gate on it, and the orders recorded while the merchant fixes the plan
5293
+ // are the ones billed afterward.
5294
+ status : ( data ) => (
5295
+ data?.status === 'active' && data?.source?.metered === null
5296
+ ? 'error'
5297
+ : data?.status
5298
+ ),
5289
5299
  // Step types name the CAPABILITY, not this vendor. A second store platform
5290
5300
  // implements the same four commerce steps, and the connection on the step
5291
5301
  // says which store it runs against — so a merchant sees one "Create
@@ -5407,18 +5417,16 @@ var shopify = {
5407
5417
  //
5408
5418
  // Scope drift is NOT here: drawbridge-sync writes it onto the connection
5409
5419
  // document, and the document's own warnings render beside these.
5410
- // Both cards carry `action : 'billing'`: the dashboard renders it as a real
5411
- // button that mints the corrective subscription (POST .../billing) and sends
5412
- // the owner to Shopify's confirmation screen — the fix lives in OUR
5413
- // dashboard, and the one Shopify-hosted step is the charge consent no app
5414
- // can perform for a merchant.
5420
+ // Both cards send the merchant INTO THE APP via the store link already on
5421
+ // this page the App Home is where the issue renders (its error section)
5422
+ // and where the fix runs (the release-then-reselect flow). No dashboard
5423
+ // button: two entry points into a cancel flow is two ways to get it wrong.
5415
5424
  tasks : ( data ) => [
5416
5425
  ...( data?.status === 'pending'
5417
5426
  ? [
5418
5427
  {
5419
- action : 'billing',
5420
- message : 'Approve the Drawbridge plan to activate this connection. You\'ll be asked to select a plan on Shopify, then everything else happens here.',
5421
- title : 'Approve your plan',
5428
+ message : 'Open the Drawbridge app in your Shopify admin and choose your plan. The connection activates once Shopify confirms it.',
5429
+ title : 'Choose your plan',
5422
5430
  type : 'warning'
5423
5431
  }
5424
5432
  ]
@@ -5434,8 +5442,7 @@ var shopify = {
5434
5442
  ...( data?.status === 'active' && data?.source?.metered === null
5435
5443
  ? [
5436
5444
  {
5437
- action : 'billing',
5438
- message : 'Order billing isn\'t set up for this store, so campaign-attributed orders aren\'t being charged. You\'ll need to reselect your plan on Shopify and approve it to fix this.',
5445
+ message : 'Order billing isn\'t set up for this store, so campaign-attributed orders aren\'t being charged. Open the Drawbridge app in your Shopify admin — it shows this issue and walks you through reselecting your plan.',
5439
5446
  title : 'Fix order billing',
5440
5447
  type : 'error'
5441
5448
  }
@@ -6454,6 +6461,11 @@ const publicConnectionKeys = Object.freeze([
6454
6461
  'settings',
6455
6462
  'shop',
6456
6463
  'slug',
6464
+ // Vendor identity plus the metered billing stamp — domain, id, label,
6465
+ // metered — no credentials live here (those are the encrypted settings
6466
+ // blob). The status and tasks hooks pivot on source.metered, so stripping
6467
+ // it here left the presented status blind to the one state it must show.
6468
+ 'source',
6457
6469
  'status',
6458
6470
  'tasks',
6459
6471
  'title',
@@ -4354,9 +4354,18 @@ var shopify_default2 = {
4354
4354
  // there is nothing further to choose. `shop` absent means the install did not
4355
4355
  // finish, which is a credential problem rather than a setup one, so the
4356
4356
  // stored status already says so.
4357
- // Nothing to add — no setting can make this connection unusable, so the
4358
- // credential's own verdict stands.
4359
- status: (data2) => data2 == null ? void 0 : data2.status,
4357
+ //
4358
+ // ONE presentation downgrade: an ACTIVE store whose approval carries no
4359
+ // usage meter (source.metered explicitly null) PRESENTS as error, so the
4360
+ // connections list shows the red state and the merchant knows to click in
4361
+ // — where the Fix-order-billing card and the billing Issue explain the
4362
+ // click. The STORED status stays active on purpose: serving and tracking
4363
+ // gate on it, and the orders recorded while the merchant fixes the plan
4364
+ // are the ones billed afterward.
4365
+ status: (data2) => {
4366
+ var _a;
4367
+ return (data2 == null ? void 0 : data2.status) === "active" && ((_a = data2 == null ? void 0 : data2.source) == null ? void 0 : _a.metered) === null ? "error" : data2 == null ? void 0 : data2.status;
4368
+ },
4360
4369
  // Step types name the CAPABILITY, not this vendor. A second store platform
4361
4370
  // implements the same four commerce steps, and the connection on the step
4362
4371
  // says which store it runs against — so a merchant sees one "Create
@@ -4467,19 +4476,17 @@ var shopify_default2 = {
4467
4476
  //
4468
4477
  // Scope drift is NOT here: drawbridge-sync writes it onto the connection
4469
4478
  // document, and the document's own warnings render beside these.
4470
- // Both cards carry `action : 'billing'`: the dashboard renders it as a real
4471
- // button that mints the corrective subscription (POST .../billing) and sends
4472
- // the owner to Shopify's confirmation screen — the fix lives in OUR
4473
- // dashboard, and the one Shopify-hosted step is the charge consent no app
4474
- // can perform for a merchant.
4479
+ // Both cards send the merchant INTO THE APP via the store link already on
4480
+ // this page the App Home is where the issue renders (its error section)
4481
+ // and where the fix runs (the release-then-reselect flow). No dashboard
4482
+ // button: two entry points into a cancel flow is two ways to get it wrong.
4475
4483
  tasks: (data2) => {
4476
4484
  var _a;
4477
4485
  return [
4478
4486
  ...(data2 == null ? void 0 : data2.status) === "pending" ? [
4479
4487
  {
4480
- action: "billing",
4481
- message: "Approve the Drawbridge plan to activate this connection. You'll be asked to select a plan on Shopify, then everything else happens here.",
4482
- title: "Approve your plan",
4488
+ message: "Open the Drawbridge app in your Shopify admin and choose your plan. The connection activates once Shopify confirms it.",
4489
+ title: "Choose your plan",
4483
4490
  type: "warning"
4484
4491
  }
4485
4492
  ] : [],
@@ -4492,8 +4499,7 @@ var shopify_default2 = {
4492
4499
  // nagging on silence.
4493
4500
  ...(data2 == null ? void 0 : data2.status) === "active" && ((_a = data2 == null ? void 0 : data2.source) == null ? void 0 : _a.metered) === null ? [
4494
4501
  {
4495
- action: "billing",
4496
- message: "Order billing isn't set up for this store, so campaign-attributed orders aren't being charged. You'll need to reselect your plan on Shopify and approve it to fix this.",
4502
+ message: "Order billing isn't set up for this store, so campaign-attributed orders aren't being charged. Open the Drawbridge app in your Shopify admin \u2014 it shows this issue and walks you through reselecting your plan.",
4497
4503
  title: "Fix order billing",
4498
4504
  type: "error"
4499
4505
  }
@@ -5101,6 +5107,11 @@ var publicConnectionKeys = Object.freeze([
5101
5107
  "settings",
5102
5108
  "shop",
5103
5109
  "slug",
5110
+ // Vendor identity plus the metered billing stamp — domain, id, label,
5111
+ // metered — no credentials live here (those are the encrypted settings
5112
+ // blob). The status and tasks hooks pivot on source.metered, so stripping
5113
+ // it here left the presented status blind to the one state it must show.
5114
+ "source",
5104
5115
  "status",
5105
5116
  "tasks",
5106
5117
  "title",
@@ -4353,9 +4353,18 @@ var shopify_default2 = {
4353
4353
  // there is nothing further to choose. `shop` absent means the install did not
4354
4354
  // finish, which is a credential problem rather than a setup one, so the
4355
4355
  // stored status already says so.
4356
- // Nothing to add — no setting can make this connection unusable, so the
4357
- // credential's own verdict stands.
4358
- status: (data2) => data2 == null ? void 0 : data2.status,
4356
+ //
4357
+ // ONE presentation downgrade: an ACTIVE store whose approval carries no
4358
+ // usage meter (source.metered explicitly null) PRESENTS as error, so the
4359
+ // connections list shows the red state and the merchant knows to click in
4360
+ // — where the Fix-order-billing card and the billing Issue explain the
4361
+ // click. The STORED status stays active on purpose: serving and tracking
4362
+ // gate on it, and the orders recorded while the merchant fixes the plan
4363
+ // are the ones billed afterward.
4364
+ status: (data2) => {
4365
+ var _a;
4366
+ return (data2 == null ? void 0 : data2.status) === "active" && ((_a = data2 == null ? void 0 : data2.source) == null ? void 0 : _a.metered) === null ? "error" : data2 == null ? void 0 : data2.status;
4367
+ },
4359
4368
  // Step types name the CAPABILITY, not this vendor. A second store platform
4360
4369
  // implements the same four commerce steps, and the connection on the step
4361
4370
  // says which store it runs against — so a merchant sees one "Create
@@ -4466,19 +4475,17 @@ var shopify_default2 = {
4466
4475
  //
4467
4476
  // Scope drift is NOT here: drawbridge-sync writes it onto the connection
4468
4477
  // document, and the document's own warnings render beside these.
4469
- // Both cards carry `action : 'billing'`: the dashboard renders it as a real
4470
- // button that mints the corrective subscription (POST .../billing) and sends
4471
- // the owner to Shopify's confirmation screen — the fix lives in OUR
4472
- // dashboard, and the one Shopify-hosted step is the charge consent no app
4473
- // can perform for a merchant.
4478
+ // Both cards send the merchant INTO THE APP via the store link already on
4479
+ // this page the App Home is where the issue renders (its error section)
4480
+ // and where the fix runs (the release-then-reselect flow). No dashboard
4481
+ // button: two entry points into a cancel flow is two ways to get it wrong.
4474
4482
  tasks: (data2) => {
4475
4483
  var _a;
4476
4484
  return [
4477
4485
  ...(data2 == null ? void 0 : data2.status) === "pending" ? [
4478
4486
  {
4479
- action: "billing",
4480
- message: "Approve the Drawbridge plan to activate this connection. You'll be asked to select a plan on Shopify, then everything else happens here.",
4481
- title: "Approve your plan",
4487
+ message: "Open the Drawbridge app in your Shopify admin and choose your plan. The connection activates once Shopify confirms it.",
4488
+ title: "Choose your plan",
4482
4489
  type: "warning"
4483
4490
  }
4484
4491
  ] : [],
@@ -4491,8 +4498,7 @@ var shopify_default2 = {
4491
4498
  // nagging on silence.
4492
4499
  ...(data2 == null ? void 0 : data2.status) === "active" && ((_a = data2 == null ? void 0 : data2.source) == null ? void 0 : _a.metered) === null ? [
4493
4500
  {
4494
- action: "billing",
4495
- message: "Order billing isn't set up for this store, so campaign-attributed orders aren't being charged. You'll need to reselect your plan on Shopify and approve it to fix this.",
4501
+ message: "Order billing isn't set up for this store, so campaign-attributed orders aren't being charged. Open the Drawbridge app in your Shopify admin \u2014 it shows this issue and walks you through reselecting your plan.",
4496
4502
  title: "Fix order billing",
4497
4503
  type: "error"
4498
4504
  }
@@ -5017,6 +5023,11 @@ var publicConnectionKeys = Object.freeze([
5017
5023
  "settings",
5018
5024
  "shop",
5019
5025
  "slug",
5026
+ // Vendor identity plus the metered billing stamp — domain, id, label,
5027
+ // metered — no credentials live here (those are the encrypted settings
5028
+ // blob). The status and tasks hooks pivot on source.metered, so stripping
5029
+ // it here left the presented status blind to the one state it must show.
5030
+ "source",
5020
5031
  "status",
5021
5032
  "tasks",
5022
5033
  "title",
package/dist/providers.js CHANGED
@@ -4309,9 +4309,18 @@ var shopify_default2 = {
4309
4309
  // there is nothing further to choose. `shop` absent means the install did not
4310
4310
  // finish, which is a credential problem rather than a setup one, so the
4311
4311
  // stored status already says so.
4312
- // Nothing to add — no setting can make this connection unusable, so the
4313
- // credential's own verdict stands.
4314
- status: (data2) => data2 == null ? void 0 : data2.status,
4312
+ //
4313
+ // ONE presentation downgrade: an ACTIVE store whose approval carries no
4314
+ // usage meter (source.metered explicitly null) PRESENTS as error, so the
4315
+ // connections list shows the red state and the merchant knows to click in
4316
+ // — where the Fix-order-billing card and the billing Issue explain the
4317
+ // click. The STORED status stays active on purpose: serving and tracking
4318
+ // gate on it, and the orders recorded while the merchant fixes the plan
4319
+ // are the ones billed afterward.
4320
+ status: (data2) => {
4321
+ var _a;
4322
+ return (data2 == null ? void 0 : data2.status) === "active" && ((_a = data2 == null ? void 0 : data2.source) == null ? void 0 : _a.metered) === null ? "error" : data2 == null ? void 0 : data2.status;
4323
+ },
4315
4324
  // Step types name the CAPABILITY, not this vendor. A second store platform
4316
4325
  // implements the same four commerce steps, and the connection on the step
4317
4326
  // says which store it runs against — so a merchant sees one "Create
@@ -4422,19 +4431,17 @@ var shopify_default2 = {
4422
4431
  //
4423
4432
  // Scope drift is NOT here: drawbridge-sync writes it onto the connection
4424
4433
  // document, and the document's own warnings render beside these.
4425
- // Both cards carry `action : 'billing'`: the dashboard renders it as a real
4426
- // button that mints the corrective subscription (POST .../billing) and sends
4427
- // the owner to Shopify's confirmation screen — the fix lives in OUR
4428
- // dashboard, and the one Shopify-hosted step is the charge consent no app
4429
- // can perform for a merchant.
4434
+ // Both cards send the merchant INTO THE APP via the store link already on
4435
+ // this page the App Home is where the issue renders (its error section)
4436
+ // and where the fix runs (the release-then-reselect flow). No dashboard
4437
+ // button: two entry points into a cancel flow is two ways to get it wrong.
4430
4438
  tasks: (data2) => {
4431
4439
  var _a;
4432
4440
  return [
4433
4441
  ...(data2 == null ? void 0 : data2.status) === "pending" ? [
4434
4442
  {
4435
- action: "billing",
4436
- message: "Approve the Drawbridge plan to activate this connection. You'll be asked to select a plan on Shopify, then everything else happens here.",
4437
- title: "Approve your plan",
4443
+ message: "Open the Drawbridge app in your Shopify admin and choose your plan. The connection activates once Shopify confirms it.",
4444
+ title: "Choose your plan",
4438
4445
  type: "warning"
4439
4446
  }
4440
4447
  ] : [],
@@ -4447,8 +4454,7 @@ var shopify_default2 = {
4447
4454
  // nagging on silence.
4448
4455
  ...(data2 == null ? void 0 : data2.status) === "active" && ((_a = data2 == null ? void 0 : data2.source) == null ? void 0 : _a.metered) === null ? [
4449
4456
  {
4450
- action: "billing",
4451
- message: "Order billing isn't set up for this store, so campaign-attributed orders aren't being charged. You'll need to reselect your plan on Shopify and approve it to fix this.",
4457
+ message: "Order billing isn't set up for this store, so campaign-attributed orders aren't being charged. Open the Drawbridge app in your Shopify admin \u2014 it shows this issue and walks you through reselecting your plan.",
4452
4458
  title: "Fix order billing",
4453
4459
  type: "error"
4454
4460
  }
@@ -4973,6 +4979,11 @@ var publicConnectionKeys = Object.freeze([
4973
4979
  "settings",
4974
4980
  "shop",
4975
4981
  "slug",
4982
+ // Vendor identity plus the metered billing stamp — domain, id, label,
4983
+ // metered — no credentials live here (those are the encrypted settings
4984
+ // blob). The status and tasks hooks pivot on source.metered, so stripping
4985
+ // it here left the presented status blind to the one state it must show.
4986
+ "source",
4976
4987
  "status",
4977
4988
  "tasks",
4978
4989
  "title",
package/package.json CHANGED
@@ -216,5 +216,5 @@
216
216
  "prepublishOnly": ". \"$HOME/.nvm/nvm.sh\" && nvm use && tsup && node --test"
217
217
  },
218
218
  "types": "dist/index.d.ts",
219
- "version": "0.0.144"
219
+ "version": "0.0.146"
220
220
  }