@burdenoff/website-sdk 2026.1026.1 → 2026.1027.1

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.mjs CHANGED
@@ -6444,10 +6444,26 @@ var RTL_LOCALES = /* @__PURE__ */ new Set(["ar"]);
6444
6444
  function isRtlLocale(locale) {
6445
6445
  return RTL_LOCALES.has(locale);
6446
6446
  }
6447
+ var PORTFOLIO_PROMPT = {
6448
+ en: "Which of your products fits a problem like mine?",
6449
+ zh: "\u54EA\u4E2A\u4EA7\u54C1\u9002\u5408\u6211\u8FD9\u6837\u7684\u95EE\u9898\uFF1F",
6450
+ hi: "\u092E\u0947\u0930\u0940 \u091C\u0948\u0938\u0940 \u0938\u092E\u0938\u094D\u092F\u093E \u0915\u0947 \u0932\u093F\u090F \u0915\u094C\u0928 \u0938\u093E \u0909\u0924\u094D\u092A\u093E\u0926 \u0938\u0939\u0940 \u0939\u0948?",
6451
+ es: "\xBFQu\xE9 producto encaja con un problema como el m\xEDo?",
6452
+ ar: "\u0623\u064A \u0645\u0646\u062A\u062C \u064A\u0646\u0627\u0633\u0628 \u0645\u0634\u0643\u0644\u0629 \u0645\u062B\u0644 \u0645\u0634\u0643\u0644\u062A\u064A\u061F",
6453
+ ta: "\u0B8E\u0BA9\u0BCD \u0BAA\u0BBF\u0BB0\u0B9A\u0BCD\u0B9A\u0BBF\u0BA9\u0BC8\u0B95\u0BCD\u0B95\u0BC1 \u0B8E\u0BA8\u0BCD\u0BA4\u0BA4\u0BCD \u0BA4\u0BAF\u0BBE\u0BB0\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1 \u0BAA\u0BCA\u0BB0\u0BC1\u0BA8\u0BCD\u0BA4\u0BC1\u0BAE\u0BCD?"
6454
+ };
6455
+ var PORTFOLIO_PROMPTS = new Set(
6456
+ Object.values(PORTFOLIO_PROMPT)
6457
+ );
6458
+ function isPortfolioPrompt(prompt) {
6459
+ return PORTFOLIO_PROMPTS.has(prompt);
6460
+ }
6447
6461
  var EN = {
6448
6462
  badge: "AI answers, grounded in our documentation",
6449
6463
  welcomeTitle: "What problem are you trying to solve?",
6450
6464
  welcomeBody: "Describe the problem, in your own words. You can also ask about a specific product or compare a few. Every answer comes straight from our documentation.",
6465
+ welcomeBodyProduct: "Describe the problem in your own words, or ask what {product} does. Every answer comes straight from our documentation.",
6466
+ welcomeBodyScoped: "Describe the problem in your own words. Every answer comes straight from our documentation.",
6451
6467
  tryAsking: "Try asking",
6452
6468
  focusProduct: "Focus on a product",
6453
6469
  allProducts: "All products",
@@ -6457,6 +6473,7 @@ var EN = {
6457
6473
  nextYouCouldAsk: "Next you could ask",
6458
6474
  placeholder: "Describe the problem\u2026",
6459
6475
  placeholderProduct: "Describe a problem, or ask about {product}\u2026",
6476
+ placeholderScoped: "Ask about {product}\u2026",
6460
6477
  send: "Send",
6461
6478
  stop: "Stop",
6462
6479
  newChat: "New chat",
@@ -6478,6 +6495,7 @@ var EN = {
6478
6495
  attachmentTooMany: "Only {{max}} files can be attached, so {{name}} was skipped.",
6479
6496
  noAnswer: "I couldn't find this in our documentation, so the answer below is not grounded in a source. Try rephrasing, or",
6480
6497
  answerDidNotArrive: "That answer didn't come through. Try asking again.",
6498
+ toolBudgetScoped: "That question covers more than I can look through in one go. Try asking about one part of it.",
6481
6499
  askHuman: "ask a human",
6482
6500
  // An offer, not a demand: this row sits under every answer on 38 marketing sites, so the
6483
6501
  // wording has to be shruggable. "Was this helpful?" invites; "Please rate this answer"
@@ -6532,6 +6550,7 @@ var EN = {
6532
6550
  enterFullScreen: "Full screen",
6533
6551
  exitFullScreen: "Exit full screen",
6534
6552
  panelTitle: "AI assistant",
6553
+ panelTitleProduct: "{product} assistant",
6535
6554
  panelViews: "Assistant views",
6536
6555
  tabChat: "Chat",
6537
6556
  tabAvatar: "Avatar",
@@ -6551,6 +6570,7 @@ var EN = {
6551
6570
  seoTitle: "Describe a problem, get an answer",
6552
6571
  seoDescription: "Describe the problem in your own words and get an answer drawn from our product documentation, with links to the exact pages it came from.",
6553
6572
  seoDescriptionProduct: "Describe the problem in your own words and get an answer drawn from {product}'s documentation \u2014 and every other product we build \u2014 with links to the exact pages it came from.",
6573
+ seoDescriptionScoped: "Answers about {product}, drawn from {product}'s documentation, with links to the exact pages they came from.",
6554
6574
  capabilities: [
6555
6575
  "Grounded in our own docs",
6556
6576
  "Compare across the ecosystem",
@@ -6560,13 +6580,15 @@ var EN = {
6560
6580
  "Every course we run lives in a different spreadsheet.",
6561
6581
  "We only hear a machine is down after the line has stopped.",
6562
6582
  "Members quietly stop showing up and we never know why.",
6563
- "Which of your products fits a problem like mine?"
6583
+ PORTFOLIO_PROMPT.en
6564
6584
  ]
6565
6585
  };
6566
6586
  var ZH = {
6567
6587
  badge: "\u57FA\u4E8E\u6211\u4EEC\u6587\u6863\u7684 AI \u56DE\u7B54",
6568
6588
  welcomeTitle: "\u4F60\u60F3\u89E3\u51B3\u4EC0\u4E48\u95EE\u9898\uFF1F",
6569
6589
  welcomeBody: "\u7528\u4F60\u81EA\u5DF1\u7684\u8BDD\u63CF\u8FF0\u95EE\u9898\u3002\u4F60\u4E5F\u53EF\u4EE5\u8BE2\u95EE\u67D0\u4E00\u6B3E\u4EA7\u54C1\uFF0C\u6216\u6BD4\u8F83\u51E0\u6B3E\u4EA7\u54C1\u3002\u6240\u6709\u56DE\u7B54\u90FD\u76F4\u63A5\u6765\u81EA\u6211\u4EEC\u7684\u6587\u6863\u3002",
6590
+ welcomeBodyProduct: "\u7528\u4F60\u81EA\u5DF1\u7684\u8BDD\u63CF\u8FF0\u95EE\u9898\uFF0C\u6216\u8005\u95EE\u95EE {product} \u662F\u505A\u4EC0\u4E48\u7684\u3002\u6240\u6709\u56DE\u7B54\u90FD\u76F4\u63A5\u6765\u81EA\u6211\u4EEC\u7684\u6587\u6863\u3002",
6591
+ welcomeBodyScoped: "\u7528\u4F60\u81EA\u5DF1\u7684\u8BDD\u63CF\u8FF0\u95EE\u9898\u3002\u6240\u6709\u56DE\u7B54\u90FD\u76F4\u63A5\u6765\u81EA\u6211\u4EEC\u7684\u6587\u6863\u3002",
6570
6592
  tryAsking: "\u8BD5\u7740\u95EE",
6571
6593
  focusProduct: "\u805A\u7126\u67D0\u4E2A\u4EA7\u54C1",
6572
6594
  allProducts: "\u5168\u90E8\u4EA7\u54C1",
@@ -6576,6 +6598,7 @@ var ZH = {
6576
6598
  nextYouCouldAsk: "\u4F60\u8FD8\u53EF\u4EE5\u95EE",
6577
6599
  placeholder: "\u63CF\u8FF0\u4F60\u7684\u95EE\u9898\u2026",
6578
6600
  placeholderProduct: "\u63CF\u8FF0\u95EE\u9898\uFF0C\u6216\u8BE2\u95EE {product}\u2026",
6601
+ placeholderScoped: "\u5C31 {product} \u63D0\u95EE\u2026",
6579
6602
  send: "\u53D1\u9001",
6580
6603
  stop: "\u505C\u6B62",
6581
6604
  newChat: "\u65B0\u5BF9\u8BDD",
@@ -6597,6 +6620,7 @@ var ZH = {
6597
6620
  attachmentTooMany: "\u6700\u591A\u53EA\u80FD\u6DFB\u52A0 {{max}} \u4E2A\u6587\u4EF6\uFF0C\u5DF2\u8DF3\u8FC7 {{name}}\u3002",
6598
6621
  noAnswer: "\u6211\u5728\u6587\u6863\u4E2D\u6CA1\u6709\u627E\u5230\u76F8\u5173\u5185\u5BB9\uFF0C\u4E0B\u9762\u7684\u56DE\u7B54\u6CA1\u6709\u6765\u6E90\u652F\u6301\u3002\u8BF7\u6362\u4E2A\u8BF4\u6CD5\uFF0C\u6216",
6599
6622
  answerDidNotArrive: "\u8FD9\u6761\u56DE\u7B54\u6CA1\u6709\u8FD4\u56DE\u3002\u8BF7\u518D\u95EE\u4E00\u6B21\u3002",
6623
+ toolBudgetScoped: "\u8FD9\u4E2A\u95EE\u9898\u6D89\u53CA\u7684\u5185\u5BB9\u592A\u591A\uFF0C\u6211\u6CA1\u6CD5\u4E00\u6B21\u67E5\u5B8C\u3002\u8BD5\u7740\u53EA\u95EE\u5176\u4E2D\u7684\u4E00\u90E8\u5206\u3002",
6600
6624
  askHuman: "\u8054\u7CFB\u6211\u4EEC",
6601
6625
  feedbackPrompt: "\u8FD9\u4E2A\u56DE\u7B54\u6709\u5E2E\u52A9\u5417\uFF1F",
6602
6626
  feedbackHelpful: "\u6709\u5E2E\u52A9",
@@ -6648,6 +6672,7 @@ var ZH = {
6648
6672
  enterFullScreen: "\u5168\u5C4F",
6649
6673
  exitFullScreen: "\u9000\u51FA\u5168\u5C4F",
6650
6674
  panelTitle: "AI \u52A9\u624B",
6675
+ panelTitleProduct: "{product} \u52A9\u624B",
6651
6676
  panelViews: "\u52A9\u624B\u89C6\u56FE",
6652
6677
  tabChat: "\u804A\u5929",
6653
6678
  tabAvatar: "\u865A\u62DF\u5F62\u8C61",
@@ -6667,18 +6692,21 @@ var ZH = {
6667
6692
  seoTitle: "\u63CF\u8FF0\u95EE\u9898\uFF0C\u83B7\u5F97\u7B54\u6848",
6668
6693
  seoDescription: "\u7528\u4F60\u81EA\u5DF1\u7684\u8BDD\u63CF\u8FF0\u95EE\u9898\uFF0C\u5373\u53EF\u83B7\u5F97\u6765\u81EA\u6211\u4EEC\u4EA7\u54C1\u6587\u6863\u7684\u56DE\u7B54\uFF0C\u5E76\u9644\u4E0A\u7B54\u6848\u51FA\u5904\u7684\u9875\u9762\u94FE\u63A5\u3002",
6669
6694
  seoDescriptionProduct: "\u7528\u4F60\u81EA\u5DF1\u7684\u8BDD\u63CF\u8FF0\u95EE\u9898\uFF0C\u5373\u53EF\u83B7\u5F97\u6765\u81EA {product} \u53CA\u6211\u4EEC\u5176\u4ED6\u4EA7\u54C1\u6587\u6863\u7684\u56DE\u7B54\uFF0C\u5E76\u9644\u4E0A\u7B54\u6848\u51FA\u5904\u7684\u9875\u9762\u94FE\u63A5\u3002",
6695
+ seoDescriptionScoped: "\u6709\u5173 {product} \u7684\u56DE\u7B54\uFF0C\u5747\u6765\u81EA {product} \u7684\u6587\u6863\uFF0C\u5E76\u9644\u4E0A\u7B54\u6848\u51FA\u5904\u7684\u9875\u9762\u94FE\u63A5\u3002",
6670
6696
  capabilities: ["\u57FA\u4E8E\u6211\u4EEC\u81EA\u5DF1\u7684\u6587\u6863", "\u8DE8\u4EA7\u54C1\u5BF9\u6BD4", "\u76F4\u8FBE\u6B63\u786E\u7684\u9875\u9762"],
6671
6697
  prompts: [
6672
6698
  "\u6BCF\u95E8\u8BFE\u7A0B\u90FD\u8BB0\u5728\u4E0D\u540C\u7684\u8868\u683C\u91CC\u3002",
6673
6699
  "\u673A\u5668\u505C\u4E86\uFF0C\u8981\u7B49\u6574\u6761\u7EBF\u505C\u4E0B\u6765\u624D\u77E5\u9053\u3002",
6674
6700
  "\u4F1A\u5458\u6162\u6162\u5C31\u4E0D\u6765\u4E86\uFF0C\u6211\u4EEC\u4E5F\u4E0D\u77E5\u9053\u4E3A\u4EC0\u4E48\u3002",
6675
- "\u54EA\u4E2A\u4EA7\u54C1\u9002\u5408\u6211\u8FD9\u6837\u7684\u95EE\u9898\uFF1F"
6701
+ PORTFOLIO_PROMPT.zh
6676
6702
  ]
6677
6703
  };
6678
6704
  var HI = {
6679
6705
  badge: "\u0939\u092E\u093E\u0930\u0947 \u0926\u0938\u094D\u0924\u093E\u0935\u0947\u091C\u093C\u094B\u0902 \u092A\u0930 \u0906\u0927\u093E\u0930\u093F\u0924 AI \u0909\u0924\u094D\u0924\u0930",
6680
6706
  welcomeTitle: "\u0906\u092A \u0915\u094C\u0928 \u0938\u0940 \u0938\u092E\u0938\u094D\u092F\u093E \u0939\u0932 \u0915\u0930\u0928\u093E \u091A\u093E\u0939\u0924\u0947 \u0939\u0948\u0902?",
6681
6707
  welcomeBody: "\u0905\u092A\u0928\u0940 \u0938\u092E\u0938\u094D\u092F\u093E \u0905\u092A\u0928\u0947 \u0936\u092C\u094D\u0926\u094B\u0902 \u092E\u0947\u0902 \u092C\u0924\u093E\u090F\u0902\u0964 \u0906\u092A \u0915\u093F\u0938\u0940 \u090F\u0915 \u0909\u0924\u094D\u092A\u093E\u0926 \u0915\u0947 \u092C\u093E\u0930\u0947 \u092E\u0947\u0902 \u092D\u0940 \u092A\u0942\u091B \u0938\u0915\u0924\u0947 \u0939\u0948\u0902 \u092F\u093E \u0915\u0941\u091B \u0915\u0940 \u0924\u0941\u0932\u0928\u093E \u0915\u0930 \u0938\u0915\u0924\u0947 \u0939\u0948\u0902\u0964 \u0939\u0930 \u0909\u0924\u094D\u0924\u0930 \u0938\u0940\u0927\u0947 \u0939\u092E\u093E\u0930\u0947 \u0926\u0938\u094D\u0924\u093E\u0935\u0947\u091C\u093C \u0938\u0947 \u0906\u0924\u093E \u0939\u0948\u0964",
6708
+ welcomeBodyProduct: "\u0905\u092A\u0928\u0940 \u0938\u092E\u0938\u094D\u092F\u093E \u0905\u092A\u0928\u0947 \u0936\u092C\u094D\u0926\u094B\u0902 \u092E\u0947\u0902 \u092C\u0924\u093E\u090F\u0902, \u092F\u093E \u092A\u0942\u091B\u0947\u0902 \u0915\u093F {product} \u0915\u094D\u092F\u093E \u0915\u0930\u0924\u093E \u0939\u0948\u0964 \u0939\u0930 \u0909\u0924\u094D\u0924\u0930 \u0938\u0940\u0927\u0947 \u0939\u092E\u093E\u0930\u0947 \u0926\u0938\u094D\u0924\u093E\u0935\u0947\u091C\u093C \u0938\u0947 \u0906\u0924\u093E \u0939\u0948\u0964",
6709
+ welcomeBodyScoped: "\u0905\u092A\u0928\u0940 \u0938\u092E\u0938\u094D\u092F\u093E \u0905\u092A\u0928\u0947 \u0936\u092C\u094D\u0926\u094B\u0902 \u092E\u0947\u0902 \u092C\u0924\u093E\u090F\u0902\u0964 \u0939\u0930 \u0909\u0924\u094D\u0924\u0930 \u0938\u0940\u0927\u0947 \u0939\u092E\u093E\u0930\u0947 \u0926\u0938\u094D\u0924\u093E\u0935\u0947\u091C\u093C \u0938\u0947 \u0906\u0924\u093E \u0939\u0948\u0964",
6682
6710
  tryAsking: "\u092F\u0939 \u092A\u0942\u091B\u0915\u0930 \u0926\u0947\u0916\u0947\u0902",
6683
6711
  focusProduct: "\u0915\u093F\u0938\u0940 \u0909\u0924\u094D\u092A\u093E\u0926 \u092A\u0930 \u0927\u094D\u092F\u093E\u0928 \u0926\u0947\u0902",
6684
6712
  allProducts: "\u0938\u092D\u0940 \u0909\u0924\u094D\u092A\u093E\u0926",
@@ -6688,6 +6716,7 @@ var HI = {
6688
6716
  nextYouCouldAsk: "\u0906\u0917\u0947 \u0906\u092A \u092A\u0942\u091B \u0938\u0915\u0924\u0947 \u0939\u0948\u0902",
6689
6717
  placeholder: "\u0905\u092A\u0928\u0940 \u0938\u092E\u0938\u094D\u092F\u093E \u092C\u0924\u093E\u090F\u0902\u2026",
6690
6718
  placeholderProduct: "\u0938\u092E\u0938\u094D\u092F\u093E \u092C\u0924\u093E\u090F\u0902, \u092F\u093E {product} \u0915\u0947 \u092C\u093E\u0930\u0947 \u092E\u0947\u0902 \u092A\u0942\u091B\u0947\u0902\u2026",
6719
+ placeholderScoped: "{product} \u0915\u0947 \u092C\u093E\u0930\u0947 \u092E\u0947\u0902 \u092A\u0942\u091B\u0947\u0902\u2026",
6691
6720
  send: "\u092D\u0947\u091C\u0947\u0902",
6692
6721
  stop: "\u0930\u094B\u0915\u0947\u0902",
6693
6722
  newChat: "\u0928\u0908 \u092C\u093E\u0924\u091A\u0940\u0924",
@@ -6709,6 +6738,7 @@ var HI = {
6709
6738
  attachmentTooMany: "\u0915\u0947\u0935\u0932 {{max}} \u092B\u093C\u093E\u0907\u0932\u0947\u0902 \u091C\u094B\u0921\u093C\u0940 \u091C\u093E \u0938\u0915\u0924\u0940 \u0939\u0948\u0902, \u0907\u0938\u0932\u093F\u090F {{name}} \u091B\u094B\u0921\u093C \u0926\u0940 \u0917\u0908\u0964",
6710
6739
  noAnswer: "\u092F\u0939 \u092E\u0941\u091D\u0947 \u0939\u092E\u093E\u0930\u0947 \u0926\u0938\u094D\u0924\u093E\u0935\u0947\u091C\u093C\u094B\u0902 \u092E\u0947\u0902 \u0928\u0939\u0940\u0902 \u092E\u093F\u0932\u093E, \u0907\u0938\u0932\u093F\u090F \u0928\u0940\u091A\u0947 \u0926\u093F\u092F\u093E \u0909\u0924\u094D\u0924\u0930 \u0915\u093F\u0938\u0940 \u0938\u094D\u0930\u094B\u0924 \u092A\u0930 \u0906\u0927\u093E\u0930\u093F\u0924 \u0928\u0939\u0940\u0902 \u0939\u0948\u0964 \u0926\u0942\u0938\u0930\u0947 \u0936\u092C\u094D\u0926\u094B\u0902 \u092E\u0947\u0902 \u092A\u0942\u091B\u0947\u0902, \u092F\u093E",
6711
6740
  answerDidNotArrive: "\u0935\u0939 \u0909\u0924\u094D\u0924\u0930 \u0928\u0939\u0940\u0902 \u0906 \u0938\u0915\u093E\u0964 \u0915\u0943\u092A\u092F\u093E \u0926\u094B\u092C\u093E\u0930\u093E \u092A\u0942\u091B\u0947\u0902\u0964",
6741
+ toolBudgetScoped: "\u0907\u0938 \u0938\u0935\u093E\u0932 \u092E\u0947\u0902 \u0907\u0924\u0928\u093E \u0915\u0941\u091B \u0939\u0948 \u0915\u093F \u090F\u0915 \u092C\u093E\u0930 \u092E\u0947\u0902 \u0938\u092C \u0928\u0939\u0940\u0902 \u0926\u0947\u0916\u093E \u091C\u093E \u0938\u0915\u0924\u093E\u0964 \u0907\u0938\u0915\u0947 \u0915\u093F\u0938\u0940 \u090F\u0915 \u0939\u093F\u0938\u094D\u0938\u0947 \u0915\u0947 \u092C\u093E\u0930\u0947 \u092E\u0947\u0902 \u092A\u0942\u091B\u0915\u0930 \u0926\u0947\u0916\u0947\u0902\u0964",
6712
6742
  askHuman: "\u0939\u092E\u0938\u0947 \u0938\u0902\u092A\u0930\u094D\u0915 \u0915\u0930\u0947\u0902",
6713
6743
  feedbackPrompt: "\u0915\u094D\u092F\u093E \u092F\u0939 \u0909\u0924\u094D\u0924\u0930 \u092E\u0926\u0926\u0917\u093E\u0930 \u0925\u093E?",
6714
6744
  feedbackHelpful: "\u092E\u0926\u0926\u0917\u093E\u0930",
@@ -6760,6 +6790,7 @@ var HI = {
6760
6790
  enterFullScreen: "\u092A\u0942\u0930\u094D\u0923 \u0938\u094D\u0915\u094D\u0930\u0940\u0928",
6761
6791
  exitFullScreen: "\u092A\u0942\u0930\u094D\u0923 \u0938\u094D\u0915\u094D\u0930\u0940\u0928 \u0938\u0947 \u092C\u093E\u0939\u0930 \u0928\u093F\u0915\u0932\u0947\u0902",
6762
6792
  panelTitle: "AI \u0938\u0939\u093E\u092F\u0915",
6793
+ panelTitleProduct: "{product} \u0938\u0939\u093E\u092F\u0915",
6763
6794
  panelViews: "\u0938\u0939\u093E\u092F\u0915 \u0926\u0943\u0936\u094D\u092F",
6764
6795
  tabChat: "\u091A\u0948\u091F",
6765
6796
  tabAvatar: "\u0905\u0935\u0924\u093E\u0930",
@@ -6779,6 +6810,7 @@ var HI = {
6779
6810
  seoTitle: "\u0938\u092E\u0938\u094D\u092F\u093E \u092C\u0924\u093E\u090F\u0902, \u091C\u0935\u093E\u092C \u092A\u093E\u090F\u0902",
6780
6811
  seoDescription: "\u0905\u092A\u0928\u0940 \u0938\u092E\u0938\u094D\u092F\u093E \u0905\u092A\u0928\u0947 \u0936\u092C\u094D\u0926\u094B\u0902 \u092E\u0947\u0902 \u092C\u0924\u093E\u090F\u0902 \u0914\u0930 \u0939\u092E\u093E\u0930\u0947 \u0909\u0924\u094D\u092A\u093E\u0926 \u0926\u0938\u094D\u0924\u093E\u0935\u0947\u091C\u093C\u094B\u0902 \u0938\u0947 \u0932\u093F\u092F\u093E \u0917\u092F\u093E \u091C\u0935\u093E\u092C \u092A\u093E\u090F\u0902, \u0938\u093E\u0925 \u092E\u0947\u0902 \u0909\u0928\u094D\u0939\u0940\u0902 \u092A\u0928\u094D\u0928\u094B\u0902 \u0915\u0947 \u0932\u093F\u0902\u0915 \u091C\u0939\u093E\u0901 \u0938\u0947 \u0935\u0939 \u0906\u092F\u093E \u0939\u0948\u0964",
6781
6812
  seoDescriptionProduct: "\u0905\u092A\u0928\u0940 \u0938\u092E\u0938\u094D\u092F\u093E \u0905\u092A\u0928\u0947 \u0936\u092C\u094D\u0926\u094B\u0902 \u092E\u0947\u0902 \u092C\u0924\u093E\u090F\u0902 \u0914\u0930 {product} \u0924\u0925\u093E \u0939\u092E\u093E\u0930\u0947 \u092C\u093E\u0915\u0940 \u0909\u0924\u094D\u092A\u093E\u0926\u094B\u0902 \u0915\u0947 \u0926\u0938\u094D\u0924\u093E\u0935\u0947\u091C\u093C\u094B\u0902 \u0938\u0947 \u0932\u093F\u092F\u093E \u0917\u092F\u093E \u091C\u0935\u093E\u092C \u092A\u093E\u090F\u0902, \u0938\u093E\u0925 \u092E\u0947\u0902 \u0909\u0928\u094D\u0939\u0940\u0902 \u092A\u0928\u094D\u0928\u094B\u0902 \u0915\u0947 \u0932\u093F\u0902\u0915 \u091C\u0939\u093E\u0901 \u0938\u0947 \u0935\u0939 \u0906\u092F\u093E \u0939\u0948\u0964",
6813
+ seoDescriptionScoped: "{product} \u0915\u0947 \u092C\u093E\u0930\u0947 \u092E\u0947\u0902 \u091C\u0935\u093E\u092C \u092A\u093E\u090F\u0902, \u091C\u094B {product} \u0915\u0947 \u0926\u0938\u094D\u0924\u093E\u0935\u0947\u091C\u093C\u094B\u0902 \u0938\u0947 \u0932\u093F\u090F \u0917\u090F \u0939\u0948\u0902, \u0938\u093E\u0925 \u092E\u0947\u0902 \u0909\u0928\u094D\u0939\u0940\u0902 \u092A\u0928\u094D\u0928\u094B\u0902 \u0915\u0947 \u0932\u093F\u0902\u0915 \u091C\u0939\u093E\u0901 \u0938\u0947 \u0935\u0947 \u0906\u090F \u0939\u0948\u0902\u0964",
6782
6814
  capabilities: [
6783
6815
  "\u0939\u092E\u093E\u0930\u0947 \u0905\u092A\u0928\u0947 \u0926\u0938\u094D\u0924\u093E\u0935\u0947\u091C\u093C\u094B\u0902 \u092A\u0930 \u0906\u0927\u093E\u0930\u093F\u0924",
6784
6816
  "\u0938\u092D\u0940 \u0909\u0924\u094D\u092A\u093E\u0926\u094B\u0902 \u0915\u0940 \u0924\u0941\u0932\u0928\u093E \u0915\u0930\u0947\u0902",
@@ -6788,13 +6820,15 @@ var HI = {
6788
6820
  "\u0939\u0930 \u0915\u094B\u0930\u094D\u0938 \u0915\u093E \u0939\u093F\u0938\u093E\u092C \u0905\u0932\u0917 \u0936\u0940\u091F \u092E\u0947\u0902 \u0930\u0916\u093E \u091C\u093E\u0924\u093E \u0939\u0948\u0964",
6789
6821
  "\u092E\u0936\u0940\u0928 \u092C\u0902\u0926 \u0939\u094B\u0928\u0947 \u0915\u093E \u092A\u0924\u093E \u0924\u092D\u0940 \u091A\u0932\u0924\u093E \u0939\u0948 \u091C\u092C \u0932\u093E\u0907\u0928 \u0930\u0941\u0915 \u091C\u093E\u090F\u0964",
6790
6822
  "\u0938\u0926\u0938\u094D\u092F \u0927\u0940\u0930\u0947-\u0927\u0940\u0930\u0947 \u0906\u0928\u093E \u092C\u0902\u0926 \u0915\u0930 \u0926\u0947\u0924\u0947 \u0939\u0948\u0902, \u0935\u091C\u0939 \u092A\u0924\u093E \u0928\u0939\u0940\u0902 \u091A\u0932\u0924\u0940\u0964",
6791
- "\u092E\u0947\u0930\u0940 \u091C\u0948\u0938\u0940 \u0938\u092E\u0938\u094D\u092F\u093E \u0915\u0947 \u0932\u093F\u090F \u0915\u094C\u0928 \u0938\u093E \u0909\u0924\u094D\u092A\u093E\u0926 \u0938\u0939\u0940 \u0939\u0948?"
6823
+ PORTFOLIO_PROMPT.hi
6792
6824
  ]
6793
6825
  };
6794
6826
  var ES = {
6795
6827
  badge: "Respuestas de IA basadas en nuestra documentaci\xF3n",
6796
6828
  welcomeTitle: "\xBFQu\xE9 problema quieres resolver?",
6797
6829
  welcomeBody: "Describe el problema con tus propias palabras. Tambi\xE9n puedes preguntar por un producto concreto o comparar varios. Cada respuesta procede directamente de nuestra documentaci\xF3n.",
6830
+ welcomeBodyProduct: "Describe el problema con tus propias palabras o pregunta qu\xE9 hace {product}. Cada respuesta procede directamente de nuestra documentaci\xF3n.",
6831
+ welcomeBodyScoped: "Describe el problema con tus propias palabras. Cada respuesta procede directamente de nuestra documentaci\xF3n.",
6798
6832
  tryAsking: "Prueba a preguntar",
6799
6833
  focusProduct: "Centrarse en un producto",
6800
6834
  allProducts: "Todos los productos",
@@ -6804,6 +6838,7 @@ var ES = {
6804
6838
  nextYouCouldAsk: "Tambi\xE9n puedes preguntar",
6805
6839
  placeholder: "Describe el problema\u2026",
6806
6840
  placeholderProduct: "Describe un problema o pregunta por {product}\u2026",
6841
+ placeholderScoped: "Pregunta sobre {product}\u2026",
6807
6842
  send: "Enviar",
6808
6843
  stop: "Detener",
6809
6844
  newChat: "Nueva conversaci\xF3n",
@@ -6825,6 +6860,7 @@ var ES = {
6825
6860
  attachmentTooMany: "Solo se pueden adjuntar {{max}} archivos, as\xED que se omiti\xF3 {{name}}.",
6826
6861
  noAnswer: "No he encontrado esto en nuestra documentaci\xF3n, as\xED que la respuesta de abajo no se apoya en ninguna fuente. Prueba a reformularla, o",
6827
6862
  answerDidNotArrive: "Esa respuesta no lleg\xF3. Int\xE9ntalo de nuevo.",
6863
+ toolBudgetScoped: "Esa pregunta abarca m\xE1s de lo que puedo revisar de una vez. Prueba a preguntar por una parte de ella.",
6828
6864
  askHuman: "habla con una persona",
6829
6865
  feedbackPrompt: "\xBFTe ha servido?",
6830
6866
  feedbackHelpful: "Me sirve",
@@ -6876,6 +6912,7 @@ var ES = {
6876
6912
  enterFullScreen: "Pantalla completa",
6877
6913
  exitFullScreen: "Salir de pantalla completa",
6878
6914
  panelTitle: "Asistente de IA",
6915
+ panelTitleProduct: "Asistente de {product}",
6879
6916
  panelViews: "Vistas del asistente",
6880
6917
  tabChat: "Chat",
6881
6918
  tabAvatar: "Avatar",
@@ -6895,6 +6932,7 @@ var ES = {
6895
6932
  seoTitle: "Describe un problema y obt\xE9n una respuesta",
6896
6933
  seoDescription: "Describe el problema con tus palabras y recibe una respuesta extra\xEDda de la documentaci\xF3n de nuestros productos, con enlaces a las p\xE1ginas exactas de las que procede.",
6897
6934
  seoDescriptionProduct: "Describe el problema con tus palabras y recibe una respuesta extra\xEDda de la documentaci\xF3n de {product} y del resto de nuestros productos, con enlaces a las p\xE1ginas exactas de las que procede.",
6935
+ seoDescriptionScoped: "Respuestas sobre {product}, extra\xEDdas de la documentaci\xF3n de {product}, con enlaces a las p\xE1ginas exactas de las que proceden.",
6898
6936
  capabilities: [
6899
6937
  "Basado en nuestra documentaci\xF3n",
6900
6938
  "Compara todo el ecosistema",
@@ -6904,13 +6942,15 @@ var ES = {
6904
6942
  "Cada curso que damos est\xE1 en una hoja de c\xE1lculo distinta.",
6905
6943
  "Nos enteramos de que una m\xE1quina falla cuando para la l\xEDnea.",
6906
6944
  "Los socios dejan de venir poco a poco y nunca sabemos por qu\xE9.",
6907
- "\xBFQu\xE9 producto encaja con un problema como el m\xEDo?"
6945
+ PORTFOLIO_PROMPT.es
6908
6946
  ]
6909
6947
  };
6910
6948
  var AR = {
6911
6949
  badge: "\u0625\u062C\u0627\u0628\u0627\u062A \u0630\u0643\u0627\u0621 \u0627\u0635\u0637\u0646\u0627\u0639\u064A \u0645\u0628\u0646\u064A\u0629 \u0639\u0644\u0649 \u0648\u062B\u0627\u0626\u0642\u0646\u0627",
6912
6950
  welcomeTitle: "\u0645\u0627 \u0627\u0644\u0645\u0634\u0643\u0644\u0629 \u0627\u0644\u062A\u064A \u062A\u062D\u0627\u0648\u0644 \u062D\u0644\u0647\u0627\u061F",
6913
6951
  welcomeBody: "\u0635\u0641 \u0627\u0644\u0645\u0634\u0643\u0644\u0629 \u0628\u0643\u0644\u0645\u0627\u062A\u0643 \u0623\u0646\u062A. \u064A\u0645\u0643\u0646\u0643 \u0623\u064A\u0636\u064B\u0627 \u0627\u0644\u0633\u0624\u0627\u0644 \u0639\u0646 \u0645\u0646\u062A\u062C \u0628\u0639\u064A\u0646\u0647 \u0623\u0648 \u0627\u0644\u0645\u0642\u0627\u0631\u0646\u0629 \u0628\u064A\u0646 \u0639\u062F\u0629 \u0645\u0646\u062A\u062C\u0627\u062A. \u062A\u0623\u062A\u064A \u0643\u0644 \u0625\u062C\u0627\u0628\u0629 \u0645\u0628\u0627\u0634\u0631\u0629 \u0645\u0646 \u0648\u062B\u0627\u0626\u0642\u0646\u0627.",
6952
+ welcomeBodyProduct: "\u0635\u0641 \u0627\u0644\u0645\u0634\u0643\u0644\u0629 \u0628\u0643\u0644\u0645\u0627\u062A\u0643 \u0623\u0646\u062A\u060C \u0623\u0648 \u0627\u0633\u0623\u0644 \u0639\u0645\u0651\u0627 \u064A\u0641\u0639\u0644\u0647 {product}. \u062A\u0623\u062A\u064A \u0643\u0644 \u0625\u062C\u0627\u0628\u0629 \u0645\u0628\u0627\u0634\u0631\u0629 \u0645\u0646 \u0648\u062B\u0627\u0626\u0642\u0646\u0627.",
6953
+ welcomeBodyScoped: "\u0635\u0641 \u0627\u0644\u0645\u0634\u0643\u0644\u0629 \u0628\u0643\u0644\u0645\u0627\u062A\u0643 \u0623\u0646\u062A. \u062A\u0623\u062A\u064A \u0643\u0644 \u0625\u062C\u0627\u0628\u0629 \u0645\u0628\u0627\u0634\u0631\u0629 \u0645\u0646 \u0648\u062B\u0627\u0626\u0642\u0646\u0627.",
6914
6954
  tryAsking: "\u062C\u0631\u0651\u0628 \u0623\u0646 \u062A\u0633\u0623\u0644",
6915
6955
  focusProduct: "\u0627\u0644\u062A\u0631\u0643\u064A\u0632 \u0639\u0644\u0649 \u0645\u0646\u062A\u062C",
6916
6956
  allProducts: "\u0643\u0644 \u0627\u0644\u0645\u0646\u062A\u062C\u0627\u062A",
@@ -6920,6 +6960,7 @@ var AR = {
6920
6960
  nextYouCouldAsk: "\u064A\u0645\u0643\u0646\u0643 \u0623\u0646 \u062A\u0633\u0623\u0644 \u0628\u0639\u062F \u0630\u0644\u0643",
6921
6961
  placeholder: "\u0635\u0641 \u0627\u0644\u0645\u0634\u0643\u0644\u0629\u2026",
6922
6962
  placeholderProduct: "\u0635\u0641 \u0645\u0634\u0643\u0644\u062A\u0643 \u0623\u0648 \u0627\u0633\u0623\u0644 \u0639\u0646 {product}\u2026",
6963
+ placeholderScoped: "\u0627\u0633\u0623\u0644 \u0639\u0646 {product}\u2026",
6923
6964
  send: "\u0625\u0631\u0633\u0627\u0644",
6924
6965
  stop: "\u0625\u064A\u0642\u0627\u0641",
6925
6966
  newChat: "\u0645\u062D\u0627\u062F\u062B\u0629 \u062C\u062F\u064A\u062F\u0629",
@@ -6941,6 +6982,7 @@ var AR = {
6941
6982
  attachmentTooMany: "\u064A\u0645\u0643\u0646 \u0625\u0631\u0641\u0627\u0642 {{max}} \u0645\u0644\u0641\u0627\u062A \u0641\u0642\u0637\u060C \u0644\u0630\u0627 \u062A\u0645 \u062A\u062E\u0637\u064A {{name}}.",
6942
6983
  noAnswer: "\u0644\u0645 \u0623\u062C\u062F \u0647\u0630\u0627 \u0641\u064A \u0648\u062B\u0627\u0626\u0642\u0646\u0627\u060C \u0644\u0630\u0627 \u0641\u0627\u0644\u0625\u062C\u0627\u0628\u0629 \u0623\u062F\u0646\u0627\u0647 \u063A\u064A\u0631 \u0645\u0633\u062A\u0646\u062F\u0629 \u0625\u0644\u0649 \u0645\u0635\u062F\u0631. \u062D\u0627\u0648\u0644 \u0625\u0639\u0627\u062F\u0629 \u0627\u0644\u0635\u064A\u0627\u063A\u0629\u060C \u0623\u0648",
6943
6984
  answerDidNotArrive: "\u0644\u0645 \u062A\u0635\u0644 \u0647\u0630\u0647 \u0627\u0644\u0625\u062C\u0627\u0628\u0629. \u064A\u0631\u062C\u0649 \u0627\u0644\u0645\u062D\u0627\u0648\u0644\u0629 \u0645\u0631\u0629 \u0623\u062E\u0631\u0649.",
6985
+ toolBudgetScoped: "\u0647\u0630\u0627 \u0627\u0644\u0633\u0624\u0627\u0644 \u064A\u0634\u0645\u0644 \u0623\u0643\u062B\u0631 \u0645\u0645\u0627 \u0623\u0633\u062A\u0637\u064A\u0639 \u0627\u0644\u0628\u062D\u062B \u0641\u064A\u0647 \u062F\u0641\u0639\u0629 \u0648\u0627\u062D\u062F\u0629. \u062C\u0631\u0651\u0628 \u0623\u0646 \u062A\u0633\u0623\u0644 \u0639\u0646 \u062C\u0632\u0621 \u0648\u0627\u062D\u062F \u0645\u0646\u0647.",
6944
6986
  askHuman: "\u062A\u062D\u062F\u0651\u062B \u0625\u0644\u0649 \u0634\u062E\u0635",
6945
6987
  feedbackPrompt: "\u0647\u0644 \u0643\u0627\u0646\u062A \u0647\u0630\u0647 \u0627\u0644\u0625\u062C\u0627\u0628\u0629 \u0645\u0641\u064A\u062F\u0629\u061F",
6946
6988
  feedbackHelpful: "\u0645\u0641\u064A\u062F\u0629",
@@ -6992,6 +7034,7 @@ var AR = {
6992
7034
  enterFullScreen: "\u0645\u0644\u0621 \u0627\u0644\u0634\u0627\u0634\u0629",
6993
7035
  exitFullScreen: "\u0627\u0644\u062E\u0631\u0648\u062C \u0645\u0646 \u0645\u0644\u0621 \u0627\u0644\u0634\u0627\u0634\u0629",
6994
7036
  panelTitle: "\u0645\u0633\u0627\u0639\u062F \u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064A",
7037
+ panelTitleProduct: "\u0645\u0633\u0627\u0639\u062F {product}",
6995
7038
  panelViews: "\u0637\u0631\u0642 \u0639\u0631\u0636 \u0627\u0644\u0645\u0633\u0627\u0639\u062F",
6996
7039
  tabChat: "\u062F\u0631\u062F\u0634\u0629",
6997
7040
  tabAvatar: "\u0627\u0644\u0623\u0641\u0627\u062A\u0627\u0631",
@@ -7011,6 +7054,7 @@ var AR = {
7011
7054
  seoTitle: "\u0635\u0641 \u0645\u0634\u0643\u0644\u062A\u0643 \u0648\u0627\u062D\u0635\u0644 \u0639\u0644\u0649 \u0625\u062C\u0627\u0628\u0629",
7012
7055
  seoDescription: "\u0635\u0641 \u0627\u0644\u0645\u0634\u0643\u0644\u0629 \u0628\u0643\u0644\u0645\u0627\u062A\u0643 \u0648\u0627\u062D\u0635\u0644 \u0639\u0644\u0649 \u0625\u062C\u0627\u0628\u0629 \u0645\u0633\u062A\u0645\u062F\u0629 \u0645\u0646 \u0648\u062B\u0627\u0626\u0642 \u0645\u0646\u062A\u062C\u0627\u062A\u0646\u0627\u060C \u0645\u0639 \u0631\u0648\u0627\u0628\u0637 \u0625\u0644\u0649 \u0627\u0644\u0635\u0641\u062D\u0627\u062A \u0627\u0644\u062A\u064A \u062C\u0627\u0621\u062A \u0645\u0646\u0647\u0627.",
7013
7056
  seoDescriptionProduct: "\u0635\u0641 \u0627\u0644\u0645\u0634\u0643\u0644\u0629 \u0628\u0643\u0644\u0645\u0627\u062A\u0643 \u0648\u0627\u062D\u0635\u0644 \u0639\u0644\u0649 \u0625\u062C\u0627\u0628\u0629 \u0645\u0633\u062A\u0645\u062F\u0629 \u0645\u0646 \u0648\u062B\u0627\u0626\u0642 {product} \u0648\u0628\u0642\u064A\u0629 \u0645\u0646\u062A\u062C\u0627\u062A\u0646\u0627\u060C \u0645\u0639 \u0631\u0648\u0627\u0628\u0637 \u0625\u0644\u0649 \u0627\u0644\u0635\u0641\u062D\u0627\u062A \u0627\u0644\u062A\u064A \u062C\u0627\u0621\u062A \u0645\u0646\u0647\u0627.",
7057
+ seoDescriptionScoped: "\u0625\u062C\u0627\u0628\u0627\u062A \u0639\u0646 {product} \u0645\u0633\u062A\u0645\u062F\u0629 \u0645\u0646 \u0648\u062B\u0627\u0626\u0642 {product}\u060C \u0645\u0639 \u0631\u0648\u0627\u0628\u0637 \u0625\u0644\u0649 \u0627\u0644\u0635\u0641\u062D\u0627\u062A \u0627\u0644\u062A\u064A \u062C\u0627\u0621\u062A \u0645\u0646\u0647\u0627.",
7014
7058
  capabilities: [
7015
7059
  "\u0645\u0628\u0646\u064A \u0639\u0644\u0649 \u0648\u062B\u0627\u0626\u0642\u0646\u0627",
7016
7060
  "\u0642\u0627\u0631\u0646 \u0639\u0628\u0631 \u0627\u0644\u0645\u0646\u0638\u0648\u0645\u0629",
@@ -7020,13 +7064,15 @@ var AR = {
7020
7064
  "\u0643\u0644 \u062F\u0648\u0631\u0629 \u062A\u062F\u0631\u064A\u0628\u064A\u0629 \u0644\u062F\u064A\u0646\u0627 \u0641\u064A \u062C\u062F\u0648\u0644 \u0628\u064A\u0627\u0646\u0627\u062A \u0645\u062E\u062A\u0644\u0641.",
7021
7065
  "\u0644\u0627 \u0646\u0639\u0644\u0645 \u0628\u062A\u0639\u0637\u0644 \u0627\u0644\u0645\u0627\u0643\u064A\u0646\u0629 \u0625\u0644\u0627 \u0628\u0639\u062F \u062A\u0648\u0642\u0641 \u062E\u0637 \u0627\u0644\u0625\u0646\u062A\u0627\u062C.",
7022
7066
  "\u0623\u0639\u0636\u0627\u0624\u0646\u0627 \u064A\u062A\u0648\u0642\u0641\u0648\u0646 \u0639\u0646 \u0627\u0644\u062D\u0636\u0648\u0631 \u062A\u062F\u0631\u064A\u062C\u064A\u064B\u0627 \u062F\u0648\u0646 \u0623\u0646 \u0646\u0639\u0631\u0641 \u0627\u0644\u0633\u0628\u0628.",
7023
- "\u0623\u064A \u0645\u0646\u062A\u062C \u064A\u0646\u0627\u0633\u0628 \u0645\u0634\u0643\u0644\u0629 \u0645\u062B\u0644 \u0645\u0634\u0643\u0644\u062A\u064A\u061F"
7067
+ PORTFOLIO_PROMPT.ar
7024
7068
  ]
7025
7069
  };
7026
7070
  var TA = {
7027
7071
  badge: "\u0B8E\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B86\u0BB5\u0BA3\u0B99\u0BCD\u0B95\u0BB3\u0BC8 \u0B85\u0B9F\u0BBF\u0BAA\u0BCD\u0BAA\u0B9F\u0BC8\u0BAF\u0BBE\u0B95\u0B95\u0BCD \u0B95\u0BCA\u0BA3\u0BCD\u0B9F AI \u0BAA\u0BA4\u0BBF\u0BB2\u0BCD\u0B95\u0BB3\u0BCD",
7028
7072
  welcomeTitle: "\u0BA8\u0BC0\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B8E\u0BA8\u0BCD\u0BA4\u0B9A\u0BCD \u0B9A\u0BBF\u0B95\u0BCD\u0B95\u0BB2\u0BC8\u0BA4\u0BCD \u0BA4\u0BC0\u0BB0\u0BCD\u0B95\u0BCD\u0B95 \u0BAE\u0BC1\u0BAF\u0BB2\u0BCD\u0B95\u0BBF\u0BB1\u0BC0\u0BB0\u0BCD\u0B95\u0BB3\u0BCD?",
7029
7073
  welcomeBody: "\u0B9A\u0BBF\u0B95\u0BCD\u0B95\u0BB2\u0BC8 \u0B89\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B9A\u0BCA\u0BA8\u0BCD\u0BA4 \u0BB5\u0BBE\u0BB0\u0BCD\u0BA4\u0BCD\u0BA4\u0BC8\u0B95\u0BB3\u0BBF\u0BB2\u0BCD \u0BB5\u0BBF\u0BB5\u0BB0\u0BBF\u0BAF\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD. \u0B92\u0BB0\u0BC1 \u0B95\u0BC1\u0BB1\u0BBF\u0BAA\u0BCD\u0BAA\u0BBF\u0B9F\u0BCD\u0B9F \u0BA4\u0BAF\u0BBE\u0BB0\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1 \u0BAA\u0BB1\u0BCD\u0BB1\u0BBF\u0BAF\u0BC1\u0BAE\u0BCD \u0B95\u0BC7\u0B9F\u0BCD\u0B95\u0BB2\u0BBE\u0BAE\u0BCD, \u0B9A\u0BBF\u0BB2\u0BB5\u0BB1\u0BCD\u0BB1\u0BC8 \u0B92\u0BAA\u0BCD\u0BAA\u0BBF\u0B9F\u0BB5\u0BC1\u0BAE\u0BCD \u0B9A\u0BC6\u0BAF\u0BCD\u0BAF\u0BB2\u0BBE\u0BAE\u0BCD. \u0B92\u0BB5\u0BCD\u0BB5\u0BCA\u0BB0\u0BC1 \u0BAA\u0BA4\u0BBF\u0BB2\u0BC1\u0BAE\u0BCD \u0B8E\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B86\u0BB5\u0BA3\u0BAA\u0BCD\u0BAA\u0B9F\u0BC1\u0BA4\u0BCD\u0BA4\u0BB2\u0BBF\u0BB2\u0BBF\u0BB0\u0BC1\u0BA8\u0BCD\u0BA4\u0BC1 \u0BA8\u0BC7\u0BB0\u0B9F\u0BBF\u0BAF\u0BBE\u0B95 \u0BB5\u0BB0\u0BC1\u0B95\u0BBF\u0BB1\u0BA4\u0BC1.",
7074
+ welcomeBodyProduct: "\u0B9A\u0BBF\u0B95\u0BCD\u0B95\u0BB2\u0BC8 \u0B89\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B9A\u0BCA\u0BA8\u0BCD\u0BA4 \u0BB5\u0BBE\u0BB0\u0BCD\u0BA4\u0BCD\u0BA4\u0BC8\u0B95\u0BB3\u0BBF\u0BB2\u0BCD \u0BB5\u0BBF\u0BB5\u0BB0\u0BBF\u0BAF\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD, \u0B85\u0BB2\u0BCD\u0BB2\u0BA4\u0BC1 {product} \u0B8E\u0BA9\u0BCD\u0BA9 \u0B9A\u0BC6\u0BAF\u0BCD\u0B95\u0BBF\u0BB1\u0BA4\u0BC1 \u0B8E\u0BA9\u0BCD\u0BB1\u0BC1 \u0B95\u0BC7\u0BB3\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD. \u0B92\u0BB5\u0BCD\u0BB5\u0BCA\u0BB0\u0BC1 \u0BAA\u0BA4\u0BBF\u0BB2\u0BC1\u0BAE\u0BCD \u0B8E\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B86\u0BB5\u0BA3\u0BAA\u0BCD\u0BAA\u0B9F\u0BC1\u0BA4\u0BCD\u0BA4\u0BB2\u0BBF\u0BB2\u0BBF\u0BB0\u0BC1\u0BA8\u0BCD\u0BA4\u0BC1 \u0BA8\u0BC7\u0BB0\u0B9F\u0BBF\u0BAF\u0BBE\u0B95 \u0BB5\u0BB0\u0BC1\u0B95\u0BBF\u0BB1\u0BA4\u0BC1.",
7075
+ welcomeBodyScoped: "\u0B9A\u0BBF\u0B95\u0BCD\u0B95\u0BB2\u0BC8 \u0B89\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B9A\u0BCA\u0BA8\u0BCD\u0BA4 \u0BB5\u0BBE\u0BB0\u0BCD\u0BA4\u0BCD\u0BA4\u0BC8\u0B95\u0BB3\u0BBF\u0BB2\u0BCD \u0BB5\u0BBF\u0BB5\u0BB0\u0BBF\u0BAF\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD. \u0B92\u0BB5\u0BCD\u0BB5\u0BCA\u0BB0\u0BC1 \u0BAA\u0BA4\u0BBF\u0BB2\u0BC1\u0BAE\u0BCD \u0B8E\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B86\u0BB5\u0BA3\u0BAA\u0BCD\u0BAA\u0B9F\u0BC1\u0BA4\u0BCD\u0BA4\u0BB2\u0BBF\u0BB2\u0BBF\u0BB0\u0BC1\u0BA8\u0BCD\u0BA4\u0BC1 \u0BA8\u0BC7\u0BB0\u0B9F\u0BBF\u0BAF\u0BBE\u0B95 \u0BB5\u0BB0\u0BC1\u0B95\u0BBF\u0BB1\u0BA4\u0BC1.",
7030
7076
  tryAsking: "\u0B87\u0BA4\u0BC8\u0B95\u0BCD \u0B95\u0BC7\u0B9F\u0BCD\u0B9F\u0BC1\u0BAA\u0BCD \u0BAA\u0BBE\u0BB0\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD",
7031
7077
  focusProduct: "\u0B92\u0BB0\u0BC1 \u0BA4\u0BAF\u0BBE\u0BB0\u0BBF\u0BAA\u0BCD\u0BAA\u0BBF\u0BB2\u0BCD \u0B95\u0BB5\u0BA9\u0BAE\u0BCD",
7032
7078
  allProducts: "\u0B85\u0BA9\u0BC8\u0BA4\u0BCD\u0BA4\u0BC1 \u0BA4\u0BAF\u0BBE\u0BB0\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD",
@@ -7036,6 +7082,7 @@ var TA = {
7036
7082
  nextYouCouldAsk: "\u0B85\u0B9F\u0BC1\u0BA4\u0BCD\u0BA4\u0BC1 \u0BA8\u0BC0\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B95\u0BC7\u0B9F\u0BCD\u0B95\u0BB2\u0BBE\u0BAE\u0BCD",
7037
7083
  placeholder: "\u0B9A\u0BBF\u0B95\u0BCD\u0B95\u0BB2\u0BC8 \u0BB5\u0BBF\u0BB5\u0BB0\u0BBF\u0BAF\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD\u2026",
7038
7084
  placeholderProduct: "\u0B9A\u0BBF\u0B95\u0BCD\u0B95\u0BB2\u0BC8 \u0BB5\u0BBF\u0BB5\u0BB0\u0BBF\u0BAF\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD, \u0B85\u0BB2\u0BCD\u0BB2\u0BA4\u0BC1 {product} \u0BAA\u0BB1\u0BCD\u0BB1\u0BBF\u0B95\u0BCD \u0B95\u0BC7\u0BB3\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD\u2026",
7085
+ placeholderScoped: "{product} \u0BAA\u0BB1\u0BCD\u0BB1\u0BBF\u0B95\u0BCD \u0B95\u0BC7\u0BB3\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD\u2026",
7039
7086
  send: "\u0B85\u0BA9\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1",
7040
7087
  stop: "\u0BA8\u0BBF\u0BB1\u0BC1\u0BA4\u0BCD\u0BA4\u0BC1",
7041
7088
  newChat: "\u0BAA\u0BC1\u0BA4\u0BBF\u0BAF \u0B89\u0BB0\u0BC8\u0BAF\u0BBE\u0B9F\u0BB2\u0BCD",
@@ -7057,6 +7104,7 @@ var TA = {
7057
7104
  attachmentTooMany: "{{max}} \u0B95\u0BCB\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD \u0BAE\u0B9F\u0BCD\u0B9F\u0BC1\u0BAE\u0BC7 \u0B87\u0BA3\u0BC8\u0B95\u0BCD\u0B95 \u0BAE\u0BC1\u0B9F\u0BBF\u0BAF\u0BC1\u0BAE\u0BCD, \u0B8E\u0BA9\u0BB5\u0BC7 {{name}} \u0BA4\u0BB5\u0BBF\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1.",
7058
7105
  noAnswer: "\u0B87\u0BA4\u0BC1 \u0B8E\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B86\u0BB5\u0BA3\u0B99\u0BCD\u0B95\u0BB3\u0BBF\u0BB2\u0BCD \u0B95\u0BBF\u0B9F\u0BC8\u0B95\u0BCD\u0B95\u0BB5\u0BBF\u0BB2\u0BCD\u0BB2\u0BC8, \u0B8E\u0BA9\u0BB5\u0BC7 \u0B95\u0BC0\u0BB4\u0BC7 \u0B89\u0BB3\u0BCD\u0BB3 \u0BAA\u0BA4\u0BBF\u0BB2\u0BC1\u0B95\u0BCD\u0B95\u0BC1 \u0BAE\u0BC2\u0BB2\u0BAE\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8. \u0BB5\u0BC7\u0BB1\u0BC1 \u0BB5\u0B95\u0BC8\u0BAF\u0BBF\u0BB2\u0BCD \u0B95\u0BC7\u0BB3\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD, \u0B85\u0BB2\u0BCD\u0BB2\u0BA4\u0BC1",
7059
7106
  answerDidNotArrive: "\u0B85\u0BA8\u0BCD\u0BA4\u0BAA\u0BCD \u0BAA\u0BA4\u0BBF\u0BB2\u0BCD \u0BB5\u0BB0\u0BB5\u0BBF\u0BB2\u0BCD\u0BB2\u0BC8. \u0BAE\u0BC0\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD \u0B95\u0BC7\u0B9F\u0BCD\u0B9F\u0BC1\u0BAA\u0BCD \u0BAA\u0BBE\u0BB0\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD.",
7107
+ toolBudgetScoped: "\u0B87\u0BA8\u0BCD\u0BA4\u0B95\u0BCD \u0B95\u0BC7\u0BB3\u0BCD\u0BB5\u0BBF\u0BAF\u0BBF\u0BB2\u0BCD \u0B92\u0BB0\u0BC7 \u0BAE\u0BC1\u0BB1\u0BC8\u0BAF\u0BBF\u0BB2\u0BCD \u0B8E\u0BA9\u0BCD\u0BA9\u0BBE\u0BB2\u0BCD \u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BA4\u0BC8 \u0BB5\u0BBF\u0B9F \u0B85\u0BA4\u0BBF\u0B95\u0BAE\u0BCD \u0B89\u0BB3\u0BCD\u0BB3\u0BA4\u0BC1. \u0B85\u0BA4\u0BA9\u0BCD \u0B92\u0BB0\u0BC1 \u0BAA\u0B95\u0BC1\u0BA4\u0BBF\u0BAF\u0BC8\u0BAA\u0BCD \u0BAA\u0BB1\u0BCD\u0BB1\u0BBF\u0B95\u0BCD \u0B95\u0BC7\u0B9F\u0BCD\u0B9F\u0BC1\u0BAA\u0BCD \u0BAA\u0BBE\u0BB0\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD.",
7060
7108
  askHuman: "\u0B8E\u0B99\u0BCD\u0B95\u0BB3\u0BC8\u0BA4\u0BCD \u0BA4\u0BCA\u0B9F\u0BB0\u0BCD\u0BAA\u0BC1 \u0B95\u0BCA\u0BB3\u0BCD\u0BB3\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD",
7061
7109
  feedbackPrompt: "\u0B87\u0BA8\u0BCD\u0BA4\u0BAA\u0BCD \u0BAA\u0BA4\u0BBF\u0BB2\u0BCD \u0BAA\u0BAF\u0BA9\u0BC1\u0BB3\u0BCD\u0BB3\u0BA4\u0BBE\u0B95 \u0B87\u0BB0\u0BC1\u0BA8\u0BCD\u0BA4\u0BA4\u0BBE?",
7062
7110
  feedbackHelpful: "\u0BAA\u0BAF\u0BA9\u0BC1\u0BB3\u0BCD\u0BB3\u0BA4\u0BC1",
@@ -7108,6 +7156,7 @@ var TA = {
7108
7156
  enterFullScreen: "\u0BAE\u0BC1\u0BB4\u0BC1\u0BA4\u0BCD \u0BA4\u0BBF\u0BB0\u0BC8",
7109
7157
  exitFullScreen: "\u0BAE\u0BC1\u0BB4\u0BC1\u0BA4\u0BCD \u0BA4\u0BBF\u0BB0\u0BC8\u0BAF\u0BBF\u0BB2\u0BBF\u0BB0\u0BC1\u0BA8\u0BCD\u0BA4\u0BC1 \u0BB5\u0BC6\u0BB3\u0BBF\u0BAF\u0BC7\u0BB1\u0BC1",
7110
7158
  panelTitle: "AI \u0B89\u0BA4\u0BB5\u0BBF\u0BAF\u0BBE\u0BB3\u0BB0\u0BCD",
7159
+ panelTitleProduct: "{product} \u0B89\u0BA4\u0BB5\u0BBF\u0BAF\u0BBE\u0BB3\u0BB0\u0BCD",
7111
7160
  panelViews: "\u0B89\u0BA4\u0BB5\u0BBF\u0BAF\u0BBE\u0BB3\u0BB0\u0BCD \u0B95\u0BBE\u0B9F\u0BCD\u0B9A\u0BBF\u0B95\u0BB3\u0BCD",
7112
7161
  tabChat: "\u0B85\u0BB0\u0B9F\u0BCD\u0B9F\u0BC8",
7113
7162
  tabAvatar: "\u0B85\u0BB5\u0BA4\u0BBE\u0BB0\u0BCD",
@@ -7127,6 +7176,7 @@ var TA = {
7127
7176
  seoTitle: "\u0B9A\u0BBF\u0B95\u0BCD\u0B95\u0BB2\u0BC8 \u0BB5\u0BBF\u0BB5\u0BB0\u0BBF\u0BAF\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD, \u0BAA\u0BA4\u0BBF\u0BB2\u0BCD \u0BAA\u0BC6\u0BB1\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD",
7128
7177
  seoDescription: "\u0B9A\u0BBF\u0B95\u0BCD\u0B95\u0BB2\u0BC8 \u0B89\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B9A\u0BCA\u0BA8\u0BCD\u0BA4 \u0BB5\u0BBE\u0BB0\u0BCD\u0BA4\u0BCD\u0BA4\u0BC8\u0B95\u0BB3\u0BBF\u0BB2\u0BCD \u0BB5\u0BBF\u0BB5\u0BB0\u0BBF\u0BAF\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD; \u0B8E\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0BA4\u0BAF\u0BBE\u0BB0\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1 \u0B86\u0BB5\u0BA3\u0B99\u0BCD\u0B95\u0BB3\u0BBF\u0BB2\u0BBF\u0BB0\u0BC1\u0BA8\u0BCD\u0BA4\u0BC1 \u0BAA\u0BA4\u0BBF\u0BB2\u0BCD \u0B95\u0BBF\u0B9F\u0BC8\u0B95\u0BCD\u0B95\u0BC1\u0BAE\u0BCD, \u0B85\u0BA4\u0BC1 \u0BB5\u0BA8\u0BCD\u0BA4 \u0BAA\u0B95\u0BCD\u0B95\u0B99\u0BCD\u0B95\u0BB3\u0BC1\u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0B87\u0BA3\u0BC8\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BC1\u0B9F\u0BA9\u0BCD.",
7129
7178
  seoDescriptionProduct: "{product} \u0BAE\u0BB1\u0BCD\u0BB1\u0BC1\u0BAE\u0BCD \u0B8E\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0BAA\u0BBF\u0BB1 \u0BA4\u0BAF\u0BBE\u0BB0\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BBF\u0BA9\u0BCD \u0B86\u0BB5\u0BA3\u0B99\u0BCD\u0B95\u0BB3\u0BBF\u0BB2\u0BBF\u0BB0\u0BC1\u0BA8\u0BCD\u0BA4\u0BC1 \u0BAA\u0BA4\u0BBF\u0BB2\u0BCD \u0BAA\u0BC6\u0BB1, \u0B9A\u0BBF\u0B95\u0BCD\u0B95\u0BB2\u0BC8 \u0B89\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B9A\u0BCA\u0BA8\u0BCD\u0BA4 \u0BB5\u0BBE\u0BB0\u0BCD\u0BA4\u0BCD\u0BA4\u0BC8\u0B95\u0BB3\u0BBF\u0BB2\u0BCD \u0BB5\u0BBF\u0BB5\u0BB0\u0BBF\u0BAF\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u2014 \u0B85\u0BA4\u0BC1 \u0BB5\u0BA8\u0BCD\u0BA4 \u0BAA\u0B95\u0BCD\u0B95\u0B99\u0BCD\u0B95\u0BB3\u0BC1\u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0B87\u0BA3\u0BC8\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BC1\u0B9F\u0BA9\u0BCD.",
7179
+ seoDescriptionScoped: "{product} \u0BAA\u0BB1\u0BCD\u0BB1\u0BBF\u0BAF \u0BAA\u0BA4\u0BBF\u0BB2\u0BCD\u0B95\u0BB3\u0BCD, {product} \u0B86\u0BB5\u0BA3\u0B99\u0BCD\u0B95\u0BB3\u0BBF\u0BB2\u0BBF\u0BB0\u0BC1\u0BA8\u0BCD\u0BA4\u0BC1, \u0B85\u0BB5\u0BC8 \u0BB5\u0BA8\u0BCD\u0BA4 \u0BAA\u0B95\u0BCD\u0B95\u0B99\u0BCD\u0B95\u0BB3\u0BC1\u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0B87\u0BA3\u0BC8\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BC1\u0B9F\u0BA9\u0BCD.",
7130
7180
  capabilities: [
7131
7181
  "\u0B8E\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B9A\u0BCA\u0BA8\u0BCD\u0BA4 \u0B86\u0BB5\u0BA3\u0B99\u0BCD\u0B95\u0BB3\u0BBF\u0BA9\u0BCD \u0B85\u0B9F\u0BBF\u0BAA\u0BCD\u0BAA\u0B9F\u0BC8\u0BAF\u0BBF\u0BB2\u0BCD",
7132
7182
  "\u0BA4\u0BAF\u0BBE\u0BB0\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BC8 \u0B92\u0BAA\u0BCD\u0BAA\u0BBF\u0B9F\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD",
@@ -7136,7 +7186,7 @@ var TA = {
7136
7186
  "\u0B92\u0BB5\u0BCD\u0BB5\u0BCA\u0BB0\u0BC1 \u0BAA\u0BAF\u0BBF\u0BB1\u0BCD\u0B9A\u0BBF \u0BB5\u0B95\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0BAE\u0BCD \u0BB5\u0BC6\u0BB5\u0BCD\u0BB5\u0BC7\u0BB1\u0BC1 \u0BB5\u0BBF\u0BB0\u0BBF\u0BA4\u0BBE\u0BB3\u0BBF\u0BB2\u0BCD \u0B89\u0BB3\u0BCD\u0BB3\u0BA4\u0BC1.",
7137
7187
  "\u0B87\u0BAF\u0BA8\u0BCD\u0BA4\u0BBF\u0BB0\u0BAE\u0BCD \u0BA8\u0BBF\u0BA9\u0BCD\u0BB1\u0BA4\u0BC1 \u0BB2\u0BC8\u0BA9\u0BCD \u0BA8\u0BBF\u0BB1\u0BCD\u0B95\u0BC1\u0BAE\u0BCD\u0BAA\u0BCB\u0BA4\u0BC1\u0BA4\u0BBE\u0BA9\u0BCD \u0BA4\u0BC6\u0BB0\u0BBF\u0BAF \u0BB5\u0BB0\u0BC1\u0B95\u0BBF\u0BB1\u0BA4\u0BC1.",
7138
7188
  "\u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BBF\u0BA9\u0BB0\u0BCD\u0B95\u0BB3\u0BCD \u0BAE\u0BC6\u0BB2\u0BCD\u0BB2 \u0BB5\u0BB0\u0BC1\u0BB5\u0BA4\u0BC8 \u0BA8\u0BBF\u0BB1\u0BC1\u0BA4\u0BCD\u0BA4\u0BC1\u0B95\u0BBF\u0BB1\u0BBE\u0BB0\u0BCD\u0B95\u0BB3\u0BCD, \u0B95\u0BBE\u0BB0\u0BA3\u0BAE\u0BCD \u0BA4\u0BC6\u0BB0\u0BBF\u0BAF\u0BBE\u0BA4\u0BC1.",
7139
- "\u0B8E\u0BA9\u0BCD \u0BAA\u0BBF\u0BB0\u0B9A\u0BCD\u0B9A\u0BBF\u0BA9\u0BC8\u0B95\u0BCD\u0B95\u0BC1 \u0B8E\u0BA8\u0BCD\u0BA4\u0BA4\u0BCD \u0BA4\u0BAF\u0BBE\u0BB0\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1 \u0BAA\u0BCA\u0BB0\u0BC1\u0BA8\u0BCD\u0BA4\u0BC1\u0BAE\u0BCD?"
7189
+ PORTFOLIO_PROMPT.ta
7140
7190
  ]
7141
7191
  };
7142
7192
  var STRINGS = {
@@ -10984,6 +11034,7 @@ function makeOptimisticId() {
10984
11034
  return `boff-explore-local-${Date.now()}-${optimisticCounter}`;
10985
11035
  }
10986
11036
  var ExploreConversationContext = createContext(null);
11037
+ var ExploreCatalogProductsContext = createContext(null);
10987
11038
  function useExploreConversation(options = {}) {
10988
11039
  const {
10989
11040
  productSlug,
@@ -11031,7 +11082,116 @@ function ExploreChatProvider({
11031
11082
  // `enabled` as well as `started`: on the render that first sees `enabled`, the latch above has only been queued.
11032
11083
  enabled: enabled || started
11033
11084
  });
11034
- return /* @__PURE__ */ jsx(ExploreConversationContext.Provider, { value: conversation, children });
11085
+ return /* @__PURE__ */ jsx(ExploreConversationContext.Provider, { value: conversation, children: /* @__PURE__ */ jsx(
11086
+ ExploreCatalogProductsContext.Provider,
11087
+ {
11088
+ value: conversation.catalog.products,
11089
+ children
11090
+ }
11091
+ ) });
11092
+ }
11093
+
11094
+ // src/components/explore-scope.ts
11095
+ function pinnedProductSlug(scope, productSlug) {
11096
+ if (scope !== "product" || productSlug === void 0) return null;
11097
+ return productSlug.trim() === "" ? null : productSlug;
11098
+ }
11099
+ function productNameFor(products, slug, given) {
11100
+ const own = given?.trim();
11101
+ if (own) return own;
11102
+ return products.find((product) => isSameProductSlug(product.slug, slug))?.name ?? null;
11103
+ }
11104
+ var NAME_CHARACTER = /[a-z0-9]/;
11105
+ var MIN_SPELLING_LENGTH = 3;
11106
+ function siteNameOf(website) {
11107
+ if (!website) return "";
11108
+ try {
11109
+ const labels = new URL(website).hostname.split(".");
11110
+ return labels.length >= 2 ? labels[labels.length - 2] ?? "" : "";
11111
+ } catch {
11112
+ return "";
11113
+ }
11114
+ }
11115
+ function spellingsOf(product) {
11116
+ const spellings = [
11117
+ product.name,
11118
+ product.name.replace(/\s+/g, ""),
11119
+ ...productSlugVariants(product.slug),
11120
+ siteNameOf(product.website)
11121
+ ].map((spelling) => spelling.trim().toLowerCase()).filter((spelling) => spelling.length >= MIN_SPELLING_LENGTH);
11122
+ return [...new Set(spellings)];
11123
+ }
11124
+ function wordAt(text, spelling, from = 0) {
11125
+ for (let at = text.indexOf(spelling, from); at !== -1; at = text.indexOf(spelling, at + 1)) {
11126
+ const before = text[at - 1];
11127
+ const after = text[at + spelling.length];
11128
+ const bounded = (before === void 0 || !NAME_CHARACTER.test(before)) && (after === void 0 || !NAME_CHARACTER.test(after));
11129
+ if (bounded) return at;
11130
+ }
11131
+ return -1;
11132
+ }
11133
+ function withoutWord(text, spelling) {
11134
+ let result = text;
11135
+ for (let at = wordAt(result, spelling); at !== -1; at = wordAt(result, spelling, at + spelling.length)) {
11136
+ result = `${result.slice(0, at)}${" ".repeat(spelling.length)}${result.slice(at + spelling.length)}`;
11137
+ }
11138
+ return result;
11139
+ }
11140
+ function anotherProductMatcher(products, pinnedSlug) {
11141
+ const own = productSlugVariants(pinnedSlug).map((slug) => slug.toLowerCase());
11142
+ const others = [];
11143
+ for (const product of products) {
11144
+ if (isSameProductSlug(product.slug, pinnedSlug)) {
11145
+ own.push(...spellingsOf(product));
11146
+ } else {
11147
+ others.push(...spellingsOf(product));
11148
+ }
11149
+ }
11150
+ const ownSpellings = [...new Set(own)].sort((a, b) => b.length - a.length);
11151
+ const otherSpellings = [...new Set(others)].filter(
11152
+ (spelling) => !ownSpellings.includes(spelling)
11153
+ );
11154
+ return (text) => {
11155
+ let rest = text.toLowerCase();
11156
+ for (const spelling of ownSpellings) rest = withoutWord(rest, spelling);
11157
+ return otherSpellings.some((spelling) => wordAt(rest, spelling) !== -1);
11158
+ };
11159
+ }
11160
+ function distinctPrompts(prompts) {
11161
+ return [...new Set(prompts.filter((prompt) => prompt.trim() !== ""))];
11162
+ }
11163
+ function productScopedPrompts(hostPrompts, catalogPrompts, namesAnotherProduct) {
11164
+ const own = distinctPrompts(hostPrompts ?? []);
11165
+ if (own.length > 0) return own;
11166
+ return distinctPrompts(
11167
+ catalogPrompts.filter(
11168
+ (prompt) => !isPortfolioPrompt(prompt) && !namesAnotherProduct(prompt)
11169
+ )
11170
+ );
11171
+ }
11172
+ function productScopedHighlights(highlights, pinnedSlug, namesAnotherProduct) {
11173
+ return highlights.filter(
11174
+ (highlight) => isSameProductSlug(highlight.product, pinnedSlug) && !namesAnotherProduct(`${highlight.title}
11175
+ ${highlight.alt}`)
11176
+ );
11177
+ }
11178
+ function productScopedError(error, toolBudgetMessage) {
11179
+ return error.code === "TOOL_BUDGET" ? { ...error, message: toolBudgetMessage } : error;
11180
+ }
11181
+ function isDevelopmentBuild() {
11182
+ try {
11183
+ return process.env.NODE_ENV !== "production";
11184
+ } catch {
11185
+ return false;
11186
+ }
11187
+ }
11188
+ var warnedWithoutSlug = false;
11189
+ function warnProductScopeWithoutSlug() {
11190
+ if (warnedWithoutSlug || !isDevelopmentBuild()) return;
11191
+ warnedWithoutSlug = true;
11192
+ console.warn(
11193
+ `[WebSDK] Explore scope="product" needs a productSlug. Without one the assistant stays the portfolio's: every product, and a product picker.`
11194
+ );
11035
11195
  }
11036
11196
  var DRAIN_TARGET_MS = 1200;
11037
11197
  var MIN_CHARS_PER_SECOND = 90;
@@ -12114,21 +12274,25 @@ var CAPABILITIES = [
12114
12274
  {
12115
12275
  icon: BookOpenText,
12116
12276
  title: "Grounded in our own docs",
12117
- body: "Every answer comes from published product pages and documentation \u2014 never invented."
12277
+ body: "Every answer comes from published product pages and documentation \u2014 never invented.",
12278
+ invitesOtherProducts: false
12118
12279
  },
12119
12280
  {
12120
12281
  icon: Layers,
12121
12282
  title: "Compare across the ecosystem",
12122
- body: "Ask which product fits your team, or how two of them work together."
12283
+ body: "Ask which product fits your team, or how two of them work together.",
12284
+ invitesOtherProducts: true
12123
12285
  },
12124
12286
  {
12125
12287
  icon: Link2,
12126
12288
  title: "Straight to the right page",
12127
- body: "Get the sources and next steps \u2014 pricing, docs, a demo \u2014 without hunting."
12289
+ body: "Get the sources and next steps \u2014 pricing, docs, a demo \u2014 without hunting.",
12290
+ invitesOtherProducts: false
12128
12291
  }
12129
12292
  ];
12130
12293
  var MIN_VISIBLE_FRACTION = 0.25;
12131
12294
  var SDK_OVERLAY_SELECTOR = "[data-boff-explore]";
12295
+ var NO_PRODUCTS = [];
12132
12296
  var CTA_VARIANTS = {
12133
12297
  CONTACT: "default",
12134
12298
  WAITLIST: "default",
@@ -13678,7 +13842,8 @@ function WelcomeState({
13678
13842
  onPrompt,
13679
13843
  onFocus,
13680
13844
  disabled,
13681
- heading = "h1"
13845
+ heading = "h1",
13846
+ productScoped = false
13682
13847
  }) {
13683
13848
  const Heading = heading;
13684
13849
  return /* @__PURE__ */ jsxs("div", { className: "boff-explore-aura mx-auto my-auto w-full max-w-3xl px-4 py-4 sm:py-5", children: [
@@ -13690,18 +13855,26 @@ function WelcomeState({
13690
13855
  /* @__PURE__ */ jsx(Heading, { className: "mt-2 text-balance break-words text-2xl font-bold tracking-tight sm:text-3xl", children: title }),
13691
13856
  /* @__PURE__ */ jsx("p", { className: "mx-auto mt-2 max-w-2xl text-pretty text-sm leading-relaxed text-muted-foreground", children: body })
13692
13857
  ] }),
13693
- /* @__PURE__ */ jsx("ul", { className: "boff-explore-capabilities boff-explore-rise boff-explore-rise-1 mt-4 grid grid-cols-3 gap-2 sm:gap-2.5", children: CAPABILITIES.map(({ icon: Icon, body: capBody }, i) => /* @__PURE__ */ jsxs(
13694
- "li",
13858
+ /* @__PURE__ */ jsx(
13859
+ "ul",
13695
13860
  {
13696
- className: "rounded-xl border border-border/70 bg-card/60 p-2.5 text-center transition-colors hover:border-border sm:p-2.5 sm:text-left",
13697
- children: [
13698
- /* @__PURE__ */ jsx("span", { className: "mx-auto mb-1.5 flex h-7 w-7 items-center justify-center rounded-lg bg-primary/10 text-primary sm:mx-0 sm:mb-2 sm:h-8 sm:w-8", children: /* @__PURE__ */ jsx(Icon, { className: "h-3.5 w-3.5 sm:h-4 sm:w-4" }) }),
13699
- /* @__PURE__ */ jsx("p", { className: "text-[11px] font-semibold leading-tight text-card-foreground sm:text-sm sm:leading-snug", children: T.capabilities[i] ?? "" }),
13700
- /* @__PURE__ */ jsx("p", { className: "mt-1 hidden text-xs leading-snug text-muted-foreground lg:block", children: capBody })
13701
- ]
13702
- },
13703
- i
13704
- )) }),
13861
+ className: `boff-explore-capabilities boff-explore-rise boff-explore-rise-1 mt-4 grid ${productScoped ? "grid-cols-2" : "grid-cols-3"} gap-2 sm:gap-2.5`,
13862
+ children: CAPABILITIES.map(
13863
+ ({ icon: Icon, body: capBody, invitesOtherProducts }, i) => productScoped && invitesOtherProducts ? null : /* @__PURE__ */ jsxs(
13864
+ "li",
13865
+ {
13866
+ className: "rounded-xl border border-border/70 bg-card/60 p-2.5 text-center transition-colors hover:border-border sm:p-2.5 sm:text-left",
13867
+ children: [
13868
+ /* @__PURE__ */ jsx("span", { className: "mx-auto mb-1.5 flex h-7 w-7 items-center justify-center rounded-lg bg-primary/10 text-primary sm:mx-0 sm:mb-2 sm:h-8 sm:w-8", children: /* @__PURE__ */ jsx(Icon, { className: "h-3.5 w-3.5 sm:h-4 sm:w-4" }) }),
13869
+ /* @__PURE__ */ jsx("p", { className: "text-[11px] font-semibold leading-tight text-card-foreground sm:text-sm sm:leading-snug", children: T.capabilities[i] ?? "" }),
13870
+ /* @__PURE__ */ jsx("p", { className: "mt-1 hidden text-xs leading-snug text-muted-foreground lg:block", children: capBody })
13871
+ ]
13872
+ },
13873
+ i
13874
+ )
13875
+ )
13876
+ }
13877
+ ),
13705
13878
  prompts.length > 0 ? /* @__PURE__ */ jsx("div", { className: "boff-explore-rise boff-explore-rise-2 mt-4", children: /* @__PURE__ */ jsx(
13706
13879
  PromptCarousel,
13707
13880
  {
@@ -13768,6 +13941,9 @@ function ExploreView({
13768
13941
  presentation = "page",
13769
13942
  active = true,
13770
13943
  explorePath = "/explore",
13944
+ examplePrompts,
13945
+ scope,
13946
+ productName,
13771
13947
  conversation
13772
13948
  }) {
13773
13949
  const panel = presentation === "panel";
@@ -13862,16 +14038,47 @@ function ExploreView({
13862
14038
  const maxLength = catalog.limits.maxMessageLength;
13863
14039
  const overLimit = draft.length > maxLength;
13864
14040
  const canSubmit = canSend && draft.trim().length > 0 && !overLimit && !busy;
13865
- const resolvedTitle = welcomeTitle ?? catalog.welcomeTitle;
13866
- const resolvedBody = welcomeBody ?? catalog.welcomeBody;
13867
- const prompts = catalog.examplePrompts;
14041
+ const pinnedSlug = pinnedProductSlug(scope, productSlug);
14042
+ useEffect(() => {
14043
+ if (scope === "product" && pinnedSlug === null) {
14044
+ warnProductScopeWithoutSlug();
14045
+ }
14046
+ }, [pinnedSlug, scope]);
14047
+ const pinnedName = useMemo(
14048
+ () => pinnedSlug === null ? null : productNameFor(catalog.products, pinnedSlug, productName),
14049
+ [catalog.products, pinnedSlug, productName]
14050
+ );
14051
+ const namesAnotherProduct = useMemo(
14052
+ () => pinnedSlug === null ? null : anotherProductMatcher(catalog.products, pinnedSlug),
14053
+ [catalog.products, pinnedSlug]
14054
+ );
14055
+ const resolvedTitle = welcomeTitle ?? (namesAnotherProduct?.(catalog.welcomeTitle) ? T.welcomeTitle : catalog.welcomeTitle);
14056
+ const resolvedBody = welcomeBody ?? (pinnedSlug === null ? catalog.welcomeBody : pinnedName === null ? T.welcomeBodyScoped : fill(T.welcomeBodyProduct, { product: pinnedName }));
14057
+ const prompts = useMemo(
14058
+ () => namesAnotherProduct === null ? catalog.examplePrompts : productScopedPrompts(
14059
+ examplePrompts,
14060
+ catalog.examplePrompts,
14061
+ namesAnotherProduct
14062
+ ),
14063
+ [catalog.examplePrompts, examplePrompts, namesAnotherProduct]
14064
+ );
14065
+ const conceptHighlights = useMemo(
14066
+ () => pinnedSlug === null || namesAnotherProduct === null ? catalog.conceptHighlights : productScopedHighlights(
14067
+ catalog.conceptHighlights,
14068
+ pinnedSlug,
14069
+ namesAnotherProduct
14070
+ ),
14071
+ [catalog.conceptHighlights, namesAnotherProduct, pinnedSlug]
14072
+ );
13868
14073
  const focusedProductName = useMemo(
13869
- () => catalog.products.find((p) => isSameProductSlug(p.slug, focusProduct))?.name ?? null,
13870
- [catalog.products, focusProduct]
14074
+ () => pinnedSlug !== null ? pinnedName : catalog.products.find((p) => isSameProductSlug(p.slug, focusProduct))?.name ?? null,
14075
+ [catalog.products, focusProduct, pinnedName, pinnedSlug]
13871
14076
  );
13872
14077
  const headProductName = useMemo(
13873
- () => productSlug ? catalog.products.find((p) => isSameProductSlug(p.slug, productSlug))?.name ?? null : null,
13874
- [catalog.products, productSlug]
14078
+ () => pinnedSlug !== null ? pinnedName : productSlug ? catalog.products.find(
14079
+ (p) => isSameProductSlug(p.slug, productSlug)
14080
+ )?.name ?? null : null,
14081
+ [catalog.products, pinnedName, pinnedSlug, productSlug]
13875
14082
  );
13876
14083
  const imageOrigins = useMemo(
13877
14084
  () => inlineImageOrigins(catalog.products),
@@ -14187,6 +14394,17 @@ function ExploreView({
14187
14394
  },
14188
14395
  [setStaged]
14189
14396
  );
14397
+ const pinFocus = useCallback(() => {
14398
+ if (pinnedSlug !== null) setFocusProduct(pinnedSlug);
14399
+ }, [pinnedSlug, setFocusProduct]);
14400
+ const retryTurn = useCallback(() => {
14401
+ pinFocus();
14402
+ retry();
14403
+ }, [pinFocus, retry]);
14404
+ const shownError = useMemo(
14405
+ () => error !== null && pinnedSlug !== null ? productScopedError(error, T.toolBudgetScoped) : error,
14406
+ [T, error, pinnedSlug]
14407
+ );
14190
14408
  const submitDraft = useCallback(() => {
14191
14409
  const text = draft.trim();
14192
14410
  if (!text || overLimit || busy || !canSend) return;
@@ -14194,6 +14412,7 @@ function ExploreView({
14194
14412
  stopSpeaking();
14195
14413
  setDraft("");
14196
14414
  stickToBottomRef.current = true;
14415
+ pinFocus();
14197
14416
  void send(text, toPayload(stagedRef.current));
14198
14417
  setStaged([]);
14199
14418
  setAttachmentNotice(null);
@@ -14203,6 +14422,7 @@ function ExploreView({
14203
14422
  canSend,
14204
14423
  draft,
14205
14424
  overLimit,
14425
+ pinFocus,
14206
14426
  send,
14207
14427
  setDraft,
14208
14428
  setStaged,
@@ -14214,11 +14434,12 @@ function ExploreView({
14214
14434
  stopSpeaking();
14215
14435
  setDraft("");
14216
14436
  stickToBottomRef.current = true;
14437
+ pinFocus();
14217
14438
  void send(prompt, toPayload(stagedRef.current));
14218
14439
  setStaged([]);
14219
14440
  setAttachmentNotice(null);
14220
14441
  },
14221
- [busy, canSend, send, setDraft, setStaged]
14442
+ [busy, canSend, pinFocus, send, setDraft, setStaged]
14222
14443
  );
14223
14444
  const handleKeyDown = useCallback(
14224
14445
  (event) => {
@@ -14269,7 +14490,13 @@ function ExploreView({
14269
14490
  PageHead,
14270
14491
  {
14271
14492
  title: seo?.title ?? T.seoTitle,
14272
- description: seo?.description ?? (headProductName ? fill(T.seoDescriptionProduct, { product: headProductName }) : T.seoDescription),
14493
+ description: seo?.description ?? (headProductName ? fill(
14494
+ // BOFF-9796: one product's own page promises that product's answers alone, never "and every
14495
+ // other product we build". The title ("Describe a problem, get an answer | {product}") and the
14496
+ // site name already name this product only, and the og:/twitter: tags repeat these two.
14497
+ pinnedSlug === null ? T.seoDescriptionProduct : T.seoDescriptionScoped,
14498
+ { product: headProductName }
14499
+ ) : T.seoDescription),
14273
14500
  productName: seo?.title ? void 0 : headProductName ?? void 0,
14274
14501
  keywords: seo?.keywords,
14275
14502
  image: seo?.image,
@@ -14451,12 +14678,13 @@ function ExploreView({
14451
14678
  title: resolvedTitle,
14452
14679
  body: resolvedBody,
14453
14680
  prompts,
14454
- products: catalog.products,
14455
- conceptHighlights: catalog.conceptHighlights,
14681
+ products: pinnedSlug === null ? catalog.products : NO_PRODUCTS,
14682
+ conceptHighlights,
14456
14683
  focusProduct,
14457
14684
  onPrompt: sendPrompt,
14458
14685
  onFocus: setFocusProduct,
14459
- disabled: !canSend || busy
14686
+ disabled: !canSend || busy,
14687
+ productScoped: pinnedSlug !== null
14460
14688
  }
14461
14689
  ) : /* @__PURE__ */ jsx("div", { className: "mx-auto w-full min-w-0 max-w-3xl space-y-6 px-4 py-6", children: messages.map(
14462
14690
  (message) => message.role === "USER" ? /* @__PURE__ */ jsx(UserBubble, { strings: T, message }, message.id) : /* @__PURE__ */ jsx(
@@ -14533,7 +14761,14 @@ function ExploreView({
14533
14761
  submitDraft();
14534
14762
  },
14535
14763
  children: [
14536
- error ? /* @__PURE__ */ jsx(ErrorBanner, { error, onRetry: retry, onReset: reset }) : null,
14764
+ shownError ? /* @__PURE__ */ jsx(
14765
+ ErrorBanner,
14766
+ {
14767
+ error: shownError,
14768
+ onRetry: retryTurn,
14769
+ onReset: reset
14770
+ }
14771
+ ) : null,
14537
14772
  staged.length > 0 ? /* @__PURE__ */ jsx(
14538
14773
  "ul",
14539
14774
  {
@@ -14619,9 +14854,14 @@ function ExploreView({
14619
14854
  composingRef.current = false;
14620
14855
  },
14621
14856
  "aria-label": "Ask a question",
14622
- placeholder: composerDisabled ? phase === "limited" ? "Message limit reached \u2014 please try again later" : "Explore is unavailable right now" : focusedProductName ? fill(T.placeholderProduct, {
14623
- product: focusedProductName
14624
- }) : T.placeholder,
14857
+ placeholder: composerDisabled ? phase === "limited" ? "Message limit reached \u2014 please try again later" : "Explore is unavailable right now" : focusedProductName ? fill(
14858
+ // BOFF-9796: one product's own assistant keeps this field exactly as every site has it, its
14859
+ // classes and its fit to the draft alone; only its placeholder says less. On a phone the
14860
+ // field is one line tall and cuts off a placeholder that wraps: in English, "Ask about
14861
+ // {product}…" fits that line at 320px and wider.
14862
+ pinnedSlug === null ? T.placeholderProduct : T.placeholderScoped,
14863
+ { product: focusedProductName }
14864
+ ) : T.placeholder,
14625
14865
  className: "max-h-[200px] min-h-[44px] w-full min-w-0 flex-1 resize-none border-0 bg-transparent px-2 py-2.5 text-base shadow-none focus-visible:ring-0 sm:text-sm"
14626
14866
  }
14627
14867
  ),
@@ -14953,6 +15193,20 @@ var PANEL_CSS = `
14953
15193
  }
14954
15194
  .boff-explore-shell:focus { outline: none; }
14955
15195
  `;
15196
+ var PRODUCT_TITLE_CSS = `
15197
+ .boff-explore-shell .boff-explore-shell-title { container-type: inline-size; }
15198
+ .boff-explore-shell .boff-explore-shell-title-text {
15199
+ display: -webkit-box;
15200
+ -webkit-box-orient: vertical;
15201
+ -webkit-line-clamp: 2;
15202
+ overflow: hidden;
15203
+ overflow-wrap: break-word;
15204
+ line-height: 1.125rem;
15205
+ }
15206
+ @container (max-width: 6rem) {
15207
+ .boff-explore-shell .boff-explore-shell-title-text { font-size: 0.75rem; line-height: 1rem; }
15208
+ }
15209
+ `;
14956
15210
  function stateRecord() {
14957
15211
  const state = window.history.state;
14958
15212
  return state !== null && typeof state === "object" ? state : {};
@@ -15051,6 +15305,9 @@ function ExplorePanel({
15051
15305
  id = "boff-explore-panel",
15052
15306
  productSlug,
15053
15307
  locale,
15308
+ scope,
15309
+ productName,
15310
+ examplePrompts,
15054
15311
  onNavigate,
15055
15312
  welcomeTitle,
15056
15313
  welcomeBody,
@@ -15064,6 +15321,17 @@ function ExplorePanel({
15064
15321
  const resolvedLocale = resolveExploreLocale(locale);
15065
15322
  const T = useMemo(() => exploreStrings(resolvedLocale), [resolvedLocale]);
15066
15323
  const rtl = isRtlLocale(resolvedLocale);
15324
+ const catalogProducts = useContext(ExploreCatalogProductsContext);
15325
+ const pinnedSlug = pinnedProductSlug(scope, productSlug);
15326
+ const title = useMemo(() => {
15327
+ if (pinnedSlug === null) return T.panelTitle;
15328
+ const name = productNameFor(
15329
+ catalogProducts ?? ECOSYSTEM_PRODUCTS,
15330
+ pinnedSlug,
15331
+ productName
15332
+ );
15333
+ return name === null ? T.panelTitle : fill(T.panelTitleProduct, { product: name });
15334
+ }, [T, catalogProducts, pinnedSlug, productName]);
15067
15335
  const uid = useId();
15068
15336
  const titleId = `${uid}-title`;
15069
15337
  const chatTabId = `${uid}-chat-tab`;
@@ -15409,13 +15677,21 @@ function ExplorePanel({
15409
15677
  onKeyDown,
15410
15678
  children: [
15411
15679
  /* @__PURE__ */ jsx("style", { children: PANEL_CSS }),
15680
+ pinnedSlug === null ? null : /* @__PURE__ */ jsx("style", { dangerouslySetInnerHTML: { __html: PRODUCT_TITLE_CSS } }),
15412
15681
  /* @__PURE__ */ jsxs("div", { className: "flex shrink-0 items-center gap-2 border-b border-border px-3 py-2", children: [
15413
- /* @__PURE__ */ jsx(
15682
+ pinnedSlug === null ? /* @__PURE__ */ jsx(
15414
15683
  "span",
15415
15684
  {
15416
15685
  id: titleId,
15417
15686
  className: "min-w-0 flex-1 truncate text-sm font-semibold",
15418
- children: T.panelTitle
15687
+ children: title
15688
+ }
15689
+ ) : /* @__PURE__ */ jsx(
15690
+ "span",
15691
+ {
15692
+ id: titleId,
15693
+ className: "boff-explore-shell-title min-w-0 flex-1",
15694
+ children: /* @__PURE__ */ jsx("span", { className: "boff-explore-shell-title-text text-sm font-semibold", children: title })
15419
15695
  }
15420
15696
  ),
15421
15697
  avatar ? /* @__PURE__ */ jsx(
@@ -15494,6 +15770,9 @@ function ExplorePanel({
15494
15770
  active: open && view === "chat",
15495
15771
  productSlug,
15496
15772
  locale,
15773
+ scope,
15774
+ productName,
15775
+ examplePrompts,
15497
15776
  onNavigate: onNavigate ? navigate : void 0,
15498
15777
  welcomeTitle,
15499
15778
  welcomeBody,