@jxsuite/studio 5.0.0 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/dist/chunks/{cf-account-picker-fyf63pmy.js → cf-account-picker-qwkm9zrf.js} +5 -5
  2. package/dist/chunks/{components-2w1f35qs.js → components-vj72gqtq.js} +6 -4
  3. package/dist/chunks/{content-source-3wqeas45.js → content-source-5mex4x1h.js} +20 -20
  4. package/dist/chunks/{convert-to-repeater-d0cgnb6d.js → convert-to-repeater-n64h8znc.js} +20 -20
  5. package/dist/chunks/entry-commands-234hjnqw.js +42 -0
  6. package/dist/chunks/{extension-sections-fy7q4fe9.js → extension-sections-3hpcambp.js} +22 -22
  7. package/dist/chunks/{file-ops-3btj6st0.js → file-ops-8yhd83xr.js} +19 -19
  8. package/dist/chunks/{files-ef8fgs3w.js → files-hnxqxtsg.js} +26 -26
  9. package/dist/chunks/{format-host-3c33nwr8.js → format-host-779sfp2n.js} +2 -2
  10. package/dist/chunks/{fs-events-13tj6sex.js → fs-events-b88z7g4h.js} +4 -4
  11. package/dist/chunks/{git-panel-4wp2rn9b.js → git-panel-xwj8fpab.js} +18 -18
  12. package/dist/chunks/{iframe-host-jgesd924.js → iframe-host-syr0f9sb.js} +9 -9
  13. package/dist/chunks/{layers-1nq5evsh.js → layers-ff81wthn.js} +5 -4
  14. package/dist/chunks/layers-panel-pnnghw12.js +40 -0
  15. package/dist/chunks/{media-picker-2qbetq73.js → media-picker-cqhhxhhe.js} +10 -10
  16. package/dist/chunks/menu-9p2w46gj.js +15 -0
  17. package/dist/chunks/{publish-panel-98f7sr3g.js → publish-panel-5zt840sy.js} +9 -9
  18. package/dist/chunks/quick-search-3748564r.js +45 -0
  19. package/dist/chunks/{references-n553f0e1.js → references-qvvxej7h.js} +3 -3
  20. package/dist/chunks/right-panel-eccz92qt.js +45 -0
  21. package/dist/chunks/{studio-x3rty6tr.js → studio-1knfqgy7.js} +6 -6
  22. package/dist/chunks/{studio-rkstz940.js → studio-1z1kcjv4.js} +17 -8
  23. package/dist/chunks/{studio-qahxvnan.js → studio-3773086z.js} +2 -2
  24. package/dist/chunks/{studio-arfpe389.js → studio-3rz5md06.js} +4 -4
  25. package/dist/chunks/{studio-pm6hgy7r.js → studio-5wt9nvhd.js} +16 -16
  26. package/dist/chunks/{studio-akbww0j5.js → studio-7xnmgv66.js} +19 -19
  27. package/dist/chunks/{studio-26d7myd1.js → studio-8scdew0e.js} +3 -3
  28. package/dist/chunks/{studio-3hxkd92t.js → studio-93zafjcm.js} +8 -8
  29. package/dist/chunks/{studio-5rt7sqa0.js → studio-a79k90n9.js} +11 -17
  30. package/dist/chunks/{studio-3gxv60tn.js → studio-aj37eer3.js} +3 -3
  31. package/dist/chunks/{studio-18avnhjp.js → studio-b0k5tqgp.js} +23 -21
  32. package/dist/chunks/{studio-fabxk6r9.js → studio-b4s9eykd.js} +13 -13
  33. package/dist/chunks/{studio-8qtrpzr3.js → studio-e1pgga3k.js} +5 -5
  34. package/dist/chunks/{studio-8jn5yhyn.js → studio-g3jevyjt.js} +2 -2
  35. package/dist/chunks/{studio-rpyah2ew.js → studio-gb13095a.js} +18 -17
  36. package/dist/chunks/{studio-57mf66w2.js → studio-js8nv53n.js} +5 -5
  37. package/dist/chunks/{studio-vz68yn9e.js → studio-jxp12rnj.js} +4 -4
  38. package/dist/chunks/{studio-az3zd49t.js → studio-k75n7vhp.js} +56 -4
  39. package/dist/chunks/{studio-5jy81t3s.js → studio-kkqkcp3d.js} +221 -16
  40. package/dist/chunks/{studio-tb3ev01j.js → studio-mhhyamxf.js} +4 -4
  41. package/dist/chunks/{studio-81390n6f.js → studio-nq5yf5mp.js} +1 -1
  42. package/dist/chunks/{studio-4m0haseg.js → studio-nzzpvzx9.js} +3 -3
  43. package/dist/chunks/{studio-em9nw8eh.js → studio-pxbgypmg.js} +12 -12
  44. package/dist/chunks/{studio-sgdc5pfc.js → studio-qhhm6hbt.js} +3 -3
  45. package/dist/chunks/{studio-d1ja2x9r.js → studio-qk4bfsq2.js} +3 -3
  46. package/dist/chunks/{studio-25hkdrkw.js → studio-qk90fgqm.js} +9 -9
  47. package/dist/chunks/{studio-s6z853aq.js → studio-r6nvacqs.js} +18 -17
  48. package/dist/chunks/{studio-7xptrg0j.js → studio-sbjyc8bt.js} +6 -6
  49. package/dist/chunks/{studio-5523bpzt.js → studio-syg2tadj.js} +3 -3
  50. package/dist/chunks/{studio-cpvb2ed1.js → studio-tqgryxwg.js} +7 -7
  51. package/dist/chunks/{studio-xsykpvsh.js → studio-try13h8c.js} +11 -11
  52. package/dist/chunks/{studio-erdatzvp.js → studio-vfq8qpjt.js} +34 -5
  53. package/dist/chunks/{studio-79y5sz51.js → studio-vw7mzp6z.js} +2 -2
  54. package/dist/chunks/{studio-9xxz1q69.js → studio-wqz6dggm.js} +5 -5
  55. package/dist/chunks/studio-zdn2g6dt.js +148 -0
  56. package/dist/chunks/{workspace-wrew8zk4.js → workspace-t55jdjbx.js} +3 -3
  57. package/dist/iframe-entry.js +97 -10
  58. package/dist/studio.js +127 -244
  59. package/package.json +6 -6
  60. package/src/canvas/canvas-utils.ts +29 -2
  61. package/src/commands/command-args.ts +37 -2
  62. package/src/commands/registry.ts +18 -8
  63. package/src/commands/run-reported.ts +120 -0
  64. package/src/editor/shortcuts.ts +11 -23
  65. package/src/files/components.ts +39 -0
  66. package/src/files/files.ts +3 -2
  67. package/src/i18n/i18n-commands.ts +10 -0
  68. package/src/packages/pull-package-sync.ts +5 -1
  69. package/src/panels/ai-panel.ts +5 -2
  70. package/src/panels/block-action-bar.ts +7 -2
  71. package/src/panels/i18n-panel.ts +8 -15
  72. package/src/panels/jump-bar.ts +3 -2
  73. package/src/panels/problems-panel.ts +6 -2
  74. package/src/panels/quick-search.ts +6 -12
  75. package/src/panels/settings-menu.ts +5 -15
  76. package/src/panels/tab-strip.ts +3 -3
  77. package/src/services/ai-command-tools.ts +78 -8
  78. package/src/services/ai-project-tools.ts +8 -2
  79. package/src/services/ai-system-prompt.ts +4 -8
  80. package/src/services/ai-tools.ts +8 -69
  81. package/src/services/document-assistant.ts +9 -6
  82. package/src/studio.ts +14 -2
  83. package/src/surfaces/commandbar.json +13 -12
  84. package/src/surfaces/commandbar.ts +6 -5
  85. package/src/surfaces/statusbar.ts +2 -1
  86. package/src/tabs/project-config.ts +45 -11
  87. package/src/ui/layers.ts +4 -1
  88. package/src/workspace/workspace.ts +60 -0
  89. package/dist/chunks/entry-commands-d6g50j7s.js +0 -42
  90. package/dist/chunks/layers-panel-ar2gh90g.js +0 -40
  91. package/dist/chunks/menu-rf7n72mf.js +0 -14
  92. package/dist/chunks/quick-search-srzz83k2.js +0 -45
  93. package/dist/chunks/right-panel-rrgx2dn3.js +0 -45
  94. package/dist/chunks/studio-d055c37e.js +0 -62
