@chrryai/chrry 1.4.51 → 1.4.52

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.js CHANGED
@@ -1898,7 +1898,7 @@ var init_utils = __esm({
1898
1898
  };
1899
1899
  isFirefox = typeof navigator !== "undefined" && navigator?.userAgent?.includes("Firefox");
1900
1900
  config = getSiteConfig(getClientHostname());
1901
- VERSION = config.version || "1.4.51";
1901
+ VERSION = config.version || "1.4.52";
1902
1902
  getSlugFromPathname = (path) => {
1903
1903
  return getAppAndStoreSlugs(path, {
1904
1904
  defaultAppSlug: config.slug,
@@ -6687,6 +6687,7 @@ var init_en = __esm({
6687
6687
  cost_transparency_title: "\u{1F4B0} Complete Cost Transparency",
6688
6688
  credits_left_one: "{{count}} Credit left",
6689
6689
  credits_left_other: "{{count}} Credits left",
6690
+ credit_left: "{{count}} left",
6690
6691
  credits_one: "{{count}} Credit",
6691
6692
  credits_other: "{{count}} Credits",
6692
6693
  credits_plural: "{{count}} credits",
@@ -9274,7 +9275,8 @@ var init_ja = __esm({
9274
9275
  "Generate clear, comprehensive documentation and comments. Sushi explains complex code in human-readable language.": "\u660E\u78BA\u3067\u5305\u62EC\u7684\u306A\u30C9\u30AD\u30E5\u30E1\u30F3\u30C6\u30FC\u30B7\u30E7\u30F3\u3068\u30B3\u30E1\u30F3\u30C8\u3092\u751F\u6210\u3057\u307E\u3059\u3002Vex\u306F\u4EBA\u9593\u304C\u8AAD\u3081\u308B\u8A00\u8A9E\u3067\u8907\u96D1\u306A\u30B3\u30FC\u30C9\u3092\u8AAC\u660E\u3057\u307E\u3059\u3002",
9275
9276
  "Create apps in your store with unlimited collaboration": "\u7121\u5236\u9650\u306E\u30B3\u30E9\u30DC\u30EC\u30FC\u30B7\u30E7\u30F3\u3067\u30B9\u30C8\u30A2\u5185\u306B\u30A2\u30D7\u30EA\u3092\u4F5C\u6210",
9276
9277
  "Create custom AI apps with team collaboration": "\u30C1\u30FC\u30E0\u5354\u529B\u3067\u30AB\u30B9\u30BF\u30E0AI\u30A2\u30D7\u30EA\u3092\u4F5C\u6210",
9277
- "Unlimited stores with nested apps": "\u30CD\u30B9\u30C8\u3055\u308C\u305F\u30A2\u30D7\u30EA\u3092\u6301\u3064\u7121\u5236\u9650\u306E\u30B9\u30C8\u30A2"
9278
+ "Unlimited stores with nested apps": "\u30CD\u30B9\u30C8\u3055\u308C\u305F\u30A2\u30D7\u30EA\u3092\u6301\u3064\u7121\u5236\u9650\u306E\u30B9\u30C8\u30A2",
9279
+ credit_left: "\u6B8B\u308A{{count}}\u56DE"
9278
9280
  };
9279
9281
  }
9280
9282
  });
@@ -10969,7 +10971,8 @@ var init_es = __esm({
10969
10971
  "Generate clear, comprehensive documentation and comments. Sushi explains complex code in human-readable language.": "Genere documentaci\xF3n y comentarios claros y completos. Vex explica el c\xF3digo complejo en un lenguaje comprensible para los humanos.",
10970
10972
  "Create apps in your store with unlimited collaboration": "Crea aplicaciones en tu tienda con colaboraci\xF3n ilimitada",
10971
10973
  "Create custom AI apps with team collaboration": "Crea aplicaciones de IA personalizadas con colaboraci\xF3n de equipo",
10972
- "Unlimited stores with nested apps": "Tiendas ilimitadas con aplicaciones anidadas"
10974
+ "Unlimited stores with nested apps": "Tiendas ilimitadas con aplicaciones anidadas",
10975
+ credit_left: "{{count}} restante"
10973
10976
  };
10974
10977
  }
10975
10978
  });
@@ -12664,7 +12667,8 @@ var init_pt = __esm({
12664
12667
  "Generate clear, comprehensive documentation and comments. Sushi explains complex code in human-readable language.": "Gere documenta\xE7\xE3o e coment\xE1rios claros e abrangentes. Vex explica c\xF3digo complexo em linguagem compreens\xEDvel por humanos.",
12665
12668
  "Create apps in your store with unlimited collaboration": "Crie aplicativos na sua loja com colabora\xE7\xE3o ilimitada",
12666
12669
  "Create custom AI apps with team collaboration": "Crie aplicativos de IA personalizados com colabora\xE7\xE3o em equipe",
12667
- "Unlimited stores with nested apps": "Lojas ilimitadas com aplicativos aninhados"
12670
+ "Unlimited stores with nested apps": "Lojas ilimitadas com aplicativos aninhados",
12671
+ credit_left: "{{count}} restantes"
12668
12672
  };
12669
12673
  }
12670
12674
  });
