@parhelia/core 0.3.12831 → 0.4.12784

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 (278) hide show
  1. package/dist/agents-view/AgentCard.js +1 -1
  2. package/dist/agents-view/AgentsWorkspaceView.js +8 -1
  3. package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
  4. package/dist/components/ui/checkbox.js +3 -2
  5. package/dist/components/ui/checkbox.js.map +1 -1
  6. package/dist/components/ui/context-menu.d.ts +9 -1
  7. package/dist/components/ui/context-menu.js +59 -12
  8. package/dist/components/ui/context-menu.js.map +1 -1
  9. package/dist/components/ui/select.js +16 -2
  10. package/dist/components/ui/select.js.map +1 -1
  11. package/dist/config/config.d.ts +2 -0
  12. package/dist/config/config.js +36 -4
  13. package/dist/config/config.js.map +1 -1
  14. package/dist/config/types.d.ts +24 -0
  15. package/dist/config/types.js.map +1 -1
  16. package/dist/editor/ContextMenu.js +59 -6
  17. package/dist/editor/ContextMenu.js.map +1 -1
  18. package/dist/editor/Editor.js +9 -2
  19. package/dist/editor/Editor.js.map +1 -1
  20. package/dist/editor/EditorWarning.d.ts +3 -1
  21. package/dist/editor/EditorWarning.js +24 -7
  22. package/dist/editor/EditorWarning.js.map +1 -1
  23. package/dist/editor/FieldList.js +1 -1
  24. package/dist/editor/FieldList.js.map +1 -1
  25. package/dist/editor/ai/AgentSharingSection.d.ts +1 -1
  26. package/dist/editor/ai/AgentSharingSection.js +7 -0
  27. package/dist/editor/ai/AgentSharingSection.js.map +1 -1
  28. package/dist/editor/ai/Agents.js +1 -1
  29. package/dist/editor/ai/Agents.js.map +1 -1
  30. package/dist/editor/ai/InlineAiDialog.d.ts +7 -1
  31. package/dist/editor/ai/InlineAiDialog.js +27 -7
  32. package/dist/editor/ai/InlineAiDialog.js.map +1 -1
  33. package/dist/editor/ai/InlineAiTrigger.js +63 -1
  34. package/dist/editor/ai/InlineAiTrigger.js.map +1 -1
  35. package/dist/editor/ai/terminal/activeReasoningModel.d.ts +9 -0
  36. package/dist/editor/ai/terminal/activeReasoningModel.js +20 -0
  37. package/dist/editor/ai/terminal/activeReasoningModel.js.map +1 -0
  38. package/dist/editor/ai/terminal/agentDurations.d.ts +27 -0
  39. package/dist/editor/ai/terminal/agentDurations.js +89 -0
  40. package/dist/editor/ai/terminal/agentDurations.js.map +1 -0
  41. package/dist/editor/ai/terminal/agentStartRequest.d.ts +1 -0
  42. package/dist/editor/ai/terminal/agentStartRequest.js +1 -0
  43. package/dist/editor/ai/terminal/agentStartRequest.js.map +1 -1
  44. package/dist/editor/ai/terminal/agentTurnTiming.d.ts +33 -0
  45. package/dist/editor/ai/terminal/agentTurnTiming.js +103 -0
  46. package/dist/editor/ai/terminal/agentTurnTiming.js.map +1 -0
  47. package/dist/editor/ai/terminal/components/AgentCostDisplay.d.ts +4 -1
  48. package/dist/editor/ai/terminal/components/AgentCostDisplay.js +17 -25
  49. package/dist/editor/ai/terminal/components/AgentCostDisplay.js.map +1 -1
  50. package/dist/editor/ai/terminal/components/AgentProfileModelSettingsSection.d.ts +5 -1
  51. package/dist/editor/ai/terminal/components/AgentProfileModelSettingsSection.js +7 -2
  52. package/dist/editor/ai/terminal/components/AgentProfileModelSettingsSection.js.map +1 -1
  53. package/dist/editor/ai/terminal/components/AgentProfileRecovery.d.ts +10 -0
  54. package/dist/editor/ai/terminal/components/AgentProfileRecovery.js +12 -0
  55. package/dist/editor/ai/terminal/components/AgentProfileRecovery.js.map +1 -0
  56. package/dist/editor/ai/terminal/components/AgentPromptComposer.js +1 -1
  57. package/dist/editor/ai/terminal/components/AgentSettingsContent.d.ts +5 -1
  58. package/dist/editor/ai/terminal/components/AgentSettingsContent.js +2 -2
  59. package/dist/editor/ai/terminal/components/AgentSettingsContent.js.map +1 -1
  60. package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.d.ts +2 -1
  61. package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js +2 -2
  62. package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js.map +1 -1
  63. package/dist/editor/ai/terminal/components/AgentTerminalFullPromptControls.d.ts +1 -1
  64. package/dist/editor/ai/terminal/components/AgentTerminalFullPromptControls.js +2 -2
  65. package/dist/editor/ai/terminal/components/AgentTerminalFullPromptControls.js.map +1 -1
  66. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js +10 -1
  67. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js.map +1 -1
  68. package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.js +2 -1
  69. package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.js.map +1 -1
  70. package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.d.ts +1 -1
  71. package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.js +67 -6
  72. package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.js.map +1 -1
  73. package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.d.ts +2 -1
  74. package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js +2 -2
  75. package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js.map +1 -1
  76. package/dist/editor/ai/terminal/components/AgentThinkingIndicator.d.ts +8 -1
  77. package/dist/editor/ai/terminal/components/AgentThinkingIndicator.js +8 -4
  78. package/dist/editor/ai/terminal/components/AgentThinkingIndicator.js.map +1 -1
  79. package/dist/editor/ai/terminal/components/AiResponseMessage.d.ts +3 -1
  80. package/dist/editor/ai/terminal/components/AiResponseMessage.js +66 -48
  81. package/dist/editor/ai/terminal/components/AiResponseMessage.js.map +1 -1
  82. package/dist/editor/ai/terminal/components/ApprovalCard.js +5 -6
  83. package/dist/editor/ai/terminal/components/ApprovalCard.js.map +1 -1
  84. package/dist/editor/ai/terminal/components/InitialThinkingSplash.js +2 -2
  85. package/dist/editor/ai/terminal/components/InitialThinkingSplash.js.map +1 -1
  86. package/dist/editor/ai/terminal/components/QueuedPromptsPanel.js +2 -2
  87. package/dist/editor/ai/terminal/components/ResponseTurnDuration.d.ts +15 -0
  88. package/dist/editor/ai/terminal/components/ResponseTurnDuration.js +52 -0
  89. package/dist/editor/ai/terminal/components/ResponseTurnDuration.js.map +1 -0
  90. package/dist/editor/ai/terminal/components/ToolCallDisplay.js +32 -56
  91. package/dist/editor/ai/terminal/components/ToolCallDisplay.js.map +1 -1
  92. package/dist/editor/ai/terminal/components/UserMessage.js +1 -1
  93. package/dist/editor/ai/terminal/components/UserMessage.js.map +1 -1
  94. package/dist/editor/ai/terminal/components/agentThinkingStyles.d.ts +5 -1
  95. package/dist/editor/ai/terminal/components/agentThinkingStyles.js +5 -1
  96. package/dist/editor/ai/terminal/components/agentThinkingStyles.js.map +1 -1
  97. package/dist/editor/ai/terminal/reasoningEffortLevels.d.ts +8 -0
  98. package/dist/editor/ai/terminal/reasoningEffortLevels.js +54 -0
  99. package/dist/editor/ai/terminal/reasoningEffortLevels.js.map +1 -0
  100. package/dist/editor/ai/terminal/requestUsage.d.ts +3 -0
  101. package/dist/editor/ai/terminal/requestUsage.js +22 -0
  102. package/dist/editor/ai/terminal/requestUsage.js.map +1 -0
  103. package/dist/editor/ai/terminal/types.d.ts +1 -0
  104. package/dist/editor/ai/terminal/useAgentModeState.js.map +1 -1
  105. package/dist/editor/ai/terminal/useAgentProfileSelection.d.ts +10 -0
  106. package/dist/editor/ai/terminal/useAgentProfileSelection.js +10 -2
  107. package/dist/editor/ai/terminal/useAgentProfileSelection.js.map +1 -1
  108. package/dist/editor/ai/terminal/useAgentReasoningEffortState.d.ts +5 -0
  109. package/dist/editor/ai/terminal/useAgentReasoningEffortState.js +10 -0
  110. package/dist/editor/ai/terminal/useAgentReasoningEffortState.js.map +1 -0
  111. package/dist/editor/ai/terminal/useAgentSessionSync.d.ts +1 -0
  112. package/dist/editor/ai/terminal/useAgentSettingsCommands.d.ts +9 -0
  113. package/dist/editor/ai/terminal/useAgentSettingsCommands.js +63 -6
  114. package/dist/editor/ai/terminal/useAgentSettingsCommands.js.map +1 -1
  115. package/dist/editor/ai/terminal/useAgentSettingsPanel.d.ts +5 -0
  116. package/dist/editor/ai/terminal/useAgentSettingsPanel.js +8 -0
  117. package/dist/editor/ai/terminal/useAgentSettingsPanel.js.map +1 -1
  118. package/dist/editor/ai/terminal/useAgentSkillActions.d.ts +1 -0
  119. package/dist/editor/ai/terminal/useAgentSkillActions.js +1 -0
  120. package/dist/editor/ai/terminal/useAgentSkillActions.js.map +1 -1
  121. package/dist/editor/ai/terminal/useAgentTerminalController.d.ts +1 -1
  122. package/dist/editor/ai/terminal/useAgentTerminalController.js +20 -4
  123. package/dist/editor/ai/terminal/useAgentTerminalController.js.map +1 -1
  124. package/dist/editor/ai/terminal/useAgentTerminalControls.d.ts +4 -0
  125. package/dist/editor/ai/terminal/useAgentTerminalControls.js +5 -1
  126. package/dist/editor/ai/terminal/useAgentTerminalControls.js.map +1 -1
  127. package/dist/editor/ai-image-editor/AiImageEditorDialog.d.ts +6 -0
  128. package/dist/editor/ai-image-editor/AiImageEditorDialog.js +202 -64
  129. package/dist/editor/ai-image-editor/AiImageEditorDialog.js.map +1 -1
  130. package/dist/editor/client/EditorShell.js +30 -33
  131. package/dist/editor/client/EditorShell.js.map +1 -1
  132. package/dist/editor/client/SandboxWelcomeOverlay.d.ts +4 -1
  133. package/dist/editor/client/SandboxWelcomeOverlay.js +6 -5
  134. package/dist/editor/client/SandboxWelcomeOverlay.js.map +1 -1
  135. package/dist/editor/client/SessionsDialog.d.ts +2 -0
  136. package/dist/editor/client/SessionsDialog.js +27 -0
  137. package/dist/editor/client/SessionsDialog.js.map +1 -0
  138. package/dist/editor/client/hooks/useSocketMessageHandler.js +4 -0
  139. package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
  140. package/dist/editor/client/ui/DevModeIndicator.js +6 -4
  141. package/dist/editor/client/ui/DevModeIndicator.js.map +1 -1
  142. package/dist/editor/editor-warnings/ItemLocked.js +1 -1
  143. package/dist/editor/editor-warnings/ItemLocked.js.map +1 -1
  144. package/dist/editor/editor-warnings/NoLanguageWriteAccess.js +1 -1
  145. package/dist/editor/editor-warnings/NoLanguageWriteAccess.js.map +1 -1
  146. package/dist/editor/editor-warnings/NoWorkflowWriteAccess.js +1 -1
  147. package/dist/editor/editor-warnings/NoWorkflowWriteAccess.js.map +1 -1
  148. package/dist/editor/editor-warnings/NoWriteAccess.js +1 -1
  149. package/dist/editor/editor-warnings/NoWriteAccess.js.map +1 -1
  150. package/dist/editor/media-selector/MediaFolderBrowser.js +1 -1
  151. package/dist/editor/menubar/ActiveUsers.js +4 -1
  152. package/dist/editor/menubar/ActiveUsers.js.map +1 -1
  153. package/dist/editor/menubar/OpenPublishedPageButton.d.ts +1 -0
  154. package/dist/editor/menubar/OpenPublishedPageButton.js +22 -0
  155. package/dist/editor/menubar/OpenPublishedPageButton.js.map +1 -0
  156. package/dist/editor/menubar/WorkflowButton.js +77 -22
  157. package/dist/editor/menubar/WorkflowButton.js.map +1 -1
  158. package/dist/editor/menubar/toolbar-sections/PreviewModeControl.js +1 -1
  159. package/dist/editor/menubar/toolbar-sections/PreviewModeControl.js.map +1 -1
  160. package/dist/editor/menubar/toolbar-sections/ViewportControls.js +8 -4
  161. package/dist/editor/menubar/toolbar-sections/ViewportControls.js.map +1 -1
  162. package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js +36 -1
  163. package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js.map +1 -1
  164. package/dist/editor/page-editor-chrome/bridgeInlineFormatToolbarLayout.d.ts +19 -0
  165. package/dist/editor/page-editor-chrome/bridgeInlineFormatToolbarLayout.js +14 -0
  166. package/dist/editor/page-editor-chrome/bridgeInlineFormatToolbarLayout.js.map +1 -1
  167. package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.d.ts +3 -0
  168. package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js +18 -0
  169. package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js.map +1 -1
  170. package/dist/editor/page-viewer/DeviceToolbar.js +20 -8
  171. package/dist/editor/page-viewer/DeviceToolbar.js.map +1 -1
  172. package/dist/editor/page-viewer/EditorForm.js +8 -7
  173. package/dist/editor/page-viewer/EditorForm.js.map +1 -1
  174. package/dist/editor/page-viewer/PageViewerFrame.js +10 -0
  175. package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
  176. package/dist/editor/page-viewer/PreviewModeNotice.d.ts +7 -0
  177. package/dist/editor/page-viewer/PreviewModeNotice.js +19 -0
  178. package/dist/editor/page-viewer/PreviewModeNotice.js.map +1 -0
  179. package/dist/editor/page-viewer/pageViewContext.d.ts +5 -1
  180. package/dist/editor/page-viewer/pageViewContext.js +59 -2
  181. package/dist/editor/page-viewer/pageViewContext.js.map +1 -1
  182. package/dist/editor/page-viewer/previewEditAttempt.d.ts +31 -0
  183. package/dist/editor/page-viewer/previewEditAttempt.js +68 -0
  184. package/dist/editor/page-viewer/previewEditAttempt.js.map +1 -0
  185. package/dist/editor/pageModel.d.ts +1 -0
  186. package/dist/editor/services/agentService.d.ts +67 -0
  187. package/dist/editor/services/agentService.js +2 -0
  188. package/dist/editor/services/agentService.js.map +1 -1
  189. package/dist/editor/services/aiService.d.ts +5 -0
  190. package/dist/editor/services/aiService.js.map +1 -1
  191. package/dist/editor/services/contentService.d.ts +9 -0
  192. package/dist/editor/services/contentService.js.map +1 -1
  193. package/dist/editor/services/editService.d.ts +13 -0
  194. package/dist/editor/services/editService.js +8 -0
  195. package/dist/editor/services/editService.js.map +1 -1
  196. package/dist/editor/services/migrationService.d.ts +31 -0
  197. package/dist/editor/services/migrationService.js +22 -0
  198. package/dist/editor/services/migrationService.js.map +1 -0
  199. package/dist/editor/services/publicSiteService.d.ts +40 -0
  200. package/dist/editor/services/publicSiteService.js +5 -0
  201. package/dist/editor/services/publicSiteService.js.map +1 -0
  202. package/dist/editor/settings/About.js +71 -32
  203. package/dist/editor/settings/About.js.map +1 -1
  204. package/dist/editor/settings/MigrationJournalCard.d.ts +12 -0
  205. package/dist/editor/settings/MigrationJournalCard.js +114 -0
  206. package/dist/editor/settings/MigrationJournalCard.js.map +1 -0
  207. package/dist/editor/settings/QuotaUserPicker.js +1 -1
  208. package/dist/editor/settings/SettingsView.js +18 -5
  209. package/dist/editor/settings/SettingsView.js.map +1 -1
  210. package/dist/editor/settings/panels/ModelConfigPanel.js +2 -0
  211. package/dist/editor/settings/panels/ModelConfigPanel.js.map +1 -1
  212. package/dist/editor/settings/panels/PublicSiteEntryDialog.d.ts +8 -0
  213. package/dist/editor/settings/panels/PublicSiteEntryDialog.js +113 -0
  214. package/dist/editor/settings/panels/PublicSiteEntryDialog.js.map +1 -0
  215. package/dist/editor/settings/panels/PublicSitesPanel.d.ts +1 -0
  216. package/dist/editor/settings/panels/PublicSitesPanel.js +153 -0
  217. package/dist/editor/settings/panels/PublicSitesPanel.js.map +1 -0
  218. package/dist/editor/settings/panels/StatusPanel.js +2 -1
  219. package/dist/editor/settings/panels/StatusPanel.js.map +1 -1
  220. package/dist/editor/settings/panels/UserPreferencesPanel.js +4 -4
  221. package/dist/editor/settings/panels/UserPreferencesPanel.js.map +1 -1
  222. package/dist/editor/settings/panels/index.d.ts +1 -0
  223. package/dist/editor/settings/panels/index.js +1 -0
  224. package/dist/editor/settings/panels/index.js.map +1 -1
  225. package/dist/editor/settings/panels/publicSiteHelpers.d.ts +6 -0
  226. package/dist/editor/settings/panels/publicSiteHelpers.js +30 -0
  227. package/dist/editor/settings/panels/publicSiteHelpers.js.map +1 -0
  228. package/dist/editor/settings/status/coreStatusChecks.js +4 -0
  229. package/dist/editor/settings/status/coreStatusChecks.js.map +1 -1
  230. package/dist/editor/sidebar/Sessions.d.ts +3 -1
  231. package/dist/editor/sidebar/Sessions.js +2 -1
  232. package/dist/editor/sidebar/Sessions.js.map +1 -1
  233. package/dist/editor/sidebar/Workbox.js +22 -7
  234. package/dist/editor/sidebar/Workbox.js.map +1 -1
  235. package/dist/editor/ui/PerfectTree.js +10 -6
  236. package/dist/editor/ui/PerfectTree.js.map +1 -1
  237. package/dist/editor/ui/PublishDialog.d.ts +5 -2
  238. package/dist/editor/ui/PublishDialog.js +48 -31
  239. package/dist/editor/ui/PublishDialog.js.map +1 -1
  240. package/dist/editor/ui/PublishItemDialog.js +31 -20
  241. package/dist/editor/ui/PublishItemDialog.js.map +1 -1
  242. package/dist/editor/ui/PublishReadinessSummary.d.ts +12 -0
  243. package/dist/editor/ui/PublishReadinessSummary.js +34 -0
  244. package/dist/editor/ui/PublishReadinessSummary.js.map +1 -0
  245. package/dist/editor/ui/TemplateSelectorDialog.js +27 -1
  246. package/dist/editor/ui/TemplateSelectorDialog.js.map +1 -1
  247. package/dist/editor/ui/publishReadiness.d.ts +65 -0
  248. package/dist/editor/ui/publishReadiness.js +211 -0
  249. package/dist/editor/ui/publishReadiness.js.map +1 -0
  250. package/dist/editor/ui/usePublishingItem.d.ts +8 -0
  251. package/dist/editor/ui/usePublishingItem.js +47 -0
  252. package/dist/editor/ui/usePublishingItem.js.map +1 -0
  253. package/dist/editor/views/ItemEditor.js +15 -23
  254. package/dist/editor/views/ItemEditor.js.map +1 -1
  255. package/dist/index.d.ts +9 -1
  256. package/dist/index.js +8 -1
  257. package/dist/index.js.map +1 -1
  258. package/dist/lib/viewportClip.d.ts +18 -0
  259. package/dist/lib/viewportClip.js +22 -0
  260. package/dist/lib/viewportClip.js.map +1 -0
  261. package/dist/revision.d.ts +2 -2
  262. package/dist/revision.js +2 -2
  263. package/dist/setup/wizard/steps/ImportModelDialog.js +238 -176
  264. package/dist/setup/wizard/steps/ImportModelDialog.js.map +1 -1
  265. package/dist/task-board/components/ProjectSettingsDialog.js +4 -1
  266. package/dist/task-board/components/ProjectSettingsDialog.js.map +1 -1
  267. package/dist/tour/Tour.d.ts +10 -2
  268. package/dist/tour/Tour.js +136 -31
  269. package/dist/tour/Tour.js.map +1 -1
  270. package/dist/tour/default-tour.js +1 -12
  271. package/dist/tour/default-tour.js.map +1 -1
  272. package/dist/tour/sandbox-tour.js +3 -2
  273. package/dist/tour/sandbox-tour.js.map +1 -1
  274. package/dist/tour/tour-utils.d.ts +6 -0
  275. package/dist/tour/tour-utils.js +10 -0
  276. package/dist/tour/tour-utils.js.map +1 -1
  277. package/dist/types.d.ts +7 -0
  278. package/package.json +1 -1
