@fas-core/shared-types 1.0.143 → 1.0.147

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/index.d.mts CHANGED
@@ -108,6 +108,9 @@ interface IStore extends BaseEntity {
108
108
  storeAdmins: Array<string | Types.ObjectId>;
109
109
  }
110
110
 
111
+ declare const storeOriginOf: (domain?: string | null) => string | null;
112
+ declare const originUrl: (origin: string, path: string) => string;
113
+
111
114
  declare const PricingTypeEnum: {
112
115
  readonly PERCENTAGE: "PERCENTAGE";
113
116
  readonly FIXED: "FIXED";
@@ -356,6 +359,8 @@ declare const slugify: (text: string) => string;
356
359
 
357
360
  declare const errorMessage: (error: unknown, fallback?: string) => string;
358
361
 
362
+ declare const HONEYPOT_FIELD = "website";
363
+
359
364
  declare const DISCOUNT_TYPE_VALUES: ("PERCENTAGE" | "FIXED" | "FREE_SHIPPING")[];
360
365
  declare const DiscountTypeEnum: {
361
366
  readonly PERCENTAGE: "PERCENTAGE";
@@ -1355,6 +1360,7 @@ interface IAddress extends BaseEntity {
1355
1360
  addressLine1: string;
1356
1361
  addressLine2: string;
1357
1362
  attention?: string;
1363
+ company?: string;
1358
1364
  city: string;
1359
1365
  zipCode: string;
1360
1366
  firstName: string;
@@ -1465,6 +1471,10 @@ declare const ADMIN_RESOURCE_LIST: readonly [{
1465
1471
  readonly value: "contact-us";
1466
1472
  readonly label: "Contact Requests";
1467
1473
  readonly group: "People";
1474
+ }, {
1475
+ readonly value: "repair-requests";
1476
+ readonly label: "Repair Requests";
1477
+ readonly group: "People";
1468
1478
  }, {
1469
1479
  readonly value: "subscribers";
1470
1480
  readonly label: "Subscribers";
@@ -1518,7 +1528,7 @@ declare const ADMIN_RESOURCE_LIST: readonly [{
1518
1528
  readonly label: "Account";
1519
1529
  readonly group: "Settings";
1520
1530
  }];
1521
- declare const ADMIN_RESOURCES: ("stores" | "categories" | "podcast" | "blog" | "orders" | "dashboard" | "metrics" | "products" | "brands" | "technical-specs" | "addon-configs" | "service-plans" | "relation-groups" | "configurators" | "quotes" | "carts" | "transactions" | "coupons" | "store-fees" | "tax-rates" | "customers" | "contact-us" | "subscribers" | "faqs" | "email-templates" | "notifications" | "campaigns" | "currencies" | "redirects" | "cache" | "admins" | "account")[];
1531
+ declare const ADMIN_RESOURCES: ("stores" | "categories" | "podcast" | "blog" | "orders" | "dashboard" | "metrics" | "products" | "brands" | "technical-specs" | "addon-configs" | "service-plans" | "relation-groups" | "configurators" | "quotes" | "carts" | "transactions" | "coupons" | "store-fees" | "tax-rates" | "customers" | "contact-us" | "repair-requests" | "subscribers" | "faqs" | "email-templates" | "notifications" | "campaigns" | "currencies" | "redirects" | "cache" | "admins" | "account")[];
1522
1532
  type IAdminResource = (typeof ADMIN_RESOURCE_LIST)[number]['value'];
1523
1533
  declare const ADMIN_ACTIONS: readonly ["read", "write", "delete"];
1524
1534
  type IAdminBaseAction = (typeof ADMIN_ACTIONS)[number];
@@ -1726,59 +1736,104 @@ interface INetsuiteCaseLink {
1726
1736
  statusCheckedAt?: Date | string;
1727
1737
  pushedAt?: Date | string;
1728
1738
  }
1739
+ interface ICaseRequest {
1740
+ firstName: string;
1741
+ lastName: string;
1742
+ companyName?: string;
1743
+ email: string;
1744
+ phone?: string;
1745
+ status: CaseStatus;
1746
+ caseId: string;
1747
+ notes: string;
1748
+ resolvedAt?: Date;
1749
+ netsuite?: INetsuiteCaseLink | null;
1750
+ netsuiteLastError?: {
1751
+ message: string;
1752
+ failedAt?: Date | string;
1753
+ } | null;
1754
+ netsuiteLeadId?: string | null;
1755
+ receiptToken?: string;
1756
+ }
1757
+ interface ICaseReceipt {
1758
+ caseId: string;
1759
+ receiptToken: string;
1760
+ }
1729
1761
  type ISupportCaseListItem = Omit<ISupportCase, "messages">;
1730
1762
 
1731
1763
  declare const CASE_STATUS_TONES: Record<CaseStatus, StatusToneEnum>;
1732
1764
  declare const caseStatusTone: (status?: string) => StatusToneEnum;
1733
1765
 
1766
+ declare const CaseThankYouPathEnum: {
1767
+ readonly CONTACT: "/contact-us/thank-you";
1768
+ readonly CONTACT_ES: "/en-espanol/thank-you";
1769
+ readonly ONSITE_DEMO: "/onsite-request/thank-you";
1770
+ readonly REPAIR: "/repair-request/thank-you";
1771
+ };
1772
+ type CaseThankYouPath = (typeof CaseThankYouPathEnum)[keyof typeof CaseThankYouPathEnum];
1773
+ declare const caseThankYouPath: (base: CaseThankYouPath, caseId?: string | null, receiptToken?: string | null) => string;
1774
+
1734
1775
  declare const ContactRequestTypeEnum: {
1735
1776
  readonly CONTACT: "CONTACT";
1736
1777
  readonly ONSITE_DEMO: "ONSITE_DEMO";
1737
- readonly REPAIR: "REPAIR";
1738
1778
  };
1739
1779
  type ContactRequestTypeEnum = (typeof ContactRequestTypeEnum)[keyof typeof ContactRequestTypeEnum];
1740
- declare const CONTACT_REQUEST_TYPE_VALUES: ("CONTACT" | "ONSITE_DEMO" | "REPAIR")[];
1780
+ declare const CONTACT_REQUEST_TYPE_VALUES: ("CONTACT" | "ONSITE_DEMO")[];
1741
1781
  declare const isContactRequestType: (value: unknown) => value is ContactRequestTypeEnum;
1742
- interface IContact extends BaseEntity {
1782
+ interface IContact extends BaseEntity, ICaseRequest {
1743
1783
  requestType: ContactRequestTypeEnum;
1744
- firstName: string;
1745
- lastName: string;
1746
- companyName?: string;
1747
- email: string;
1748
1784
  phone: string;
1749
1785
  address?: string;
1750
1786
  profile: CaseProfile;
1751
1787
  subject: string;
1752
1788
  message: string;
1753
- status: CaseStatus;
1754
1789
  origin: CaseOrigin;
1755
- caseId: string;
1756
- notes: string;
1757
1790
  store: IStore;
1758
- resolvedAt?: Date;
1759
- netsuite?: INetsuiteCaseLink | null;
1760
- netsuiteLastError?: {
1761
- message: string;
1762
- failedAt?: Date | string;
1763
- } | null;
1764
- netsuiteLeadId?: string | null;
1765
1791
  onsiteDemo?: IOnsiteDemoRequest | null;
1766
- repair?: IRepairRequest | null;
1767
1792
  }
1768
1793
  interface IOnsiteDemoRequest {
1769
1794
  demo: string;
1770
1795
  }
1796
+
1797
+ declare const REPAIR_MAX_TOOLS = 50;
1771
1798
  interface IRepairTool {
1772
1799
  manufacturer: string;
1773
1800
  model: string;
1774
1801
  serial: string;
1775
1802
  accessories?: string;
1776
1803
  }
1777
- interface IRepairRequest {
1804
+ interface IRepairAddress {
1805
+ street: string;
1806
+ suite?: string;
1807
+ city: string;
1808
+ state: string;
1809
+ postalCode: string;
1810
+ country: string;
1811
+ countryIso?: string;
1812
+ }
1813
+ interface IRepairDetails {
1814
+ companyName: string;
1815
+ phone: string;
1816
+ secondaryContact?: string;
1817
+ fax?: string;
1818
+ address: IRepairAddress;
1778
1819
  tools: IRepairTool[];
1779
1820
  problem: string;
1780
1821
  comments?: string;
1781
1822
  }
1823
+ interface IRepairRequestInput extends IRepairDetails {
1824
+ firstName: string;
1825
+ lastName: string;
1826
+ email: string;
1827
+ store: string;
1828
+ }
1829
+ interface IRepairRequest extends BaseEntity, ICaseRequest, IRepairDetails {
1830
+ companyName: string;
1831
+ phone: string;
1832
+ store: IStore;
1833
+ }
1834
+ type IRepairSlip = Pick<IRepairRequest, "caseId" | "status" | "firstName" | "lastName" | "companyName" | "email" | "phone" | "secondaryContact" | "fax" | "address" | "tools" | "problem" | "comments" | "createdAt">;
1835
+
1836
+ declare const repairAddressLine: (address: IRepairAddress) => string;
1782
1837
 
1783
1838
  declare const SERVICE_PLAN_ELIGIBILITY_FIELD = "custitem520";
1784
1839
 
@@ -7269,6 +7324,7 @@ interface CheckoutAddressInput {
7269
7324
  addressLine1: string;
7270
7325
  addressLine2?: string;
7271
7326
  attention?: string;
7327
+ company?: string;
7272
7328
  city: string;
7273
7329
  zipCode: string;
7274
7330
  firstName: string;
@@ -7291,7 +7347,6 @@ interface CheckoutPayload {
7291
7347
  acceptedTerms: boolean;
7292
7348
  customerNote?: string;
7293
7349
  poNumber?: string;
7294
- company?: string;
7295
7350
  }
7296
7351
  interface QuoteRequestResult {
7297
7352
  id: string;
@@ -7392,4 +7447,4 @@ declare const sitemapPartId: (build: string, storeId: string, kind: SitemapPartK
7392
7447
  declare const sitemapEntryLine: (key: string, lastmod?: Date | string | null) => string;
7393
7448
  declare const parseSitemapEntries: (entries: string) => SitemapEntryKey[];
7394
7449
 
7395
- export { ACCOUNT_SOURCE_VALUES, ACTIVE_SUBSCRIPTION_CHANNELS, ADMIN_ACTIONS, ADMIN_AUDIT_ACTIONS, ADMIN_RESOURCES, ADMIN_RESOURCE_LIST, ALL_STORES, AUTH_PROVIDER_VALUES, AVAILABILITY_STATUS_TONES, AWAITING_PAYMENT_STATUSES, type AccountSource, AccountSourceEnum, type AddonAmountInput, type AddonGroupNetsuiteLink, type AddonNetsuiteLink, type AddonSelectionRef, type AddonSnapshot, type AddressLinesInput, type AdminCreateRequest, type AdminUpdateRequest, type ApiResponse, type AppliedTax, type AuthProvider, AuthProviderEnum, type Availability, AvailabilityToneEnum, BACKORDERED_TONE, BRAND_FIELDS, BULK_SPEC_PRODUCT_LIMIT, BUSINESS_TIME_ZONE, type BaseEntity, CAMPAIGN_RECIPIENT_STATUS_VALUES, CAMPAIGN_STATUS_VALUES, CART_STATUS_VALUES, CASE_ORIGIN_LABELS, CASE_ORIGIN_VALUES, CASE_PRIORITY_LABELS, CASE_PRIORITY_VALUES, CASE_PROFILE_LABELS, CASE_PROFILE_VALUES, CASE_STATUS_LABELS, CASE_STATUS_TONES, CASE_STATUS_VALUES, CASE_TYPE_LABELS, CASE_TYPE_VALUES, CATEGORY_FIELDS, CLOSED_QUOTE_STATUSES, COMPANY, COMPANY_ADDRESS_LINE, COMPANY_CITY_LINE, COMPANY_CITY_LINE_LONG, COMPANY_MAX_LENGTH, COMPLETE_ORDER_STATUSES, CONFIGURATOR_CONDITION_TYPE_VALUES, CONFIGURATOR_EFFECT_TYPE_VALUES, CONFIGURATOR_SELECT_MODE_VALUES, CONFIGURATOR_SOURCE_VALUES, CONTACT_PROFILE_OPTIONS, CONTACT_REQUEST_TYPE_VALUES, type CacheStatus, type CacheStoreTarget, CampaignRecipientStatusEnum, CampaignStatusEnum, type CartIssue, type CartIssueType, CartIssueTypes, CartStatusEnum, type CartValidation, type CaseOrigin, CaseOriginEnum, type CasePriority, CasePriorityEnum, type CaseProfile, CaseProfileEnum, type CaseStatus, CaseStatusEnum, type CaseType, CaseTypeEnum, type CategoryImportSummary, type CheckoutAddressInput, type CheckoutPayload, type CheckoutResult, ConfiguratorConditionTypeEnum, ConfiguratorEffectTypeEnum, ConfiguratorErrorCodeEnum, type ConfiguratorEvalContext, type ConfiguratorEvalError, type ConfiguratorEvalResult, ConfiguratorSelectModeEnum, type ConfiguratorSelections, ConfiguratorSourceEnum, ContactRequestTypeEnum, type ConvertedOrderView, type CouponNetsuiteLink, CreditMemoStatusEnum, type CustomerAccountErrorCode, CustomerAccountErrorCodeEnum, type CustomerNameInput, type CustomerProfileUpdateRequest, type CustomerSignupRequest, type CustomerSocialLoginRequest, DEFAULT_SUBSCRIPTION_TOPICS, DISCOUNT_TYPE_LABELS, DISCOUNT_TYPE_VALUES, DiscountTypeEnum, EDITABLE_ADMIN_FIELDS, EDITABLE_CUSTOMER_FIELDS, EMAIL_PARAM_MISMATCH_KIND_VALUES, EMAIL_TEMPLATE_EVENT_VALUES, EMAIL_TEMPLATE_VARIABLES_BY_EVENT, EMPTY_ACCESS, type EditableAdminField, type EditableCustomerField, type EffectiveAccess, type EmailParamMismatch, EmailParamMismatchKindEnum, EmailTemplateEventEnum, FAILED_PAYMENT_STATUSES, FEE_APPLIES_TO_LABELS, FEE_APPLIES_TO_VALUES, FULFILLMENT_STATUS_LABEL, FULFILLMENT_STATUS_VALUES, FeeAppliesToEnum, type FieldMap, type FieldMapping, type FieldSource, FulfillmentStatusEnum, type IAddonConfig, type IAddonGroup, type IAddress, type IAdmin, type IAdminAction, type IAdminAuditAction, type IAdminAuditLog, type IAdminBaseAction, type IAdminPermission, type IAdminResource, type IAdminRole, type IAdminRoleCreate, type IAdminSafe, type IAdminStoreAccess, type IAppliedFee, type IBannerSlide, type IBlogAuthor, type IBlogCategory, type IBlogPost, type IBrand, type ICampaign, type ICampaignRecipient, type ICampaignStats, type ICart, type ICartItem, type ICartServicePlanSnapshot, type ICaseMessage, type ICategory, type ICategorySequence, type ICategorySubcategory, type ICategoryUrl, type IConfigurator, type IConfiguratorCondition, type IConfiguratorEffect, type IConfiguratorFacet, type IConfiguratorFacetValue, type IConfiguratorOption, type IConfiguratorPriceAdjustment, type IConfiguratorQuery, type IConfiguratorRule, type IConfiguratorSection, type IConfiguratorStep, type IConfiguratorTarget, type IContact, type ICountry, type ICoupon, type ICurrency, type ICustomer, type IDiscountType, type IEmailTemplate, type IFaq, type IFaqCategory, type IKeyValue, type ILinePricing, type IMediaAsset, INVENTORY_POLICY_VALUES, type INetsuiteCaseLink, type INetsuiteEvent, type INetsuiteOrderLine, type INetsuiteOrderLink, type INetsuiteQueueEntry, type INetsuiteRefund, type INetsuiteSalesRep, type INetsuiteSyncCheckpoint, type INotification, type IOnsiteDemoRequest, type IOrder, type IOrderItem, type IOrderLog, type IOrderShipment, type IOrderTransaction, type IPaymentLink, type IPodcastEpisode, type IPrice, type IProduct, type IProductDailyStat, type IProductRelationGroup, type IProductTechnicalSpec, type IProductTechnicalSpecTable, type IProductVariantFields, type IProductVariantOptionGroup, type IProductVariantOptionMatrix, type IProductVariantOptionValue, type IRedirect, type IRedirectSuggestion, type IRefundTransaction, type IRelationGroup, type IRepairRequest, type IRepairTool, type ISEOMetaData, type ISelectableFee, type IServicePlan, type IShipFromAddress, type IShipping, type IShippingRate, type ISitemapManifest, type ISitemapPart, type IState, type IStock, type IStore, type IStoreFee, type IStoreSettings, type ISubscriber, type ISubscriberConsent, type ISubscription, type ISummaryPricing, type ISupportCase, type ISupportCaseListItem, type ITaxRate, type ITechnicalSpecColumn, type ITechnicalSpecGroup, type ITransactionBase, type IUnmatched404, type IVariant, type IVariantOptionSelection, type IWishlist, type IWishlistItem, type Id, type InventoryPolicy, InventoryPolicyEnum, type LineChargeInput, type LineShipProgress, LineShipStateEnum, MAX_PAGE, MAX_PAGE_SIZE, MIN_PASSWORD_LENGTH, type MatchResult, type Metadata, NETSUITE_ESTIMATE_STATUS_TEXT, NETSUITE_EVENT_LANE_VALUES, NETSUITE_EVENT_STATE_TONES, NETSUITE_EVENT_STATE_VALUES, NETSUITE_FULFILLMENT_STATUS_TEXT, NETSUITE_INVOICE_STATUS_TEXT, NETSUITE_OWNED_FIELDS, NETSUITE_RECORD_TYPE_VALUES, NETSUITE_REFUND_KIND_VALUES, NETSUITE_REFUND_RECORD_NAME, NETSUITE_RELATION_GROUPS, NETSUITE_RETURN_STATUS_TEXT, NETSUITE_SALES_ORDER_STATUS_TEXT, NOTIFICATION_TYPE_VALUES, type NetsuiteCustomerLinkResult, NetsuiteEventLaneEnum, NetsuiteEventStateEnum, NetsuiteFieldProvider, type NetsuiteLineLike, type NetsuiteLinkResult, type NetsuiteOrderPreview, type NetsuiteOwnedEntity, type NetsuitePreviewLine, type NetsuitePushAttempt, type NetsuitePushOutcome, type NetsuiteReceipt, NetsuiteRecordTypeEnum, NetsuiteRefundKindEnum, type NetsuiteRelationSource, type NetsuiteStatusChange, type NetsuiteStatusSyncResult, type NetsuiteSyncDefinition, NotificationTypeEnum, OFFLINE_PAYMENT_METHODS, OPEN_ORDER_STATUSES, OPEN_QUOTE_STATUSES, ORDER_EMAIL_EVENTS, ORDER_LOG_TYPE_COLORS, ORDER_LOG_TYPE_VALUES, ORDER_ORIGIN_VALUES, ORDER_STATUS_LABELS, ORDER_STATUS_VALUES, type OfferedAddon, type OfferedAddonGroup, type OfferedServicePlan, type OrderEmailEvent, type OrderLineNameInput, OrderLogTypeEnum, OrderOriginEnum, OrderStatusEnum, PAID_PAYMENT_STATUSES, PARTLY_SHIPPED_STATUSES, PAYMENT_GATEWAY_LABELS, PAYMENT_GATEWAY_VALUES, PAYMENT_LINK_STATUS_LABELS, PAYMENT_LINK_STATUS_VALUES, PAYMENT_METHOD_COLORS, PAYMENT_METHOD_LABELS, PAYMENT_METHOD_VALUES, PAYMENT_STATUS_LABELS, PAYMENT_STATUS_VALUES, PHONE_MAX_LENGTH, PLACED_OPEN_ORDER_STATUSES, PO_NUMBER_MAX_LENGTH, PRICING_TYPE_LABELS, PRICING_TYPE_VALUES, PRODUCT_FIELDS, PRODUCT_VARIANT_TYPE_VALUES, PROFILE_ACTOR_VALUES, PROVIDERS, PURCHASE_ORDER_STATUSES, PUSH_CHECK_STATUS_VALUES, type PaginatedResponse, PaymentGatewayEnum, PaymentLinkStatusEnum, type PaymentLinkView, PaymentMethodEnum, PaymentStatusEnum, type PersonNameInput, type PricedLineLike, type PricingType, PricingTypeEnum, type ProductAddonScope, ProductEventTypeEnum, type ProductServicePlanScope, type ProductVariantType, ProductVariantTypeEnum, ProfileActorEnum, type ProfileEditRules, type PromotionSyncResult, type PushCheck, PushCheckStatusEnum, type PushField, QUOTE_BUYABLE_STATUS, QUOTE_ORDER_STATUSES, QUOTE_SETTLEMENT_VALUES, QUOTE_VALID_DAYS, type QuantityLineInput, type QuoteRequestResult, type QuoteRuleInput, QuoteSettlementEnum, REDIRECT_TARGET_TYPE_VALUES, REFUND_STATE_TONES, REFUND_TRAIL_TITLE, RELATION_FIELDS, RESOURCE_OPERATIONS, RETIRED_CART_STATUSES, RETURN_ORDER_STATUSES, type RateAddress, type RatedShippingMethod, type RedirectTargetType, RedirectTargetTypeEnum, RefundPaymentStatusEnum, RefundStateEnum, type RefundStep, RefundStepStateEnum, type RefundSummary, type RefundTrail, RefundTrailKindEnum, type ResolveAccessInput, type ResolvedAddonSelection, ReturnStatusEnum, type RevalidationResult, SALE_TYPE_VALUES, SAVED_CART_TTL_DAYS, SERVICE_LAB, SERVICE_PLAN_ELIGIBILITY_FIELD, SITEMAP_MANIFESTS_COLLECTION, SITEMAP_MANIFEST_ID, SITEMAP_PARTS_COLLECTION, SITEMAP_PART_KIND_VALUES, STATUS_TONE_COLORS, STATUS_TONE_VALUES, STOCK_STATUS_VALUES, STORE_THEME_VALUES, SUBSCRIPTION_CHANNEL_VALUES, SUBSCRIPTION_TOPIC_LABELS, SUBSCRIPTION_TOPIC_VALUES, type SaleType, SaleTypeEnum, type SaleTypedLike, type SavedCartLine, type SavedCartSummary, type SelectedShippingMethod, type ServerQueryParams, type ServicePlanNetsuiteLink, type SitemapEntryKey, SitemapPartKindEnum, StatusToneEnum, type StatusToneRecord, type StockDemandLine, type StockStatus, StockStatusEnum, type StockVerdict, StockVerdictEnum, type StoreAccessCheckInput, type StoreScopeInput, StoreThemeEnum, SubscriptionChannelEnum, SubscriptionTopicEnum, type SyncPolicy, type SyncRisk, TAX_RATE_SOURCE_VALUES, TRANSACTION_TYPE_COLORS, TRANSACTION_TYPE_VALUES, TaxRateSourceEnum, type TaxSyncResult, type TrackingDisplay, TrackingKindEnum, TransactionTypeEnum, UNPLACED_ORDER_STATUSES, type VariantOptionMode, WIRED_EMAIL_TEMPLATE_EVENTS, actionsForResource, addonFields, addonUnitAmount, addonsOfLine, addonsUnitAmount, addressLines, adjustmentsFor, applyPriceAdjustments, availabilityOf, availabilityStatusTone, baseUnitPriceOfLine, blogAuthorFields, blogCategoryFields, blogPostFields, brandFields, buildOptionSignature, can, canAny, canonicalizePath, canonicalizeSlug, canonicalizeUrlSegment, cartAcceptsItem, caseIsOpen, caseStatusTone, categoryFields, centsEqual, chargesOfLine, chunkSpecProductIds, clampPage, clampPageSize, cleanOptionKey, companyNameOf, conditionHolds, convertedOrderBilledOffline, convertedOrderOf, couponFields, customerDisplayName, customerFields, customerRefundHeadline, customerStatusTone, demandByKey, discountValueLabel, errorMessage, evaluateConfigurator, feeHint, firstLine, formatDay, formatMoney, fulfillmentStatusTone, grantedPermissions, groupHasDefaultAddon, hasStoreAccess, isConfigurationValid, isContactProfile, isContactRequestType, isDiscountType, isFailedPaymentStatus, isNetsuiteOrigin, isNetsuiteOwned, isNonEmptyString, isOfflinePaymentMethod, isOrderEmailEvent, isPaidPaymentStatus, isPartlyShipped, isPricingType, isQuoteBuyable, isQuoteExpired, isQuoteLapsing, isQuoteOnlyItem, isRepQuoteOrderable, isSavedLinePriceChanged, isSellable, isStoredCalendarDay, isValidAction, isValidEmail, isValidPassword, isValidPhone, itemsLabel, lineName, lineQuantityCount, lineSellable, lineShipProgress, lineShipTone, lineSku, linesShipped, liveRefunds, missingGrants, netsuiteDocumentLabel, netsuiteDocumentTone, netsuiteEventStateTone, netsuiteFieldCaution, netsuiteFieldConditional, netsuiteFieldDerivedFrom, netsuiteFieldNote, netsuiteFieldRisk, netsuiteFieldSource, netsuiteRelationSource, netsuiteStatusLabel, normalizeLineQuantity, normalizeNumber, normalizePath, pageOf, parseSitemapEntries, paymentLinkStatusTone, paymentMethodLabel, paymentStatusLabel, paymentStatusTone, personName, poNumberText, podcastFields, pricingValueLabel, productFields, profileEditRules, quoteCanBeOrdered, quoteDaysLeft, quoteIsPriced, quotePaymentUnfinished, quoteSettlement, quoteValidityPassed, readMapped, recordStatusTone, refundHeadline, refundStateTone, refundStepTone, refundSummary, repLineNote, resolveAddonSelections, resolveEffectivePermissions, resolveProductAddonGroups, resolveProductServicePlans, resolveStoreScope, roundMoney, saleTypeOf, servicePlanFields, shipmentsTone, sitemapEntryLine, sitemapPartId, slugify, statusTagColor, statusTone, statusTones, stockVerdict, syncOwnerFor, taxLabel, taxRatePercent, toCents, toIdString, trackingDisplay, trimmedText };
7450
+ export { ACCOUNT_SOURCE_VALUES, ACTIVE_SUBSCRIPTION_CHANNELS, ADMIN_ACTIONS, ADMIN_AUDIT_ACTIONS, ADMIN_RESOURCES, ADMIN_RESOURCE_LIST, ALL_STORES, AUTH_PROVIDER_VALUES, AVAILABILITY_STATUS_TONES, AWAITING_PAYMENT_STATUSES, type AccountSource, AccountSourceEnum, type AddonAmountInput, type AddonGroupNetsuiteLink, type AddonNetsuiteLink, type AddonSelectionRef, type AddonSnapshot, type AddressLinesInput, type AdminCreateRequest, type AdminUpdateRequest, type ApiResponse, type AppliedTax, type AuthProvider, AuthProviderEnum, type Availability, AvailabilityToneEnum, BACKORDERED_TONE, BRAND_FIELDS, BULK_SPEC_PRODUCT_LIMIT, BUSINESS_TIME_ZONE, type BaseEntity, CAMPAIGN_RECIPIENT_STATUS_VALUES, CAMPAIGN_STATUS_VALUES, CART_STATUS_VALUES, CASE_ORIGIN_LABELS, CASE_ORIGIN_VALUES, CASE_PRIORITY_LABELS, CASE_PRIORITY_VALUES, CASE_PROFILE_LABELS, CASE_PROFILE_VALUES, CASE_STATUS_LABELS, CASE_STATUS_TONES, CASE_STATUS_VALUES, CASE_TYPE_LABELS, CASE_TYPE_VALUES, CATEGORY_FIELDS, CLOSED_QUOTE_STATUSES, COMPANY, COMPANY_ADDRESS_LINE, COMPANY_CITY_LINE, COMPANY_CITY_LINE_LONG, COMPANY_MAX_LENGTH, COMPLETE_ORDER_STATUSES, CONFIGURATOR_CONDITION_TYPE_VALUES, CONFIGURATOR_EFFECT_TYPE_VALUES, CONFIGURATOR_SELECT_MODE_VALUES, CONFIGURATOR_SOURCE_VALUES, CONTACT_PROFILE_OPTIONS, CONTACT_REQUEST_TYPE_VALUES, type CacheStatus, type CacheStoreTarget, CampaignRecipientStatusEnum, CampaignStatusEnum, type CartIssue, type CartIssueType, CartIssueTypes, CartStatusEnum, type CartValidation, type CaseOrigin, CaseOriginEnum, type CasePriority, CasePriorityEnum, type CaseProfile, CaseProfileEnum, type CaseStatus, CaseStatusEnum, type CaseThankYouPath, CaseThankYouPathEnum, type CaseType, CaseTypeEnum, type CategoryImportSummary, type CheckoutAddressInput, type CheckoutPayload, type CheckoutResult, ConfiguratorConditionTypeEnum, ConfiguratorEffectTypeEnum, ConfiguratorErrorCodeEnum, type ConfiguratorEvalContext, type ConfiguratorEvalError, type ConfiguratorEvalResult, ConfiguratorSelectModeEnum, type ConfiguratorSelections, ConfiguratorSourceEnum, ContactRequestTypeEnum, type ConvertedOrderView, type CouponNetsuiteLink, CreditMemoStatusEnum, type CustomerAccountErrorCode, CustomerAccountErrorCodeEnum, type CustomerNameInput, type CustomerProfileUpdateRequest, type CustomerSignupRequest, type CustomerSocialLoginRequest, DEFAULT_SUBSCRIPTION_TOPICS, DISCOUNT_TYPE_LABELS, DISCOUNT_TYPE_VALUES, DiscountTypeEnum, EDITABLE_ADMIN_FIELDS, EDITABLE_CUSTOMER_FIELDS, EMAIL_PARAM_MISMATCH_KIND_VALUES, EMAIL_TEMPLATE_EVENT_VALUES, EMAIL_TEMPLATE_VARIABLES_BY_EVENT, EMPTY_ACCESS, type EditableAdminField, type EditableCustomerField, type EffectiveAccess, type EmailParamMismatch, EmailParamMismatchKindEnum, EmailTemplateEventEnum, FAILED_PAYMENT_STATUSES, FEE_APPLIES_TO_LABELS, FEE_APPLIES_TO_VALUES, FULFILLMENT_STATUS_LABEL, FULFILLMENT_STATUS_VALUES, FeeAppliesToEnum, type FieldMap, type FieldMapping, type FieldSource, FulfillmentStatusEnum, HONEYPOT_FIELD, type IAddonConfig, type IAddonGroup, type IAddress, type IAdmin, type IAdminAction, type IAdminAuditAction, type IAdminAuditLog, type IAdminBaseAction, type IAdminPermission, type IAdminResource, type IAdminRole, type IAdminRoleCreate, type IAdminSafe, type IAdminStoreAccess, type IAppliedFee, type IBannerSlide, type IBlogAuthor, type IBlogCategory, type IBlogPost, type IBrand, type ICampaign, type ICampaignRecipient, type ICampaignStats, type ICart, type ICartItem, type ICartServicePlanSnapshot, type ICaseMessage, type ICaseReceipt, type ICaseRequest, type ICategory, type ICategorySequence, type ICategorySubcategory, type ICategoryUrl, type IConfigurator, type IConfiguratorCondition, type IConfiguratorEffect, type IConfiguratorFacet, type IConfiguratorFacetValue, type IConfiguratorOption, type IConfiguratorPriceAdjustment, type IConfiguratorQuery, type IConfiguratorRule, type IConfiguratorSection, type IConfiguratorStep, type IConfiguratorTarget, type IContact, type ICountry, type ICoupon, type ICurrency, type ICustomer, type IDiscountType, type IEmailTemplate, type IFaq, type IFaqCategory, type IKeyValue, type ILinePricing, type IMediaAsset, INVENTORY_POLICY_VALUES, type INetsuiteCaseLink, type INetsuiteEvent, type INetsuiteOrderLine, type INetsuiteOrderLink, type INetsuiteQueueEntry, type INetsuiteRefund, type INetsuiteSalesRep, type INetsuiteSyncCheckpoint, type INotification, type IOnsiteDemoRequest, type IOrder, type IOrderItem, type IOrderLog, type IOrderShipment, type IOrderTransaction, type IPaymentLink, type IPodcastEpisode, type IPrice, type IProduct, type IProductDailyStat, type IProductRelationGroup, type IProductTechnicalSpec, type IProductTechnicalSpecTable, type IProductVariantFields, type IProductVariantOptionGroup, type IProductVariantOptionMatrix, type IProductVariantOptionValue, type IRedirect, type IRedirectSuggestion, type IRefundTransaction, type IRelationGroup, type IRepairAddress, type IRepairRequest, type IRepairRequestInput, type IRepairSlip, type IRepairTool, type ISEOMetaData, type ISelectableFee, type IServicePlan, type IShipFromAddress, type IShipping, type IShippingRate, type ISitemapManifest, type ISitemapPart, type IState, type IStock, type IStore, type IStoreFee, type IStoreSettings, type ISubscriber, type ISubscriberConsent, type ISubscription, type ISummaryPricing, type ISupportCase, type ISupportCaseListItem, type ITaxRate, type ITechnicalSpecColumn, type ITechnicalSpecGroup, type ITransactionBase, type IUnmatched404, type IVariant, type IVariantOptionSelection, type IWishlist, type IWishlistItem, type Id, type InventoryPolicy, InventoryPolicyEnum, type LineChargeInput, type LineShipProgress, LineShipStateEnum, MAX_PAGE, MAX_PAGE_SIZE, MIN_PASSWORD_LENGTH, type MatchResult, type Metadata, NETSUITE_ESTIMATE_STATUS_TEXT, NETSUITE_EVENT_LANE_VALUES, NETSUITE_EVENT_STATE_TONES, NETSUITE_EVENT_STATE_VALUES, NETSUITE_FULFILLMENT_STATUS_TEXT, NETSUITE_INVOICE_STATUS_TEXT, NETSUITE_OWNED_FIELDS, NETSUITE_RECORD_TYPE_VALUES, NETSUITE_REFUND_KIND_VALUES, NETSUITE_REFUND_RECORD_NAME, NETSUITE_RELATION_GROUPS, NETSUITE_RETURN_STATUS_TEXT, NETSUITE_SALES_ORDER_STATUS_TEXT, NOTIFICATION_TYPE_VALUES, type NetsuiteCustomerLinkResult, NetsuiteEventLaneEnum, NetsuiteEventStateEnum, NetsuiteFieldProvider, type NetsuiteLineLike, type NetsuiteLinkResult, type NetsuiteOrderPreview, type NetsuiteOwnedEntity, type NetsuitePreviewLine, type NetsuitePushAttempt, type NetsuitePushOutcome, type NetsuiteReceipt, NetsuiteRecordTypeEnum, NetsuiteRefundKindEnum, type NetsuiteRelationSource, type NetsuiteStatusChange, type NetsuiteStatusSyncResult, type NetsuiteSyncDefinition, NotificationTypeEnum, OFFLINE_PAYMENT_METHODS, OPEN_ORDER_STATUSES, OPEN_QUOTE_STATUSES, ORDER_EMAIL_EVENTS, ORDER_LOG_TYPE_COLORS, ORDER_LOG_TYPE_VALUES, ORDER_ORIGIN_VALUES, ORDER_STATUS_LABELS, ORDER_STATUS_VALUES, type OfferedAddon, type OfferedAddonGroup, type OfferedServicePlan, type OrderEmailEvent, type OrderLineNameInput, OrderLogTypeEnum, OrderOriginEnum, OrderStatusEnum, PAID_PAYMENT_STATUSES, PARTLY_SHIPPED_STATUSES, PAYMENT_GATEWAY_LABELS, PAYMENT_GATEWAY_VALUES, PAYMENT_LINK_STATUS_LABELS, PAYMENT_LINK_STATUS_VALUES, PAYMENT_METHOD_COLORS, PAYMENT_METHOD_LABELS, PAYMENT_METHOD_VALUES, PAYMENT_STATUS_LABELS, PAYMENT_STATUS_VALUES, PHONE_MAX_LENGTH, PLACED_OPEN_ORDER_STATUSES, PO_NUMBER_MAX_LENGTH, PRICING_TYPE_LABELS, PRICING_TYPE_VALUES, PRODUCT_FIELDS, PRODUCT_VARIANT_TYPE_VALUES, PROFILE_ACTOR_VALUES, PROVIDERS, PURCHASE_ORDER_STATUSES, PUSH_CHECK_STATUS_VALUES, type PaginatedResponse, PaymentGatewayEnum, PaymentLinkStatusEnum, type PaymentLinkView, PaymentMethodEnum, PaymentStatusEnum, type PersonNameInput, type PricedLineLike, type PricingType, PricingTypeEnum, type ProductAddonScope, ProductEventTypeEnum, type ProductServicePlanScope, type ProductVariantType, ProductVariantTypeEnum, ProfileActorEnum, type ProfileEditRules, type PromotionSyncResult, type PushCheck, PushCheckStatusEnum, type PushField, QUOTE_BUYABLE_STATUS, QUOTE_ORDER_STATUSES, QUOTE_SETTLEMENT_VALUES, QUOTE_VALID_DAYS, type QuantityLineInput, type QuoteRequestResult, type QuoteRuleInput, QuoteSettlementEnum, REDIRECT_TARGET_TYPE_VALUES, REFUND_STATE_TONES, REFUND_TRAIL_TITLE, RELATION_FIELDS, REPAIR_MAX_TOOLS, RESOURCE_OPERATIONS, RETIRED_CART_STATUSES, RETURN_ORDER_STATUSES, type RateAddress, type RatedShippingMethod, type RedirectTargetType, RedirectTargetTypeEnum, RefundPaymentStatusEnum, RefundStateEnum, type RefundStep, RefundStepStateEnum, type RefundSummary, type RefundTrail, RefundTrailKindEnum, type ResolveAccessInput, type ResolvedAddonSelection, ReturnStatusEnum, type RevalidationResult, SALE_TYPE_VALUES, SAVED_CART_TTL_DAYS, SERVICE_LAB, SERVICE_PLAN_ELIGIBILITY_FIELD, SITEMAP_MANIFESTS_COLLECTION, SITEMAP_MANIFEST_ID, SITEMAP_PARTS_COLLECTION, SITEMAP_PART_KIND_VALUES, STATUS_TONE_COLORS, STATUS_TONE_VALUES, STOCK_STATUS_VALUES, STORE_THEME_VALUES, SUBSCRIPTION_CHANNEL_VALUES, SUBSCRIPTION_TOPIC_LABELS, SUBSCRIPTION_TOPIC_VALUES, type SaleType, SaleTypeEnum, type SaleTypedLike, type SavedCartLine, type SavedCartSummary, type SelectedShippingMethod, type ServerQueryParams, type ServicePlanNetsuiteLink, type SitemapEntryKey, SitemapPartKindEnum, StatusToneEnum, type StatusToneRecord, type StockDemandLine, type StockStatus, StockStatusEnum, type StockVerdict, StockVerdictEnum, type StoreAccessCheckInput, type StoreScopeInput, StoreThemeEnum, SubscriptionChannelEnum, SubscriptionTopicEnum, type SyncPolicy, type SyncRisk, TAX_RATE_SOURCE_VALUES, TRANSACTION_TYPE_COLORS, TRANSACTION_TYPE_VALUES, TaxRateSourceEnum, type TaxSyncResult, type TrackingDisplay, TrackingKindEnum, TransactionTypeEnum, UNPLACED_ORDER_STATUSES, type VariantOptionMode, WIRED_EMAIL_TEMPLATE_EVENTS, actionsForResource, addonFields, addonUnitAmount, addonsOfLine, addonsUnitAmount, addressLines, adjustmentsFor, applyPriceAdjustments, availabilityOf, availabilityStatusTone, baseUnitPriceOfLine, blogAuthorFields, blogCategoryFields, blogPostFields, brandFields, buildOptionSignature, can, canAny, canonicalizePath, canonicalizeSlug, canonicalizeUrlSegment, cartAcceptsItem, caseIsOpen, caseStatusTone, caseThankYouPath, categoryFields, centsEqual, chargesOfLine, chunkSpecProductIds, clampPage, clampPageSize, cleanOptionKey, companyNameOf, conditionHolds, convertedOrderBilledOffline, convertedOrderOf, couponFields, customerDisplayName, customerFields, customerRefundHeadline, customerStatusTone, demandByKey, discountValueLabel, errorMessage, evaluateConfigurator, feeHint, firstLine, formatDay, formatMoney, fulfillmentStatusTone, grantedPermissions, groupHasDefaultAddon, hasStoreAccess, isConfigurationValid, isContactProfile, isContactRequestType, isDiscountType, isFailedPaymentStatus, isNetsuiteOrigin, isNetsuiteOwned, isNonEmptyString, isOfflinePaymentMethod, isOrderEmailEvent, isPaidPaymentStatus, isPartlyShipped, isPricingType, isQuoteBuyable, isQuoteExpired, isQuoteLapsing, isQuoteOnlyItem, isRepQuoteOrderable, isSavedLinePriceChanged, isSellable, isStoredCalendarDay, isValidAction, isValidEmail, isValidPassword, isValidPhone, itemsLabel, lineName, lineQuantityCount, lineSellable, lineShipProgress, lineShipTone, lineSku, linesShipped, liveRefunds, missingGrants, netsuiteDocumentLabel, netsuiteDocumentTone, netsuiteEventStateTone, netsuiteFieldCaution, netsuiteFieldConditional, netsuiteFieldDerivedFrom, netsuiteFieldNote, netsuiteFieldRisk, netsuiteFieldSource, netsuiteRelationSource, netsuiteStatusLabel, normalizeLineQuantity, normalizeNumber, normalizePath, originUrl, pageOf, parseSitemapEntries, paymentLinkStatusTone, paymentMethodLabel, paymentStatusLabel, paymentStatusTone, personName, poNumberText, podcastFields, pricingValueLabel, productFields, profileEditRules, quoteCanBeOrdered, quoteDaysLeft, quoteIsPriced, quotePaymentUnfinished, quoteSettlement, quoteValidityPassed, readMapped, recordStatusTone, refundHeadline, refundStateTone, refundStepTone, refundSummary, repLineNote, repairAddressLine, resolveAddonSelections, resolveEffectivePermissions, resolveProductAddonGroups, resolveProductServicePlans, resolveStoreScope, roundMoney, saleTypeOf, servicePlanFields, shipmentsTone, sitemapEntryLine, sitemapPartId, slugify, statusTagColor, statusTone, statusTones, stockVerdict, storeOriginOf, syncOwnerFor, taxLabel, taxRatePercent, toCents, toIdString, trackingDisplay, trimmedText };
package/dist/index.d.ts CHANGED
@@ -108,6 +108,9 @@ interface IStore extends BaseEntity {
108
108
  storeAdmins: Array<string | Types.ObjectId>;
109
109
  }
110
110
 
111
+ declare const storeOriginOf: (domain?: string | null) => string | null;
112
+ declare const originUrl: (origin: string, path: string) => string;
113
+
111
114
  declare const PricingTypeEnum: {
112
115
  readonly PERCENTAGE: "PERCENTAGE";
113
116
  readonly FIXED: "FIXED";
@@ -356,6 +359,8 @@ declare const slugify: (text: string) => string;
356
359
 
357
360
  declare const errorMessage: (error: unknown, fallback?: string) => string;
358
361
 
362
+ declare const HONEYPOT_FIELD = "website";
363
+
359
364
  declare const DISCOUNT_TYPE_VALUES: ("PERCENTAGE" | "FIXED" | "FREE_SHIPPING")[];
360
365
  declare const DiscountTypeEnum: {
361
366
  readonly PERCENTAGE: "PERCENTAGE";
@@ -1355,6 +1360,7 @@ interface IAddress extends BaseEntity {
1355
1360
  addressLine1: string;
1356
1361
  addressLine2: string;
1357
1362
  attention?: string;
1363
+ company?: string;
1358
1364
  city: string;
1359
1365
  zipCode: string;
1360
1366
  firstName: string;
@@ -1465,6 +1471,10 @@ declare const ADMIN_RESOURCE_LIST: readonly [{
1465
1471
  readonly value: "contact-us";
1466
1472
  readonly label: "Contact Requests";
1467
1473
  readonly group: "People";
1474
+ }, {
1475
+ readonly value: "repair-requests";
1476
+ readonly label: "Repair Requests";
1477
+ readonly group: "People";
1468
1478
  }, {
1469
1479
  readonly value: "subscribers";
1470
1480
  readonly label: "Subscribers";
@@ -1518,7 +1528,7 @@ declare const ADMIN_RESOURCE_LIST: readonly [{
1518
1528
  readonly label: "Account";
1519
1529
  readonly group: "Settings";
1520
1530
  }];
1521
- declare const ADMIN_RESOURCES: ("stores" | "categories" | "podcast" | "blog" | "orders" | "dashboard" | "metrics" | "products" | "brands" | "technical-specs" | "addon-configs" | "service-plans" | "relation-groups" | "configurators" | "quotes" | "carts" | "transactions" | "coupons" | "store-fees" | "tax-rates" | "customers" | "contact-us" | "subscribers" | "faqs" | "email-templates" | "notifications" | "campaigns" | "currencies" | "redirects" | "cache" | "admins" | "account")[];
1531
+ declare const ADMIN_RESOURCES: ("stores" | "categories" | "podcast" | "blog" | "orders" | "dashboard" | "metrics" | "products" | "brands" | "technical-specs" | "addon-configs" | "service-plans" | "relation-groups" | "configurators" | "quotes" | "carts" | "transactions" | "coupons" | "store-fees" | "tax-rates" | "customers" | "contact-us" | "repair-requests" | "subscribers" | "faqs" | "email-templates" | "notifications" | "campaigns" | "currencies" | "redirects" | "cache" | "admins" | "account")[];
1522
1532
  type IAdminResource = (typeof ADMIN_RESOURCE_LIST)[number]['value'];
1523
1533
  declare const ADMIN_ACTIONS: readonly ["read", "write", "delete"];
1524
1534
  type IAdminBaseAction = (typeof ADMIN_ACTIONS)[number];
@@ -1726,59 +1736,104 @@ interface INetsuiteCaseLink {
1726
1736
  statusCheckedAt?: Date | string;
1727
1737
  pushedAt?: Date | string;
1728
1738
  }
1739
+ interface ICaseRequest {
1740
+ firstName: string;
1741
+ lastName: string;
1742
+ companyName?: string;
1743
+ email: string;
1744
+ phone?: string;
1745
+ status: CaseStatus;
1746
+ caseId: string;
1747
+ notes: string;
1748
+ resolvedAt?: Date;
1749
+ netsuite?: INetsuiteCaseLink | null;
1750
+ netsuiteLastError?: {
1751
+ message: string;
1752
+ failedAt?: Date | string;
1753
+ } | null;
1754
+ netsuiteLeadId?: string | null;
1755
+ receiptToken?: string;
1756
+ }
1757
+ interface ICaseReceipt {
1758
+ caseId: string;
1759
+ receiptToken: string;
1760
+ }
1729
1761
  type ISupportCaseListItem = Omit<ISupportCase, "messages">;
1730
1762
 
1731
1763
  declare const CASE_STATUS_TONES: Record<CaseStatus, StatusToneEnum>;
1732
1764
  declare const caseStatusTone: (status?: string) => StatusToneEnum;
1733
1765
 
1766
+ declare const CaseThankYouPathEnum: {
1767
+ readonly CONTACT: "/contact-us/thank-you";
1768
+ readonly CONTACT_ES: "/en-espanol/thank-you";
1769
+ readonly ONSITE_DEMO: "/onsite-request/thank-you";
1770
+ readonly REPAIR: "/repair-request/thank-you";
1771
+ };
1772
+ type CaseThankYouPath = (typeof CaseThankYouPathEnum)[keyof typeof CaseThankYouPathEnum];
1773
+ declare const caseThankYouPath: (base: CaseThankYouPath, caseId?: string | null, receiptToken?: string | null) => string;
1774
+
1734
1775
  declare const ContactRequestTypeEnum: {
1735
1776
  readonly CONTACT: "CONTACT";
1736
1777
  readonly ONSITE_DEMO: "ONSITE_DEMO";
1737
- readonly REPAIR: "REPAIR";
1738
1778
  };
1739
1779
  type ContactRequestTypeEnum = (typeof ContactRequestTypeEnum)[keyof typeof ContactRequestTypeEnum];
1740
- declare const CONTACT_REQUEST_TYPE_VALUES: ("CONTACT" | "ONSITE_DEMO" | "REPAIR")[];
1780
+ declare const CONTACT_REQUEST_TYPE_VALUES: ("CONTACT" | "ONSITE_DEMO")[];
1741
1781
  declare const isContactRequestType: (value: unknown) => value is ContactRequestTypeEnum;
1742
- interface IContact extends BaseEntity {
1782
+ interface IContact extends BaseEntity, ICaseRequest {
1743
1783
  requestType: ContactRequestTypeEnum;
1744
- firstName: string;
1745
- lastName: string;
1746
- companyName?: string;
1747
- email: string;
1748
1784
  phone: string;
1749
1785
  address?: string;
1750
1786
  profile: CaseProfile;
1751
1787
  subject: string;
1752
1788
  message: string;
1753
- status: CaseStatus;
1754
1789
  origin: CaseOrigin;
1755
- caseId: string;
1756
- notes: string;
1757
1790
  store: IStore;
1758
- resolvedAt?: Date;
1759
- netsuite?: INetsuiteCaseLink | null;
1760
- netsuiteLastError?: {
1761
- message: string;
1762
- failedAt?: Date | string;
1763
- } | null;
1764
- netsuiteLeadId?: string | null;
1765
1791
  onsiteDemo?: IOnsiteDemoRequest | null;
1766
- repair?: IRepairRequest | null;
1767
1792
  }
1768
1793
  interface IOnsiteDemoRequest {
1769
1794
  demo: string;
1770
1795
  }
1796
+
1797
+ declare const REPAIR_MAX_TOOLS = 50;
1771
1798
  interface IRepairTool {
1772
1799
  manufacturer: string;
1773
1800
  model: string;
1774
1801
  serial: string;
1775
1802
  accessories?: string;
1776
1803
  }
1777
- interface IRepairRequest {
1804
+ interface IRepairAddress {
1805
+ street: string;
1806
+ suite?: string;
1807
+ city: string;
1808
+ state: string;
1809
+ postalCode: string;
1810
+ country: string;
1811
+ countryIso?: string;
1812
+ }
1813
+ interface IRepairDetails {
1814
+ companyName: string;
1815
+ phone: string;
1816
+ secondaryContact?: string;
1817
+ fax?: string;
1818
+ address: IRepairAddress;
1778
1819
  tools: IRepairTool[];
1779
1820
  problem: string;
1780
1821
  comments?: string;
1781
1822
  }
1823
+ interface IRepairRequestInput extends IRepairDetails {
1824
+ firstName: string;
1825
+ lastName: string;
1826
+ email: string;
1827
+ store: string;
1828
+ }
1829
+ interface IRepairRequest extends BaseEntity, ICaseRequest, IRepairDetails {
1830
+ companyName: string;
1831
+ phone: string;
1832
+ store: IStore;
1833
+ }
1834
+ type IRepairSlip = Pick<IRepairRequest, "caseId" | "status" | "firstName" | "lastName" | "companyName" | "email" | "phone" | "secondaryContact" | "fax" | "address" | "tools" | "problem" | "comments" | "createdAt">;
1835
+
1836
+ declare const repairAddressLine: (address: IRepairAddress) => string;
1782
1837
 
1783
1838
  declare const SERVICE_PLAN_ELIGIBILITY_FIELD = "custitem520";
1784
1839
 
@@ -7269,6 +7324,7 @@ interface CheckoutAddressInput {
7269
7324
  addressLine1: string;
7270
7325
  addressLine2?: string;
7271
7326
  attention?: string;
7327
+ company?: string;
7272
7328
  city: string;
7273
7329
  zipCode: string;
7274
7330
  firstName: string;
@@ -7291,7 +7347,6 @@ interface CheckoutPayload {
7291
7347
  acceptedTerms: boolean;
7292
7348
  customerNote?: string;
7293
7349
  poNumber?: string;
7294
- company?: string;
7295
7350
  }
7296
7351
  interface QuoteRequestResult {
7297
7352
  id: string;
@@ -7392,4 +7447,4 @@ declare const sitemapPartId: (build: string, storeId: string, kind: SitemapPartK
7392
7447
  declare const sitemapEntryLine: (key: string, lastmod?: Date | string | null) => string;
7393
7448
  declare const parseSitemapEntries: (entries: string) => SitemapEntryKey[];
7394
7449
 
7395
- export { ACCOUNT_SOURCE_VALUES, ACTIVE_SUBSCRIPTION_CHANNELS, ADMIN_ACTIONS, ADMIN_AUDIT_ACTIONS, ADMIN_RESOURCES, ADMIN_RESOURCE_LIST, ALL_STORES, AUTH_PROVIDER_VALUES, AVAILABILITY_STATUS_TONES, AWAITING_PAYMENT_STATUSES, type AccountSource, AccountSourceEnum, type AddonAmountInput, type AddonGroupNetsuiteLink, type AddonNetsuiteLink, type AddonSelectionRef, type AddonSnapshot, type AddressLinesInput, type AdminCreateRequest, type AdminUpdateRequest, type ApiResponse, type AppliedTax, type AuthProvider, AuthProviderEnum, type Availability, AvailabilityToneEnum, BACKORDERED_TONE, BRAND_FIELDS, BULK_SPEC_PRODUCT_LIMIT, BUSINESS_TIME_ZONE, type BaseEntity, CAMPAIGN_RECIPIENT_STATUS_VALUES, CAMPAIGN_STATUS_VALUES, CART_STATUS_VALUES, CASE_ORIGIN_LABELS, CASE_ORIGIN_VALUES, CASE_PRIORITY_LABELS, CASE_PRIORITY_VALUES, CASE_PROFILE_LABELS, CASE_PROFILE_VALUES, CASE_STATUS_LABELS, CASE_STATUS_TONES, CASE_STATUS_VALUES, CASE_TYPE_LABELS, CASE_TYPE_VALUES, CATEGORY_FIELDS, CLOSED_QUOTE_STATUSES, COMPANY, COMPANY_ADDRESS_LINE, COMPANY_CITY_LINE, COMPANY_CITY_LINE_LONG, COMPANY_MAX_LENGTH, COMPLETE_ORDER_STATUSES, CONFIGURATOR_CONDITION_TYPE_VALUES, CONFIGURATOR_EFFECT_TYPE_VALUES, CONFIGURATOR_SELECT_MODE_VALUES, CONFIGURATOR_SOURCE_VALUES, CONTACT_PROFILE_OPTIONS, CONTACT_REQUEST_TYPE_VALUES, type CacheStatus, type CacheStoreTarget, CampaignRecipientStatusEnum, CampaignStatusEnum, type CartIssue, type CartIssueType, CartIssueTypes, CartStatusEnum, type CartValidation, type CaseOrigin, CaseOriginEnum, type CasePriority, CasePriorityEnum, type CaseProfile, CaseProfileEnum, type CaseStatus, CaseStatusEnum, type CaseType, CaseTypeEnum, type CategoryImportSummary, type CheckoutAddressInput, type CheckoutPayload, type CheckoutResult, ConfiguratorConditionTypeEnum, ConfiguratorEffectTypeEnum, ConfiguratorErrorCodeEnum, type ConfiguratorEvalContext, type ConfiguratorEvalError, type ConfiguratorEvalResult, ConfiguratorSelectModeEnum, type ConfiguratorSelections, ConfiguratorSourceEnum, ContactRequestTypeEnum, type ConvertedOrderView, type CouponNetsuiteLink, CreditMemoStatusEnum, type CustomerAccountErrorCode, CustomerAccountErrorCodeEnum, type CustomerNameInput, type CustomerProfileUpdateRequest, type CustomerSignupRequest, type CustomerSocialLoginRequest, DEFAULT_SUBSCRIPTION_TOPICS, DISCOUNT_TYPE_LABELS, DISCOUNT_TYPE_VALUES, DiscountTypeEnum, EDITABLE_ADMIN_FIELDS, EDITABLE_CUSTOMER_FIELDS, EMAIL_PARAM_MISMATCH_KIND_VALUES, EMAIL_TEMPLATE_EVENT_VALUES, EMAIL_TEMPLATE_VARIABLES_BY_EVENT, EMPTY_ACCESS, type EditableAdminField, type EditableCustomerField, type EffectiveAccess, type EmailParamMismatch, EmailParamMismatchKindEnum, EmailTemplateEventEnum, FAILED_PAYMENT_STATUSES, FEE_APPLIES_TO_LABELS, FEE_APPLIES_TO_VALUES, FULFILLMENT_STATUS_LABEL, FULFILLMENT_STATUS_VALUES, FeeAppliesToEnum, type FieldMap, type FieldMapping, type FieldSource, FulfillmentStatusEnum, type IAddonConfig, type IAddonGroup, type IAddress, type IAdmin, type IAdminAction, type IAdminAuditAction, type IAdminAuditLog, type IAdminBaseAction, type IAdminPermission, type IAdminResource, type IAdminRole, type IAdminRoleCreate, type IAdminSafe, type IAdminStoreAccess, type IAppliedFee, type IBannerSlide, type IBlogAuthor, type IBlogCategory, type IBlogPost, type IBrand, type ICampaign, type ICampaignRecipient, type ICampaignStats, type ICart, type ICartItem, type ICartServicePlanSnapshot, type ICaseMessage, type ICategory, type ICategorySequence, type ICategorySubcategory, type ICategoryUrl, type IConfigurator, type IConfiguratorCondition, type IConfiguratorEffect, type IConfiguratorFacet, type IConfiguratorFacetValue, type IConfiguratorOption, type IConfiguratorPriceAdjustment, type IConfiguratorQuery, type IConfiguratorRule, type IConfiguratorSection, type IConfiguratorStep, type IConfiguratorTarget, type IContact, type ICountry, type ICoupon, type ICurrency, type ICustomer, type IDiscountType, type IEmailTemplate, type IFaq, type IFaqCategory, type IKeyValue, type ILinePricing, type IMediaAsset, INVENTORY_POLICY_VALUES, type INetsuiteCaseLink, type INetsuiteEvent, type INetsuiteOrderLine, type INetsuiteOrderLink, type INetsuiteQueueEntry, type INetsuiteRefund, type INetsuiteSalesRep, type INetsuiteSyncCheckpoint, type INotification, type IOnsiteDemoRequest, type IOrder, type IOrderItem, type IOrderLog, type IOrderShipment, type IOrderTransaction, type IPaymentLink, type IPodcastEpisode, type IPrice, type IProduct, type IProductDailyStat, type IProductRelationGroup, type IProductTechnicalSpec, type IProductTechnicalSpecTable, type IProductVariantFields, type IProductVariantOptionGroup, type IProductVariantOptionMatrix, type IProductVariantOptionValue, type IRedirect, type IRedirectSuggestion, type IRefundTransaction, type IRelationGroup, type IRepairRequest, type IRepairTool, type ISEOMetaData, type ISelectableFee, type IServicePlan, type IShipFromAddress, type IShipping, type IShippingRate, type ISitemapManifest, type ISitemapPart, type IState, type IStock, type IStore, type IStoreFee, type IStoreSettings, type ISubscriber, type ISubscriberConsent, type ISubscription, type ISummaryPricing, type ISupportCase, type ISupportCaseListItem, type ITaxRate, type ITechnicalSpecColumn, type ITechnicalSpecGroup, type ITransactionBase, type IUnmatched404, type IVariant, type IVariantOptionSelection, type IWishlist, type IWishlistItem, type Id, type InventoryPolicy, InventoryPolicyEnum, type LineChargeInput, type LineShipProgress, LineShipStateEnum, MAX_PAGE, MAX_PAGE_SIZE, MIN_PASSWORD_LENGTH, type MatchResult, type Metadata, NETSUITE_ESTIMATE_STATUS_TEXT, NETSUITE_EVENT_LANE_VALUES, NETSUITE_EVENT_STATE_TONES, NETSUITE_EVENT_STATE_VALUES, NETSUITE_FULFILLMENT_STATUS_TEXT, NETSUITE_INVOICE_STATUS_TEXT, NETSUITE_OWNED_FIELDS, NETSUITE_RECORD_TYPE_VALUES, NETSUITE_REFUND_KIND_VALUES, NETSUITE_REFUND_RECORD_NAME, NETSUITE_RELATION_GROUPS, NETSUITE_RETURN_STATUS_TEXT, NETSUITE_SALES_ORDER_STATUS_TEXT, NOTIFICATION_TYPE_VALUES, type NetsuiteCustomerLinkResult, NetsuiteEventLaneEnum, NetsuiteEventStateEnum, NetsuiteFieldProvider, type NetsuiteLineLike, type NetsuiteLinkResult, type NetsuiteOrderPreview, type NetsuiteOwnedEntity, type NetsuitePreviewLine, type NetsuitePushAttempt, type NetsuitePushOutcome, type NetsuiteReceipt, NetsuiteRecordTypeEnum, NetsuiteRefundKindEnum, type NetsuiteRelationSource, type NetsuiteStatusChange, type NetsuiteStatusSyncResult, type NetsuiteSyncDefinition, NotificationTypeEnum, OFFLINE_PAYMENT_METHODS, OPEN_ORDER_STATUSES, OPEN_QUOTE_STATUSES, ORDER_EMAIL_EVENTS, ORDER_LOG_TYPE_COLORS, ORDER_LOG_TYPE_VALUES, ORDER_ORIGIN_VALUES, ORDER_STATUS_LABELS, ORDER_STATUS_VALUES, type OfferedAddon, type OfferedAddonGroup, type OfferedServicePlan, type OrderEmailEvent, type OrderLineNameInput, OrderLogTypeEnum, OrderOriginEnum, OrderStatusEnum, PAID_PAYMENT_STATUSES, PARTLY_SHIPPED_STATUSES, PAYMENT_GATEWAY_LABELS, PAYMENT_GATEWAY_VALUES, PAYMENT_LINK_STATUS_LABELS, PAYMENT_LINK_STATUS_VALUES, PAYMENT_METHOD_COLORS, PAYMENT_METHOD_LABELS, PAYMENT_METHOD_VALUES, PAYMENT_STATUS_LABELS, PAYMENT_STATUS_VALUES, PHONE_MAX_LENGTH, PLACED_OPEN_ORDER_STATUSES, PO_NUMBER_MAX_LENGTH, PRICING_TYPE_LABELS, PRICING_TYPE_VALUES, PRODUCT_FIELDS, PRODUCT_VARIANT_TYPE_VALUES, PROFILE_ACTOR_VALUES, PROVIDERS, PURCHASE_ORDER_STATUSES, PUSH_CHECK_STATUS_VALUES, type PaginatedResponse, PaymentGatewayEnum, PaymentLinkStatusEnum, type PaymentLinkView, PaymentMethodEnum, PaymentStatusEnum, type PersonNameInput, type PricedLineLike, type PricingType, PricingTypeEnum, type ProductAddonScope, ProductEventTypeEnum, type ProductServicePlanScope, type ProductVariantType, ProductVariantTypeEnum, ProfileActorEnum, type ProfileEditRules, type PromotionSyncResult, type PushCheck, PushCheckStatusEnum, type PushField, QUOTE_BUYABLE_STATUS, QUOTE_ORDER_STATUSES, QUOTE_SETTLEMENT_VALUES, QUOTE_VALID_DAYS, type QuantityLineInput, type QuoteRequestResult, type QuoteRuleInput, QuoteSettlementEnum, REDIRECT_TARGET_TYPE_VALUES, REFUND_STATE_TONES, REFUND_TRAIL_TITLE, RELATION_FIELDS, RESOURCE_OPERATIONS, RETIRED_CART_STATUSES, RETURN_ORDER_STATUSES, type RateAddress, type RatedShippingMethod, type RedirectTargetType, RedirectTargetTypeEnum, RefundPaymentStatusEnum, RefundStateEnum, type RefundStep, RefundStepStateEnum, type RefundSummary, type RefundTrail, RefundTrailKindEnum, type ResolveAccessInput, type ResolvedAddonSelection, ReturnStatusEnum, type RevalidationResult, SALE_TYPE_VALUES, SAVED_CART_TTL_DAYS, SERVICE_LAB, SERVICE_PLAN_ELIGIBILITY_FIELD, SITEMAP_MANIFESTS_COLLECTION, SITEMAP_MANIFEST_ID, SITEMAP_PARTS_COLLECTION, SITEMAP_PART_KIND_VALUES, STATUS_TONE_COLORS, STATUS_TONE_VALUES, STOCK_STATUS_VALUES, STORE_THEME_VALUES, SUBSCRIPTION_CHANNEL_VALUES, SUBSCRIPTION_TOPIC_LABELS, SUBSCRIPTION_TOPIC_VALUES, type SaleType, SaleTypeEnum, type SaleTypedLike, type SavedCartLine, type SavedCartSummary, type SelectedShippingMethod, type ServerQueryParams, type ServicePlanNetsuiteLink, type SitemapEntryKey, SitemapPartKindEnum, StatusToneEnum, type StatusToneRecord, type StockDemandLine, type StockStatus, StockStatusEnum, type StockVerdict, StockVerdictEnum, type StoreAccessCheckInput, type StoreScopeInput, StoreThemeEnum, SubscriptionChannelEnum, SubscriptionTopicEnum, type SyncPolicy, type SyncRisk, TAX_RATE_SOURCE_VALUES, TRANSACTION_TYPE_COLORS, TRANSACTION_TYPE_VALUES, TaxRateSourceEnum, type TaxSyncResult, type TrackingDisplay, TrackingKindEnum, TransactionTypeEnum, UNPLACED_ORDER_STATUSES, type VariantOptionMode, WIRED_EMAIL_TEMPLATE_EVENTS, actionsForResource, addonFields, addonUnitAmount, addonsOfLine, addonsUnitAmount, addressLines, adjustmentsFor, applyPriceAdjustments, availabilityOf, availabilityStatusTone, baseUnitPriceOfLine, blogAuthorFields, blogCategoryFields, blogPostFields, brandFields, buildOptionSignature, can, canAny, canonicalizePath, canonicalizeSlug, canonicalizeUrlSegment, cartAcceptsItem, caseIsOpen, caseStatusTone, categoryFields, centsEqual, chargesOfLine, chunkSpecProductIds, clampPage, clampPageSize, cleanOptionKey, companyNameOf, conditionHolds, convertedOrderBilledOffline, convertedOrderOf, couponFields, customerDisplayName, customerFields, customerRefundHeadline, customerStatusTone, demandByKey, discountValueLabel, errorMessage, evaluateConfigurator, feeHint, firstLine, formatDay, formatMoney, fulfillmentStatusTone, grantedPermissions, groupHasDefaultAddon, hasStoreAccess, isConfigurationValid, isContactProfile, isContactRequestType, isDiscountType, isFailedPaymentStatus, isNetsuiteOrigin, isNetsuiteOwned, isNonEmptyString, isOfflinePaymentMethod, isOrderEmailEvent, isPaidPaymentStatus, isPartlyShipped, isPricingType, isQuoteBuyable, isQuoteExpired, isQuoteLapsing, isQuoteOnlyItem, isRepQuoteOrderable, isSavedLinePriceChanged, isSellable, isStoredCalendarDay, isValidAction, isValidEmail, isValidPassword, isValidPhone, itemsLabel, lineName, lineQuantityCount, lineSellable, lineShipProgress, lineShipTone, lineSku, linesShipped, liveRefunds, missingGrants, netsuiteDocumentLabel, netsuiteDocumentTone, netsuiteEventStateTone, netsuiteFieldCaution, netsuiteFieldConditional, netsuiteFieldDerivedFrom, netsuiteFieldNote, netsuiteFieldRisk, netsuiteFieldSource, netsuiteRelationSource, netsuiteStatusLabel, normalizeLineQuantity, normalizeNumber, normalizePath, pageOf, parseSitemapEntries, paymentLinkStatusTone, paymentMethodLabel, paymentStatusLabel, paymentStatusTone, personName, poNumberText, podcastFields, pricingValueLabel, productFields, profileEditRules, quoteCanBeOrdered, quoteDaysLeft, quoteIsPriced, quotePaymentUnfinished, quoteSettlement, quoteValidityPassed, readMapped, recordStatusTone, refundHeadline, refundStateTone, refundStepTone, refundSummary, repLineNote, resolveAddonSelections, resolveEffectivePermissions, resolveProductAddonGroups, resolveProductServicePlans, resolveStoreScope, roundMoney, saleTypeOf, servicePlanFields, shipmentsTone, sitemapEntryLine, sitemapPartId, slugify, statusTagColor, statusTone, statusTones, stockVerdict, syncOwnerFor, taxLabel, taxRatePercent, toCents, toIdString, trackingDisplay, trimmedText };
7450
+ export { ACCOUNT_SOURCE_VALUES, ACTIVE_SUBSCRIPTION_CHANNELS, ADMIN_ACTIONS, ADMIN_AUDIT_ACTIONS, ADMIN_RESOURCES, ADMIN_RESOURCE_LIST, ALL_STORES, AUTH_PROVIDER_VALUES, AVAILABILITY_STATUS_TONES, AWAITING_PAYMENT_STATUSES, type AccountSource, AccountSourceEnum, type AddonAmountInput, type AddonGroupNetsuiteLink, type AddonNetsuiteLink, type AddonSelectionRef, type AddonSnapshot, type AddressLinesInput, type AdminCreateRequest, type AdminUpdateRequest, type ApiResponse, type AppliedTax, type AuthProvider, AuthProviderEnum, type Availability, AvailabilityToneEnum, BACKORDERED_TONE, BRAND_FIELDS, BULK_SPEC_PRODUCT_LIMIT, BUSINESS_TIME_ZONE, type BaseEntity, CAMPAIGN_RECIPIENT_STATUS_VALUES, CAMPAIGN_STATUS_VALUES, CART_STATUS_VALUES, CASE_ORIGIN_LABELS, CASE_ORIGIN_VALUES, CASE_PRIORITY_LABELS, CASE_PRIORITY_VALUES, CASE_PROFILE_LABELS, CASE_PROFILE_VALUES, CASE_STATUS_LABELS, CASE_STATUS_TONES, CASE_STATUS_VALUES, CASE_TYPE_LABELS, CASE_TYPE_VALUES, CATEGORY_FIELDS, CLOSED_QUOTE_STATUSES, COMPANY, COMPANY_ADDRESS_LINE, COMPANY_CITY_LINE, COMPANY_CITY_LINE_LONG, COMPANY_MAX_LENGTH, COMPLETE_ORDER_STATUSES, CONFIGURATOR_CONDITION_TYPE_VALUES, CONFIGURATOR_EFFECT_TYPE_VALUES, CONFIGURATOR_SELECT_MODE_VALUES, CONFIGURATOR_SOURCE_VALUES, CONTACT_PROFILE_OPTIONS, CONTACT_REQUEST_TYPE_VALUES, type CacheStatus, type CacheStoreTarget, CampaignRecipientStatusEnum, CampaignStatusEnum, type CartIssue, type CartIssueType, CartIssueTypes, CartStatusEnum, type CartValidation, type CaseOrigin, CaseOriginEnum, type CasePriority, CasePriorityEnum, type CaseProfile, CaseProfileEnum, type CaseStatus, CaseStatusEnum, type CaseThankYouPath, CaseThankYouPathEnum, type CaseType, CaseTypeEnum, type CategoryImportSummary, type CheckoutAddressInput, type CheckoutPayload, type CheckoutResult, ConfiguratorConditionTypeEnum, ConfiguratorEffectTypeEnum, ConfiguratorErrorCodeEnum, type ConfiguratorEvalContext, type ConfiguratorEvalError, type ConfiguratorEvalResult, ConfiguratorSelectModeEnum, type ConfiguratorSelections, ConfiguratorSourceEnum, ContactRequestTypeEnum, type ConvertedOrderView, type CouponNetsuiteLink, CreditMemoStatusEnum, type CustomerAccountErrorCode, CustomerAccountErrorCodeEnum, type CustomerNameInput, type CustomerProfileUpdateRequest, type CustomerSignupRequest, type CustomerSocialLoginRequest, DEFAULT_SUBSCRIPTION_TOPICS, DISCOUNT_TYPE_LABELS, DISCOUNT_TYPE_VALUES, DiscountTypeEnum, EDITABLE_ADMIN_FIELDS, EDITABLE_CUSTOMER_FIELDS, EMAIL_PARAM_MISMATCH_KIND_VALUES, EMAIL_TEMPLATE_EVENT_VALUES, EMAIL_TEMPLATE_VARIABLES_BY_EVENT, EMPTY_ACCESS, type EditableAdminField, type EditableCustomerField, type EffectiveAccess, type EmailParamMismatch, EmailParamMismatchKindEnum, EmailTemplateEventEnum, FAILED_PAYMENT_STATUSES, FEE_APPLIES_TO_LABELS, FEE_APPLIES_TO_VALUES, FULFILLMENT_STATUS_LABEL, FULFILLMENT_STATUS_VALUES, FeeAppliesToEnum, type FieldMap, type FieldMapping, type FieldSource, FulfillmentStatusEnum, HONEYPOT_FIELD, type IAddonConfig, type IAddonGroup, type IAddress, type IAdmin, type IAdminAction, type IAdminAuditAction, type IAdminAuditLog, type IAdminBaseAction, type IAdminPermission, type IAdminResource, type IAdminRole, type IAdminRoleCreate, type IAdminSafe, type IAdminStoreAccess, type IAppliedFee, type IBannerSlide, type IBlogAuthor, type IBlogCategory, type IBlogPost, type IBrand, type ICampaign, type ICampaignRecipient, type ICampaignStats, type ICart, type ICartItem, type ICartServicePlanSnapshot, type ICaseMessage, type ICaseReceipt, type ICaseRequest, type ICategory, type ICategorySequence, type ICategorySubcategory, type ICategoryUrl, type IConfigurator, type IConfiguratorCondition, type IConfiguratorEffect, type IConfiguratorFacet, type IConfiguratorFacetValue, type IConfiguratorOption, type IConfiguratorPriceAdjustment, type IConfiguratorQuery, type IConfiguratorRule, type IConfiguratorSection, type IConfiguratorStep, type IConfiguratorTarget, type IContact, type ICountry, type ICoupon, type ICurrency, type ICustomer, type IDiscountType, type IEmailTemplate, type IFaq, type IFaqCategory, type IKeyValue, type ILinePricing, type IMediaAsset, INVENTORY_POLICY_VALUES, type INetsuiteCaseLink, type INetsuiteEvent, type INetsuiteOrderLine, type INetsuiteOrderLink, type INetsuiteQueueEntry, type INetsuiteRefund, type INetsuiteSalesRep, type INetsuiteSyncCheckpoint, type INotification, type IOnsiteDemoRequest, type IOrder, type IOrderItem, type IOrderLog, type IOrderShipment, type IOrderTransaction, type IPaymentLink, type IPodcastEpisode, type IPrice, type IProduct, type IProductDailyStat, type IProductRelationGroup, type IProductTechnicalSpec, type IProductTechnicalSpecTable, type IProductVariantFields, type IProductVariantOptionGroup, type IProductVariantOptionMatrix, type IProductVariantOptionValue, type IRedirect, type IRedirectSuggestion, type IRefundTransaction, type IRelationGroup, type IRepairAddress, type IRepairRequest, type IRepairRequestInput, type IRepairSlip, type IRepairTool, type ISEOMetaData, type ISelectableFee, type IServicePlan, type IShipFromAddress, type IShipping, type IShippingRate, type ISitemapManifest, type ISitemapPart, type IState, type IStock, type IStore, type IStoreFee, type IStoreSettings, type ISubscriber, type ISubscriberConsent, type ISubscription, type ISummaryPricing, type ISupportCase, type ISupportCaseListItem, type ITaxRate, type ITechnicalSpecColumn, type ITechnicalSpecGroup, type ITransactionBase, type IUnmatched404, type IVariant, type IVariantOptionSelection, type IWishlist, type IWishlistItem, type Id, type InventoryPolicy, InventoryPolicyEnum, type LineChargeInput, type LineShipProgress, LineShipStateEnum, MAX_PAGE, MAX_PAGE_SIZE, MIN_PASSWORD_LENGTH, type MatchResult, type Metadata, NETSUITE_ESTIMATE_STATUS_TEXT, NETSUITE_EVENT_LANE_VALUES, NETSUITE_EVENT_STATE_TONES, NETSUITE_EVENT_STATE_VALUES, NETSUITE_FULFILLMENT_STATUS_TEXT, NETSUITE_INVOICE_STATUS_TEXT, NETSUITE_OWNED_FIELDS, NETSUITE_RECORD_TYPE_VALUES, NETSUITE_REFUND_KIND_VALUES, NETSUITE_REFUND_RECORD_NAME, NETSUITE_RELATION_GROUPS, NETSUITE_RETURN_STATUS_TEXT, NETSUITE_SALES_ORDER_STATUS_TEXT, NOTIFICATION_TYPE_VALUES, type NetsuiteCustomerLinkResult, NetsuiteEventLaneEnum, NetsuiteEventStateEnum, NetsuiteFieldProvider, type NetsuiteLineLike, type NetsuiteLinkResult, type NetsuiteOrderPreview, type NetsuiteOwnedEntity, type NetsuitePreviewLine, type NetsuitePushAttempt, type NetsuitePushOutcome, type NetsuiteReceipt, NetsuiteRecordTypeEnum, NetsuiteRefundKindEnum, type NetsuiteRelationSource, type NetsuiteStatusChange, type NetsuiteStatusSyncResult, type NetsuiteSyncDefinition, NotificationTypeEnum, OFFLINE_PAYMENT_METHODS, OPEN_ORDER_STATUSES, OPEN_QUOTE_STATUSES, ORDER_EMAIL_EVENTS, ORDER_LOG_TYPE_COLORS, ORDER_LOG_TYPE_VALUES, ORDER_ORIGIN_VALUES, ORDER_STATUS_LABELS, ORDER_STATUS_VALUES, type OfferedAddon, type OfferedAddonGroup, type OfferedServicePlan, type OrderEmailEvent, type OrderLineNameInput, OrderLogTypeEnum, OrderOriginEnum, OrderStatusEnum, PAID_PAYMENT_STATUSES, PARTLY_SHIPPED_STATUSES, PAYMENT_GATEWAY_LABELS, PAYMENT_GATEWAY_VALUES, PAYMENT_LINK_STATUS_LABELS, PAYMENT_LINK_STATUS_VALUES, PAYMENT_METHOD_COLORS, PAYMENT_METHOD_LABELS, PAYMENT_METHOD_VALUES, PAYMENT_STATUS_LABELS, PAYMENT_STATUS_VALUES, PHONE_MAX_LENGTH, PLACED_OPEN_ORDER_STATUSES, PO_NUMBER_MAX_LENGTH, PRICING_TYPE_LABELS, PRICING_TYPE_VALUES, PRODUCT_FIELDS, PRODUCT_VARIANT_TYPE_VALUES, PROFILE_ACTOR_VALUES, PROVIDERS, PURCHASE_ORDER_STATUSES, PUSH_CHECK_STATUS_VALUES, type PaginatedResponse, PaymentGatewayEnum, PaymentLinkStatusEnum, type PaymentLinkView, PaymentMethodEnum, PaymentStatusEnum, type PersonNameInput, type PricedLineLike, type PricingType, PricingTypeEnum, type ProductAddonScope, ProductEventTypeEnum, type ProductServicePlanScope, type ProductVariantType, ProductVariantTypeEnum, ProfileActorEnum, type ProfileEditRules, type PromotionSyncResult, type PushCheck, PushCheckStatusEnum, type PushField, QUOTE_BUYABLE_STATUS, QUOTE_ORDER_STATUSES, QUOTE_SETTLEMENT_VALUES, QUOTE_VALID_DAYS, type QuantityLineInput, type QuoteRequestResult, type QuoteRuleInput, QuoteSettlementEnum, REDIRECT_TARGET_TYPE_VALUES, REFUND_STATE_TONES, REFUND_TRAIL_TITLE, RELATION_FIELDS, REPAIR_MAX_TOOLS, RESOURCE_OPERATIONS, RETIRED_CART_STATUSES, RETURN_ORDER_STATUSES, type RateAddress, type RatedShippingMethod, type RedirectTargetType, RedirectTargetTypeEnum, RefundPaymentStatusEnum, RefundStateEnum, type RefundStep, RefundStepStateEnum, type RefundSummary, type RefundTrail, RefundTrailKindEnum, type ResolveAccessInput, type ResolvedAddonSelection, ReturnStatusEnum, type RevalidationResult, SALE_TYPE_VALUES, SAVED_CART_TTL_DAYS, SERVICE_LAB, SERVICE_PLAN_ELIGIBILITY_FIELD, SITEMAP_MANIFESTS_COLLECTION, SITEMAP_MANIFEST_ID, SITEMAP_PARTS_COLLECTION, SITEMAP_PART_KIND_VALUES, STATUS_TONE_COLORS, STATUS_TONE_VALUES, STOCK_STATUS_VALUES, STORE_THEME_VALUES, SUBSCRIPTION_CHANNEL_VALUES, SUBSCRIPTION_TOPIC_LABELS, SUBSCRIPTION_TOPIC_VALUES, type SaleType, SaleTypeEnum, type SaleTypedLike, type SavedCartLine, type SavedCartSummary, type SelectedShippingMethod, type ServerQueryParams, type ServicePlanNetsuiteLink, type SitemapEntryKey, SitemapPartKindEnum, StatusToneEnum, type StatusToneRecord, type StockDemandLine, type StockStatus, StockStatusEnum, type StockVerdict, StockVerdictEnum, type StoreAccessCheckInput, type StoreScopeInput, StoreThemeEnum, SubscriptionChannelEnum, SubscriptionTopicEnum, type SyncPolicy, type SyncRisk, TAX_RATE_SOURCE_VALUES, TRANSACTION_TYPE_COLORS, TRANSACTION_TYPE_VALUES, TaxRateSourceEnum, type TaxSyncResult, type TrackingDisplay, TrackingKindEnum, TransactionTypeEnum, UNPLACED_ORDER_STATUSES, type VariantOptionMode, WIRED_EMAIL_TEMPLATE_EVENTS, actionsForResource, addonFields, addonUnitAmount, addonsOfLine, addonsUnitAmount, addressLines, adjustmentsFor, applyPriceAdjustments, availabilityOf, availabilityStatusTone, baseUnitPriceOfLine, blogAuthorFields, blogCategoryFields, blogPostFields, brandFields, buildOptionSignature, can, canAny, canonicalizePath, canonicalizeSlug, canonicalizeUrlSegment, cartAcceptsItem, caseIsOpen, caseStatusTone, caseThankYouPath, categoryFields, centsEqual, chargesOfLine, chunkSpecProductIds, clampPage, clampPageSize, cleanOptionKey, companyNameOf, conditionHolds, convertedOrderBilledOffline, convertedOrderOf, couponFields, customerDisplayName, customerFields, customerRefundHeadline, customerStatusTone, demandByKey, discountValueLabel, errorMessage, evaluateConfigurator, feeHint, firstLine, formatDay, formatMoney, fulfillmentStatusTone, grantedPermissions, groupHasDefaultAddon, hasStoreAccess, isConfigurationValid, isContactProfile, isContactRequestType, isDiscountType, isFailedPaymentStatus, isNetsuiteOrigin, isNetsuiteOwned, isNonEmptyString, isOfflinePaymentMethod, isOrderEmailEvent, isPaidPaymentStatus, isPartlyShipped, isPricingType, isQuoteBuyable, isQuoteExpired, isQuoteLapsing, isQuoteOnlyItem, isRepQuoteOrderable, isSavedLinePriceChanged, isSellable, isStoredCalendarDay, isValidAction, isValidEmail, isValidPassword, isValidPhone, itemsLabel, lineName, lineQuantityCount, lineSellable, lineShipProgress, lineShipTone, lineSku, linesShipped, liveRefunds, missingGrants, netsuiteDocumentLabel, netsuiteDocumentTone, netsuiteEventStateTone, netsuiteFieldCaution, netsuiteFieldConditional, netsuiteFieldDerivedFrom, netsuiteFieldNote, netsuiteFieldRisk, netsuiteFieldSource, netsuiteRelationSource, netsuiteStatusLabel, normalizeLineQuantity, normalizeNumber, normalizePath, originUrl, pageOf, parseSitemapEntries, paymentLinkStatusTone, paymentMethodLabel, paymentStatusLabel, paymentStatusTone, personName, poNumberText, podcastFields, pricingValueLabel, productFields, profileEditRules, quoteCanBeOrdered, quoteDaysLeft, quoteIsPriced, quotePaymentUnfinished, quoteSettlement, quoteValidityPassed, readMapped, recordStatusTone, refundHeadline, refundStateTone, refundStepTone, refundSummary, repLineNote, repairAddressLine, resolveAddonSelections, resolveEffectivePermissions, resolveProductAddonGroups, resolveProductServicePlans, resolveStoreScope, roundMoney, saleTypeOf, servicePlanFields, shipmentsTone, sitemapEntryLine, sitemapPartId, slugify, statusTagColor, statusTone, statusTones, stockVerdict, storeOriginOf, syncOwnerFor, taxLabel, taxRatePercent, toCents, toIdString, trackingDisplay, trimmedText };
package/dist/index.js CHANGED
@@ -73,6 +73,7 @@ __export(index_exports, {
73
73
  CasePriorityEnum: () => CasePriorityEnum,
74
74
  CaseProfileEnum: () => CaseProfileEnum,
75
75
  CaseStatusEnum: () => CaseStatusEnum,
76
+ CaseThankYouPathEnum: () => CaseThankYouPathEnum,
76
77
  CaseTypeEnum: () => CaseTypeEnum,
77
78
  ConfiguratorConditionTypeEnum: () => ConfiguratorConditionTypeEnum,
78
79
  ConfiguratorEffectTypeEnum: () => ConfiguratorEffectTypeEnum,
@@ -101,6 +102,7 @@ __export(index_exports, {
101
102
  FULFILLMENT_STATUS_VALUES: () => FULFILLMENT_STATUS_VALUES,
102
103
  FeeAppliesToEnum: () => FeeAppliesToEnum,
103
104
  FulfillmentStatusEnum: () => FulfillmentStatusEnum,
105
+ HONEYPOT_FIELD: () => HONEYPOT_FIELD,
104
106
  INVENTORY_POLICY_VALUES: () => INVENTORY_POLICY_VALUES,
105
107
  InventoryPolicyEnum: () => InventoryPolicyEnum,
106
108
  LineShipStateEnum: () => LineShipStateEnum,
@@ -179,6 +181,7 @@ __export(index_exports, {
179
181
  REFUND_STATE_TONES: () => REFUND_STATE_TONES,
180
182
  REFUND_TRAIL_TITLE: () => REFUND_TRAIL_TITLE,
181
183
  RELATION_FIELDS: () => RELATION_FIELDS,
184
+ REPAIR_MAX_TOOLS: () => REPAIR_MAX_TOOLS,
182
185
  RESOURCE_OPERATIONS: () => RESOURCE_OPERATIONS,
183
186
  RETIRED_CART_STATUSES: () => RETIRED_CART_STATUSES,
184
187
  RETURN_ORDER_STATUSES: () => RETURN_ORDER_STATUSES,
@@ -243,6 +246,7 @@ __export(index_exports, {
243
246
  cartAcceptsItem: () => cartAcceptsItem,
244
247
  caseIsOpen: () => caseIsOpen,
245
248
  caseStatusTone: () => caseStatusTone,
249
+ caseThankYouPath: () => caseThankYouPath,
246
250
  categoryFields: () => categoryFields,
247
251
  centsEqual: () => centsEqual,
248
252
  chargesOfLine: () => chargesOfLine,
@@ -320,6 +324,7 @@ __export(index_exports, {
320
324
  normalizeLineQuantity: () => normalizeLineQuantity,
321
325
  normalizeNumber: () => normalizeNumber,
322
326
  normalizePath: () => normalizePath,
327
+ originUrl: () => originUrl,
323
328
  pageOf: () => pageOf,
324
329
  parseSitemapEntries: () => parseSitemapEntries,
325
330
  paymentLinkStatusTone: () => paymentLinkStatusTone,
@@ -345,6 +350,7 @@ __export(index_exports, {
345
350
  refundStepTone: () => refundStepTone,
346
351
  refundSummary: () => refundSummary,
347
352
  repLineNote: () => repLineNote,
353
+ repairAddressLine: () => repairAddressLine,
348
354
  resolveAddonSelections: () => resolveAddonSelections,
349
355
  resolveEffectivePermissions: () => resolveEffectivePermissions,
350
356
  resolveProductAddonGroups: () => resolveProductAddonGroups,
@@ -361,6 +367,7 @@ __export(index_exports, {
361
367
  statusTone: () => statusTone,
362
368
  statusTones: () => statusTones,
363
369
  stockVerdict: () => stockVerdict,
370
+ storeOriginOf: () => storeOriginOf,
364
371
  syncOwnerFor: () => syncOwnerFor,
365
372
  taxLabel: () => taxLabel,
366
373
  taxRatePercent: () => taxRatePercent,
@@ -407,6 +414,7 @@ var ADMIN_RESOURCE_LIST = [
407
414
  { value: "tax-rates", label: "Tax Rates", group: "Commerce" },
408
415
  { value: "customers", label: "Customers", group: "People" },
409
416
  { value: "contact-us", label: "Contact Requests", group: "People" },
417
+ { value: "repair-requests", label: "Repair Requests", group: "People" },
410
418
  { value: "subscribers", label: "Subscribers", group: "People" },
411
419
  { value: "blog", label: "Blog", group: "Content" },
412
420
  { value: "faqs", label: "FAQs", group: "Content" },
@@ -636,6 +644,9 @@ var errorMessage = (error, fallback = "") => {
636
644
  return fallback;
637
645
  };
638
646
 
647
+ // src/common/honeypot.ts
648
+ var HONEYPOT_FIELD = "website";
649
+
639
650
  // src/company/details.ts
640
651
  var COMPANY = {
641
652
  legalName: "Flexible Assembly Systems, Inc.",
@@ -731,15 +742,35 @@ var StoreThemeEnum = {
731
742
  };
732
743
  var STORE_THEME_VALUES = Object.values(StoreThemeEnum);
733
744
 
745
+ // src/store/origin.ts
746
+ var storeOriginOf = (domain) => {
747
+ const raw = (domain ?? "").trim();
748
+ if (!raw) return null;
749
+ if (/^https?:\/\//i.test(raw)) return raw.replace(/\/$/, "");
750
+ const protocol = /^(localhost|127\.0\.0\.1)(:|$)/i.test(raw) ? "http" : "https";
751
+ return `${protocol}://${raw}`.replace(/\/$/, "");
752
+ };
753
+ var originUrl = (origin, path) => `${origin}/${path.replace(/^\//, "")}`;
754
+
734
755
  // src/contact/interface.ts
735
756
  var ContactRequestTypeEnum = {
736
757
  CONTACT: "CONTACT",
737
- ONSITE_DEMO: "ONSITE_DEMO",
738
- REPAIR: "REPAIR"
758
+ ONSITE_DEMO: "ONSITE_DEMO"
739
759
  };
740
760
  var CONTACT_REQUEST_TYPE_VALUES = Object.values(ContactRequestTypeEnum);
741
761
  var isContactRequestType = (value) => typeof value === "string" && CONTACT_REQUEST_TYPE_VALUES.includes(value);
742
762
 
763
+ // src/repairRequest/interface.ts
764
+ var REPAIR_MAX_TOOLS = 50;
765
+
766
+ // src/repairRequest/format.ts
767
+ var repairAddressLine = (address) => [
768
+ [trimmedText(address.street), trimmedText(address.suite)].filter(Boolean).join(", "),
769
+ trimmedText(address.city),
770
+ [trimmedText(address.state), trimmedText(address.postalCode)].filter(Boolean).join(" "),
771
+ trimmedText(address.countryIso).toUpperCase() === "US" ? "" : trimmedText(address.country)
772
+ ].filter(Boolean).join(", ");
773
+
743
774
  // src/supportCase/interface.ts
744
775
  var CaseStatusEnum = {
745
776
  NOT_STARTED: "1",
@@ -827,6 +858,15 @@ var CASE_STATUS_TONES = {
827
858
  };
828
859
  var caseStatusTone = (status) => CASE_STATUS_TONES[status] ?? StatusToneEnum.WAITING;
829
860
 
861
+ // src/supportCase/thankYou.ts
862
+ var CaseThankYouPathEnum = {
863
+ CONTACT: "/contact-us/thank-you",
864
+ CONTACT_ES: "/en-espanol/thank-you",
865
+ ONSITE_DEMO: "/onsite-request/thank-you",
866
+ REPAIR: "/repair-request/thank-you"
867
+ };
868
+ var caseThankYouPath = (base, caseId, receiptToken) => (caseId ? `${base}/${encodeURIComponent(caseId)}` : base) + (receiptToken ? `?t=${encodeURIComponent(receiptToken)}` : "");
869
+
830
870
  // src/coupon/interface.ts
831
871
  var DiscountTypeEnum = {
832
872
  PERCENTAGE: "PERCENTAGE",