@@ -14360,7 +14364,8 @@ var init_de = __esm({
14360
14364
  "Generate clear, comprehensive documentation and comments. Sushi explains complex code in human-readable language.": "Erstellen Sie klare, umfassende Dokumentationen und Kommentare. Vex erkl\xE4rt komplexen Code in menschenlesbarer Sprache.",
14361
14365
  "Create apps in your store with unlimited collaboration": "Erstellen Sie Apps in Ihrem Store mit unbegrenzter Zusammenarbeit",
14362
14366
  "Create custom AI apps with team collaboration": "Erstellen Sie benutzerdefinierte AI-Apps mit Teamzusammenarbeit",
14363
- "Unlimited stores with nested apps": "Unbegrenzte Stores mit verschachtelten Apps"
14367
+ "Unlimited stores with nested apps": "Unbegrenzte Stores mit verschachtelten Apps",
14368
+ credit_left: "{{count}} \xFCbrig"
14364
14369
  };
14365
14370
  }
14366
14371
  });
@@ -16055,7 +16060,8 @@ var init_fr = __esm({
16055
16060
  "Generate clear, comprehensive documentation and comments. Sushi explains complex code in human-readable language.": "G\xE9n\xE9rez une documentation et des commentaires clairs et complets. Vex explique le code complexe dans un langage compr\xE9hensible par l'homme.",
16056
16061
  "Create apps in your store with unlimited collaboration": "Cr\xE9ez des applications dans votre boutique avec une collaboration illimit\xE9e",
16057
16062
  "Create custom AI apps with team collaboration": "Cr\xE9ez des applications IA personnalis\xE9es avec la collaboration de l'\xE9quipe",
16058
- "Unlimited stores with nested apps": "Boutiques illimit\xE9es avec des applications imbriqu\xE9es"
16063
+ "Unlimited stores with nested apps": "Boutiques illimit\xE9es avec des applications imbriqu\xE9es",
16064
+ credit_left: "{{count}} restant"
16059
16065
  };
16060
16066
  }
16061
16067
  });
@@ -17750,7 +17756,8 @@ var init_ko = __esm({
17750
17756
  "Generate clear, comprehensive documentation and comments. Sushi explains complex code in human-readable language.": "\uBA85\uD655\uD558\uACE0 \uD3EC\uAD04\uC801\uC778 \uBB38\uC11C\uC640 \uC8FC\uC11D\uC744 \uC0DD\uC131\uD569\uB2C8\uB2E4. Sushi\uB294 \uBCF5\uC7A1\uD55C \uCF54\uB4DC\uB97C \uC0AC\uB78C\uC774 \uC77D\uC744 \uC218 \uC788\uB294 \uC5B8\uC5B4\uB85C \uC124\uBA85\uD569\uB2C8\uB2E4.",
17751
17757
  "Create apps in your store with unlimited collaboration": "\uBB34\uC81C\uD55C \uD611\uC5C5\uC73C\uB85C \uC2A4\uD1A0\uC5B4\uC5D0 \uC571\uC744 \uB9CC\uB4DC\uC138\uC694",
17752
17758
  "Create custom AI apps with team collaboration": "\uD300 \uD611\uC5C5\uC73C\uB85C \uB9DE\uCDA4\uD615 AI \uC571\uC744 \uB9CC\uB4DC\uC138\uC694",
17753
- "Unlimited stores with nested apps": "\uC911\uCCA9\uB41C \uC571\uC774 \uC788\uB294 \uBB34\uC81C\uD55C \uC2A4\uD1A0\uC5B4"
17759
+ "Unlimited stores with nested apps": "\uC911\uCCA9\uB41C \uC571\uC774 \uC788\uB294 \uBB34\uC81C\uD55C \uC2A4\uD1A0\uC5B4",
17760
+ credit_left: "{{count}} \uB0A8\uC74C"
17754
17761
  };
17755
17762
  }