@@ -7,7 +7,7 @@ import {
7
7
  import {
8
8
  loadFormats2,
9
9
  formatForPath2
10
- } from "./studio-79y5sz51.js";
10
+ } from "./studio-vw7mzp6z.js";
11
11
  import {
12
12
  projectState
13
13
  } from "./studio-6ewqv390.js";
@@ -22,20 +22,20 @@ import {
22
22
  workspace2,
23
23
  openTab2,
24
24
  activateTab2
25
- } from "./studio-az3zd49t.js";
25
+ } from "./studio-k75n7vhp.js";
26
26
  import {
27
27
  registerSurface,
28
28
  mountSurface,
29
29
  openDialogSurface,
30
30
  layerHost2
31
- } from "./studio-erdatzvp.js";
32
- import {
33
- markLocalMutation2,
34
- isRecentLocal2
35
- } from "./studio-8jn5yhyn.js";
31
+ } from "./studio-vfq8qpjt.js";
36
32
  import {
37
33
  errorMessage2
38
34
  } from "./studio-yxa81f45.js";
35
+ import {
36
+ markLocalMutation2,
37
+ isRecentLocal2
38
+ } from "./studio-g3jevyjt.js";
39
39
  import {
40
40
  makeGridTabId,
41
41
  parseGridTabId,
@@ -44,16 +44,16 @@ import {
44
44
  coerceCellInput,
45
45
  cellToText,
46
46
  createGridController
47
- } from "./studio-rpyah2ew.js";
47
+ } from "./studio-gb13095a.js";
48
48
  import {
49
49
  collectionDirs2,
50
50
  createCollectionSource2,
51
51
  createPagesSource2
52
- } from "./studio-x3rty6tr.js";
52
+ } from "./studio-1knfqgy7.js";
53
53
  import {
54
54
  MEDIA_EXTENSIONS,
55
55
  extensionOf
56
- } from "./studio-vz68yn9e.js";
56
+ } from "./studio-jxp12rnj.js";
57
57
  // src/surfaces/grid-open.json