@@ -0,0 +1,211 @@
1
+ export function isReadyToPublish(item) {
2
+ return item.isPublishable && !item.isPublished;
3
+ }
4
+ export function classifyPublishStatus(status) {
5
+ const normalized = status.trim().toLowerCase();
6
+ if (normalized === "published")
7
+ return { outcome: "published", impact: "none" };
8
+ if (normalized.startsWith("item is not yet published") ||
9
+ normalized.startsWith("language version is not yet published.")) {
10
+ return { outcome: "pending", impact: "never-published" };
11
+ }
12
+ if (normalized.startsWith("version is not yet published: currently published version:") ||
13
+ normalized.startsWith("version is not yet published. published revision:") ||
14
+ normalized.startsWith("published item has a different name:")) {
15
+ return { outcome: "pending", impact: "stale" };
16
+ }
17
+ if (normalized.startsWith("item has no valid version, but version")) {
18
+ return { outcome: "will-not-publish", impact: "stale" };
19
+ }
20
+ if (normalized.startsWith("this item has no valid version and will not be published.")) {
21
+ return { outcome: "will-not-publish", impact: "never-published" };
22
+ }
23
+ if (normalized.startsWith("this version is still published even though it is not the valid version.") ||
24
+ normalized.startsWith("this version will not be published. valid version is")) {
25
+ const match = status.match(/valid version is (\d+)/i);
26
+ return {
27
+ outcome: "will-not-publish",
28
+ impact: "other-version",
29
+ ...(match ? { validVersion: Number(match[1]) } : {}),
30
+ };
31
+ }
32
+ return { outcome: "unknown", impact: "unknown" };
33
+ }
34
+ function normalizeDescriptorId(id) {
35
+ return (id ?? "").replace(/[{}]/g, "").toLowerCase();
36
+ }
37
+ /**
38
+ * Compares descriptors the way the workbox does: ids without braces and
39
+ * case-insensitive, languages case-insensitive. A version of 0/undefined means
40
+ * "latest" (the editor keeps the *requested* descriptor when an item is opened
41
+ * from the tree) and matches any concrete version of that item.
42
+ */
43
+ export function isSameDescriptor(a, b) {
44
+ return (normalizeDescriptorId(a.id) === normalizeDescriptorId(b.id) &&
45
+ (a.language ?? "").toLowerCase() === (b.language ?? "").toLowerCase() &&
46
+ (!a.version || !b.version || a.version === b.version));
47
+ }
48
+ /** The workbox row for the item currently open in the editor, if listed. */
49
+ export function findCurrentWorkboxItem(workboxItems, currentItem) {
50
+ return currentItem
51
+ ? workboxItems.find((item) => isSameDescriptor(item.item, currentItem))
52
+ : undefined;
53
+ }
54
+ /** True when `path` lies strictly below `rootPath` (Sitecore paths are case-insensitive). */
55
+ export function isDescendantPath(path, rootPath) {
56
+ if (!path || !rootPath)
57
+ return false;
58
+ const root = rootPath.toLowerCase();
59
+ const prefix = root.endsWith("/") ? root : `${root}/`;
60
+ return path.toLowerCase() !== root && path.toLowerCase().startsWith(prefix);
61
+ }
62
+ const impactSeverity = {
63
+ none: 0,
64
+ unknown: 1,
65
+ "other-version": 2,
66
+ stale: 3,
67
+ "never-published": 4,
68
+ };
69
+ function getItemReadiness(item, blockedByWorkflow) {
70
+ const targets = Object.entries(item.publishStatus).map(([target, status]) => ({
71
+ target,
72
+ ...classifyPublishStatus(status),
73
+ }));
74
+ const unpublished = targets.filter((target) => target.outcome !== "published");
75
+ const restricted = targets.filter((target) => target.outcome === "will-not-publish");
76
+ const worst = unpublished.reduce((result, target) => !result || impactSeverity[target.impact] > impactSeverity[result.impact]
77
+ ? target
78
+ : result, undefined);
79
+ const restriction = restricted.reduce((result, target) => !result || impactSeverity[target.impact] > impactSeverity[result.impact]
80
+ ? target
81
+ : result, undefined);
82
+ const reason = blockedByWorkflow
83
+ ? { kind: "workflow", workflowState: item.workflowState }
84
+ : restriction
85
+ ? restriction.impact === "other-version"
86
+ ? { kind: "not-valid-version", validVersion: restriction.validVersion }
87
+ : { kind: "no-valid-version" }
88
+ : undefined;
89
+ return {
90
+ reason,
91
+ impact: worst?.impact ?? (targets.length ? "none" : "unknown"),
92
+ validVersion: worst?.validVersion,
93
+ affectedTargets: (blockedByWorkflow ? unpublished : restricted).map(({ target }) => target),
94
+ targetCount: targets.length,
95
+ };
96
+ }
97
+ export function getPublishReadiness({ workboxItems, currentItem, pagePath, includeSubitems, }) {
98
+ const coveredBySubitems = (item) => includeSubitems &&
99
+ (item.item.language || currentItem?.language) === currentItem?.language &&
100
+ isDescendantPath(item.path, pagePath);
101
+ // Preserve the existing batch even when a target warns: other targets may
102
+ // still need publishing, or Sitecore may publish the valid version instead.
103
+ const batchDescriptors = workboxItems
104
+ .filter(isReadyToPublish)
105
+ .filter((item) => !coveredBySubitems(item))
106
+ .map((item) => ({
107
+ ...item.item,
108
+ language: item.item.language || currentItem?.language,
109
+ }))
110
+ .filter((descriptor) => !!descriptor.language &&
111
+ (!currentItem ||
112
+ !isSameDescriptor(descriptor, currentItem)));
113
+ const page = findCurrentWorkboxItem(workboxItems, currentItem);
114
+ const blockedByWorkflow = !!page?.workflowState && !page.isPublishable;
115
+ const currentPage = page
116
+ ? {
117
+ item: page,
118
+ blockedByWorkflow,
119
+ ...getItemReadiness(page, blockedByWorkflow),
120
+ }
121
+ : undefined;
122
+ const entries = workboxItems
123
+ .filter((item) => !currentItem || !isSameDescriptor(item.item, currentItem))
124
+ .map((item) => {
125
+ const details = getItemReadiness(item, !item.isPublishable);
126
+ const category = item.isPublished
127
+ ? "already-published"
128
+ : !item.isPublishable
129
+ ? "blocked-by-workflow"
130
+ : details.reason
131
+ ? "will-not-publish"
132
+ : coveredBySubitems(item)
133
+ ? "covered-by-subitems"
134
+ : "will-publish";
135
+ const descriptor = {
136
+ ...item.item,
137
+ language: item.item.language || currentItem?.language,
138
+ };
139
+ return {
140
+ item,
141
+ // Matches WorkboxItemsTable's row key; a future Show action can use it.
142
+ key: [
143
+ item.item.id?.toLowerCase(),
144
+ item.item.language?.toLowerCase(),
145
+ item.item.version ?? 0,
146
+ item.item.database?.toLowerCase() ?? "",
147
+ ].join("|"),
148
+ category,
149
+ inBatch: isReadyToPublish(item) &&
150
+ !coveredBySubitems(item) &&
151
+ !!descriptor.language &&
152
+ (!currentItem ||
153
+ !isSameDescriptor(descriptor, currentItem)),
154
+ ...details,
155
+ };
156
+ });
157
+ return {
158
+ currentPage,
159
+ entries,
160
+ batchDescriptors,
161
+ leftBehind: entries.filter((entry) => entry.category === "blocked-by-workflow" ||
162
+ entry.category === "will-not-publish"),
163
+ };
164
+ }
165
+ export function getPublishReasonText(reason, affectedTargets, targetCount) {
166
+ const prefix = targetCount > 1 && affectedTargets.length
167
+ ? `On ${affectedTargets.join(", ")}: `
168
+ : "";
169
+ switch (reason.kind) {
170
+ case "workflow":
171
+ return (prefix +
172
+ (reason.workflowState
173
+ ? `In workflow state "${reason.workflowState}".`
174
+ : "Not in a final workflow state."));
175
+ case "no-valid-version":
176
+ return prefix + "No valid version. Check its publish restrictions.";
177
+ case "not-valid-version":
178
+ return (prefix +
179
+ (reason.validVersion !== undefined
180
+ ? `Version ${reason.validVersion} is the valid version, not this one.`
181
+ : "Not the valid version."));
182
+ }
183
+ }
184
+ export function getPublishImpactText(impact, validVersion) {
185
+ switch (impact) {
186
+ case "never-published":
187
+ return "Visitors will see nothing for this item until it is published.";
188
+ case "stale":
189
+ return "Visitors will still see the previous version.";
190
+ case "other-version":
191
+ return validVersion !== undefined
192
+ ? `Visitors will see version ${validVersion} instead.`
193
+ : "Visitors will see a different version.";
194
+ default:
195
+ return undefined;
196
+ }
197
+ }
198
+ export function getPublishReadinessHeadline(readiness) {
199
+ const count = readiness.leftBehind.length;
200
+ const related = `${count} related item${count === 1 ? "" : "s"}`;
201
+ if (readiness.currentPage?.blockedByWorkflow)
202
+ return count
203
+ ? `This page cannot be published yet, and ${related} cannot either.`
204
+ : "This page cannot be published yet.";
205
+ if (readiness.currentPage?.reason)
206
+ return count
207
+ ? `This page will not go live as it is, and ${related} cannot publish.`
208
+ : "This page will not go live as it is.";
209
+ return count ? `This page can publish, but ${related} cannot.` : undefined;
210
+ }
211
+ //# sourceMappingURL=publishReadiness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publishReadiness.js","sourceRoot":"","sources":["../../../src/editor/ui/publishReadiness.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { FullItem } from "../pageModel";
2
+ /** Resolve the owner before showing publish options or allowing a publish. */
3
+ export declare function usePublishingItem(source: FullItem | undefined): {
4
+ item: FullItem | undefined;
5
+ isLoading: boolean;
6
+ error: string | undefined;
7
+ isEmbedded: boolean;
8
+ };
@@ -0,0 +1,47 @@
1
+ import { useEffect, useState } from "react";
2
+ import { useEditContext } from "../client/editContext";
3
+ /** Resolve the owner before showing publish options or allowing a publish. */
4
+ export function usePublishingItem(source) {
5
+ const editContext = useEditContext();
6
+ const repository = editContext?.itemsRepository;
7
+ const mainItemId = source?.mainItemId;
8
+ const isEmbedded = !!mainItemId &&
9
+ mainItemId.replace(/[{}]/g, "").toLowerCase() !==
10
+ source?.id.replace(/[{}]/g, "").toLowerCase();
11
+ const [resolved, setResolved] = useState();
12
+ useEffect(() => {
13
+ if (!isEmbedded || !source || !repository)
14
+ return;
15
+ let cancelled = false;
16
+ repository
17
+ .getItem({ ...source.descriptor, id: mainItemId })
18
+ .then((item) => {
19
+ if (!cancelled)
20
+ setResolved({
21
+ source,
22
+ item,
23
+ error: item
24
+ ? undefined
25
+ : "Failed to load the main item for publishing.",
26
+ });
27
+ })
28
+ .catch(() => {
29
+ if (!cancelled)
30
+ setResolved({
31
+ source,
32
+ error: "Failed to load the main item for publishing.",
33
+ });
34
+ });
35
+ return () => {
36
+ cancelled = true;
37
+ };
38
+ }, [isEmbedded, source, mainItemId, repository]);
39
+ const current = resolved?.source === source ? resolved : undefined;
40
+ return {
41
+ item: isEmbedded ? current?.item : source,
42
+ isLoading: isEmbedded && !current,
43
+ error: isEmbedded ? current?.error : undefined,
44
+ isEmbedded,
45
+ };
46
+ }
47
+ //# sourceMappingURL=usePublishingItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePublishingItem.js","sourceRoot":"","sources":["../../../src/editor/ui/usePublishingItem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,8EAA8E;AAC9E,MAAM,UAAU,iBAAiB,CAAC,MAA4B;IAC5D,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,UAAU,GAAG,WAAW,EAAE,eAAe,CAAC;IAChD,MAAM,UAAU,GAAG,MAAM,EAAE,UAAU,CAAC;IACtC,MAAM,UAAU,GACd,CAAC,CAAC,UAAU;QACZ,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE;YAC3C,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAClD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,EAIpC,CAAC;IAEL,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU;YAAE,OAAO;QAClD,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,UAAU;aACP,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,EAAE,EAAE,UAAW,EAAE,CAAC;aAClD,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACb,IAAI,CAAC,SAAS;gBACZ,WAAW,CAAC;oBACV,MAAM;oBACN,IAAI;oBACJ,KAAK,EAAE,IAAI;wBACT,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,8CAA8C;iBACnD,CAAC,CAAC;QACP,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE;YACV,IAAI,CAAC,SAAS;gBACZ,WAAW,CAAC;oBACV,MAAM;oBACN,KAAK,EAAE,8CAA8C;iBACtD,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QACL,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;IAEjD,MAAM,OAAO,GAAG,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,OAAO;QACL,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM;QACzC,SAAS,EAAE,UAAU,IAAI,CAAC,OAAO;QACjC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS;QAC9C,UAAU;KACX,CAAC;AACJ,CAAC"}
@@ -4,7 +4,6 @@ import { EditorWarnings } from "../EditorWarnings";
4
4
  import { FieldList } from "../FieldList";