17756
17763
  });
@@ -19446,7 +19453,8 @@ var init_zh = __esm({
19446
19453
  "Generate clear, comprehensive documentation and comments. Sushi explains complex code in human-readable language.": "\u751F\u6210\u6E05\u6670\u3001\u5168\u9762\u7684\u6587\u6863\u548C\u6CE8\u91CA\u3002Vex \u7528\u4EBA\u7C7B\u53EF\u8BFB\u7684\u8BED\u8A00\u89E3\u91CA\u590D\u6742\u7684\u4EE3\u7801\u3002",
19447
19454
  "Create apps in your store with unlimited collaboration": "\u5728\u60A8\u7684\u5546\u5E97\u4E2D\u521B\u5EFA\u5E94\u7528\uFF0C\u65E0\u9650\u5236\u5730\u8FDB\u884C\u534F\u4F5C",
19448
19455
  "Create custom AI apps with team collaboration": "\u4E0E\u56E2\u961F\u534F\u4F5C\u521B\u5EFA\u5B9A\u5236\u7684AI\u5E94\u7528",
19449
- "Unlimited stores with nested apps": "\u65E0\u9650\u5236\u7684\u5546\u5E97\u4E0E\u5D4C\u5957\u5E94\u7528"
19456
+ "Unlimited stores with nested apps": "\u65E0\u9650\u5236\u7684\u5546\u5E97\u4E0E\u5D4C\u5957\u5E94\u7528",
19457
+ credit_left: "\u5269\u4F59{{count}}"
19450
19458
  };
19451
19459
  }
19452
19460
  });
@@ -21142,7 +21150,8 @@ var init_nl = __esm({
21142
21150
  "Generate clear, comprehensive documentation and comments. Sushi explains complex code in human-readable language.": "Genereer duidelijke, uitgebreide documentatie en opmerkingen. Sushi legt complexe code uit in menselijk leesbare taal.",
21143
21151
  "Create apps in your store with unlimited collaboration": "Maak apps in uw winkel met onbeperkte samenwerking",
21144
21152
  "Create custom AI apps with team collaboration": "Maak aangepaste AI-apps met team samenwerking",
21145
- "Unlimited stores with nested apps": "Onbeperkte winkels met geneste apps"
21153
+ "Unlimited stores with nested apps": "Onbeperkte winkels met geneste apps",
21154
+ credit_left: "{{count}} over"
21146
21155
  };
21147
21156
  }
21148
21157
  });
@@ -22837,7 +22846,8 @@ var init_tr = __esm({
22837
22846
  "Generate clear, comprehensive documentation and comments. Sushi explains complex code in human-readable language.": "A\xE7\u0131k, kapsaml\u0131 belgeler ve yorumlar olu\u015Fturun. Sushi, karma\u015F\u0131k kodu insanlar\u0131n okuyabilece\u011Fi dilde a\xE7\u0131klar.",
22838
22847
  "Create apps in your store with unlimited collaboration": "Ma\u011Fazan\u0131zda s\u0131n\u0131rs\u0131z i\u015Fbirli\u011Fi ile uygulamalar olu\u015Fturun",
22839
22848
  "Create custom AI apps with team collaboration": "Tak\u0131m i\u015Fbirli\u011Fi ile \xF6zel AI uygulamalar\u0131 olu\u015Fturun",
22840
- "Unlimited stores with nested apps": "\u0130\xE7 i\xE7e uygulamalarla s\u0131n\u0131rs\u0131z ma\u011Faza"
22849
+ "Unlimited stores with nested apps": "\u0130\xE7 i\xE7e uygulamalarla s\u0131n\u0131rs\u0131z ma\u011Faza",
22850
+ credit_left: "{{count}} kald\u0131"
22841
22851
  };
22842
22852
  }
22843
22853
  });