58
58
  var grid_open_default = {
59
59
  $schema: "https://jxsuite.com/schema/v1",
@@ -1193,5 +1193,5 @@ function registerGridCommands(registry) {
1193
1193
 
1194
1194
  export { dataSurfaceAvailable, testConnection, pushSchema, deriveSecretEnvName, parseCsv, createCsvFileSource, LIBRARY_CATEGORIES, LIBRARY_CATEGORY_KEYS, libraryCategory, uploadDirForCategory, scanLibrary, filterLibrary, LIBRARY_LAYOUTS, LIBRARY_LAYOUT_LABELS, PREVIEW_LAYOUTS, projectLocales, libraryLocales, groupByDate, groupByCategory, libraryColumns, createLibrarySource, openCsvGridTab, openLibraryTab, openPagesGrid, openGridSourcePicker, registerGridCommands };
1195
1195
 
1196
- //# debugId=BCD03000C896EA0264756E2164756E21
1197
- //# sourceMappingURL=studio-em9nw8eh.js.map
1196
+ //# debugId=0C172BA58EF4714F64756E2164756E21
1197
+ //# sourceMappingURL=studio-pxbgypmg.js.map
@@ -3,10 +3,10 @@ import {
3
3
  } from "./studio-6ewqv390.js";
4
4
  import {
5
5
  findContentTypeSchema
6
- } from "./studio-az3zd49t.js";
6
+ } from "./studio-k75n7vhp.js";
7
7
  import {
8
8
  collectionInfo2
9
- } from "./studio-x3rty6tr.js";
9
+ } from "./studio-1knfqgy7.js";
10
10
 
11
11
  // src/content/entry-model.ts
12
12
  function collectionNames() {
@@ -88,4 +88,4 @@ function missingRequired(schema, value) {
88
88
  export { entryCollection, entryCollections, collectionOfPath, seedEntry, missingRequired };
89
89
 
90
90
  //# debugId=DEACD1047368F5A364756E2164756E21
91
- //# sourceMappingURL=studio-sgdc5pfc.js.map
91
+ //# sourceMappingURL=studio-qhhm6hbt.js.map
@@ -12,11 +12,11 @@ import {
12
12
  mountSurface,
13
13
  whenReady,
14
14
  layerHost2
15
- } from "./studio-erdatzvp.js";
15
+ } from "./studio-vfq8qpjt.js";
16
16
  import {
17
17
  showModal,
18
18
  close2
19
- } from "./studio-5jy81t3s.js";
19
+ } from "./studio-kkqkcp3d.js";
20
20
  // src/surfaces/github-auth.json