5
5
  import { ItemInfo } from "../ItemInfo";
6
6
  import { useEditContext } from "../client/editContext";
7
- import { LanguageSelector } from "../../components/ui/LanguageSelector";
8
7
  import { useSlotContext } from "./editorSlotContext";
9
8
  import { TemplateBuilderDialog } from "../template-wizard/TemplateBuilderDialog";
10
9
  const TEMPLATE_TEMPLATE_ID = "AB86861A-6030-46C5-B394-E8F99E8B87DB";
@@ -20,6 +19,9 @@ export function ItemEditor({ item, compareToItem, itemVersions, itemLanguages, o
20
19
  return;
21
20
  const versions = itemVersions ?? editContext.itemVersions;
22
21
  const languages = itemLanguages ?? editContext.itemLanguages;
22
+ const availableLanguages = languages
23
+ .filter((language) => language.versions > 0)
24
+ .sort((a, b) => a.name.localeCompare(b.name));
23
25
  const pageValidators = editContext.validationResult?.find((x) => x.item.id === item?.id &&
24
26
  x.item.language === item?.language &&
25
27
  x.item.version === item?.version)?.results || [];
@@ -30,27 +32,17 @@ export function ItemEditor({ item, compareToItem, itemVersions, itemLanguages, o
30
32
  return;
31
33
  }
32
34
  await editContext.operations.createVersion(item.descriptor);
33
- }, children: ["Create First Version (", item.language, ")"] })), languages.some((lang) => lang.versions > 0) && (_jsxs("div", { className: "flex flex-col items-center gap-2", children: [_jsx("div", { className: "text-neutral-grey-50 text-sm", children: "Or select a different language:" }), _jsx(LanguageSelector
34
- // If the current language has no versions yet, don't show it as the selected
35
- // language in the selector (the selector is meant for switching to existing
36
- // language versions in this state).
37
- , {
38
- // If the current language has no versions yet, don't show it as the selected
39
- // language in the selector (the selector is meant for switching to existing
40
- // language versions in this state).
41
- selectedLanguage: languages.find((lang) => lang.languageCode === item.language && lang.versions > 0)
42
- ? item.language
43
- : undefined, onLanguageSelected: async (language) => {
44
- const descriptor = {
45
- id: item.descriptor.id,
46
- language: language.languageCode,
47
- version: 0,
48
- };
49
- if (onLanguageSelected) {
50
- await onLanguageSelected(descriptor);
51
- return;
52
- }
53
- await editContext.loadItem(descriptor);
54
- }, showAllLanguagesSwitch: false })] }))] })), isTemplateItem && versions.length > 0 && (_jsx(TemplateBuilderDialog, { item: item }))] }));
35
+ }, children: ["Create First Version (", item.language, ")"] })), availableLanguages.length > 0 && (_jsxs("div", { className: "flex flex-col items-center gap-2", children: [_jsx("div", { className: "text-neutral-grey-50 text-xs", children: "Or select a different language:" }), _jsx("div", { className: "flex flex-col gap-1", children: availableLanguages.map((language) => (_jsxs(Button, { type: "button", variant: "ghost", size: "xs", className: "justify-start gap-2 font-normal", "data-testid": `language-option-${language.languageCode}`, onClick: async () => {
36
+ const descriptor = {
37
+ id: item.descriptor.id,
38
+ language: language.languageCode,
39
+ version: 0,
40
+ };
41
+ if (onLanguageSelected) {
42
+ await onLanguageSelected(descriptor);
43
+ return;
44
+ }
45
+ await editContext.loadItem(descriptor);
46
+ }, children: [_jsx("img", { src: language.icon, alt: "", className: "h-4 w-4 shrink-0 object-contain" }), _jsxs("span", { children: [language.name, " (", language.versions, ")"] })] }, language.languageCode))) })] }))] })), isTemplateItem && versions.length > 0 && (_jsx(TemplateBuilderDialog, { item: item }))] }));
55
47
  }