@@ -24045,7 +24055,7 @@ function DataProvider({ children, ...rest }) {
24045
24055
  const [instructions, setInstructions] = (0, import_react19.useState)([]);
24046
24056
  const [affiliateStats, setAffiliateStats] = (0, import_react19.useState)(null);
24047
24057
  const [loadingAffiliateStats, setLoadingAffiliateStats] = (0, import_react19.useState)(false);
24048
- const VERSION4 = "1.4.51";
24058
+ const VERSION4 = "1.4.52";
24049
24059
  const [weather, setWeather] = useLocalStorage2("weather", user?.weather || guest?.weather || void 0);
24050
24060
  const {
24051
24061
  API_URL: API_URL2,
@@ -36930,7 +36940,7 @@ function Chat({
36930
36940
  threadIdRef.current = id;
36931
36941
  };
36932
36942
  const { captureException } = useError();
36933
- const { device, os, isStandalone: isStandalone2, isExtension: isExtension2 } = usePlatform();
36943
+ const { device, os, isStandalone: isStandalone2, isExtension: isExtension2, viewPortWidth } = usePlatform();
36934
36944
  const inputRef = (0, import_react57.useRef)(text2 || "");
36935
36945
  const {
36936
36946
  addHapticFeedback,
@@ -38962,9 +38972,18 @@ Return ONLY ONE WORD: ${apps.map((a) => a.name).join(", ")}, or "none"`;
38962
38972
  /* @__PURE__ */ React.createElement(icons_exports.LogIn, { color: "var(--accent-6)", size: 14 }),
38963
38973
  " ",
38964
38974
  t6("Login")
38965
- )) : /* @__PURE__ */ React.createElement(React.Fragment, null, agent.state === "active" && /* @__PURE__ */ React.createElement(Span, { style: styles4.stateLabelContainer.style }, /* @__PURE__ */ React.createElement(Span, { style: styles4.creditCost.style }, /* @__PURE__ */ React.createElement(icons_exports.Coins, { size: 15, color: "var(--accent-1)" }), t6("credits", {
38966
- count: agent.creditCost
38967
- })), /* @__PURE__ */ React.createElement(Span, { style: styles4.stateLabel.style }, /* @__PURE__ */ React.createElement(
38975
+ )) : /* @__PURE__ */ React.createElement(React.Fragment, null, agent.state === "active" && /* @__PURE__ */ React.createElement(Span, { style: styles4.stateLabelContainer.style }, /* @__PURE__ */ React.createElement(
38976
+ Span,
38977
+ {
38978
+ style: {
38979
+ ...styles4.creditCost.style
38980
+ }
38981
+ },
38982
+ /* @__PURE__ */ React.createElement(icons_exports.Coins, { size: 15, color: "var(--accent-1)" }),
38983
+ t6("credits", {
38984
+ count: agent.creditCost
38985
+ })
38986
+ ), /* @__PURE__ */ React.createElement(Span, { style: styles4.stateLabel.style }, /* @__PURE__ */ React.createElement(
38968
38987
  icons_exports.CircleCheck,
38969
38988
  {
38970
38989
  color: agent.name === selectedAgent?.name ? "var(--accent-4)" : "var(--accent-5)",
@@ -39794,48 +39813,58 @@ Return ONLY ONE WORD: ${apps.map((a) => a.name).join(", ")}, or "none"`;
39794
39813
  ...isStandalone2 ? styles4.standalone.style : void 0
39795
39814
  }
39796
39815
  },
39797
- /* @__PURE__ */ React.createElement(Span, { style: styles4.creditCost.style }, !hitHourlyLimit && /* @__PURE__ */ React.createElement(icons_exports.Coins, { color: "var(--accent-1)", size: 16 }), creditEstimate && creditEstimate.multiplier > 1 ? /* @__PURE__ */ React.createElement(
39798
- Span,
39799
- {
39800
- title: t6("task_detected_tooltip", {
39801
- taskType: t6(`task_type_${creditEstimate.taskType}`),
39802
- multiplier: creditEstimate.multiplier,
39803
- warning: creditEstimate.warning || ""
39804
- }),
39805
- style: { fontSize: "0.9em", opacity: 0.8 }
39806
- },
39807
- "~",
39808
- t6("credits", {
39809
- count: Math.ceil(
39810
- creditEstimate.multiplier * (selectedAgent?.creditCost || 1)
39811
- )
39812
- })
39813
- ) : hitHourlyLimit && !threadId ? /* @__PURE__ */ React.createElement(
39816
+ /* @__PURE__ */ React.createElement(
39814
39817
  Span,
39815
39818
  {
39816
- "data-testid": "hourly-limit-info",
39817
- "data-hourly-left": hourlyUsageLeft,
39818
- style: styles4.hourlyLimit.style
39819
+ style: {
39820
+ ...styles4.creditCost.style,
39821
+ display: viewPortWidth > 390 ? "flex" : "none"
39822
+ }
39819
39823
  },
39820
- !user?.subscription || !guest?.subscription ? /* @__PURE__ */ React.createElement(
39821
- Button,
39824
+ !hitHourlyLimit && /* @__PURE__ */ React.createElement(icons_exports.Coins, { color: "var(--accent-1)", size: 16 }),
39825
+ creditEstimate && creditEstimate.multiplier > 1 ? /* @__PURE__ */ React.createElement(
39826
+ Span,
39822
39827
  {
39823
- onClick: () => {
39824
- addHapticFeedback();
39825
- addParams({ subscribe: "true" });
39826
- },
39827
- className: "link",
39828
- style: utilities.link.style
39828
+ title: t6("task_detected_tooltip", {
39829
+ taskType: t6(`task_type_${creditEstimate.taskType}`),
39830
+ multiplier: creditEstimate.multiplier,
39831
+ warning: creditEstimate.warning || ""
39832
+ }),
39833
+ style: { fontSize: "0.9em", opacity: 0.8 }
39829
39834
  },
39830
- /* @__PURE__ */ React.createElement(icons_exports.ClockPlus, { size: 16 })
39831
- ) : /* @__PURE__ */ React.createElement(icons_exports.Clock, { color: "var(--accent-1)", size: 16 }),
39832
- /* @__PURE__ */ React.createElement(Span, { style: { fontSize: "1rem" } }, "\u{1F605}"),
39833
- user?.messagesLastHour || guest?.messagesLastHour || 0,
39834
- "/",
39835
- hourlyLimit
39836
- ) : selectedAgent ? /* @__PURE__ */ React.createElement(React.Fragment, null, t6("credits", {
39837
- count: (selectedAgent?.creditCost || 1) + (debateAgent?.creditCost || 0)
39838
- })) : t6("Doesn't cost credits")),
39835
+ "~",
39836
+ t6("credits", {
39837
+ count: Math.ceil(
39838
+ creditEstimate.multiplier * (selectedAgent?.creditCost || 1)
39839
+ )
39840
+ })
39841
+ ) : hitHourlyLimit && !threadId ? /* @__PURE__ */ React.createElement(
39842
+ Span,
39843
+ {
39844
+ "data-testid": "hourly-limit-info",
39845
+ "data-hourly-left": hourlyUsageLeft,
39846
+ style: styles4.hourlyLimit.style
39847
+ },
39848
+ !user?.subscription || !guest?.subscription ? /* @__PURE__ */ React.createElement(
39849
+ Button,
39850
+ {
39851
+ onClick: () => {
39852
+ addHapticFeedback();
39853
+ addParams({ subscribe: "true" });
39854
+ },
39855
+ className: "link",
39856
+ style: utilities.link.style
39857
+ },
39858
+ /* @__PURE__ */ React.createElement(icons_exports.ClockPlus, { size: 16 })
39859
+ ) : /* @__PURE__ */ React.createElement(icons_exports.Clock, { color: "var(--accent-1)", size: 16 }),
39860
+ /* @__PURE__ */ React.createElement(Span, { style: { fontSize: "1rem" } }, "\u{1F605}"),
39861
+ user?.messagesLastHour || guest?.messagesLastHour || 0,
39862
+ "/",
39863
+ hourlyLimit
39864
+ ) : selectedAgent ? /* @__PURE__ */ React.createElement(React.Fragment, null, t6("credits", {
39865
+ count: (selectedAgent?.creditCost || 1) + (debateAgent?.creditCost || 0)
39866
+ })) : t6("Doesn't cost credits")
39867
+ ),
39839
39868
  selectedAgent && /* @__PURE__ */ React.createElement(React.Fragment, null, creditsLeft !== void 0 ? /* @__PURE__ */ React.createElement(React.Fragment, null, remainingMs ? /* @__PURE__ */ React.createElement(
39840
39869
  Span,
39841
39870
  {
@@ -39861,7 +39890,7 @@ Return ONLY ONE WORD: ${apps.map((a) => a.name).join(", ")}, or "none"`;
39861
39890
  color: creditsLeft === 0 ? "var(--accent-0)" : void 0
39862
39891
  }
39863
39892
  },
39864
- creditsLeft > OWNER_CREDITS / 10 ? t6("Unlimited credits") : t6("credits_left", {
39893
+ creditsLeft > OWNER_CREDITS / 10 ? t6("Unlimited credits") : t6("credit_left", {
39865
39894
  count: creditsLeft
39866
39895
  })
39867
39896
  )