21
21
  var github_auth_default = {
22
22
  $schema: "https://jxsuite.com/schema/v1",
@@ -359,4 +359,4 @@ async function authenticateGithub() {
359
359
  export { githubTokenStored, githubTokenLocation, clearGithubToken, authenticateGithub };
360
360
 
361
361
  //# debugId=6031989CF8E575E564756E2164756E21
362
- //# sourceMappingURL=studio-d1ja2x9r.js.map
362
+ //# sourceMappingURL=studio-qk4bfsq2.js.map
@@ -11,7 +11,7 @@ import {
11
11
  } from "./studio-6nzaktvy.js";
12
12
  import {
13
13
  loadedMonaco
14
- } from "./studio-79y5sz51.js";
14
+ } from "./studio-vw7mzp6z.js";
15
15
  import {
16
16
  projectState,
17
17
  setProjectState,
@@ -36,7 +36,7 @@ import {
36
36
  workspace2,
37
37
  focusPane2,
38
38
  setWorkspaceProject2
39
- } from "./studio-az3zd49t.js";
39
+ } from "./studio-k75n7vhp.js";
40
40
  import {
41
41
  SETTINGS,
42
42
  readStoredSetting,
@@ -1305,9 +1305,7 @@ function liveConfig() {
1305
1305
  }
1306
1306
  function replaceContents(target, source) {
1307
1307
  for (const key of Object.keys(target)) {
1308
- if (!Object.hasOwn(source, key)) {
1309
- delete target[key];
1310
- }
1308
+ delete target[key];
1311
1309
  }
1312
1310
  Object.assign(target, source);
1313
1311
  }
@@ -1347,7 +1345,7 @@ function extensionsKey(config) {
1347
1345
  return JSON.stringify(config.extensions ?? null);
1348
1346
  }
1349
1347
  async function refreshExtensionSurfaces() {
1350
- const { loadFormats, refreshExtensionUi, refreshFormats } = await (__preload("3c33nwr8"), import("./format-host-3c33nwr8.js"));
1348
+ const { loadFormats, refreshExtensionUi, refreshFormats } = await (__preload("779sfp2n"), import("./format-host-779sfp2n.js"));
1351
1349
  refreshFormats();
1352
1350
  loadFormats();
1353
1351
  refreshExtensionUi(getPlatform2());
@@ -1399,7 +1397,7 @@ async function commitProjectConfig(patch) {
1399
1397
  }
1400
1398
  return { ok: true };
1401
1399
  }
1402
- async function adoptProjectConfig(config) {
1400
+ async function adoptProjectConfig(config, text) {
1403
1401
  if (!requireProjectState()) {
1404
1402
  setWorkspaceProject2(workspace2.projectRoot, config);
1405
1403
  return;
@@ -1408,6 +1406,8 @@ async function adoptProjectConfig(config) {
1408
1406
  transactDoc(tab, (t) => replaceContents(t.doc.document, config), { skipHistory: true });
1409
1407
  tab.doc.dirty = false;
1410
1408
  await seedCommitted();
1409
+ _layout = deriveJsonLayout(text);
1410
+ tab.doc.layout = _layout;
1411
1411
  _committed = serializeProjectConfig(config);
1412
1412
  }
1413
1413
 
@@ -1582,5 +1582,5 @@ async function updateSiteConfig(patch) {
1582
1582
 
1583
1583
  export { parseJsonDocument, serializeJson, serializeProjectConfig, lendProjectConfigLayout, commitProjectConfig, adoptProjectConfig, getEffectiveMedia, getEffectiveStyle, getEffectiveImports, getEffectiveElements, getEffectiveHead, getEffectiveLocales, invalidateLayoutCache, getEffectiveLayoutPath, resolveLayoutDoc, distributePageIntoLayout, updateSiteConfig, restoreSession, requireNavigatorPanelId, DEFAULT_INSPECTOR_TAB, isInspectorTabId, BOTTOM_TAB_IDS, DEFAULT_BOTTOM_TAB, isBottomTabId, CHROME_THEMES, DOCK_IDS, DOCK_DEFAULT_SIZES, DEFAULT_PANE_SPLIT, PANE_SPLIT_MIN, PANE_SPLIT_MAX, setPaneSplit, shell, persistDocks, persistedSession, markSessionRestored, flushSession, monacoTheme, registerShellSurface, mountShell, setDockCollapsed, setDockSize, setActivityTab, setBottomTab, setChromeTheme, toggleActivityTab, setLayoutSelection, resetProjectShell, registerShellViewCommands };
1584
1584
 
1585
- //# debugId=698A9C0448752CE964756E2164756E21
1586
- //# sourceMappingURL=studio-25hkdrkw.js.map
1585
+ //# debugId=41F1C61D2E957DBB64756E2164756E21
1586
+ //# sourceMappingURL=studio-qk90fgqm.js.map
@@ -61,42 +61,43 @@ import {
61
61
  jsonClone,
62
62
  workspace2,
63
63
  activeTab2
64
- } from "./studio-az3zd49t.js";
64
+ } from "./studio-k75n7vhp.js";
65
65
  import {
66
66
  serializeJson,
67
67
  shell,
68
68
  setActivityTab
69
- } from "./studio-25hkdrkw.js";
69
+ } from "./studio-qk90fgqm.js";
70
70
  import {
71
71
  KEY_SCOPES,
72
72
  checkRecordPlacements,
73
73
  registerPanel
74
- } from "./studio-26d7myd1.js";
74
+ } from "./studio-8scdew0e.js";
75
75
  import {
76
76
  componentRegistry2,
77
77
  loadComponentRegistry2,
78
78
  computeRelativePath2
79
- } from "./studio-d055c37e.js";
79
+ } from "./studio-zdn2g6dt.js";
80
80
  import {
81
81
  focusItem,
82
82
  activeRegistry
83
- } from "./studio-5jy81t3s.js";
83
+ } from "./studio-kkqkcp3d.js";
84
84
  import {
85
85
  REGION_ATTR,
86
86
  overlayRegion,
87
87
  registerSurface,
88
88
  mountSurface,
89
+ runReported,
89
90
  isModalOpen2,
90
91
  showPromptDialog2,
91
92
  getLayerSlot2,
92
93
  clearLayerSlot2
93
- } from "./studio-erdatzvp.js";
94
+ } from "./studio-vfq8qpjt.js";
94
95
  import {
95
96
  stylebook_meta_default,
96
97
  selectStylebookTag,
97
98
  noopCommandDeps,
98
99
  defaultCommands
99
- } from "./studio-3hxkd92t.js";
100
+ } from "./studio-93zafjcm.js";
100
101
  import {
101
102
  errorMessage2
102
103
  } from "./studio-yxa81f45.js";
@@ -114,7 +115,7 @@ import {
114
115
  getEditSnapshot2,
115
116
  postApplyFormat2,
116
117
  getEditBarAnchorRect2
117
- } from "./studio-rkstz940.js";
118
+ } from "./studio-1z1kcjv4.js";
118
119
  import {
119
120
  draggable2
120
121
  } from "./studio-esrxgwh6.js";