56
48
  //# sourceMappingURL=ItemEditor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ItemEditor.js","sourceRoot":"","sources":["../../../src/editor/views/ItemEditor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ItemEditor.js","sourceRoot":"","sources":["../../../src/editor/views/ItemEditor.tsx"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -7,7 +7,13 @@ export { useMediaQuery } from "./editor/client/hooks/useMediaQuery";
7
7
  export { NavigationProvider, usePathname, useRouter, useSearchParams, } from "./editor/client/navigation";
8
8
  export type { NavigationRouter } from "./editor/client/navigation";
9
9
  export { Editor } from "./editor/Editor";
10
- export { configureForUser, configureTour } from "./config/config";
10
+ export { configureForUser, configureTour, configureForModules } from "./config/config";
11
+ export { SettingsPanelLayout } from "./editor/settings/SettingsPanelLayout";
12
+ export { SettingsCard } from "./editor/settings/SettingsCard";
13
+ export { SettingsHeaderActionsContext, useSettingsHeaderActions, useRequiredSettingsHeaderActions } from "./editor/settings/SettingsHeaderActionsContext";
14
+ export { Switch } from "./components/ui/switch";
15
+ export { Checkbox } from "./components/ui/checkbox";
16
+ export { DialogDescription } from "./components/ui/dialog";
11
17
  export type { DialogProps } from "./editor/client/editContext";
