@popcraft/cli 0.48.0 → 0.48.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.
Files changed (2) hide show
  1. package/dist/popcraft.mjs +54 -39
  2. package/package.json +2 -2
package/dist/popcraft.mjs CHANGED
@@ -1196,7 +1196,7 @@ function operations(spec = openapi) {
1196
1196
  }
1197
1197
  async function call(target2, method, path, opts = {}) {
1198
1198
  const qs = new URLSearchParams(opts.query ?? {}).toString();
1199
- const headers = { "user-agent": `popcraft-cli/${"0.48.0"}`, ...opts.headers };
1199
+ const headers = { "user-agent": `popcraft-cli/${"0.48.1"}`, ...opts.headers };
1200
1200
  if (target2.token) headers.authorization = `Bearer ${target2.token}`;
1201
1201
  if (opts.contentType) headers["content-type"] = opts.contentType;
1202
1202
  try {
@@ -33943,7 +33943,6 @@ var init_en2 = __esm({
33943
33943
  "homeTeam.viewListing": "View its marketplace listing",
33944
33944
  "homeTemplates.browseAll": "Browse all templates",
33945
33945
  "homeTemplates.communityBody": "Templates people made and shared. Tap one to start from a copy.",
33946
- "homeTemplates.couldNotLoad": "Templates couldn't load. Browse all templates to try again.",
33947
33946
  "homeTemplates.fromTheCommunity": "From the community",
33948
33947
  "homeTemplates.loading": "Loading templates\u2026",
33949
33948
  "homeTemplates.noneInThisGroup": "No templates in this group yet.",
@@ -34615,6 +34614,12 @@ var init_en2 = __esm({
34615
34614
  "objectActions.brushPartsOfThePicture": "Brush parts of the picture away \u2014 non-destructive, and you can paint them back",
34616
34615
  "objectActions.crop": "Crop",
34617
34616
  "objectActions.erase": "Erase",
34617
+ "offlineNotice.blankCanvas": "Start with a blank canvas",
34618
+ "offlineNotice.offlineBody": "This needs a connection. It loads by itself as soon as you\u2019re back online.",
34619
+ "offlineNotice.offlineTitle": "You\u2019re offline",
34620
+ "offlineNotice.retry": "Retry",
34621
+ "offlineNotice.unreachableBody": "Check your connection and try again.",
34622
+ "offlineNotice.unreachableTitle": "Couldn\u2019t reach PopCraft",
34618
34623
  "ownerPicker.loadingWorkspaces": "Loading workspaces",
34619
34624
  "ownerPicker.owner": "Owner: {name}",
34620
34625
  "pagePreset:a0": "A0",
@@ -38730,7 +38735,6 @@ var require_es = __commonJS({
38730
38735
  "homeTeam.viewListing": "Ver su listado en el marketplace",
38731
38736
  "homeTemplates.browseAll": "Explorar todas las plantillas",
38732
38737
  "homeTemplates.communityBody": "Plantillas creadas y compartidas por la gente. Toca una para empezar desde una copia.",
38733
- "homeTemplates.couldNotLoad": "No se pudieron cargar las plantillas. Explora todas las plantillas para intentarlo de nuevo.",
38734
38738
  "homeTemplates.fromTheCommunity": "De la comunidad",
38735
38739
  "homeTemplates.loading": "Cargando plantillas\u2026",
38736
38740
  "homeTemplates.noneInThisGroup": "A\xFAn no hay plantillas en este grupo.",
@@ -43506,7 +43510,6 @@ var require_fr = __commonJS({
43506
43510
  "homeTeam.viewListing": "Voir sa fiche sur la place de march\xE9",
43507
43511
  "homeTemplates.browseAll": "Parcourir tous les mod\xE8les",
43508
43512
  "homeTemplates.communityBody": "Mod\xE8les cr\xE9\xE9s et partag\xE9s par la communaut\xE9. Touchez-en un pour commencer \xE0 partir d\u2019une copie.",
43509
- "homeTemplates.couldNotLoad": "Impossible de charger les mod\xE8les. Parcourez tous les mod\xE8les pour r\xE9essayer.",
43510
43513
  "homeTemplates.fromTheCommunity": "De la communaut\xE9",
43511
43514
  "homeTemplates.loading": "Chargement des mod\xE8les\u2026",
43512
43515
  "homeTemplates.noneInThisGroup": "Aucun mod\xE8le dans ce groupe pour l\u2019instant.",
@@ -48282,7 +48285,6 @@ var require_de = __commonJS({
48282
48285
  "homeTeam.viewListing": "Marktplatz-Eintrag ansehen",
48283
48286
  "homeTemplates.browseAll": "Alle Vorlagen durchsuchen",
48284
48287
  "homeTemplates.communityBody": "Vorlagen, die andere erstellt und geteilt haben. Tippe auf eine, um mit einer Kopie zu beginnen.",
48285
- "homeTemplates.couldNotLoad": "Vorlagen konnten nicht geladen werden. Durchsuche alle Vorlagen, um es erneut zu versuchen.",
48286
48288
  "homeTemplates.fromTheCommunity": "Aus der Community",
48287
48289
  "homeTemplates.loading": "Vorlagen werden geladen\u2026",
48288
48290
  "homeTemplates.noneInThisGroup": "Noch keine Vorlagen in dieser Gruppe.",
@@ -53058,7 +53060,6 @@ var require_it = __commonJS({
53058
53060
  "homeTeam.viewListing": "Visualizza la sua inserzione nel marketplace",
53059
53061
  "homeTemplates.browseAll": "Sfoglia tutti i modelli",
53060
53062
  "homeTemplates.communityBody": "Modelli creati e condivisi dalla community. Toccane uno per iniziare da una copia.",
53061
- "homeTemplates.couldNotLoad": "Impossibile caricare i modelli. Sfoglia tutti i modelli per riprovare.",
53062
53063
  "homeTemplates.fromTheCommunity": "Dalla community",
53063
53064
  "homeTemplates.loading": "Caricamento modelli\u2026",
53064
53065
  "homeTemplates.noneInThisGroup": "Nessun modello in questo gruppo per ora.",
@@ -57834,7 +57835,6 @@ var require_pt_BR = __commonJS({
57834
57835
  "homeTeam.viewListing": "Ver sua listagem no marketplace",
57835
57836
  "homeTemplates.browseAll": "Procurar todos os modelos",
57836
57837
  "homeTemplates.communityBody": "Modelos criados e compartilhados por pessoas. Toque em um para come\xE7ar a partir de uma c\xF3pia.",
57837
- "homeTemplates.couldNotLoad": "N\xE3o foi poss\xEDvel carregar os modelos. Procure todos os modelos para tentar novamente.",
57838
57838
  "homeTemplates.fromTheCommunity": "Da comunidade",
57839
57839
  "homeTemplates.loading": "Carregando modelos\u2026",
57840
57840
  "homeTemplates.noneInThisGroup": "Nenhum modelo neste grupo ainda.",
@@ -62610,7 +62610,6 @@ var require_ja = __commonJS({
62610
62610
  "homeTeam.viewListing": "\u30DE\u30FC\u30B1\u30C3\u30C8\u30D7\u30EC\u30A4\u30B9\u306E\u63B2\u8F09\u60C5\u5831\u3092\u8868\u793A",
62611
62611
  "homeTemplates.browseAll": "\u3059\u3079\u3066\u306E\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u53C2\u7167",
62612
62612
  "homeTemplates.communityBody": "\u4EBA\u3005\u304C\u4F5C\u6210\u30FB\u5171\u6709\u3057\u305F\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3002\u30BF\u30C3\u30D7\u3057\u3066\u30B3\u30D4\u30FC\u304B\u3089\u958B\u59CB\u3057\u307E\u3059\u3002",
62613
- "homeTemplates.couldNotLoad": "\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u3059\u3079\u3066\u306E\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u53C2\u7167\u3057\u3066\u518D\u8A66\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
62614
62613
  "homeTemplates.fromTheCommunity": "\u30B3\u30DF\u30E5\u30CB\u30C6\u30A3\u304B\u3089",
62615
62614
  "homeTemplates.loading": "\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u8AAD\u307F\u8FBC\u307F\u4E2D\u2026",
62616
62615
  "homeTemplates.noneInThisGroup": "\u3053\u306E\u30B0\u30EB\u30FC\u30D7\u306B\u306F\u307E\u3060\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u304C\u3042\u308A\u307E\u305B\u3093\u3002",
@@ -67386,7 +67385,6 @@ var require_ko = __commonJS({
67386
67385
  "homeTeam.viewListing": "\uB9C8\uCF13\uD50C\uB808\uC774\uC2A4 \uBAA9\uB85D \uBCF4\uAE30",
67387
67386
  "homeTemplates.browseAll": "\uBAA8\uB4E0 \uD15C\uD50C\uB9BF \uCC3E\uC544\uBCF4\uAE30",
67388
67387
  "homeTemplates.communityBody": "\uC0AC\uB78C\uB4E4\uC774 \uB9CC\uB4E4\uACE0 \uACF5\uC720\uD55C \uD15C\uD50C\uB9BF\uC785\uB2C8\uB2E4. \uD0ED\uD558\uC5EC \uC0AC\uBCF8\uC73C\uB85C \uC2DC\uC791\uD558\uC138\uC694.",
67389
- "homeTemplates.couldNotLoad": "\uD15C\uD50C\uB9BF\uC744 \uB85C\uB4DC\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uBAA8\uB4E0 \uD15C\uD50C\uB9BF\uC744 \uCC3E\uC544 \uB2E4\uC2DC \uC2DC\uB3C4\uD558\uC138\uC694.",
67390
67388
  "homeTemplates.fromTheCommunity": "\uCEE4\uBBA4\uB2C8\uD2F0\uC5D0\uC11C",
67391
67389
  "homeTemplates.loading": "\uD15C\uD50C\uB9BF \uB85C\uB4DC \uC911\u2026",
67392
67390
  "homeTemplates.noneInThisGroup": "\uC774 \uADF8\uB8F9\uC5D0\uB294 \uC544\uC9C1 \uD15C\uD50C\uB9BF\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",
@@ -72162,7 +72160,6 @@ var require_zh_CN = __commonJS({
72162
72160
  "homeTeam.viewListing": "\u67E5\u770B\u5176\u5E02\u573A\u5217\u8868",
72163
72161
  "homeTemplates.browseAll": "\u6D4F\u89C8\u6240\u6709\u6A21\u677F",
72164
72162
  "homeTemplates.communityBody": "\u5927\u5BB6\u5236\u4F5C\u5E76\u5206\u4EAB\u7684\u6A21\u677F\u3002\u8F7B\u70B9\u4E00\u4E2A\u5373\u53EF\u4ECE\u526F\u672C\u5F00\u59CB\u3002",
72165
- "homeTemplates.couldNotLoad": "\u6A21\u677F\u65E0\u6CD5\u52A0\u8F7D\u3002\u8BF7\u6D4F\u89C8\u6240\u6709\u6A21\u677F\u91CD\u8BD5\u3002",
72166
72163
  "homeTemplates.fromTheCommunity": "\u6765\u81EA\u793E\u533A",
72167
72164
  "homeTemplates.loading": "\u6B63\u5728\u52A0\u8F7D\u6A21\u677F\u2026",
72168
72165
  "homeTemplates.noneInThisGroup": "\u6B64\u7EC4\u4E2D\u6682\u65E0\u6A21\u677F\u3002",
@@ -76938,7 +76935,6 @@ var require_zh_TW = __commonJS({
76938
76935
  "homeTeam.viewListing": "\u67E5\u770B\u5176\u5E02\u96C6\u4E0A\u67B6\u8CC7\u8A0A",
76939
76936
  "homeTemplates.browseAll": "\u700F\u89BD\u6240\u6709\u7BC4\u672C",
76940
76937
  "homeTemplates.communityBody": "\u4EBA\u5011\u88FD\u4F5C\u4E26\u5206\u4EAB\u7684\u7BC4\u672C\u3002\u8F15\u9EDE\u4E00\u500B\u5373\u53EF\u5F9E\u526F\u672C\u958B\u59CB\u3002",
76941
- "homeTemplates.couldNotLoad": "\u7BC4\u672C\u7121\u6CD5\u8F09\u5165\u3002\u700F\u89BD\u6240\u6709\u7BC4\u672C\u4EE5\u91CD\u8A66\u3002",
76942
76938
  "homeTemplates.fromTheCommunity": "\u4F86\u81EA\u793E\u7FA4",
76943
76939
  "homeTemplates.loading": "\u6B63\u5728\u8F09\u5165\u7BC4\u672C\u2026",
76944
76940
  "homeTemplates.noneInThisGroup": "\u6B64\u7FA4\u7D44\u4E2D\u5C1A\u7121\u7BC4\u672C\u3002",
@@ -81714,7 +81710,6 @@ var require_ru = __commonJS({
81714
81710
  "homeTeam.viewListing": "\u041F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C \u043E\u0431\u044A\u044F\u0432\u043B\u0435\u043D\u0438\u0435 \u043D\u0430 \u043C\u0430\u0440\u043A\u0435\u0442\u043F\u043B\u0435\u0439\u0441\u0435",
81715
81711
  "homeTemplates.browseAll": "\u041F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C \u0432\u0441\u0435 \u0448\u0430\u0431\u043B\u043E\u043D\u044B",
81716
81712
  "homeTemplates.communityBody": "\u0428\u0430\u0431\u043B\u043E\u043D\u044B, \u0441\u043E\u0437\u0434\u0430\u043D\u043D\u044B\u0435 \u0438 \u043E\u043F\u0443\u0431\u043B\u0438\u043A\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u0434\u0440\u0443\u0433\u0438\u043C\u0438 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F\u043C\u0438. \u041D\u0430\u0436\u043C\u0438\u0442\u0435 \u043D\u0430 \u043E\u0434\u0438\u043D, \u0447\u0442\u043E\u0431\u044B \u043D\u0430\u0447\u0430\u0442\u044C \u0441 \u043A\u043E\u043F\u0438\u0438.",
81717
- "homeTemplates.couldNotLoad": "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0448\u0430\u0431\u043B\u043E\u043D\u044B. \u041F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0438\u0442\u0435 \u0432\u0441\u0435 \u0448\u0430\u0431\u043B\u043E\u043D\u044B, \u0447\u0442\u043E\u0431\u044B \u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C \u043F\u043E\u043F\u044B\u0442\u043A\u0443.",
81718
81713
  "homeTemplates.fromTheCommunity": "\u041E\u0442 \u0441\u043E\u043E\u0431\u0449\u0435\u0441\u0442\u0432\u0430",
81719
81714
  "homeTemplates.loading": "\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0448\u0430\u0431\u043B\u043E\u043D\u043E\u0432\u2026",
81720
81715
  "homeTemplates.noneInThisGroup": "\u0412 \u044D\u0442\u043E\u0439 \u0433\u0440\u0443\u043F\u043F\u0435 \u043F\u043E\u043A\u0430 \u043D\u0435\u0442 \u0448\u0430\u0431\u043B\u043E\u043D\u043E\u0432.",
@@ -86490,7 +86485,6 @@ var require_ar = __commonJS({
86490
86485
  "homeTeam.viewListing": "\u0639\u0631\u0636 \u0625\u062F\u0631\u0627\u062C\u0647 \u0641\u064A \u0627\u0644\u0645\u062A\u062C\u0631",
86491
86486
  "homeTemplates.browseAll": "\u062A\u0635\u0641\u062D \u062C\u0645\u064A\u0639 \u0627\u0644\u0642\u0648\u0627\u0644\u0628",
86492
86487
  "homeTemplates.communityBody": "\u0642\u0648\u0627\u0644\u0628 \u0623\u0646\u0634\u0623\u0647\u0627 \u0648\u0634\u0627\u0631\u0643\u0647\u0627 \u0627\u0644\u0622\u062E\u0631\u0648\u0646. \u0627\u0646\u0642\u0631 \u0639\u0644\u0649 \u0623\u062D\u062F\u0647\u0627 \u0644\u0644\u0628\u062F\u0621 \u0645\u0646 \u0646\u0633\u062E\u0629.",
86493
- "homeTemplates.couldNotLoad": "\u062A\u0639\u0630\u0631 \u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u0642\u0648\u0627\u0644\u0628. \u062A\u0635\u0641\u062D \u062C\u0645\u064A\u0639 \u0627\u0644\u0642\u0648\u0627\u0644\u0628 \u0644\u0644\u0645\u062D\u0627\u0648\u0644\u0629 \u0645\u0631\u0629 \u0623\u062E\u0631\u0649.",
86494
86488
  "homeTemplates.fromTheCommunity": "\u0645\u0646 \u0627\u0644\u0645\u062C\u062A\u0645\u0639",
86495
86489
  "homeTemplates.loading": "\u062C\u0627\u0631\u064D \u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u0642\u0648\u0627\u0644\u0628\u2026",
86496
86490
  "homeTemplates.noneInThisGroup": "\u0644\u0627 \u062A\u0648\u062C\u062F \u0642\u0648\u0627\u0644\u0628 \u0641\u064A \u0647\u0630\u0647 \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0629 \u0628\u0639\u062F.",
@@ -91266,7 +91260,6 @@ var require_hi = __commonJS({
91266
91260
  "homeTeam.viewListing": "\u0907\u0938\u0915\u0940 \u092E\u093E\u0930\u094D\u0915\u0947\u091F\u092A\u094D\u0932\u0947\u0938 \u0932\u093F\u0938\u094D\u091F\u093F\u0902\u0917 \u0926\u0947\u0916\u0947\u0902",
91267
91261
  "homeTemplates.browseAll": "\u0938\u092D\u0940 \u091F\u0947\u092E\u094D\u092A\u094D\u0932\u0947\u091F \u092C\u094D\u0930\u093E\u0909\u091C\u093C \u0915\u0930\u0947\u0902",
91268
91262
  "homeTemplates.communityBody": "\u0932\u094B\u0917\u094B\u0902 \u0926\u094D\u0935\u093E\u0930\u093E \u092C\u0928\u093E\u090F \u0914\u0930 \u0938\u093E\u091D\u093E \u0915\u093F\u090F \u0917\u090F \u091F\u0947\u092E\u094D\u092A\u0932\u0947\u091F\u0964 \u0915\u0949\u092A\u0940 \u0938\u0947 \u0936\u0941\u0930\u0942 \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F \u0915\u093F\u0938\u0940 \u090F\u0915 \u092A\u0930 \u091F\u0948\u092A \u0915\u0930\u0947\u0902\u0964",
91269
- "homeTemplates.couldNotLoad": "\u091F\u0947\u092E\u094D\u092A\u094D\u0932\u0947\u091F \u0932\u094B\u0921 \u0928\u0939\u0940\u0902 \u0939\u094B \u0938\u0915\u0947\u0964 \u092B\u093F\u0930 \u0938\u0947 \u092A\u094D\u0930\u092F\u093E\u0938 \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F \u0938\u092D\u0940 \u091F\u0947\u092E\u094D\u092A\u094D\u0932\u0947\u091F \u092C\u094D\u0930\u093E\u0909\u091C\u093C \u0915\u0930\u0947\u0902\u0964",
91270
91263
  "homeTemplates.fromTheCommunity": "\u0938\u092E\u0941\u0926\u093E\u092F \u0938\u0947",
91271
91264
  "homeTemplates.loading": "\u091F\u0947\u092E\u094D\u092A\u094D\u0932\u0947\u091F \u0932\u094B\u0921 \u0939\u094B \u0930\u0939\u0947 \u0939\u0948\u0902\u2026",
91272
91265
  "homeTemplates.noneInThisGroup": "\u0907\u0938 \u0938\u092E\u0942\u0939 \u092E\u0947\u0902 \u0905\u092D\u0940 \u0915\u094B\u0908 \u091F\u0947\u092E\u094D\u092A\u094D\u0932\u0947\u091F \u0928\u0939\u0940\u0902 \u0939\u0948\u0964",
@@ -248070,6 +248063,7 @@ function resyncText(doc2, ids2) {
248070
248063
  var isVirtualId;
248071
248064
  var init_invariants2 = __esm({
248072
248065
  "lib/document/invariants.ts"() {
248066
+ "use strict";
248073
248067
  init_auto_layout();
248074
248068
  init_scene_graph();
248075
248069
  init_text_bounds();
@@ -252537,6 +252531,7 @@ function resizeWindow(doc2, target2, rect) {
252537
252531
  }
252538
252532
  var init_crop = __esm({
252539
252533
  "lib/editor/crop.ts"() {
252534
+ "use strict";
252540
252535
  init_dist_node();
252541
252536
  init_scene_graph();
252542
252537
  init_photo_frames();
@@ -257033,6 +257028,7 @@ function followPeers(peers) {
257033
257028
  var PALETTE, usePresence, awareness, CURSOR_SEND_MS, VIEWPORT_SEND_MS, cursorTimer, pendingCursor, sentCursor, EMOTE_MS, lastFollowCamera;
257034
257029
  var init_presence = __esm({
257035
257030
  "lib/collab/presence.ts"() {
257031
+ "use strict";
257036
257032
  init_esm();
257037
257033
  init_editor_store();
257038
257034
  init_status_announcements();
@@ -262495,6 +262491,29 @@ var init_plugin_store = __esm({
262495
262491
  }
262496
262492
  });
262497
262493
 
262494
+ // lib/client/network.ts
262495
+ function isOnline() {
262496
+ return typeof navigator === "undefined" || navigator.onLine !== false;
262497
+ }
262498
+ function networkSignal(signal, timeoutMs = NETWORK_TIMEOUT_MS) {
262499
+ if (!isOnline()) throw new OfflineError();
262500
+ const deadline = AbortSignal.timeout(timeoutMs);
262501
+ return signal ? AbortSignal.any([signal, deadline]) : deadline;
262502
+ }
262503
+ var import_react3, NETWORK_TIMEOUT_MS, OfflineError;
262504
+ var init_network = __esm({
262505
+ "lib/client/network.ts"() {
262506
+ import_react3 = __toESM(require_react());
262507
+ NETWORK_TIMEOUT_MS = 8e3;
262508
+ OfflineError = class extends Error {
262509
+ constructor() {
262510
+ super("You are offline");
262511
+ this.name = "OfflineError";
262512
+ }
262513
+ };
262514
+ }
262515
+ });
262516
+
262498
262517
  // lib/client/cloud/plan-limit.ts
262499
262518
  var plan_limit_exports = {};
262500
262519
  __export(plan_limit_exports, {
@@ -262579,7 +262598,6 @@ function formatLimit(key5, max3) {
262579
262598
  var formatBytes;
262580
262599
  var init_limits2 = __esm({
262581
262600
  "lib/billing/limits.ts"() {
262582
- "use strict";
262583
262601
  init_format();
262584
262602
  init_plans();
262585
262603
  formatBytes = formatFileSize;
@@ -262814,7 +262832,8 @@ function api(path, init = {}) {
262814
262832
  inFlight.set(path, value3);
262815
262833
  return value3;
262816
262834
  }
262817
- async function request(path, init) {
262835
+ async function request(path, { timeoutMs, ...init }) {
262836
+ if (timeoutMs !== void 0) init = { ...init, signal: networkSignal(init.signal, timeoutMs) };
262818
262837
  const headers = new Headers(init.headers);
262819
262838
  const token = await accessToken();
262820
262839
  if (token) headers.set("authorization", `Bearer ${token}`);
@@ -262842,6 +262861,7 @@ var ApiError, inFlight, fileUrl, meInFlight, provisioned, ME_TTL_MS, cloudApi;
262842
262861
  var init_api4 = __esm({
262843
262862
  "lib/client/cloud/api.ts"() {
262844
262863
  "use strict";
262864
+ init_network();
262845
262865
  init_session();
262846
262866
  init_plan_limit();
262847
262867
  init_purchases();
@@ -263111,6 +263131,7 @@ function planEntryAction({ home }) {
263111
263131
  var STORAGE_KEY2, useHyperyTeam, TEAM_PROMPT_ENABLED, TEAM_PROMPTED_KEY, PROMPTED_KEY, useTeamPrompt, started;
263112
263132
  var init_team = __esm({
263113
263133
  "lib/client/cloud/team.ts"() {
263134
+ "use strict";
263114
263135
  init_esm();
263115
263136
  init_api4();
263116
263137
  init_session();
@@ -273335,10 +273356,10 @@ function loadEntitlements(workspaceId, opts = {}) {
273335
273356
  });
273336
273357
  return value3;
273337
273358
  }
273338
- var import_react3, TTL_MS, cache6, lastResolved, cachedLimits;
273359
+ var import_react4, TTL_MS, cache6, lastResolved, cachedLimits;
273339
273360
  var init_entitlements = __esm({
273340
273361
  "lib/client/cloud/entitlements.ts"() {
273341
- import_react3 = __toESM(require_react());
273362
+ import_react4 = __toESM(require_react());
273342
273363
  init_api4();
273343
273364
  init_config2();
273344
273365
  init_limits2();
@@ -306793,6 +306814,7 @@ function decodeSource(key5, label3) {
306793
306814
  var DECODE_CACHE_BYTES, cache7, pending4, held, sizeOf, lengths, decodedLengths, DECODE_TIMEOUT_MS, decodedAudio, decodedSource, pcmOf;
306794
306815
  var init_audio_decode = __esm({
306795
306816
  "lib/motion/audio-decode.ts"() {
306817
+ "use strict";
306796
306818
  init_media_store();
306797
306819
  init_audio_plan();
306798
306820
  init_time_stretch();
@@ -310179,6 +310201,7 @@ function importSVGFile(file2, document2, parentId) {
310179
310201
  var ENTITIES, decode3, I, mul2, apply2, scaleOf, NUM2, nums, near, NAMED, INHERITED, PRESENTATION, len2, CAP, JOIN, SKIPPED, refId;
310180
310202
  var init_svg_import = __esm({
310181
310203
  "lib/io/svg-import.ts"() {
310204
+ "use strict";
310182
310205
  init_dist_node();
310183
310206
  init_types();
310184
310207
  ENTITIES = { amp: "&", lt: "<", gt: ">", quot: '"', apos: "'", nbsp: "\xA0" };
@@ -310730,8 +310753,8 @@ async function render(frame3, doc2) {
310730
310753
  }
310731
310754
  function usePageThumbnail(frame3, doc2) {
310732
310755
  const cached3 = cache8.get(frame3);
310733
- const [url4, setUrl] = (0, import_react4.useState)(cached3?.url ?? null);
310734
- (0, import_react4.useEffect)(() => {
310756
+ const [url4, setUrl] = (0, import_react5.useState)(cached3?.url ?? null);
310757
+ (0, import_react5.useEffect)(() => {
310735
310758
  let cancelled = false;
310736
310759
  const hit = cache8.get(frame3);
310737
310760
  if (hit && hit.doc === doc2) {
@@ -310761,11 +310784,11 @@ function usePageThumbnail(frame3, doc2) {
310761
310784
  }, [frame3, doc2]);
310762
310785
  return url4;
310763
310786
  }
310764
- var import_react4, THUMB_PX, SETTLE_MS, cache8;
310787
+ var import_react5, THUMB_PX, SETTLE_MS, cache8;
310765
310788
  var init_page_thumbnails = __esm({
310766
310789
  "lib/client/page-thumbnails.ts"() {
310767
310790
  "use strict";
310768
- import_react4 = __toESM(require_react());
310791
+ import_react5 = __toESM(require_react());
310769
310792
  init_renderer_registry();
310770
310793
  init_jpeg();
310771
310794
  init_thumbnail();
@@ -310863,7 +310886,7 @@ async function deleteCloudTemplate(id3) {
310863
310886
  useCloudTemplates.setState((s) => ({ available: s.available.filter((x2) => x2.id !== id3) }));
310864
310887
  }
310865
310888
  async function fetchCloudTemplate(id3) {
310866
- const { template: template2, payload } = await api(`/api/templates/${encodeURIComponent(id3)}`, { cache: "no-store", signal: AbortSignal.timeout(3e4) });
310889
+ const { template: template2, payload } = await api(`/api/templates/${encodeURIComponent(id3)}`, { cache: "no-store", timeoutMs: 3e4 });
310867
310890
  return { meta: template2, payload };
310868
310891
  }
310869
310892
  async function searchTemplates(o = {}) {
@@ -310877,7 +310900,7 @@ async function searchTemplates(o = {}) {
310877
310900
  if (o.sort) sp.set("sort", o.sort);
310878
310901
  if (o.cursor) sp.set("cursor", o.cursor);
310879
310902
  if (o.limit) sp.set("limit", String(o.limit));
310880
- return api(`/api/templates?${sp}`);
310903
+ return api(`/api/templates?${sp}`, { timeoutMs: NETWORK_TIMEOUT_MS });
310881
310904
  }
310882
310905
  async function setTemplateOfficial(id3, official) {
310883
310906
  const { template: template2 } = await api(`/api/templates/${encodeURIComponent(id3)}/official`, { method: official ? "POST" : "DELETE" });
@@ -310891,6 +310914,7 @@ var init_templates = __esm({
310891
310914
  init_esm();
310892
310915
  init_idb();
310893
310916
  init_api4();
310917
+ init_network();
310894
310918
  init_session();
310895
310919
  init_upload();
310896
310920
  init_card();
@@ -311571,7 +311595,6 @@ function startCloudSync() {
311571
311595
  var status, readOnlyDoc, activeLink, statusListeners, notice, urlArmed, opening, syncStatus, canEdit, uploaded, MEDIA_UPLOAD_PARALLEL, pushTimer, pushing, dirty, pendingMedia, collab, collabSession, collabAnonymous, uploadedThumbs, thumbCheckedAt, THUMB_EVERY_MS, THUMB_MIN_GAP_MS, putThumbnail, openingFiles, mediaHealed, started2;
311572
311596
  var init_sync2 = __esm({
311573
311597
  "lib/client/cloud/sync.ts"() {
311574
- "use strict";
311575
311598
  init_paint_repair();
311576
311599
  init_migrate();
311577
311600
  init_view();
@@ -311781,7 +311804,6 @@ async function dispatchShaped(key5, options) {
311781
311804
  var onViolation;
311782
311805
  var init_dispatch = __esm({
311783
311806
  "lib/commands/dispatch.ts"() {
311784
- "use strict";
311785
311807
  init_errors();
311786
311808
  init_registry();
311787
311809
  init_confirm();
@@ -312181,7 +312203,6 @@ function creditLine(c2) {
312181
312203
  var MAX_PHOTO_PAGE, MAX_PHOTO_QUERY, UUID, isPhotoId, photoImagePath;
312182
312204
  var init_stock = __esm({
312183
312205
  "lib/photos/stock.ts"() {
312184
- "use strict";
312185
312206
  MAX_PHOTO_PAGE = 12;
312186
312207
  MAX_PHOTO_QUERY = 200;
312187
312208
  UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
@@ -312843,7 +312864,6 @@ function applyTextPath(layout2, path, tp, rebase = true) {
312843
312864
  var defaultCircleRadius, ownsPath, mapPoint;
312844
312865
  var init_text_path = __esm({
312845
312866
  "lib/engine/text/text-path.ts"() {
312846
- "use strict";
312847
312867
  init_scene_graph();
312848
312868
  init_transform();
312849
312869
  init_shape_to_path();
@@ -312961,7 +312981,6 @@ function areaBounds(rings) {
312961
312981
  }
312962
312982
  var init_text_area = __esm({
312963
312983
  "lib/engine/text/text-area.ts"() {
312964
- "use strict";
312965
312984
  }
312966
312985
  });
312967
312986
 
@@ -317306,7 +317325,6 @@ async function exportSettingFile(renderer, node2, setting, doc2, styles) {
317306
317325
  var MIME, DEFAULT_EXPORT, exportSettingsOf;
317307
317326
  var init_export = __esm({
317308
317327
  "lib/io/export.ts"() {
317309
- "use strict";
317310
317328
  init_download();
317311
317329
  init_scene_graph();
317312
317330
  init_codecs();
@@ -318241,6 +318259,7 @@ function agentToolList() {
318241
318259
  var AGENT_CAPABILITIES, legacyCommandId, legacyTools, blobToDataUrl3, provided, legacyTool, legacyToolList;
318242
318260
  var init_agent = __esm({
318243
318261
  "lib/commands/agent.ts"() {
318262
+ "use strict";
318244
318263
  init_types5();
318245
318264
  init_registry();
318246
318265
  init_errors();
@@ -328128,7 +328147,7 @@ var init_package = __esm({
328128
328147
  "packages/runtime/package.json"() {
328129
328148
  package_default = {
328130
328149
  name: "@popcraft/runtime",
328131
- version: "0.48.0",
328150
+ version: "0.48.1",
328132
328151
  description: "What code exported from PopCraft shares: the meaning of expressions (operators and functions) and, as it grows, the parts of a design's behaviour that are common code rather than generated React.",
328133
328152
  license: "MIT",
328134
328153
  homepage: "https://popcraft.app/docs/exporting/nextjs",
@@ -352794,7 +352813,6 @@ function exportsOf(source3) {
352794
352813
  var CODE_LIMITS, packageOf;
352795
352814
  var init_source2 = __esm({
352796
352815
  "lib/code/source.ts"() {
352797
- "use strict";
352798
352816
  CODE_LIMITS = { modules: 100, sourceLength: 2e5, packages: 12 };
352799
352817
  packageOf = (spec) => spec.split("/").slice(0, spec.startsWith("@") ? 2 : 1).join("/");
352800
352818
  }
@@ -352837,7 +352855,6 @@ function compileModule(module2) {
352837
352855
  var import_sucrase, BUILT_IN, memo4;
352838
352856
  var init_compile2 = __esm({
352839
352857
  "lib/code/compile.ts"() {
352840
- "use strict";
352841
352858
  import_sucrase = __toESM(require_dist2());
352842
352859
  init_source2();
352843
352860
  init_source2();
@@ -361879,7 +361896,6 @@ var init_delete_current_file = __esm({
361879
361896
  var storeOpsSeam;
361880
361897
  var init_seams = __esm({
361881
361898
  "lib/commands/seams.ts"() {
361882
- "use strict";
361883
361899
  storeOpsSeam = (st) => ({
361884
361900
  booleanOperation: (op4) => st().booleanOperation(op4),
361885
361901
  flatten: () => st().flattenSelection(),
@@ -362863,15 +362879,15 @@ function usePickableThemes() {
362863
362879
  const userThemes = useThemeStore((s) => s.userThemes);
362864
362880
  const pluginThemes = useThemeStore((s) => s.pluginThemes);
362865
362881
  const localThemes = useThemeStore((s) => s.localThemes);
362866
- return (0, import_react9.useMemo)(() => pickableThemes({ userThemes, pluginThemes, localThemes }), [userThemes, pluginThemes, localThemes]);
362882
+ return (0, import_react10.useMemo)(() => pickableThemes({ userThemes, pluginThemes, localThemes }), [userThemes, pluginThemes, localThemes]);
362867
362883
  }
362868
- var import_react9, IDB_KEY, useThemeStore, cssString2, defaultAccent, effectiveAccent;
362884
+ var import_react10, IDB_KEY, useThemeStore, cssString2, defaultAccent, effectiveAccent;
362869
362885
  var init_theme_store = __esm({
362870
362886
  "lib/theme/theme-store.ts"() {
362871
362887
  init_contrast();
362872
362888
  init_idb();
362873
362889
  init_esm();
362874
- import_react9 = __toESM(require_react());
362890
+ import_react10 = __toESM(require_react());
362875
362891
  init_boot2();
362876
362892
  init_builtin();
362877
362893
  init_resolve();
@@ -406105,7 +406121,6 @@ function registerBuiltinCommands() {
406105
406121
  var builtinCommands, uiOnlyCommands;
406106
406122
  var init_builtin4 = __esm({
406107
406123
  "lib/commands/builtin.ts"() {
406108
- "use strict";
406109
406124
  init_registry();
406110
406125
  init_node();
406111
406126
  init_node();
@@ -413709,7 +413724,7 @@ init_resources();
413709
413724
  init_desktop();
413710
413725
  init_hypery();
413711
413726
  import { createInterface } from "node:readline";
413712
- var VERSION2 = "0.48.0";
413727
+ var VERSION2 = "0.48.1";
413713
413728
  var HELP = `popcraft ${VERSION2} \u2014 the PopCraft command line
413714
413729
 
413715
413730
  Files (headless, on .popcraft files):
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@popcraft/cli",
3
- "version": "0.48.0",
3
+ "version": "0.48.1",
4
4
  "description": "The PopCraft command line: edit .popcraft files headlessly, call the REST API, publish to the marketplace and manage the desktop app's local plugins, themes, fonts, skills and agents.",
5
5
  "license": "MIT",
6
6
  "homepage": "https://popcraft.app/docs/api/cli",
@@ -34,7 +34,7 @@
34
34
  "esbuild": "0.28.2"
35
35
  },
36
36
  "dependencies": {
37
- "@popcraft/kit": "0.48.0"
37
+ "@popcraft/kit": "0.48.1"
38
38
  },
39
39
  "scripts": {
40
40
  "build": "node build.mjs",