@@ -123,13 +124,13 @@ import {
123
124
  dataTypeLabel,
124
125
  inspectorCommands,
125
126
  defCategory
126
- } from "./studio-akbww0j5.js";
127
+ } from "./studio-7xnmgv66.js";
127
128
  import {
128
129
  openMenu2
129
- } from "./studio-3gxv60tn.js";
130
+ } from "./studio-aj37eer3.js";
130
131
  import {
131
132
  usagesSupported2
132
- } from "./studio-81390n6f.js";
133
+ } from "./studio-nq5yf5mp.js";
133
134
  import {
134
135
  listWindow,
135
136
  revealListRow,
@@ -11089,7 +11090,7 @@ function createCommandRegistry(options) {
11089
11090
  if (!registry.isEnabled(hit.commandId)) {
11090
11091
  return hit.commandId;
11091
11092
  }
11092
- registry.run(hit.commandId);
11093
+ runReported(registry, hit.commandId, undefined, "Keyboard");
11093
11094
  return hit.commandId;
11094
11095
  },
11095
11096
  context: options.getContext
@@ -13080,7 +13081,7 @@ function commandTooltip(registry, command) {
13080
13081
  function runCommand(registry, id, target) {
13081
13082
  const invoke = () => {
13082
13083
  if (registry.isEnabled(id)) {
13083
- registry.run(id);
13084
+ runReported(registry, id, undefined, "Editor");
13084
13085
  }
13085
13086
  };
13086
13087
  if (target) {
@@ -13737,7 +13738,7 @@ function elementCommands(deps) {
13737
13738
  if (!target?.rerender) {
13738
13739
  return;
13739
13740
  }
13740
- const { startLayerTitleEdit } = await (__preload("ar2gh90g"), import("./layers-panel-ar2gh90g.js"));
13741
+ const { startLayerTitleEdit } = await (__preload("pnnghw12"), import("./layers-panel-pnnghw12.js"));
13741
13742
  startLayerTitleEdit(target.path, target.rerender);
13742
13743
  }
13743
13744
  }
@@ -15524,7 +15525,7 @@ function registerLayersPanel2() {
15524
15525
  });
15525
15526
  }
15526
15527
 
15527
- export { findEnclosingRepeater, convertToComponent, showSlashMenu, showSlashMenuAtRect, dismissSlashMenu, handleSlashMenuKey, parseChord, normalizeChord, chordFromEvent, formatChord, overlappingScopes, chordsInScopes, CommandUnavailableError, createCommandRegistry, initBlockActionBar, formatCommands, registerSelectionCommands, dismissLinkPopover, dismissBlockActionBar, suppressBlockActionBar, releaseBlockActionBar, isEditChromeTarget, renderBlockActionBar, ok, find, html2, svg, stringify, stringify2, stringifyPosition, VFile, whitespace, setOpenDialog, setOpenPopover, ensurePopoverRevealWatch, startLayerTitleEdit2, registerLayersPanel2, pasteNode, clipboardCommands, setContextMenuNavigate, liveElementCommands, dismissContextMenu, showContextMenu };
15528
+ export { findEnclosingRepeater, convertToComponent, showSlashMenu, showSlashMenuAtRect, dismissSlashMenu, handleSlashMenuKey, parseChord, normalizeChord, chordFromEvent, formatChord, overlappingScopes, chordsInScopes, createCommandRegistry, initBlockActionBar, formatCommands, registerSelectionCommands, dismissLinkPopover, dismissBlockActionBar, suppressBlockActionBar, releaseBlockActionBar, isEditChromeTarget, renderBlockActionBar, ok, find, html2, svg, stringify, stringify2, stringifyPosition, VFile, whitespace, setOpenDialog, setOpenPopover, ensurePopoverRevealWatch, startLayerTitleEdit2, registerLayersPanel2, pasteNode, clipboardCommands, setContextMenuNavigate, liveElementCommands, dismissContextMenu, showContextMenu };
15528
15529
 
15529
- //# debugId=EB28A2BA9967923464756E2164756E21
15530
- //# sourceMappingURL=studio-s6z853aq.js.map
15530
+ //# debugId=E202198974A3399664756E2164756E21
15531
+ //# sourceMappingURL=studio-r6nvacqs.js.map
@@ -15,23 +15,23 @@ import {
15
15
  paneRegion,
16
16
  registerSurface,
17
17
  mountSurface
18
- } from "./studio-erdatzvp.js";
18
+ } from "./studio-vfq8qpjt.js";
19
19
  import {
20
20
  mountSchemaForm,
21
21
  resolveContextPointer
22
- } from "./studio-57mf66w2.js";
22
+ } from "./studio-js8nv53n.js";
23
23
  import {
24
24
  validateProjectConfig2
25
25
  } from "./studio-kcgff4r0.js";
