medusa-plugin-print-trail 1.0.2 → 1.1.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.
@@ -92,7 +92,6 @@ function formatPrice(amount, currency) {
92
92
  }
93
93
  }
94
94
  const ENV_SNIPPET = [
95
- "PRINT_TRAIL_BASE_URL=https://api.printtrail.com",
96
95
  "PRINT_TRAIL_CHANNEL_ID=",
97
96
  "PRINT_TRAIL_API_TOKEN=",
98
97
  "MEDUSA_BACKEND_URL=https://",
@@ -200,6 +199,7 @@ function attentionKey(code) {
200
199
  return { key: "attention.unknown", values: { code } };
201
200
  }
202
201
  const diagnosisKey = (code) => `diagnosis.${code}`;
202
+ const diagnosisHintKey = (code, environment) => environment === "production" && (code === "token-invalid" || code === "channel-not-found") ? "diagnosis.stagingOnProduction" : null;
203
203
  const webhookStateKey = (s) => `webhook.states.${s}`;
204
204
  const webhookActionKey = (a) => `webhook.actions.${a}`;
205
205
  const secretSourceKey = (source) => `settings.webhook.secretSource.${source ?? "none"}`;
@@ -685,6 +685,7 @@ const Section = ({ title, id, actions, children }) => /* @__PURE__ */ jsxRuntime
685
685
  const ConnectionSection = ({ view, onTest, testing }) => {
686
686
  const { t } = reactI18next.useTranslation("printTrail");
687
687
  const d = view.diagnosis;
688
+ const hint = d.ok ? null : diagnosisHintKey(d.code, view.endpoint.environment);
688
689
  return /* @__PURE__ */ jsxRuntime.jsxs(
689
690
  Section,
690
691
  {
@@ -693,11 +694,14 @@ const ConnectionSection = ({ view, onTest, testing }) => {
693
694
  children: [
694
695
  /* @__PURE__ */ jsxRuntime.jsx(Row, { label: t("settings.connection.heading"), children: d.ok ? /* @__PURE__ */ jsxRuntime.jsx(ui.Badge, { size: "2xsmall", color: "green", children: t("settings.connection.connected") }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
695
696
  /* @__PURE__ */ jsxRuntime.jsx(ui.Badge, { size: "2xsmall", color: "red", children: t("settings.connection.notConnected") }),
696
- /* @__PURE__ */ jsxRuntime.jsx(Value, { children: t(diagnosisKey(d.code), {
697
- detail: d.detail ?? "",
698
- tokenChannelId: d.tokenChannelId ?? "",
699
- channelId: view.credentials.channelId ?? ""
700
- }) })
697
+ /* @__PURE__ */ jsxRuntime.jsxs(Value, { children: [
698
+ t(diagnosisKey(d.code), {
699
+ detail: d.detail ?? "",
700
+ tokenChannelId: d.tokenChannelId ?? "",
701
+ channelId: view.credentials.channelId ?? ""
702
+ }),
703
+ hint && ` ${t(hint)}`
704
+ ] })
701
705
  ] }) }),
702
706
  view.channel && /* @__PURE__ */ jsxRuntime.jsx(Row, { label: t("settings.connection.channel"), children: /* @__PURE__ */ jsxRuntime.jsx(ExternalOrText, { text: view.channel.name ?? view.channel.code, url: view.channel.url }) }),
703
707
  view.team && /* @__PURE__ */ jsxRuntime.jsx(Row, { label: t("settings.connection.team"), children: /* @__PURE__ */ jsxRuntime.jsx(ExternalOrText, { text: view.team.name ?? view.team.code, url: view.team.url }) }),
@@ -952,12 +956,13 @@ const SettingsPage = () => {
952
956
  mutationFn: () => api.testConnection(),
953
957
  onSuccess: async (result) => {
954
958
  if (!result.diagnosis.ok) {
959
+ const hint = diagnosisHintKey(result.diagnosis.code, connection.data?.endpoint.environment);
955
960
  ui.toast.error(
956
961
  t(diagnosisKey(result.diagnosis.code), {
957
962
  detail: result.diagnosis.detail ?? "",
958
963
  tokenChannelId: result.diagnosis.tokenChannelId ?? "",
959
964
  channelId: connection.data?.credentials.channelId ?? ""
960
- })
965
+ }) + (hint ? ` ${t(hint)}` : "")
961
966
  );
962
967
  return;
963
968
  }
@@ -1463,7 +1468,7 @@ const ShippingPage = () => {
1463
1468
  };
1464
1469
  const common = { "loading": "Loading…", "yes": "Yes", "no": "No", "set": "Set", "notSet": "Not set", "none": "None", "default": "default", "cancel": "Cancel", "save": "Save", "delete": "Delete", "edit": "Edit", "create": "Create", "view": "View", "error": "Something went wrong: {{message}}", "previous": "Previous", "next": "Next", "pageOf": "{{from}}–{{to}} of {{count}}", "of": "of", "results": "results", "pages": "pages" };
1465
1470
  const settings = { "title": "Print Trail", "description": "The connection to the Print Trail API, webhooks, shipping methods and SKU health.", "notices": "Notices", "connection": { "heading": "Connection", "connected": "Connected", "notConnected": "Not connected", "channel": "Channel", "team": "Team", "endpoint": "Print Trail API endpoint", "staging": "Staging", "production": "Production", "token": "API token", "tokenEnding": "ending ••••{{ending}}", "tokenSet": "set", "channelId": "Channel id", "test": "Test connection", "testing": "Testing…", "tested": "Connection tested" }, "restartHelp": "Credentials come from environment variables. Changing one needs a restart.", "secretHelp": "Test connection fetches the webhook secret from the Print Trail API and stores it. PRINT_TRAIL_WEBHOOK_SECRET is only needed for a Print Trail API that doesn't return it.", "webhook": { "heading": "Webhook", "state": "State", "registeredUrl": "Print Trail sends to", "targetUrl": "This store's address", "secret": "Webhook secret", "secretSource": { "print-trail": "From Print Trail", "configured": "From PRINT_TRAIL_WEBHOOK_SECRET", "none": "Not set" }, "reregister": "Re-register", "rotate": "Rotate secret", "rotateTitle": "Rotate the webhook secret?", "rotateBody": "Print Trail will sign new webhooks with a new secret. The plugin stores it straight away and accepts the old one for 4 hours.", "rotateYes": "Rotate", "rotated": { "rotated": "Webhook secret rotated.", "not-registered": "Print Trail doesn't send this channel's webhooks to this store, so the secret wasn't rotated.", "unsupported": "This Print Trail API can't rotate the webhook secret. Rotate it in the Print Trail app, then press Test connection.", "failed": "Print Trail refused the rotation: {{detail}}", "secret-not-stored": "Print Trail rotated the secret, but it couldn't be stored. Press Test connection to fetch it.", "busy": "Another Print Trail connection check is running. Try again in a moment." }, "secretNotStored": "The webhook is registered, but the webhook secret couldn't be fetched or stored. Press Test connection again." }, "methods": { "heading": "Shipping methods", "fromPrintTrail": "From Print Trail", "fallback": "Defaults (Print Trail unreachable)", "manage": "Print Trail shipping options" }, "sku": { "heading": "SKU health", "unmatched": "SKUs Print Trail doesn't know", "noUnmatched": "Every SKU matched at the last check.", "problems": "Variants with a SKU problem", "noProblems": "No SKU problems found.", "product": "Product", "variant": "Variant", "sku": "SKU", "status": "Status", "checkedAt": "Checked", "unchecked": "{{count}} variants haven't been checked yet. Saving a variant checks it.", "truncated": "Showing the first 2000 variants.", "lastRun": "Last stock sync", "lastRunNever": "No stock sync has run yet.", "lastRunSummary": "{{trigger}}, {{at}}: {{levels}} stock levels updated, {{skipped}} variants skipped", "lastRunError": "The last stock sync failed: {{error}}", "stockSyncOff": "Stock sync is turned off.", "loadFailed": "SKU health couldn't be loaded ({{message}}). If the plugin was just upgraded, run npx medusa db:migrate, then reload this page.", "loadFailedNoDetail": "SKU health couldn't be loaded. If the plugin was just upgraded, run npx medusa db:migrate, then reload this page.", "syncNow": { "button": "Sync stock now", "unavailable": "Stock sync is turned off in the plugin's options.", "completed": "Stock synced: {{summary}}", "deferred": "A stock sync is already running. This one runs after it, within one sweep.", "disabled": "Stock sync is turned off, or the plugin isn't connected.", "dropped": "Nothing to sync: the stock is already up to date.", "failed": "The stock sync failed: {{reason}}", "requestFailed": "Something went wrong: {{message}}. The last stock sync below shows how the run ended." }, "warning": { "duplicate-sku": "More than one inventory item resolves to these SKUs, so their stock wasn't written: {{skus}}", "multi-location": "These SKUs' stock went to more than one stock location (set stockLocationIds to choose): {{skus}}", "unknown-figure": "Print Trail sent no usable stock figure for: {{skus}}" } }, "options": { "heading": "Options in force", "help": "Set in medusa-config.ts and read at startup.", "orderNumberPrefix": "Order number prefix", "defaultShippingMethod": "Default shipping method", "confirmOn": "Confirm on", "strictSkus": "Strict SKUs", "stockSync": "Stock sync", "reconcile": "Reconcile", "reconcileValue": "on, looking back {{days}} days", "autoComplete": "Complete orders when everything has shipped", "shipmentEmail": "Shipment email template", "cancelTooLateEmail": "Cancel-too-late email template", "adminEmails": "Admin email addresses", "adminEmailCount": "{{count}} set", "stockLocations": "Stock locations", "allLocations": "Every location stocking the SKU", "appUrl": "Print Trail app URL", "adminUrl": "Admin URL", "backendUrl": "Backend URL", "locking": "Locking provider", "off": "off", "on": "on", "schedules": "Job schedules", "job": "Job", "variable": "Variable", "schedule": "Schedule" }, "empty": { "heading": "Connect Print Trail", "body": "Set these environment variables, add both blocks to medusa-config.ts and restart Medusa. Then put the products Print Trail fulfils in a shipping profile served by a Print Trail shipping option.", "variables": "Environment variables", "config": "medusa-config.ts", "addOption": "Add a Print Trail shipping option" }, "apiVersion": { "label": "Print Trail API version", "value": "{{version}} (seen {{at}})", "none": "Not reported (older Print Trail API)" } };
1466
- const diagnosis = { "not-configured": "Not connected: the Print Trail API credentials aren't set.", "token-invalid": "Print Trail refused the connection: the API token or channel ID is wrong. Check PRINT_TRAIL_API_TOKEN and PRINT_TRAIL_CHANNEL_ID.", "channel-inactive": "The Print Trail channel is inactive. Print Trail refuses every request from it and sends it no webhooks. Make it active in Print Trail (Settings → Channels), then press Test connection.", "channel-not-found": "Print Trail has no channel {{channelId}}. Check PRINT_TRAIL_CHANNEL_ID.", "not-print-trail": "The endpoint answered, but it isn't the Print Trail API. Check PRINT_TRAIL_BASE_URL.", "token-other-channel": "This token belongs to Print Trail channel {{tokenChannelId}}, but the store is configured for {{channelId}}.", "unreachable": "Couldn't reach the Print Trail API. It may be down; try again shortly.", "error": "The Print Trail API returned an error: {{detail}}" };
1471
+ const diagnosis = { "not-configured": "Not connected: the Print Trail API credentials aren't set.", "token-invalid": "Print Trail refused the connection: the API token or channel ID is wrong. Check PRINT_TRAIL_API_TOKEN and PRINT_TRAIL_CHANNEL_ID.", "channel-inactive": "The Print Trail channel is inactive. Print Trail refuses every request from it and sends it no webhooks. Make it active in Print Trail (Settings → Channels), then press Test connection.", "channel-not-found": "Print Trail has no channel {{channelId}}. Check PRINT_TRAIL_CHANNEL_ID.", "not-print-trail": "The endpoint answered, but it isn't the Print Trail API. Check PRINT_TRAIL_BASE_URL, or leave it unset for production.", "token-other-channel": "This token belongs to Print Trail channel {{tokenChannelId}}, but the store is configured for {{channelId}}.", "unreachable": "Couldn't reach the Print Trail API. It may be down; try again shortly.", "error": "The Print Trail API returned an error: {{detail}}", "stagingOnProduction": "If these are Print Trail staging credentials, set PRINT_TRAIL_BASE_URL to the staging host: unset, it means production." };
1467
1472
  const webhook = { "states": { "registered": "Registered here", "not-registered": "Not registered", "elsewhere": "Sending elsewhere", "unknown": "Unknown (couldn't read the channel)", "no-backend-url": "No backend URL (MEDUSA_BACKEND_URL isn't set)" }, "actions": { "registered": "Webhook registered.", "already-registered": "The webhook is already registered here.", "needs-confirmation": "The webhook wasn't changed.", "cannot-register": "The webhook wasn't registered: the channel couldn't be read.", "invalid-url": "The webhook wasn't registered: Print Trail never accepts this address. See the notes under Webhook.", "failed": "Print Trail didn't register the webhook: {{detail}}", "busy": "Another Print Trail connection check is running. Try again in a moment." }, "confirmTitle": "Register this address?", "confirmUnsafe": "Print Trail only sends webhooks to https:// addresses on a public host, and refuses to register any other. {{url}} isn't one, so Print Trail will refuse it unless it's a development Print Trail or the bundled mock. For a local store, use an HTTPS tunnel and set MEDUSA_BACKEND_URL to its address. Register it anyway?", "confirmYes": "Register anyway", "confirmElsewhereTitle": "Send updates to this store?", "confirmElsewhere": "Print Trail is currently sending this channel's updates to {{url}}. Send them to this store instead?", "confirmElsewhereYes": "Send them here" };
1468
1473
  const warnings = { "not-configured": "Print Trail isn't connected yet.", "no-webhook-secret": "No webhook secret yet, so every webhook is refused. Press Test connection to fetch it.", "webhook-secret-mismatch": "PRINT_TRAIL_WEBHOOK_SECRET differs from the secret the Print Trail API returned. The plugin uses Print Trail's; remove the variable or update it.", "no-backend-url": "MEDUSA_BACKEND_URL isn't set, so the webhook can't be registered.", "no-admin-url": "MEDUSA_ADMIN_URL isn't set, so Print Trail orders carry no link back to Medusa.", "no-admin-email": "No admin email is set (PRINT_TRAIL_ADMIN_EMAIL), so nobody is emailed when a cancel comes too late.", "in-memory-locking": "Locks are per process. If this store runs more than one server or worker process, configure Medusa's Redis locking provider (@medusajs/medusa/locking-redis), or two processes can send the same order at once.", "postgres-locking": "The Postgres locking provider is the default, and the plugin doesn't support it: it never reclaims an expired lock. Use @medusajs/medusa/locking-redis.", "postgres-locking-configured": "A Postgres locking provider is configured. Don't make it the default: the plugin doesn't support it.", "no-print-trail-shipping-options": "No shipping option uses Print Trail yet, so no order is sent.", "not-https": "Print Trail only sends webhooks to https:// addresses, and refuses to register any other.", "local-address": "This is a local, private or reserved address. Print Trail can't reach it and refuses to register it; for a local store, use an HTTPS tunnel.", "too-long": "This address is longer than 200 characters, which Print Trail never accepts.", "credentials": "This address has a user name or password, which Print Trail never accepts.", "fragment": "This address has a #fragment, which Print Trail never accepts.", "undeliverable": "This address is registered, but Print Trail API 1.2.0 and later deliver nothing to it. Register an https:// address on a public host (an HTTPS tunnel for a local store)." };
1469
1474
  const health = { "reconnect": "Reconnect Print Trail", "reconnectBody": "Print Trail refused the connection: the API token or channel ID is wrong. Check PRINT_TRAIL_API_TOKEN and PRINT_TRAIL_CHANNEL_ID, restart Medusa and press Test connection. Orders, cancels and edits waiting meanwhile are retried automatically once it works.", "channelInactive": "The Print Trail channel is inactive", "channelInactiveBody": "Print Trail refuses every request from this channel and sends it no webhooks, so orders aren't sent. Make the channel active in Print Trail (Settings → Channels), then press Test connection. Orders, cancels and edits waiting meanwhile are retried automatically once it is active.", "unmatched": "{{count}} SKUs aren't known to Print Trail.", "unmatchedLink": "See SKU health" };
@@ -89,7 +89,6 @@ function formatPrice(amount, currency) {
89
89
  }
90
90
  }
91
91
  const ENV_SNIPPET = [
92
- "PRINT_TRAIL_BASE_URL=https://api.printtrail.com",
93
92
  "PRINT_TRAIL_CHANNEL_ID=",
94
93
  "PRINT_TRAIL_API_TOKEN=",
95
94
  "MEDUSA_BACKEND_URL=https://",
@@ -197,6 +196,7 @@ function attentionKey(code) {
197
196
  return { key: "attention.unknown", values: { code } };
198
197
  }
199
198
  const diagnosisKey = (code) => `diagnosis.${code}`;
199
+ const diagnosisHintKey = (code, environment) => environment === "production" && (code === "token-invalid" || code === "channel-not-found") ? "diagnosis.stagingOnProduction" : null;
200
200
  const webhookStateKey = (s) => `webhook.states.${s}`;
201
201
  const webhookActionKey = (a) => `webhook.actions.${a}`;
202
202
  const secretSourceKey = (source) => `settings.webhook.secretSource.${source ?? "none"}`;
@@ -682,6 +682,7 @@ const Section = ({ title, id, actions, children }) => /* @__PURE__ */ jsxs(Conta
682
682
  const ConnectionSection = ({ view, onTest, testing }) => {
683
683
  const { t } = useTranslation("printTrail");
684
684
  const d = view.diagnosis;
685
+ const hint = d.ok ? null : diagnosisHintKey(d.code, view.endpoint.environment);
685
686
  return /* @__PURE__ */ jsxs(
686
687
  Section,
687
688
  {
@@ -690,11 +691,14 @@ const ConnectionSection = ({ view, onTest, testing }) => {
690
691
  children: [
691
692
  /* @__PURE__ */ jsx(Row, { label: t("settings.connection.heading"), children: d.ok ? /* @__PURE__ */ jsx(Badge, { size: "2xsmall", color: "green", children: t("settings.connection.connected") }) : /* @__PURE__ */ jsxs(Fragment, { children: [
692
693
  /* @__PURE__ */ jsx(Badge, { size: "2xsmall", color: "red", children: t("settings.connection.notConnected") }),
693
- /* @__PURE__ */ jsx(Value, { children: t(diagnosisKey(d.code), {
694
- detail: d.detail ?? "",
695
- tokenChannelId: d.tokenChannelId ?? "",
696
- channelId: view.credentials.channelId ?? ""
697
- }) })
694
+ /* @__PURE__ */ jsxs(Value, { children: [
695
+ t(diagnosisKey(d.code), {
696
+ detail: d.detail ?? "",
697
+ tokenChannelId: d.tokenChannelId ?? "",
698
+ channelId: view.credentials.channelId ?? ""
699
+ }),
700
+ hint && ` ${t(hint)}`
701
+ ] })
698
702
  ] }) }),
699
703
  view.channel && /* @__PURE__ */ jsx(Row, { label: t("settings.connection.channel"), children: /* @__PURE__ */ jsx(ExternalOrText, { text: view.channel.name ?? view.channel.code, url: view.channel.url }) }),
700
704
  view.team && /* @__PURE__ */ jsx(Row, { label: t("settings.connection.team"), children: /* @__PURE__ */ jsx(ExternalOrText, { text: view.team.name ?? view.team.code, url: view.team.url }) }),
@@ -949,12 +953,13 @@ const SettingsPage = () => {
949
953
  mutationFn: () => api.testConnection(),
950
954
  onSuccess: async (result) => {
951
955
  if (!result.diagnosis.ok) {
956
+ const hint = diagnosisHintKey(result.diagnosis.code, connection.data?.endpoint.environment);
952
957
  toast.error(
953
958
  t(diagnosisKey(result.diagnosis.code), {
954
959
  detail: result.diagnosis.detail ?? "",
955
960
  tokenChannelId: result.diagnosis.tokenChannelId ?? "",
956
961
  channelId: connection.data?.credentials.channelId ?? ""
957
- })
962
+ }) + (hint ? ` ${t(hint)}` : "")
958
963
  );
959
964
  return;
960
965
  }
@@ -1460,7 +1465,7 @@ const ShippingPage = () => {
1460
1465
  };
1461
1466
  const common = { "loading": "Loading…", "yes": "Yes", "no": "No", "set": "Set", "notSet": "Not set", "none": "None", "default": "default", "cancel": "Cancel", "save": "Save", "delete": "Delete", "edit": "Edit", "create": "Create", "view": "View", "error": "Something went wrong: {{message}}", "previous": "Previous", "next": "Next", "pageOf": "{{from}}–{{to}} of {{count}}", "of": "of", "results": "results", "pages": "pages" };
1462
1467
  const settings = { "title": "Print Trail", "description": "The connection to the Print Trail API, webhooks, shipping methods and SKU health.", "notices": "Notices", "connection": { "heading": "Connection", "connected": "Connected", "notConnected": "Not connected", "channel": "Channel", "team": "Team", "endpoint": "Print Trail API endpoint", "staging": "Staging", "production": "Production", "token": "API token", "tokenEnding": "ending ••••{{ending}}", "tokenSet": "set", "channelId": "Channel id", "test": "Test connection", "testing": "Testing…", "tested": "Connection tested" }, "restartHelp": "Credentials come from environment variables. Changing one needs a restart.", "secretHelp": "Test connection fetches the webhook secret from the Print Trail API and stores it. PRINT_TRAIL_WEBHOOK_SECRET is only needed for a Print Trail API that doesn't return it.", "webhook": { "heading": "Webhook", "state": "State", "registeredUrl": "Print Trail sends to", "targetUrl": "This store's address", "secret": "Webhook secret", "secretSource": { "print-trail": "From Print Trail", "configured": "From PRINT_TRAIL_WEBHOOK_SECRET", "none": "Not set" }, "reregister": "Re-register", "rotate": "Rotate secret", "rotateTitle": "Rotate the webhook secret?", "rotateBody": "Print Trail will sign new webhooks with a new secret. The plugin stores it straight away and accepts the old one for 4 hours.", "rotateYes": "Rotate", "rotated": { "rotated": "Webhook secret rotated.", "not-registered": "Print Trail doesn't send this channel's webhooks to this store, so the secret wasn't rotated.", "unsupported": "This Print Trail API can't rotate the webhook secret. Rotate it in the Print Trail app, then press Test connection.", "failed": "Print Trail refused the rotation: {{detail}}", "secret-not-stored": "Print Trail rotated the secret, but it couldn't be stored. Press Test connection to fetch it.", "busy": "Another Print Trail connection check is running. Try again in a moment." }, "secretNotStored": "The webhook is registered, but the webhook secret couldn't be fetched or stored. Press Test connection again." }, "methods": { "heading": "Shipping methods", "fromPrintTrail": "From Print Trail", "fallback": "Defaults (Print Trail unreachable)", "manage": "Print Trail shipping options" }, "sku": { "heading": "SKU health", "unmatched": "SKUs Print Trail doesn't know", "noUnmatched": "Every SKU matched at the last check.", "problems": "Variants with a SKU problem", "noProblems": "No SKU problems found.", "product": "Product", "variant": "Variant", "sku": "SKU", "status": "Status", "checkedAt": "Checked", "unchecked": "{{count}} variants haven't been checked yet. Saving a variant checks it.", "truncated": "Showing the first 2000 variants.", "lastRun": "Last stock sync", "lastRunNever": "No stock sync has run yet.", "lastRunSummary": "{{trigger}}, {{at}}: {{levels}} stock levels updated, {{skipped}} variants skipped", "lastRunError": "The last stock sync failed: {{error}}", "stockSyncOff": "Stock sync is turned off.", "loadFailed": "SKU health couldn't be loaded ({{message}}). If the plugin was just upgraded, run npx medusa db:migrate, then reload this page.", "loadFailedNoDetail": "SKU health couldn't be loaded. If the plugin was just upgraded, run npx medusa db:migrate, then reload this page.", "syncNow": { "button": "Sync stock now", "unavailable": "Stock sync is turned off in the plugin's options.", "completed": "Stock synced: {{summary}}", "deferred": "A stock sync is already running. This one runs after it, within one sweep.", "disabled": "Stock sync is turned off, or the plugin isn't connected.", "dropped": "Nothing to sync: the stock is already up to date.", "failed": "The stock sync failed: {{reason}}", "requestFailed": "Something went wrong: {{message}}. The last stock sync below shows how the run ended." }, "warning": { "duplicate-sku": "More than one inventory item resolves to these SKUs, so their stock wasn't written: {{skus}}", "multi-location": "These SKUs' stock went to more than one stock location (set stockLocationIds to choose): {{skus}}", "unknown-figure": "Print Trail sent no usable stock figure for: {{skus}}" } }, "options": { "heading": "Options in force", "help": "Set in medusa-config.ts and read at startup.", "orderNumberPrefix": "Order number prefix", "defaultShippingMethod": "Default shipping method", "confirmOn": "Confirm on", "strictSkus": "Strict SKUs", "stockSync": "Stock sync", "reconcile": "Reconcile", "reconcileValue": "on, looking back {{days}} days", "autoComplete": "Complete orders when everything has shipped", "shipmentEmail": "Shipment email template", "cancelTooLateEmail": "Cancel-too-late email template", "adminEmails": "Admin email addresses", "adminEmailCount": "{{count}} set", "stockLocations": "Stock locations", "allLocations": "Every location stocking the SKU", "appUrl": "Print Trail app URL", "adminUrl": "Admin URL", "backendUrl": "Backend URL", "locking": "Locking provider", "off": "off", "on": "on", "schedules": "Job schedules", "job": "Job", "variable": "Variable", "schedule": "Schedule" }, "empty": { "heading": "Connect Print Trail", "body": "Set these environment variables, add both blocks to medusa-config.ts and restart Medusa. Then put the products Print Trail fulfils in a shipping profile served by a Print Trail shipping option.", "variables": "Environment variables", "config": "medusa-config.ts", "addOption": "Add a Print Trail shipping option" }, "apiVersion": { "label": "Print Trail API version", "value": "{{version}} (seen {{at}})", "none": "Not reported (older Print Trail API)" } };
1463
- const diagnosis = { "not-configured": "Not connected: the Print Trail API credentials aren't set.", "token-invalid": "Print Trail refused the connection: the API token or channel ID is wrong. Check PRINT_TRAIL_API_TOKEN and PRINT_TRAIL_CHANNEL_ID.", "channel-inactive": "The Print Trail channel is inactive. Print Trail refuses every request from it and sends it no webhooks. Make it active in Print Trail (Settings → Channels), then press Test connection.", "channel-not-found": "Print Trail has no channel {{channelId}}. Check PRINT_TRAIL_CHANNEL_ID.", "not-print-trail": "The endpoint answered, but it isn't the Print Trail API. Check PRINT_TRAIL_BASE_URL.", "token-other-channel": "This token belongs to Print Trail channel {{tokenChannelId}}, but the store is configured for {{channelId}}.", "unreachable": "Couldn't reach the Print Trail API. It may be down; try again shortly.", "error": "The Print Trail API returned an error: {{detail}}" };
1468
+ const diagnosis = { "not-configured": "Not connected: the Print Trail API credentials aren't set.", "token-invalid": "Print Trail refused the connection: the API token or channel ID is wrong. Check PRINT_TRAIL_API_TOKEN and PRINT_TRAIL_CHANNEL_ID.", "channel-inactive": "The Print Trail channel is inactive. Print Trail refuses every request from it and sends it no webhooks. Make it active in Print Trail (Settings → Channels), then press Test connection.", "channel-not-found": "Print Trail has no channel {{channelId}}. Check PRINT_TRAIL_CHANNEL_ID.", "not-print-trail": "The endpoint answered, but it isn't the Print Trail API. Check PRINT_TRAIL_BASE_URL, or leave it unset for production.", "token-other-channel": "This token belongs to Print Trail channel {{tokenChannelId}}, but the store is configured for {{channelId}}.", "unreachable": "Couldn't reach the Print Trail API. It may be down; try again shortly.", "error": "The Print Trail API returned an error: {{detail}}", "stagingOnProduction": "If these are Print Trail staging credentials, set PRINT_TRAIL_BASE_URL to the staging host: unset, it means production." };
1464
1469
  const webhook = { "states": { "registered": "Registered here", "not-registered": "Not registered", "elsewhere": "Sending elsewhere", "unknown": "Unknown (couldn't read the channel)", "no-backend-url": "No backend URL (MEDUSA_BACKEND_URL isn't set)" }, "actions": { "registered": "Webhook registered.", "already-registered": "The webhook is already registered here.", "needs-confirmation": "The webhook wasn't changed.", "cannot-register": "The webhook wasn't registered: the channel couldn't be read.", "invalid-url": "The webhook wasn't registered: Print Trail never accepts this address. See the notes under Webhook.", "failed": "Print Trail didn't register the webhook: {{detail}}", "busy": "Another Print Trail connection check is running. Try again in a moment." }, "confirmTitle": "Register this address?", "confirmUnsafe": "Print Trail only sends webhooks to https:// addresses on a public host, and refuses to register any other. {{url}} isn't one, so Print Trail will refuse it unless it's a development Print Trail or the bundled mock. For a local store, use an HTTPS tunnel and set MEDUSA_BACKEND_URL to its address. Register it anyway?", "confirmYes": "Register anyway", "confirmElsewhereTitle": "Send updates to this store?", "confirmElsewhere": "Print Trail is currently sending this channel's updates to {{url}}. Send them to this store instead?", "confirmElsewhereYes": "Send them here" };
1465
1470
  const warnings = { "not-configured": "Print Trail isn't connected yet.", "no-webhook-secret": "No webhook secret yet, so every webhook is refused. Press Test connection to fetch it.", "webhook-secret-mismatch": "PRINT_TRAIL_WEBHOOK_SECRET differs from the secret the Print Trail API returned. The plugin uses Print Trail's; remove the variable or update it.", "no-backend-url": "MEDUSA_BACKEND_URL isn't set, so the webhook can't be registered.", "no-admin-url": "MEDUSA_ADMIN_URL isn't set, so Print Trail orders carry no link back to Medusa.", "no-admin-email": "No admin email is set (PRINT_TRAIL_ADMIN_EMAIL), so nobody is emailed when a cancel comes too late.", "in-memory-locking": "Locks are per process. If this store runs more than one server or worker process, configure Medusa's Redis locking provider (@medusajs/medusa/locking-redis), or two processes can send the same order at once.", "postgres-locking": "The Postgres locking provider is the default, and the plugin doesn't support it: it never reclaims an expired lock. Use @medusajs/medusa/locking-redis.", "postgres-locking-configured": "A Postgres locking provider is configured. Don't make it the default: the plugin doesn't support it.", "no-print-trail-shipping-options": "No shipping option uses Print Trail yet, so no order is sent.", "not-https": "Print Trail only sends webhooks to https:// addresses, and refuses to register any other.", "local-address": "This is a local, private or reserved address. Print Trail can't reach it and refuses to register it; for a local store, use an HTTPS tunnel.", "too-long": "This address is longer than 200 characters, which Print Trail never accepts.", "credentials": "This address has a user name or password, which Print Trail never accepts.", "fragment": "This address has a #fragment, which Print Trail never accepts.", "undeliverable": "This address is registered, but Print Trail API 1.2.0 and later deliver nothing to it. Register an https:// address on a public host (an HTTPS tunnel for a local store)." };
1466
1471
  const health = { "reconnect": "Reconnect Print Trail", "reconnectBody": "Print Trail refused the connection: the API token or channel ID is wrong. Check PRINT_TRAIL_API_TOKEN and PRINT_TRAIL_CHANNEL_ID, restart Medusa and press Test connection. Orders, cancels and edits waiting meanwhile are retried automatically once it works.", "channelInactive": "The Print Trail channel is inactive", "channelInactiveBody": "Print Trail refuses every request from this channel and sends it no webhooks, so orders aren't sent. Make the channel active in Print Trail (Settings → Channels), then press Test connection. Orders, cancels and edits waiting meanwhile are retried automatically once it is active.", "unmatched": "{{count}} SKUs aren't known to Print Trail.", "unmatchedLink": "See SKU health" };
@@ -1,3 +1,4 @@
1
+ export declare const PRODUCTION_HOST = "https://api.printtrail.com";
1
2
  export declare const STAGING_HOST = "https://printtrail-core.consilstaging.com";
2
3
  export type PrintTrailCredentials = {
3
4
  baseUrl?: string;
@@ -30,6 +31,7 @@ export type PrintTrailPluginOptions = PrintTrailCredentials & {
30
31
  stockLocationIds?: string[];
31
32
  };
32
33
  export declare function printTrailOptionsFromEnv(env?: NodeJS.ProcessEnv): PrintTrailCredentials;
34
+ export declare function resolveCredentials(o: PrintTrailCredentials | undefined): PrintTrailCredentials;
33
35
  export declare function isConnected(o: PrintTrailCredentials): boolean;
34
36
  export type RawPrintTrailPluginOptions = Omit<Partial<PrintTrailPluginOptions>, "notifications"> & {
35
37
  notifications?: {
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.STAGING_HOST = void 0;
3
+ exports.STAGING_HOST = exports.PRODUCTION_HOST = void 0;
4
4
  exports.printTrailOptionsFromEnv = printTrailOptionsFromEnv;
5
+ exports.resolveCredentials = resolveCredentials;
5
6
  exports.isConnected = isConnected;
6
7
  exports.resolvePluginOptions = resolvePluginOptions;
7
- const utils_1 = require("@medusajs/framework/utils");
8
+ exports.PRODUCTION_HOST = "https://api.printtrail.com";
8
9
  exports.STAGING_HOST = "https://printtrail-core.consilstaging.com";
9
10
  const clean = (value) => {
10
11
  const v = value?.trim();
@@ -18,6 +19,13 @@ function printTrailOptionsFromEnv(env = process.env) {
18
19
  apiToken: clean(env.PRINT_TRAIL_API_TOKEN),
19
20
  };
20
21
  }
22
+ function resolveCredentials(o) {
23
+ return {
24
+ baseUrl: stripSlash(clean(o?.baseUrl)) || exports.PRODUCTION_HOST,
25
+ channelId: clean(o?.channelId),
26
+ apiToken: clean(o?.apiToken),
27
+ };
28
+ }
21
29
  function isConnected(o) {
22
30
  return !!(o.baseUrl && o.channelId && o.apiToken);
23
31
  }
@@ -28,17 +36,8 @@ const emailList = (value) => {
28
36
  };
29
37
  function resolvePluginOptions(raw) {
30
38
  const o = (raw ?? {});
31
- const baseUrl = stripSlash(clean(o.baseUrl));
32
- const channelId = clean(o.channelId);
33
- const apiToken = clean(o.apiToken);
34
- if ((channelId || apiToken) && !baseUrl) {
35
- throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Print Trail API: PRINT_TRAIL_BASE_URL is not set. Use https://api.printtrail.com, " +
36
- `or ${exports.STAGING_HOST} for staging.`);
37
- }
38
39
  return {
39
- baseUrl,
40
- channelId,
41
- apiToken,
40
+ ...resolveCredentials(o),
42
41
  webhookSecret: clean(o.webhookSecret),
43
42
  backendUrl: stripSlash(clean(o.backendUrl)),
44
43
  adminUrl: stripSlash(clean(o.adminUrl)),
@@ -62,4 +61,4 @@ function resolvePluginOptions(raw) {
62
61
  stockLocationIds: o.stockLocationIds,
63
62
  };
64
63
  }
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFtREEsNERBUUM7QUFFRCxrQ0FFQztBQXNCRCxvREE0Q0M7QUFqSUQscURBQXVEO0FBRTFDLFFBQUEsWUFBWSxHQUFHLDJDQUEyQyxDQUFBO0FBd0N2RSxNQUFNLEtBQUssR0FBRyxDQUFDLEtBQXlCLEVBQUUsRUFBRTtJQUMxQyxNQUFNLENBQUMsR0FBRyxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUE7SUFDdkIsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFBO0FBQzFCLENBQUMsQ0FBQTtBQUVELE1BQU0sVUFBVSxHQUFHLENBQUMsR0FBdUIsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUE7QUFJeEUsU0FBZ0Isd0JBQXdCLENBQ3RDLE1BQXlCLE9BQU8sQ0FBQyxHQUFHO0lBRXBDLE9BQU87UUFDTCxPQUFPLEVBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUNwRCxTQUFTLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQztRQUM1QyxRQUFRLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQztLQUMzQyxDQUFBO0FBQ0gsQ0FBQztBQUVELFNBQWdCLFdBQVcsQ0FBQyxDQUF3QjtJQUNsRCxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUE7QUFDbkQsQ0FBQztBQWNELE1BQU0sVUFBVSxHQUFHLENBQUMsS0FBbUMsRUFBRSxRQUFnQixFQUFrQixFQUFFLENBQzNGLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQyxD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
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFrREEsNERBUUM7QUFJRCxnREFNQztBQUVELGtDQUVDO0FBc0JELG9EQTRCQztBQTFIWSxRQUFBLGVBQWUsR0FBRyw0QkFBNEIsQ0FBQTtBQUM5QyxRQUFBLFlBQVksR0FBRywyQ0FBMkMsQ0FBQTtBQXdDdkUsTUFBTSxLQUFLLEdBQUcsQ0FBQyxLQUF5QixFQUFFLEVBQUU7SUFDMUMsTUFBTSxDQUFDLEdBQUcsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFBO0lBQ3ZCLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtBQUMxQixDQUFDLENBQUE7QUFFRCxNQUFNLFVBQVUsR0FBRyxDQUFDLEdBQXVCLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFBO0FBSXhFLFNBQWdCLHdCQUF3QixDQUN0QyxNQUF5QixPQUFPLENBQUMsR0FBRztJQUVwQyxPQUFPO1FBQ0wsT0FBTyxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDcEQsU0FBUyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUM7UUFDNUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUM7S0FDM0MsQ0FBQTtBQUNILENBQUM7QUFJRCxTQUFnQixrQkFBa0IsQ0FBQyxDQUFvQztJQUNyRSxPQUFPO1FBQ0wsT0FBTyxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksdUJBQWU7UUFDekQsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDO1FBQzlCLFFBQVEsRUFBRSxLQUFLLENBQUMs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
@@ -39,7 +39,7 @@ function endpointInfo(baseUrl) {
39
39
  let environment = "other";
40
40
  if ((host && host === hostOf(config_1.STAGING_HOST)) || (host && /staging/i.test(host)))
41
41
  environment = "staging";
42
- else if (host === "api.printtrail.com")
42
+ else if (host === hostOf(config_1.PRODUCTION_HOST))
43
43
  environment = "production";
44
44
  return { url: baseUrl, environment };
45
45
  }
@@ -219,4 +219,4 @@ function settingsWarnings(o, ctx) {
219
219
  function healthView(authFailed, unmatched, channelInactive = null) {
220
220
  return { reconnect: !!authFailed, channelInactive: !!channelInactive, unmatchedSkus: unmatched?.length ?? 0 };
221
221
  }
222
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi1kZWNpc2lvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2FkbWluL2Nvbm5lY3Rpb24tZGVjaXNpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXVCQSxnQ0FHQztBQVVELG9DQU9DO0FBVUQsNEJBZ0JDO0FBRUQsc0NBR0M7QUFNRCxrREFVQztBQUVELG9DQVlDO0FBd0VELHNEQWVDO0FBS0Qsa0RBSUM7QUFTRCxnREFZQztBQUlELDBDQU9DO0FBSUQsNENBbUJDO0FBRUQsZ0NBTUM7QUF2UUQsdUNBQStCO0FBQy9CLHlDQUFzRjtBQUN0RixtRUFBMkU7QUFhM0Usa0RBQTJDO0FBSzNDLE1BQU0sWUFBWSxHQUFHLENBQUMsQ0FBQTtBQUN0QixNQUFNLHFCQUFxQixHQUFHLEVBQUUsQ0FBQTtBQUVoQyxTQUFnQixVQUFVLENBQUMsS0FBZ0M7SUFDekQsSUFBSSxDQUFDLEtBQUs7UUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUE7SUFDL0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLElBQUkscUJBQXFCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUE7QUFDekcsQ0FBQztBQUVELE1BQU0sTUFBTSxHQUFHLENBQUMsR0FBVyxFQUFpQixFQUFFO0lBQzVDLElBQUksQ0FBQztRQUNILE9BQU8sSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFBO0lBQzVDLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7QUFDSCxDQUFDLENBQUE7QUFFRCxTQUFnQixZQUFZLENBQUMsT0FBMkI7SUFDdEQsSUFBSSxDQUFDLE9BQU87UUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUE7SUFDckQsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQzVCLElBQUksV0FBVyxHQUFnQyxPQUFPLENBQUE7SUFDdEQsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLEtBQUssTUFBTSxDQUFDLHFCQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFBRSxXQUFXLEdBQUcsU0FBUyxDQUFBO1NBQ2xHLElBQUksSUFBSSxLQUFLLG9CQUFvQjtRQUFFLFdBQVcsR0FBRyxZQUFZLENBQUE7SUFDbEUsT0FBTyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLENBQUE7QUFDdEMsQ0FBQztBQUVELE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBVSxFQUFnQixFQUFFLENBQzNDLENBQUMsQ0FBQyxDQUFDLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxJQUFJLE9BQVEsQ0FBYSxDQUFDLFNBQVMsS0FBSyxRQUFRLElBQUksT0FBUSxDQUFhLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQTtBQU83SCxTQUFnQixRQUFRLENBQUMsbUJBQTJCLEVBQUUsTUFBeUI7SUFDN0UsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNwQixJQUFJLE1BQU0sQ0FBQyxTQUFTLEtBQUssbUJBQW1CLEVBQUUsQ0FBQztZQUM3QyxPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQTtRQUNyRixDQUFDO1FBQ0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQTtJQUM5RyxDQUFDO0lBQ0QsSUFBSSxNQUFNLFlBQVksMkJBQWtCLEVBQUUsQ0FBQztRQUN6QyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRztZQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsQ0FBQTtRQUN0RSxJQUFJLE1BQU0sQ0FBQyxpQkFBaUI7WUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQTtRQUM1RSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRztZQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLEVBQUUsQ0FBQTtRQUNqSCxJQUFJLE1BQU0sQ0FBQyxXQUFXO1lBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxDQUFBO1FBRWpFLE9BQU8sRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQTtJQUM1RCxDQUFDO0lBQ0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFBO0FBQ3JDLENBQUM7QUFFRCxTQUFnQixhQUFhLENBQUMsVUFBOEI7SUFDMUQsTUFBTSxJQUFJLEdBQUcsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDbkQsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBO0FBQ2xELENBQUM7QUFFRCxNQUFNLGFBQWEsR0FBMkIsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQTtBQUloRixTQUFnQixtQkFBbUIsQ0FBQyxHQUFXO0lBQzdDLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUMxQixJQUFJLENBQUM7UUFDSCxNQUFNLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUMxQixNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtRQUMvRSxNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFDM0MsT0FBTyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFBO0lBQ3JHLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBQ3BDLENBQUM7QUFDSCxDQUFDO0FBRUQsU0FBZ0IsWUFBWSxDQUMxQixPQUFnRCxFQUNoRCxNQUFxQjtJQUVyQixNQUFNLGFBQWEsR0FBRyxPQUFPLEVBQUUsYUFBYSxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUE7SUFDekQsSUFBSSxDQUFDLE9BQU87UUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQUE7SUFDOUQsSUFBSSxDQUFDLE1BQU07UUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxDQUFBO0lBQzlELElBQUksQ0FBQyxhQUFhO1FBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQUE7SUFDM0UsT0FBTztRQUNMLEtBQUssRUFBRSxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsS0FBSyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxXQUFXO1FBQ3RHLGFBQWE7S0FDZCxDQUFBO0FBQ0gsQ0FBQztBQU1ELE1BQU0sWUFBWSxHQUFHLENBQUMsRUFBVSxFQUFXLEVBQUU7SUFDM0MsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDM0MsT0FBTyxDQUNMLENBQUMsS0FBSyxDQUFDO1FBQ1AsQ0FBQyxLQUFLLEVBQUU7UUFDUixDQUFDLEtBQUssR0FBRztRQUNULENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUM7UUFDbEMsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUM7UUFDeEIsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqQyxDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQztRQUN4QixDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzlDLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUM7UUFDcEMsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQztRQUNuQyxDQUFDLElBQUksR0FBRyxDQUNULENBQUE7QUFDSCxDQUFDLENBQUE7QUFFRCxNQUFNLFNBQVMsR0FBRyxDQUFDLEVBQVUsRUFBVyxFQUFFO0lBQ3hDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtJQUMxQixJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxLQUFLLElBQUk7UUFBRSxPQUFPLElBQUksQ0FBQTtJQUMxQyxNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQzNCLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBRzVDLE9BQU8sQ0FDTCxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxNQUFNO1FBQzNCLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLE1BQU07UUFDM0IsQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssTUFBTTtRQUMzQixDQUFDLEtBQUssS0FBSyxNQUFNLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxDQUFDLENBQy9ELENBQUE7QUFDSCxDQUFDLENBQUE7QUFHRCxNQUFNLFVBQVUsR0FBRyxDQUFDLEVBQVUsRUFBaUIsRUFBRTtJQUMvQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLG1FQUFtRSxDQUFDLENBQUE7SUFDckcsSUFBSSxDQUFDLENBQUM7UUFBRSxPQUFPLElBQUksQ0FBQTtJQUNuQixJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNyQixNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBQzdCLE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDN0IsT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxHQUFHLElBQUksRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7QUFDM0QsQ0FBQyxDQUFBO0FBRUQsTUFBTSxXQUFXLEdBQUcsQ0FBQyxJQUFZLEVBQVcsRUFBRTtJQUU1QyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBQ3pELE1BQU0sSUFBSSxHQUFHLElBQUEsZUFBSSxFQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ3BCLElBQUksSUFBSSxLQUFLLENBQUM7UUFBRSxPQUFPLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUN0QyxJQUFJLElBQUksS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNmLE1BQU0sRUFBRSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUN4QixPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDN0MsQ0FBQztJQUNELE9BQU8sQ0FBQyxLQUFLLFdBQVcsSUFBSSwrQkFBK0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBQ3pGLENBQUMsQ0FBQTtBQVFZLFFBQUEsc0JBQXNCLEdBQUcsR0FBRyxDQUFBO0FBRzVCLFFBQUEsY0FBYyxHQUFnQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQTtBQUUzRyxTQUFnQixxQkFBcUIsQ0FBQyxHQUFrQjtJQUN0RCxJQUFJLENBQUMsR0FBRztRQUFFLE9BQU8sRUFBRSxDQUFBO0lBQ25CLElBQUksQ0FBTSxDQUFBO0lBQ1YsSUFBSSxDQUFDO1FBQ0gsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ2xCLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDdEIsQ0FBQztJQUNELE1BQU0sUUFBUSxHQUFxQixFQUFFLENBQUE7SUFDckMsSUFBSSxDQUFDLENBQUMsUUFBUSxLQUFLLFFBQVE7UUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQ3ZELElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7UUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFBO0lBQ3pFLElBQUksSUFBQSx3QkFBUyxFQUFDLEdBQUcsQ0FBQyxHQUFHLDhCQUFzQjtRQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDdEUsSUFBSSxDQUFDLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxRQUFRO1FBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUMxRCxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7UUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQzFELE9BQU8sUUFBUSxDQUFBO0FBQ2pCLENBQUM7QUFLRCxTQUFnQixtQkFBbUIsQ0FBQyxLQUFtQixFQUFFLFFBQTBCO0lBQ2pGLE9BQU8sS0FBSyxLQUFLLFlBQVksSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssV0FBVyxJQUFJLENBQUMsS0FBSyxlQUFlLENBQUM7UUFDL0YsQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLEVBQUUsZUFBZSxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxRQUFRLENBQUE7QUFDZCxDQUFDO0FBU0QsU0FBZ0Isa0JBQWtCLENBQ2hDLEtBQW1CLEVBQ25CLFFBQTBCLEVBQzFCLEtBQWM7SUFFZCxJQUFJLEtBQUssS0FBSyxZQUFZO1FBQUUsT0FBTyxvQkFBb0IsQ0FBQTtJQUN2RCxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLGdCQUFnQjtRQUFFLE9BQU8saUJBQWlCLENBQUE7SUFDL0UsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxzQkFBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUFFLE9BQU8sYUFBYSxDQUFBO0lBRXJFLElBQUksS0FBSyxLQUFLLFdBQVcsSUFBSSxDQUFDLEtBQUs7UUFBRSxPQUFPLG9CQUFvQixDQUFBO0lBQ2hFLElBQUksUUFBUSxDQUFDLE1BQU0sSUFBSSxDQUFDLEtBQUs7UUFBRSxPQUFPLG9CQUFvQixDQUFBO0lBQzFELE9BQU8sVUFBVSxDQUFBO0FBQ25CLENBQUM7QUFJRCxTQUFnQixlQUFlLENBQUMsS0FBeUI7SUFDdkQsSUFBSSxDQUFDLEtBQUs7UUFBRSxPQUFPLEVBQUUsQ0FBQTtJQUNyQixJQUFJLEtBQUssQ0FBQyxRQUFRLEtBQUssVUFBVTtRQUFFLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO0lBQzlELE1BQU0sR0FBRyxHQUFzQixFQUFFLENBQUE7SUFDakMsSUFBSSxLQUFLLENBQUMsUUFBUSxLQUFLLFdBQVc7UUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUE7SUFDakUsSUFBSSxLQUFLLENBQUMsa0JBQWtCO1FBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxDQUFBO0lBQ3JFLE9BQU8sR0FBRyxDQUFBO0FBQ1osQ0FBQztBQUlELFNBQWdCLGdCQUFnQixDQUM5QixDQUEwQixFQUMxQixHQUlDO0lBRUQsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUE7SUFDL0YsTUFBTSxHQUFHLEdBQXNCLEVBQUUsQ0FBQTtJQUNqQyxJQUFJLENBQUMsSUFBQSxvQkFBVyxFQUFDLENBQUMsQ0FBQztRQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtJQUMvQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07UUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUE7SUFDakQsSUFBSSxNQUFNLENBQUMsUUFBUTtRQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsQ0FBQTtJQUN4RCxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVU7UUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUE7SUFDN0MsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRO1FBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUN6QyxJQUFJLENBQUMsQ0FBQyxhQUFhLENBQUMsYUFBYSxLQUFLLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLE1BQU07UUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUE7SUFDN0csR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtJQUN6QyxJQUFJLEdBQUcsQ0FBQyxxQkFBcUIsS0FBSyxDQUFDO1FBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFBO0lBQ2hGLE9BQU8sR0FBRyxDQUFBO0FBQ1osQ0FBQztBQUVELFNBQWdCLFVBQVUsQ0FDeEIsVUFBa0MsRUFDbEMsU0FBMEIsRUFDMUIsa0JBQStDLElBQUk7SUFFbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUMsZUFBZSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFBO0FBQy9HLENBQUMifQ==
222
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi1kZWNpc2lvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2FkbWluL2Nvbm5lY3Rpb24tZGVjaXNpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXVCQSxnQ0FHQztBQVVELG9DQU9DO0FBVUQsNEJBZ0JDO0FBRUQsc0NBR0M7QUFNRCxrREFVQztBQUVELG9DQVlDO0FBd0VELHNEQWVDO0FBS0Qsa0RBSUM7QUFTRCxnREFZQztBQUlELDBDQU9DO0FBSUQsNENBbUJDO0FBRUQsZ0NBTUM7QUF2UUQsdUNBQStCO0FBQy9CLHlDQUF1RztBQUN2RyxtRUFBMkU7QUFhM0Usa0RBQTJDO0FBSzNDLE1BQU0sWUFBWSxHQUFHLENBQUMsQ0FBQTtBQUN0QixNQUFNLHFCQUFxQixHQUFHLEVBQUUsQ0FBQTtBQUVoQyxTQUFnQixVQUFVLENBQUMsS0FBZ0M7SUFDekQsSUFBSSxDQUFDLEtBQUs7UUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUE7SUFDL0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLElBQUkscUJBQXFCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUE7QUFDekcsQ0FBQztBQUVELE1BQU0sTUFBTSxHQUFHLENBQUMsR0FBVyxFQUFpQixFQUFFO0lBQzVDLElBQUksQ0FBQztRQUNILE9BQU8sSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFBO0lBQzVDLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7QUFDSCxDQUFDLENBQUE7QUFFRCxTQUFnQixZQUFZLENBQUMsT0FBMkI7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
@@ -10,7 +10,7 @@ class PrintTrailFulfillmentService extends utils_1.AbstractFulfillmentProviderSe
10
10
  constructor({ logger }, options) {
11
11
  super();
12
12
  this.logger_ = logger;
13
- this.options_ = options ?? {};
13
+ this.options_ = (0, config_1.resolveCredentials)(options);
14
14
  }
15
15
  get client() {
16
16
  if (!(0, config_1.isConnected)(this.options_)) {
@@ -90,4 +90,4 @@ class PrintTrailFulfillmentService extends utils_1.AbstractFulfillmentProviderSe
90
90
  exports.PrintTrailFulfillmentService = PrintTrailFulfillmentService;
91
91
  PrintTrailFulfillmentService.identifier = "print-trail";
92
92
  exports.default = PrintTrailFulfillmentService;
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvcHJpbnQtdHJhaWwvc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBMkY7QUFTM0YseUNBQXNFO0FBQ3RFLG1EQUF5SDtBQUN6SCxtRUFBeUU7QUFDekUsdURBQXVEO0FBTXZELE1BQWEsNEJBQTZCLFNBQVEsMENBQWtDO0lBT2xGLFlBQVksRUFBRSxNQUFNLEVBQXNCLEVBQUUsT0FBOEI7UUFDeEUsS0FBSyxFQUFFLENBQUE7UUFDUCxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQTtRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sSUFBSSxFQUFFLENBQUE7SUFDL0IsQ0FBQztJQUlELElBQVksTUFBTTtRQUNoQixJQUFJLENBQUMsSUFBQSxvQkFBVyxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE9BQU8sSUFBSSxDQUFBO1FBQ2IsQ0FBQztRQUNELElBQUksQ0FBQyxPQUFPLEtBQUssSUFBSSx5QkFBZ0IsQ0FBQztZQUNwQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFRO1lBQy9CLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVU7WUFDbkMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUztZQUNqQyxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUM7U0FDbkIsQ0FBQyxDQUFBO1FBQ0YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFBO0lBQ3JCLENBQUM7SUFFRCxLQUFLLENBQUMscUJBQXFCO1FBQ3pCLE1BQU0sUUFBUSxHQUFHLDRCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFB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
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvcHJpbnQtdHJhaWwvc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBMkY7QUFTM0YseUNBQTBGO0FBQzFGLG1EQUF5SDtBQUN6SCxtRUFBeUU7QUFDekUsdURBQXVEO0FBTXZELE1BQWEsNEJBQTZCLFNBQVEsMENBQWtDO0lBT2xGLFlBQVksRUFBRSxNQUFNLEVBQXNCLEVBQUUsT0FBOEI7UUFDeEUsS0FBSyxFQUFFLENBQUE7UUFDUCxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQTtRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUEsMkJBQWtCLEVBQUMsT0FBTyxDQUFDLENBQUE7SUFDN0MsQ0FBQztJQUlELElBQVksTUFBTTtRQUNoQixJQUFJLENBQUMsSUFBQSxvQkFBVyxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE9BQU8sSUFBSSxDQUFBO1FBQ2IsQ0FBQztRQUNELElBQUksQ0FBQyxPQUFPLEtBQUssSUFBSSx5QkFBZ0IsQ0FBQztZQUNwQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFRO1lBQy9CLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVU7WUFDbkMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUztZQUNqQyxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUM7U0FDbkIsQ0FBQyxDQUFBO1FBQ0YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFBO0lBQ3JCLENBQUM7SUFFRCxLQUFLLENBQUMscUJBQXFCO1FBQ3pCLE1BQU0sUUFBUSxHQUFHLDRCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxN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
package/CHANGELOG.md CHANGED
@@ -4,6 +4,15 @@ All notable changes to `medusa-plugin-print-trail` are recorded here.
4
4
  The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and the
5
5
  package uses [semantic versioning](https://semver.org/).
6
6
 
7
+ ## [1.1.0] - 2026-10-28
8
+
9
+ **Upgrading.** A store that already sets `PRINT_TRAIL_BASE_URL` needs to do nothing. A store whose own startup check refuses a `PRINT_TRAIL_BASE_URL` that isn't staging, but lets an unset one through, should now treat an unset URL as production whenever `PRINT_TRAIL_CHANNEL_ID` or `PRINT_TRAIL_API_TOKEN` is set, since the plugin then connects to production.
10
+
11
+ ### Changed
12
+
13
+ - **The base URL defaults to the Print Trail API, `https://api.printtrail.com`**, so a store sets only `PRINT_TRAIL_CHANNEL_ID` and `PRINT_TRAIL_API_TOKEN`. `PRINT_TRAIL_BASE_URL` (the `baseUrl` option) is now only an override, for Print Trail staging or a mock. A channel ID or token without a base URL no longer stops the plugin's module loading. The default is safe because credentials belong to one environment: a staging token, or since API 1.2.0 an unknown channel ID, is refused by production. With no credentials the plugin stays unconnected, as before.
14
+ - The settings page's setup snippet no longer lists `PRINT_TRAIL_BASE_URL`, and the settings page shows the production endpoint when none is set.
15
+
7
16
  ## [1.0.2] - 2026-10-27
8
17
 
9
18
  ### Fixed
package/README.md CHANGED
@@ -76,9 +76,9 @@ Setting `providers` replaces Medusa's default list, so keep the manual provider
76
76
 
77
77
  ### 3. Set the environment variables
78
78
 
79
- - `PRINT_TRAIL_BASE_URL`: `https://api.printtrail.com`. It has no default, so set it with the other two: a channel ID or token without it stops the plugin's module loading.
80
79
  - `PRINT_TRAIL_CHANNEL_ID`: the store's Print Trail channel ID.
81
80
  - `PRINT_TRAIL_API_TOKEN`: the channel's API token.
81
+ - `PRINT_TRAIL_BASE_URL` (optional): leave it unset for the Print Trail API, `https://api.printtrail.com`. Set it only to use Print Trail staging or a mock.
82
82
  - `MEDUSA_BACKEND_URL`: this backend's public `https://` URL. Print Trail sends its webhooks to `{MEDUSA_BACKEND_URL}/hooks/print-trail`, and only to an `https://` URL on a public host, so a local store needs an HTTPS tunnel.
83
83
  - `MEDUSA_ADMIN_URL`: the Medusa admin URL, for links from Print Trail back to the order.
84
84
  - `PRINT_TRAIL_ADMIN_EMAIL`: who is emailed when a Medusa cancel comes too late for Print Trail. A comma-separated list is accepted.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "medusa-plugin-print-trail",
3
- "version": "1.0.2",
3
+ "version": "1.1.0",
4
4
  "description": "Print Trail fulfilment for Medusa v2: orders sent automatically, stock levels synced and tracking sent back to Medusa.",
5
5
  "author": "Consilience Media Limited",
6
6
  "license": "SEE LICENSE IN LICENSE",