12
18
  export { useCanvasSelection, useEditContext, } from "./editor/client/editContext";
13
19
  export { createVersion, createVersionsBatch, } from "./editor/services/editService";
@@ -121,6 +127,8 @@ export { convertFullItemToStub, convertStubToFullItem, } from "./editor/utils/it
121
127
  export { SimpleTable } from "./editor/ui/SimpleTable";
122
128
  export { SimpleTabs } from "./editor/ui/SimpleTabs";
123
129
  export type { Tab } from "./editor/ui/SimpleTabs";
130
+ export { ContentInspectorPopover } from "./editor/ai/ContentInspectorPopover";
131
+ export type { ContentInspectorPopoverProps, ContentInspectorSection, } from "./editor/ai/ContentInspectorPopover";
124
132
  export { confirmCreateVersion } from "./editor/utils/itemutils";
125
133
  export { cn } from "./lib/utils";
126
134
  export { ModernSplashScreen } from "./splash-screen/ModernSplashScreen";
package/dist/index.js CHANGED
@@ -6,7 +6,13 @@ export { useParheliaSettings, useItemNameValidation, } from "./editor/hooks/useP
6
6
  export { useMediaQuery } from "./editor/client/hooks/useMediaQuery";
7
7
  export { NavigationProvider, usePathname, useRouter, useSearchParams, } from "./editor/client/navigation";