26
26
  import {
27
27
  deriveSecretEnvName
28
- } from "./studio-em9nw8eh.js";
28
+ } from "./studio-pxbgypmg.js";
29
29
  import {
30
30
  paneOfContainer
31
- } from "./studio-rkstz940.js";
31
+ } from "./studio-1z1kcjv4.js";
32
32
  import {
33
33
  commitProjectConfig
34
- } from "./studio-25hkdrkw.js";
34
+ } from "./studio-qk90fgqm.js";
35
35
  // src/surfaces/settings-contributed.json
36
36
  var settings_contributed_default = {
37
37
  $schema: "https://jxsuite.com/schema/v1",
@@ -951,4 +951,4 @@ function renderContributedSection(container, contribution, opts = {}) {
951
951
  export { selectContributedEntry, renderContributedSection };
952
952
 
953
953
  //# debugId=E288D4A2952F914964756E2164756E21
954
- //# sourceMappingURL=studio-7xptrg0j.js.map
954
+ //# sourceMappingURL=studio-sbjyc8bt.js.map
@@ -3,13 +3,13 @@ import {
3
3
  } from "./studio-6nzaktvy.js";
4
4
  import {
5
5
  normalizeProjectPath
6
- } from "./studio-5jy81t3s.js";
6
+ } from "./studio-kkqkcp3d.js";
7
7
  import {
8
8
  extensionOf,
9
9
  mediaKind,
10
10
  baseName,
11
11
  dirName
12
- } from "./studio-vz68yn9e.js";
12
+ } from "./studio-jxp12rnj.js";
13
13
 
14
14
  // src/files/media-meta.ts
15
15
  var settled = new Map;
@@ -115,4 +115,4 @@ function mediaMetaSummary(meta) {
115
115
  export { peekMediaMeta, seedMediaMeta, loadMediaMeta, recordImageSize, invalidateMediaMeta, formatBytes, mediaMetaSummary };
116
116
 
117
117
  //# debugId=23AD97ADF0A22AE164756E2164756E21
118
- //# sourceMappingURL=studio-5523bpzt.js.map
118
+ //# sourceMappingURL=studio-syg2tadj.js.map
@@ -5,10 +5,10 @@ import {
5
5
  normalizeProjectPath,
6
6
  showModal,
7
7
  close2
8
- } from "./studio-5jy81t3s.js";
8
+ } from "./studio-kkqkcp3d.js";
9
9
  import {
10
10
  syncDeployChecklist
11
- } from "./studio-tb3ev01j.js";
11
+ } from "./studio-mhhyamxf.js";
12
12
  import {
13
13
  effectScope,
14
14
  effect,
@@ -18,7 +18,7 @@ import {
18
18
  } from "./studio-p1dw8wfw.js";
19
19
  import {
20
20
  setBottomTab
21
- } from "./studio-25hkdrkw.js";
21
+ } from "./studio-qk90fgqm.js";
22
22
  import {
23
23
  REGION_ATTR,
24
24
  overlayRegion,
@@ -26,15 +26,15 @@ import {
26
26
  mountSurface,
27
27
  whenReady,
28
28
  layerHost2
29
- } from "./studio-erdatzvp.js";
29
+ } from "./studio-vfq8qpjt.js";
30
30
  import {
31
31
  registerPanel
32
- } from "./studio-26d7myd1.js";
32
+ } from "./studio-8scdew0e.js";
33
33
  import {
34
34
  peekUsages2,
35
35
  loadUsages2,
36
36
  usageHeadline2
37
- } from "./studio-81390n6f.js";
37
+ } from "./studio-nq5yf5mp.js";
38
38
  // src/surfaces/panel-activity.json
39
39
  var panel_activity_default = {
40
40
  $schema: "https://jxsuite.com/schema/v1",
@@ -1168,4 +1168,4 @@ function showProgressModal(opts) {
1168
1168
  export { beginActivity, activityIdleBlockers, registerActivityPanel, showProgressModal, peekMediaUsages, loadMediaUsages, mediaUsageHeadline };
1169
1169
 
1170
1170
  //# debugId=0FE9D80FF9C2142764756E2164756E21
1171
- //# sourceMappingURL=studio-cpvb2ed1.js.map
1171
+ //# sourceMappingURL=studio-tqgryxwg.js.map
@@ -46,11 +46,11 @@ import {
46
46
  friendlyNameToVar,
47
47
  varDisplayName,
48
48
  activeTab2
49
- } from "./studio-az3zd49t.js";
49
+ } from "./studio-k75n7vhp.js";
50
50
  import {
51
51
  isPopover,
52
52
  activeRegistry
53
- } from "./studio-5jy81t3s.js";
53
+ } from "./studio-kkqkcp3d.js";
54
54
  import {
55
55
  mountExpressionEditor,
56
56
  livePreviewExpression,
@@ -76,14 +76,14 @@ import {
76
76
  bindContentHost,
77
77
  isCustomElementDoc,
78
78
  collectCssParts
79
- } from "./studio-akbww0j5.js";
79
+ } from "./studio-7xnmgv66.js";
80
80
  import {
81
81
  inspectorTabRegion,
82
82
  inspectorStatementsRegion,
83
83
  registerSurface,
84
84
  mountSurface,
85
85
  showPromptDialog2
86
- } from "./studio-erdatzvp.js";
86
+ } from "./studio-vfq8qpjt.js";
87
87
  import {
88
88
  VALUE_SOURCE_LABELS,
89
89
  VALUE_SOURCE_HINTS,
@@ -95,32 +95,32 @@ import {
95
95
  effectiveSlotMode,
96
96
  slotModeSeed,
97
97
  switchSlotMode
98
- } from "./studio-57mf66w2.js";
98
+ } from "./studio-js8nv53n.js";
99
99
  import {
100
100
  mediaDisplayName,
101
101
  schemeOfQuery,
102
102
  parseMediaEntries,
103
103
  dialogPathFor
104
- } from "./studio-rkstz940.js";
104
+ } from "./studio-1z1kcjv4.js";
105
105
  import {
106
106
  openMenu2
107
- } from "./studio-3gxv60tn.js";
107
+ } from "./studio-aj37eer3.js";
108
108
  import {
109
109
  getEffectiveMedia,
110
110
  getEffectiveStyle,
111
111
  DEFAULT_INSPECTOR_TAB,
112
112
  isInspectorTabId,
113
113
  shell
114
- } from "./studio-25hkdrkw.js";
114
+ } from "./studio-qk90fgqm.js";
115
115
  import {
116
116
  peekUsages2,
117
117
  loadUsages2,
118
118
  usageFiles2
119
- } from "./studio-81390n6f.js";
119
+ } from "./studio-nq5yf5mp.js";
120
120
  import {
121
121
  selectStylebookTag,
122
122
  INSPECTOR_TABS
123
- } from "./studio-3hxkd92t.js";
123
+ } from "./studio-93zafjcm.js";
124
124
  import {
125
125
  cloneValue2
126
126
  } from "./studio-727xh0e3.js";
@@ -8445,4 +8445,4 @@ function inspectorTarget() {
8445
8445
  export { initCssData, registerStyleCommands, mount2, unmount2, render2, inspectorTab2, setInspectorTab2 };
8446
8446
 
8447
8447
  //# debugId=355BABCC8073CBA564756E2164756E21
8448
- //# sourceMappingURL=studio-xsykpvsh.js.map
8448
+ //# sourceMappingURL=studio-try13h8c.js.map
@@ -10,14 +10,18 @@ import {
10
10
  selectValue,
11
11
  registerUi,
12
12
  activeRegistry
13
- } from "./studio-5jy81t3s.js";
13
+ } from "./studio-kkqkcp3d.js";
14
14
  import {
15
15
  effectScope,
16
16
  effect,
17
17
  reactive,
18
18
  toasts2,
19
+ notify2,
19
20
  dismiss2
20
21
  } from "./studio-p1dw8wfw.js";
22
+ import {
23
+ errorMessage2
24
+ } from "./studio-yxa81f45.js";
21
25
 
22
26
  // src/ui/regions.ts
23
27
  var REGION_ATTR = "data-jx-region";
@@ -875,6 +879,31 @@ var toasts_default = {
875
879
  ]
876
880
  };
877
881
 
882
+ // src/commands/run-reported.ts
883
+ function isRefusal(error) {
884
+ return error instanceof RangeError || error instanceof Error && error.name === "CommandUnavailableError";
885
+ }
886
+ function runReported(registry, id, args, source = id) {
887
+ const report = (error) => {
888
+ if (!isRefusal(error)) {
889
+ console.error(`${source}: command "${id}" failed`, error);
890
+ }
891
+ notify2.error(errorMessage2(error), { key: `command.run:${id}`, source });
892
+ };
893
+ let result;
894
+ try {
895
+ result = registry.run(id, args);
896
+ } catch (error) {
897
+ report(error);
898
+ return Promise.resolve();
899
+ }
900
+ return Promise.resolve(result).catch(report);
901
+ }
902
+ function runActiveReported(id, args, source) {
903
+ const registry = activeRegistry();
904
+ return registry ? runReported(registry, id, args, source) : Promise.resolve();
905
+ }
906
+
878
907
  // src/ui/layers.ts
879
908
  var _popoverLayer;
880
909
  var _modalLayer;
@@ -1121,7 +1150,7 @@ function toastScope() {
1121
1150
  return;
1122
1151
  }
1123
1152
  retireToast(id);
1124
- registry.run(record.action, record.actionArgs);
1153
+ runReported(registry, record.action, record.actionArgs, "Notifications");
1125
1154
  },
1126
1155
  toasts: []
1127
1156
  });
@@ -1184,7 +1213,7 @@ function unmountToastHost() {
1184
1213
  _toastState = null;
1185
1214
  }
1186
1215
 