8
8
  export { Editor } from "./editor/Editor";
9
- export { configureForUser, configureTour } from "./config/config";
9
+ export { configureForUser, configureTour, configureForModules } from "./config/config";
10
+ export { SettingsPanelLayout } from "./editor/settings/SettingsPanelLayout";
11
+ export { SettingsCard } from "./editor/settings/SettingsCard";
12
+ export { SettingsHeaderActionsContext, useSettingsHeaderActions, useRequiredSettingsHeaderActions } from "./editor/settings/SettingsHeaderActionsContext";
13
+ export { Switch } from "./components/ui/switch";
14
+ export { Checkbox } from "./components/ui/checkbox";
15
+ export { DialogDescription } from "./components/ui/dialog";
10
16
  export { useCanvasSelection, useEditContext, } from "./editor/client/editContext";
11
17
  export { createVersion, createVersionsBatch, } from "./editor/services/editService";
12
18
  export { Card } from "./components/ui/card";
@@ -86,6 +92,7 @@ export { getPlaceholderCommands, openPlaceholderSettingsCommandProvider, } from
86
92
  export { convertFullItemToStub, convertStubToFullItem, } from "./editor/utils/itemConverters";
87
93
  export { SimpleTable } from "./editor/ui/SimpleTable";
88
94
  export { SimpleTabs } from "./editor/ui/SimpleTabs";