1187
- export { mountsUsing, mountsOf, registerKit, REGION_ATTR, resolveRegion, REGION_FOR_FOCUS, paneRegion, paneStripRegion, navigatorPanelRegion, inspectorTabRegion, NAVIGATOR_STATEMENTS_REGION, inspectorStatementsRegion, bottomPanelRegion, overlayRegion, registerSurface, surfaceDocument, mountSurface, whenReady, openDialogSurface, layerHost2, initLayers2, isModalOpen2, showConfirmDialog2, showSaveDiscardDialog2, showPromptDialog2, getLayerSlot2, clearLayerSlot2, overlayIdleBlockers2 };
1216
+ export { mountsUsing, mountsOf, registerKit, REGION_ATTR, resolveRegion, REGION_FOR_FOCUS, paneRegion, paneStripRegion, navigatorPanelRegion, inspectorTabRegion, NAVIGATOR_STATEMENTS_REGION, inspectorStatementsRegion, bottomPanelRegion, overlayRegion, registerSurface, surfaceDocument, mountSurface, whenReady, openDialogSurface, runReported, runActiveReported, layerHost2, initLayers2, isModalOpen2, showConfirmDialog2, showSaveDiscardDialog2, showPromptDialog2, getLayerSlot2, clearLayerSlot2, overlayIdleBlockers2 };
1188
1217
 
1189
- //# debugId=A8CBC6598506FDAE64756E2164756E21
1190
- //# sourceMappingURL=studio-erdatzvp.js.map
1218
+ //# debugId=0892C6B4A7BF4FE464756E2164756E21
1219
+ //# sourceMappingURL=studio-vfq8qpjt.js.map
@@ -124,7 +124,7 @@ async function shareProjectSchemas(platform) {
124
124
  function refreshExtensionUi2(platform) {
125
125
  shareProjectSchemas(platform);
126
126
  loadExtensionCatalog();
127
- (__preload("fy7q4fe9"), import("./extension-sections-fy7q4fe9.js")).then(({ syncExtensionSettingsSections }) => syncExtensionSettingsSections()).catch(() => {});
127
+ (__preload("3hpcambp"), import("./extension-sections-3hpcambp.js")).then(({ syncExtensionSettingsSections }) => syncExtensionSettingsSections()).catch(() => {});
128
128
  }
129
129
  function getFormats2() {
130
130
  return _formats;
@@ -239,4 +239,4 @@ function splitFormatDocument2(format, doc) {
239
239
  export { loadMonaco, loadedMonaco, mountStillWanted, loadFormats2, refreshFormats2, loadExtensions2, getExtensions2, getExtensionCatalog2, refreshExtensionUi2, getFormats2, formatByExtension2, formatByName2, noFormatError2, formatForPath2, documentExtensions2, defaultContentFormat2, formatParse2, formatSerialize2, splitFormatDocument2 };
240
240
 
241
241
  //# debugId=DC4D74E6C120403064756E2164756E21
242
- //# sourceMappingURL=studio-79y5sz51.js.map
242
+ //# sourceMappingURL=studio-vw7mzp6z.js.map
@@ -2,7 +2,7 @@ import {
2
2
  showModal,
3
3
  close2,
4
4
  activeRegistry
5
- } from "./studio-5jy81t3s.js";
5
+ } from "./studio-kkqkcp3d.js";
6
6
  import {
7
7
  platformSupportsPublish,
8
8
  listAccounts2,
@@ -11,7 +11,7 @@ import {
11
11
  connectDeploy,
12
12
  currentDeploy,
13
13
  noteDeployment
14
- } from "./studio-tb3ev01j.js";
14
+ } from "./studio-mhhyamxf.js";
15
15
  import {
16
16
  getPlatform2
17
17
  } from "./studio-6nzaktvy.js";
@@ -28,7 +28,7 @@ import {
28
28
  mountSurface,
29
29
  whenReady,
30
30
  layerHost2
31
- } from "./studio-erdatzvp.js";
31
+ } from "./studio-vfq8qpjt.js";
32
32
  import {
33
33
  getCfToken2,
34
34
  setCfToken2
@@ -1261,7 +1261,7 @@ async function hostedConnect() {
1261
1261
  if (outcome?.status === "timeout") {
1262
1262
  _error = "The Cloudflare window didn't finish. Sign in there, then reconnect — nothing was changed.";
1263
1263
  } else if (outcome?.status === "connected" && !outcome.connection.accountId) {
1264
- const { openCfAccountPicker } = await (__preload("fyf63pmy"), import("./cf-account-picker-fyf63pmy.js"));
1264
+ const { openCfAccountPicker } = await (__preload("qwkm9zrf"), import("./cf-account-picker-qwkm9zrf.js"));
1265
1265
  await openCfAccountPicker();
1266
1266
  }
1267
1267
  } catch (error) {
@@ -1353,4 +1353,4 @@ function openPublishPanel2() {
1353
1353
  export { seedPublishConnected2, openPublishPanel2 };
1354
1354
 
1355
1355
  //# debugId=6C5ED8D5F4FBF16B64756E2164756E21
1356
- //# sourceMappingURL=studio-9xxz1q69.js.map
1356
+ //# sourceMappingURL=studio-wqz6dggm.js.map