95
+ export { ContentInspectorPopover } from "./editor/ai/ContentInspectorPopover";
89
96
  export { confirmCreateVersion } from "./editor/utils/itemutils";
90
97
  export { cn } from "./lib/utils";
91
98
  export { ModernSplashScreen } from "./splash-screen/ModernSplashScreen";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ export type ViewportClipBounds = {
2
+ left: number;
3
+ top: number;
4
+ right: number;
5
+ bottom: number;
6
+ };
7
+ export type ViewportClipRect = {
8
+ left: number;
9
+ top: number;
10
+ width: number;
11
+ height: number;
12
+ };
13
+ export type ViewportClipOptions = {
14
+ horizontal?: boolean;
15
+ vertical?: boolean;
16
+ };
17
+ /** Clips a fixed-position overlay to the viewport that owns its anchor. */
18
+ export declare function getViewportClipPath(rect: ViewportClipRect, bounds: ViewportClipBounds | undefined, options?: ViewportClipOptions): string | undefined;
@@ -0,0 +1,22 @@
1
+ /** Clips a fixed-position overlay to the viewport that owns its anchor. */
2
+ export function getViewportClipPath(rect, bounds, options = {}) {
3
+ if (!bounds)
4
+ return undefined;
5
+ const clipHorizontal = options.horizontal !== false;
6
+ const clipVertical = options.vertical !== false;
7
+ const right = rect.left + rect.width;
8
+ const bottom = rect.top + rect.height;
9
+ if ((clipHorizontal && (right <= bounds.left || rect.left >= bounds.right)) ||
10
+ (clipVertical && (bottom <= bounds.top || rect.top >= bounds.bottom))) {
11
+ return "inset(100%)";
12
+ }
13
+ const top = clipVertical ? Math.max(0, bounds.top - rect.top) : 0;
14
+ const rightInset = clipHorizontal ? Math.max(0, right - bounds.right) : 0;
15
+ const bottomInset = clipVertical ? Math.max(0, bottom - bounds.bottom) : 0;
16
+ const left = clipHorizontal ? Math.max(0, bounds.left - rect.left) : 0;
17
+ if (top === 0 && rightInset === 0 && bottomInset === 0 && left === 0) {
18
+ return undefined;
19
+ }
20
+ return `inset(${top}px ${rightInset}px ${bottomInset}px ${left}px)`;
21
+ }
22
+ //# sourceMappingURL=viewportClip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viewportClip.js","sourceRoot":"","sources":["../../src/lib/viewportClip.ts"],"names":[],"mappings":"AAmBA,2EAA2E;AAC3E,MAAM,UAAU,mBAAmB,CACjC,IAAsB,EACtB,MAAsC,EACtC,OAAO,GAAwB,EAAE;IAEjC,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAE9B,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,KAAK,KAAK,CAAC;IACpD,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,KAAK,KAAK,CAAC;IAChD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;IACrC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;IACtC,IACE,CAAC,cAAc,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,CAAC,YAAY,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,EACrE,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvE,IAAI,GAAG,KAAK,CAAC,IAAI,UAAU,KAAK,CAAC,IAAI,WAAW,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;QACrE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,SAAS,GAAG,MAAM,UAAU,MAAM,WAAW,MAAM,IAAI,KAAK,CAAC;AACtE,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare const version = "0.3.12831";
2
- export declare const buildDate = "2026-09-03 14:25:47";
1
+ export declare const version = "0.4.12784";
2
+ export declare const buildDate = "2026-09-06 21:13:26";
package/dist/revision.js CHANGED
@@ -1,3 +1,3 @@
1
- export const version = "0.3.12831";
2
- export const buildDate = "2026-09-03 14:25:47";
1
+ export const version = "0.4.12784";
2
+ export const buildDate = "2026-09-06 21:13:26";
3
3
  //# sourceMappingURL=revision.js.map