@arbidocs/blocks 0.4.158 → 0.4.159

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 (172) hide show
  1. package/dist/{ConnectedNativeDocxComparison-64RDIFEI.cjs → ConnectedNativeDocxComparison-R6RU5TZE.cjs} +12 -11
  2. package/dist/{ConnectedNativeDocxComparison-64RDIFEI.cjs.map → ConnectedNativeDocxComparison-R6RU5TZE.cjs.map} +1 -1
  3. package/dist/{ConnectedStreamedWordArtifact-GYBCBAJZ.js → ConnectedNativeDocxComparison-XMZ5KLD4.js} +11 -10
  4. package/dist/{ConnectedStreamedWordArtifact-GYBCBAJZ.js.map → ConnectedNativeDocxComparison-XMZ5KLD4.js.map} +1 -1
  5. package/dist/{ConnectedNativeDocxEditor-UAAICR4X.cjs → ConnectedNativeDocxEditor-LBATSM3M.cjs} +11 -10
  6. package/dist/{ConnectedNativeDocxEditor-UAAICR4X.cjs.map → ConnectedNativeDocxEditor-LBATSM3M.cjs.map} +1 -1
  7. package/dist/{ConnectedNativeDocxEditor-OT5DLWCM.js → ConnectedNativeDocxEditor-NGUK2AX6.js} +9 -8
  8. package/dist/{ConnectedNativeDocxEditor-OT5DLWCM.js.map → ConnectedNativeDocxEditor-NGUK2AX6.js.map} +1 -1
  9. package/dist/{ConnectedStreamedWordArtifact-AJXPNTT3.cjs → ConnectedStreamedWordArtifact-CWFR6A37.cjs} +12 -11
  10. package/dist/ConnectedStreamedWordArtifact-CWFR6A37.cjs.map +1 -0
  11. package/dist/{ConnectedNativeDocxComparison-JOWYEINS.js → ConnectedStreamedWordArtifact-IXRJ7MUE.js} +11 -10
  12. package/dist/{ConnectedNativeDocxComparison-JOWYEINS.js.map → ConnectedStreamedWordArtifact-IXRJ7MUE.js.map} +1 -1
  13. package/dist/{NativeDocxEditor-M3I776GD.cjs → NativeDocxEditor-T2PJIZMU.cjs} +9 -7
  14. package/dist/{NativeDocxEditor-M3I776GD.cjs.map → NativeDocxEditor-T2PJIZMU.cjs.map} +1 -1
  15. package/dist/{NativeDocxEditor-JBQMH3MP.js → NativeDocxEditor-TBTBD6TC.js} +5 -3
  16. package/dist/{NativeDocxEditor-JBQMH3MP.js.map → NativeDocxEditor-TBTBD6TC.js.map} +1 -1
  17. package/dist/{WorkspaceTableView-FQPJQWUE.js → WorkspaceTableView-DWUE4VQF.js} +7 -6
  18. package/dist/WorkspaceTableView-DWUE4VQF.js.map +1 -0
  19. package/dist/{WorkspaceTableView-CZEFIAVT.cjs → WorkspaceTableView-EYLEUZZT.cjs} +9 -8
  20. package/dist/WorkspaceTableView-EYLEUZZT.cjs.map +1 -0
  21. package/dist/agents/index.cjs +241 -241
  22. package/dist/agents/index.js +7 -7
  23. package/dist/calls/index.cjs +3 -3
  24. package/dist/calls/index.js +2 -2
  25. package/dist/chat/index.cjs +1 -1
  26. package/dist/chat/index.js +1 -1
  27. package/dist/{chunk-RJUXSXBH.cjs → chunk-2BHDRVVL.cjs} +18 -8
  28. package/dist/chunk-2BHDRVVL.cjs.map +1 -0
  29. package/dist/chunk-2R3GGNPA.js +151 -0
  30. package/dist/chunk-2R3GGNPA.js.map +1 -0
  31. package/dist/{chunk-Y7PPQ7UT.js → chunk-3OCNUKGX.js} +4 -4
  32. package/dist/{chunk-Y7PPQ7UT.js.map → chunk-3OCNUKGX.js.map} +1 -1
  33. package/dist/{chunk-D3WFIFRY.cjs → chunk-3VW7ZXQ6.cjs} +211 -5
  34. package/dist/chunk-3VW7ZXQ6.cjs.map +1 -0
  35. package/dist/{chunk-JSQEAPTC.cjs → chunk-4GITK3Q5.cjs} +398 -75
  36. package/dist/chunk-4GITK3Q5.cjs.map +1 -0
  37. package/dist/{chunk-7KWUQQIB.js → chunk-5ZIYPZYE.js} +3 -3
  38. package/dist/{chunk-7KWUQQIB.js.map → chunk-5ZIYPZYE.js.map} +1 -1
  39. package/dist/{chunk-AUDUNQO6.cjs → chunk-6QAAIDQQ.cjs} +50 -50
  40. package/dist/{chunk-AUDUNQO6.cjs.map → chunk-6QAAIDQQ.cjs.map} +1 -1
  41. package/dist/{chunk-V3HG3LK3.js → chunk-7UENVUA6.js} +4 -4
  42. package/dist/{chunk-V3HG3LK3.js.map → chunk-7UENVUA6.js.map} +1 -1
  43. package/dist/{chunk-EWCJXUBP.js → chunk-AVXRXPII.js} +3 -3
  44. package/dist/{chunk-EWCJXUBP.js.map → chunk-AVXRXPII.js.map} +1 -1
  45. package/dist/{chunk-TAWPVD6C.cjs → chunk-B3FMUFAW.cjs} +3 -3
  46. package/dist/{chunk-TAWPVD6C.cjs.map → chunk-B3FMUFAW.cjs.map} +1 -1
  47. package/dist/{chunk-7IRSCMNK.js → chunk-BGXWPVHR.js} +3 -3
  48. package/dist/{chunk-7IRSCMNK.js.map → chunk-BGXWPVHR.js.map} +1 -1
  49. package/dist/chunk-DAN7EJ4O.js +482 -0
  50. package/dist/chunk-DAN7EJ4O.js.map +1 -0
  51. package/dist/{chunk-ZAVEMQ37.cjs → chunk-DWZXSPMB.cjs} +3 -3
  52. package/dist/{chunk-ZAVEMQ37.cjs.map → chunk-DWZXSPMB.cjs.map} +1 -1
  53. package/dist/chunk-E4H5H2C3.cjs +18 -0
  54. package/dist/{chunk-DVIQWBDM.cjs.map → chunk-E4H5H2C3.cjs.map} +1 -1
  55. package/dist/{chunk-VY4UFXTM.cjs → chunk-ETJFC6MO.cjs} +4 -4
  56. package/dist/{chunk-VY4UFXTM.cjs.map → chunk-ETJFC6MO.cjs.map} +1 -1
  57. package/dist/{chunk-FGI3YFQH.js → chunk-FTZ45WHY.js} +4 -4
  58. package/dist/{chunk-FGI3YFQH.js.map → chunk-FTZ45WHY.js.map} +1 -1
  59. package/dist/{chunk-FBSIWJSG.cjs → chunk-GC2FSPSQ.cjs} +6 -6
  60. package/dist/{chunk-FBSIWJSG.cjs.map → chunk-GC2FSPSQ.cjs.map} +1 -1
  61. package/dist/{chunk-TQIY2SVY.cjs → chunk-GFVIFXWT.cjs} +5 -5
  62. package/dist/{chunk-TQIY2SVY.cjs.map → chunk-GFVIFXWT.cjs.map} +1 -1
  63. package/dist/chunk-JPWPR6QU.cjs +485 -0
  64. package/dist/chunk-JPWPR6QU.cjs.map +1 -0
  65. package/dist/{chunk-KQYPP72K.js → chunk-JTJCCL2E.js} +212 -9
  66. package/dist/chunk-JTJCCL2E.js.map +1 -0
  67. package/dist/{chunk-P6FMKXAB.js → chunk-KFMRBZQK.js} +16 -6
  68. package/dist/chunk-KFMRBZQK.js.map +1 -0
  69. package/dist/{chunk-VMFLWFXK.js → chunk-MNG7N6M2.js} +4 -4
  70. package/dist/{chunk-VMFLWFXK.js.map → chunk-MNG7N6M2.js.map} +1 -1
  71. package/dist/chunk-NMZI3K6R.cjs +159 -0
  72. package/dist/chunk-NMZI3K6R.cjs.map +1 -0
  73. package/dist/{chunk-UYC5BJCB.cjs → chunk-NPLGB4LI.cjs} +5 -5
  74. package/dist/{chunk-UYC5BJCB.cjs.map → chunk-NPLGB4LI.cjs.map} +1 -1
  75. package/dist/{chunk-SCK3GAE5.cjs → chunk-P2YM67Y5.cjs} +5 -5
  76. package/dist/{chunk-SCK3GAE5.cjs.map → chunk-P2YM67Y5.cjs.map} +1 -1
  77. package/dist/{chunk-VE6S6NRQ.js → chunk-P6RIBIVN.js} +4 -4
  78. package/dist/{chunk-VE6S6NRQ.js.map → chunk-P6RIBIVN.js.map} +1 -1
  79. package/dist/chunk-Q2XGM372.cjs +18 -0
  80. package/dist/{chunk-GWGUZ5X6.cjs.map → chunk-Q2XGM372.cjs.map} +1 -1
  81. package/dist/{chunk-FWIBFGUQ.cjs → chunk-QJFJ5JBF.cjs} +3 -3
  82. package/dist/{chunk-FWIBFGUQ.cjs.map → chunk-QJFJ5JBF.cjs.map} +1 -1
  83. package/dist/{chunk-2DQHFJNP.js → chunk-QKR5LWDO.js} +7 -7
  84. package/dist/{chunk-2DQHFJNP.js.map → chunk-QKR5LWDO.js.map} +1 -1
  85. package/dist/{chunk-GDRLM2EX.js → chunk-RATEAOKT.js} +3 -3
  86. package/dist/{chunk-GDRLM2EX.js.map → chunk-RATEAOKT.js.map} +1 -1
  87. package/dist/{chunk-NFI46I77.cjs → chunk-TQUYWUEE.cjs} +11 -157
  88. package/dist/chunk-TQUYWUEE.cjs.map +1 -0
  89. package/dist/{chunk-ECERC6TI.js → chunk-VHJHY7TT.js} +3 -3
  90. package/dist/{chunk-ECERC6TI.js.map → chunk-VHJHY7TT.js.map} +1 -1
  91. package/dist/{chunk-ZO7PJMCO.js → chunk-WU34CHU5.js} +3 -3
  92. package/dist/{chunk-ZO7PJMCO.js.map → chunk-WU34CHU5.js.map} +1 -1
  93. package/dist/{chunk-ONTUMV74.js → chunk-XER3JLC7.js} +398 -78
  94. package/dist/chunk-XER3JLC7.js.map +1 -0
  95. package/dist/{chunk-LY37J3AC.cjs → chunk-YF3QUHKN.cjs} +4 -4
  96. package/dist/{chunk-LY37J3AC.cjs.map → chunk-YF3QUHKN.cjs.map} +1 -1
  97. package/dist/{chunk-Y73X65FF.js → chunk-ZDOKJD44.js} +5 -144
  98. package/dist/chunk-ZDOKJD44.js.map +1 -0
  99. package/dist/collaboration/index.cjs +1 -1
  100. package/dist/collaboration/index.js +1 -1
  101. package/dist/connect/docx.cjs +15 -14
  102. package/dist/connect/docx.js +11 -10
  103. package/dist/connect/index.cjs +542 -540
  104. package/dist/connect/index.cjs.map +1 -1
  105. package/dist/connect/index.js +27 -25
  106. package/dist/connect/index.js.map +1 -1
  107. package/dist/connect/viewer.cjs +90 -69
  108. package/dist/connect/viewer.cjs.map +1 -1
  109. package/dist/connect/viewer.js +40 -19
  110. package/dist/connect/viewer.js.map +1 -1
  111. package/dist/connection/viewer/ViewerPdfPane.d.ts +7 -1
  112. package/dist/document-tools/AdoptSignatureDialog.d.ts +39 -4
  113. package/dist/document-tools/PlaceMySignatureButton.d.ts +16 -0
  114. package/dist/document-tools/SavedSignatureSettings.d.ts +10 -0
  115. package/dist/document-tools/index.cjs +38 -23
  116. package/dist/document-tools/index.d.ts +2 -0
  117. package/dist/document-tools/index.js +6 -3
  118. package/dist/document-tools/viewer/AnnotatedPdfViewer.d.ts +10 -1
  119. package/dist/document-tools/viewer/SignatureRequestEditor.d.ts +7 -4
  120. package/dist/document-tools/viewer/index.cjs +184 -18
  121. package/dist/document-tools/viewer/index.cjs.map +1 -1
  122. package/dist/document-tools/viewer/index.js +184 -18
  123. package/dist/document-tools/viewer/index.js.map +1 -1
  124. package/dist/docx/NativeDocxEditor.d.ts +5 -0
  125. package/dist/docx/index.cjs +61 -47
  126. package/dist/docx/index.d.ts +1 -0
  127. package/dist/docx/index.js +5 -3
  128. package/dist/docx/signatures/SignatureFields.d.ts +50 -0
  129. package/dist/facts/index.cjs +56 -56
  130. package/dist/facts/index.js +6 -6
  131. package/dist/files/index.cjs +239 -239
  132. package/dist/files/index.js +6 -6
  133. package/dist/home/index.cjs +2 -2
  134. package/dist/home/index.js +2 -2
  135. package/dist/index.cjs +409 -409
  136. package/dist/index.js +14 -14
  137. package/dist/retrieval/index.cjs +1 -1
  138. package/dist/retrieval/index.js +1 -1
  139. package/dist/settings/index.cjs +187 -186
  140. package/dist/settings/index.js +4 -3
  141. package/dist/shell/index.cjs +3 -3
  142. package/dist/shell/index.js +3 -3
  143. package/dist/studio/index.cjs +3 -3
  144. package/dist/studio/index.js +3 -3
  145. package/dist/workflow-canvas/index.cjs +19 -19
  146. package/dist/workflow-canvas/index.js +7 -7
  147. package/node_modules/@arbidocs/coedit/dist/commands.cjs +109 -16
  148. package/node_modules/@arbidocs/coedit/dist/commands.cjs.map +1 -1
  149. package/node_modules/@arbidocs/coedit/dist/commands.d.cts +84 -1
  150. package/node_modules/@arbidocs/coedit/dist/commands.d.ts +84 -1
  151. package/node_modules/@arbidocs/coedit/dist/commands.js +99 -17
  152. package/node_modules/@arbidocs/coedit/dist/commands.js.map +1 -1
  153. package/node_modules/@arbidocs/coedit/package.json +1 -1
  154. package/package.json +5 -5
  155. package/src/docx/styles.css +50 -0
  156. package/dist/ConnectedStreamedWordArtifact-AJXPNTT3.cjs.map +0 -1
  157. package/dist/WorkspaceTableView-CZEFIAVT.cjs.map +0 -1
  158. package/dist/WorkspaceTableView-FQPJQWUE.js.map +0 -1
  159. package/dist/chunk-6MG62I5B.cjs +0 -272
  160. package/dist/chunk-6MG62I5B.cjs.map +0 -1
  161. package/dist/chunk-D3WFIFRY.cjs.map +0 -1
  162. package/dist/chunk-DVIQWBDM.cjs +0 -18
  163. package/dist/chunk-EQB3WELX.js +0 -269
  164. package/dist/chunk-EQB3WELX.js.map +0 -1
  165. package/dist/chunk-GWGUZ5X6.cjs +0 -18
  166. package/dist/chunk-JSQEAPTC.cjs.map +0 -1
  167. package/dist/chunk-KQYPP72K.js.map +0 -1
  168. package/dist/chunk-NFI46I77.cjs.map +0 -1
  169. package/dist/chunk-ONTUMV74.js.map +0 -1
  170. package/dist/chunk-P6FMKXAB.js.map +0 -1
  171. package/dist/chunk-RJUXSXBH.cjs.map +0 -1
  172. package/dist/chunk-Y73X65FF.js.map +0 -1
@@ -1,18 +1,19 @@
1
1
  "use client";
2
- export { ActiveSessionsDialog, AppearanceSettings, AvatarPicker, CONVERSATION_TITLE_MAX, CheckoutDialogFrame, ConfigSwitcherBar, ConnectionCard, ConnectionsEmpty, ConnectionsError, ConnectionsLoading, ConversationTitleSection, DEFAULT_ACTIVE_SESSIONS_DIALOG_LABELS, DEFAULT_APPEARANCE_PAIRING_IDS, DEFAULT_AVATAR_PICKER_LABELS, DEFAULT_CHECKOUT_DIALOG_LABELS, DEFAULT_CONFIG_SWITCHER_BAR_LABELS, DEFAULT_CONNECTION_CARD_LABELS, DEFAULT_CONVERSATION_TITLE_SECTION_LABELS, DEFAULT_DAILY_CAP_FIELD_LABELS, DEFAULT_DELETE_ACCOUNT_DIALOG_LABELS, DEFAULT_EMAIL_WORKSPACE_DIALOG_LABELS, DEFAULT_ERROR_DIALOG_LABELS, DEFAULT_IDENTITY_VERIFICATION_LABELS, DEFAULT_INVITE_CONTACTS_DIALOG_LABELS, DEFAULT_INVOICES_DIALOG_LABELS, DEFAULT_LOGOUT_DIALOG_LABELS, DEFAULT_MODEL_SELECTION_SECTION_LABELS, DEFAULT_PASSWORD_CHANGE_DIALOG_LABELS, DEFAULT_PLAN_CARD_LABELS, DEFAULT_PROFILE_CARD_LABELS, DEFAULT_PROJECT_DETAIL_HEADER_LABELS, DEFAULT_PROJECT_LIST_LABELS, DEFAULT_QUOTA_EXCEEDED_DIALOG_LABELS, DEFAULT_REFERRAL_REWARD_LABELS, DEFAULT_RENAME_DIALOG_LABELS, DEFAULT_SETTINGS_DANGER_ZONE_LABELS, DEFAULT_SHARED_PROJECTS_SECTION_LABELS, DEFAULT_SUBSCRIPTION_STATUS_LABELS, DEFAULT_SUPPORT_PANEL_LABELS, DEFAULT_SYNC_DIALOG_FOOTER_LABELS, DEFAULT_SYNC_FOLDER_ROW_LABELS, DEFAULT_TIPS_EDITOR_LABELS, DEFAULT_USAGE_LINE_CHART_LABELS, DEFAULT_USAGE_PANEL_LABELS, DEFAULT_USAGE_PROPORTION_BAR_LABELS, DEFAULT_WELCOME_DIALOG_LABELS, DEFAULT_WORK_OFFLINE_LABELS, DailyCapField, DeleteAccountDialog, DraggableHeader, EMAIL_NOTIFICATION_CATEGORIES, EMAIL_NOTIFICATION_KEYS, EmailWorkspaceDialogView, ErrorDialogView, FilterChip, FloatingPanel, IdentityVerificationCard, IdentityVerificationDialog, InviteContactsDialog, InvoicesDialog, JsonTree, LogoutDialog, MessageJsonTree, ModelProviderLabel, ModelSelectionSection, MoreInfo, MoreInfoList, NotificationCategoryList, PanelActionsRow, PanelAddButton, PanelFrame, PanelFrameBody, PanelNote, PanelScroll, PanelTitleBar, PasswordChangeDialog, PlanActionButton, PlanActionRow, PlanBadge, PlanCard, PlanCardGrid, PlanDialogFrame, PlanInfoPopover, PlanNotice, PlanPickerCard, PlanPickerHeader, PlanStack, PlanTierOption, PremiumModelsFrame, PricingToggle, ProfileCard, ProjectDetailHeader, ProjectDetailSection, ProjectGroup, ProjectList, ProjectRow, PromoCodeInput, QuotaExceededDialogView, QuotaMeter, ReferralRewardBadge, ReferralRewardNote, ReferralRewardSummary, RenameDialog, RequireVerified, SegmentedControl, ServerConnectionButton, SettingsActionRow, SettingsCard, SettingsDangerZone, SettingsPage, SettingsPanel, SettingsRow, SettingsSection, SettingsSwitchGroup, SettingsSwitchRow, SharedProjectRow, SharedProjectsSection, SubscriptionStatusView, SupportPanel, SupportUnavailable, SyncCheckList, SyncDialogBody, SyncDialogFooter, SyncField, SyncFolderRow, SyncFolderStatus, SyncLinkButton, SyncLinkRow, SyncLoading, SyncNote, SyncOptionToggle, SyncOptions, SyncReconnectNotice, SyncSelect, SyncSmallNote, SyncTreeFrame, ThreadPreviewDialog, TipsEditorDialog, UsageActionButton, UsageLegend, UsageLineChart, UsagePanel, UsageProportionBar, UsageQuotaHint, UsageSection, UsageSummary, UsageToggle, WelcomeDialog, WelcomeProjectPicker, WorkOfflineToggle, applyInvertedIndexFilter, applyTriStateFilters, buildInvertedIndex, formatSessionTtl, resolveSettingsSection, serverConnectionView, toActiveSessionViews, toDeleteBlockerViews, toLogoutSessionViews, toNotificationCategories } from '../chunk-Y73X65FF.js';
2
+ export { ActiveSessionsDialog, AppearanceSettings, AvatarPicker, CONVERSATION_TITLE_MAX, CheckoutDialogFrame, ConfigSwitcherBar, ConnectionCard, ConnectionsEmpty, ConnectionsError, ConnectionsLoading, ConversationTitleSection, DEFAULT_ACTIVE_SESSIONS_DIALOG_LABELS, DEFAULT_APPEARANCE_PAIRING_IDS, DEFAULT_AVATAR_PICKER_LABELS, DEFAULT_CHECKOUT_DIALOG_LABELS, DEFAULT_CONFIG_SWITCHER_BAR_LABELS, DEFAULT_CONNECTION_CARD_LABELS, DEFAULT_CONVERSATION_TITLE_SECTION_LABELS, DEFAULT_DAILY_CAP_FIELD_LABELS, DEFAULT_DELETE_ACCOUNT_DIALOG_LABELS, DEFAULT_EMAIL_WORKSPACE_DIALOG_LABELS, DEFAULT_ERROR_DIALOG_LABELS, DEFAULT_IDENTITY_VERIFICATION_LABELS, DEFAULT_INVITE_CONTACTS_DIALOG_LABELS, DEFAULT_INVOICES_DIALOG_LABELS, DEFAULT_LOGOUT_DIALOG_LABELS, DEFAULT_MODEL_SELECTION_SECTION_LABELS, DEFAULT_PASSWORD_CHANGE_DIALOG_LABELS, DEFAULT_PLAN_CARD_LABELS, DEFAULT_PROFILE_CARD_LABELS, DEFAULT_PROJECT_DETAIL_HEADER_LABELS, DEFAULT_PROJECT_LIST_LABELS, DEFAULT_QUOTA_EXCEEDED_DIALOG_LABELS, DEFAULT_REFERRAL_REWARD_LABELS, DEFAULT_RENAME_DIALOG_LABELS, DEFAULT_SHARED_PROJECTS_SECTION_LABELS, DEFAULT_SUBSCRIPTION_STATUS_LABELS, DEFAULT_SUPPORT_PANEL_LABELS, DEFAULT_SYNC_DIALOG_FOOTER_LABELS, DEFAULT_SYNC_FOLDER_ROW_LABELS, DEFAULT_TIPS_EDITOR_LABELS, DEFAULT_USAGE_LINE_CHART_LABELS, DEFAULT_USAGE_PANEL_LABELS, DEFAULT_USAGE_PROPORTION_BAR_LABELS, DEFAULT_WELCOME_DIALOG_LABELS, DEFAULT_WORK_OFFLINE_LABELS, DailyCapField, DeleteAccountDialog, DraggableHeader, EMAIL_NOTIFICATION_CATEGORIES, EMAIL_NOTIFICATION_KEYS, EmailWorkspaceDialogView, ErrorDialogView, FilterChip, FloatingPanel, IdentityVerificationCard, IdentityVerificationDialog, InviteContactsDialog, InvoicesDialog, JsonTree, LogoutDialog, MessageJsonTree, ModelProviderLabel, ModelSelectionSection, MoreInfo, MoreInfoList, NotificationCategoryList, PanelActionsRow, PanelAddButton, PanelFrame, PanelFrameBody, PanelNote, PanelScroll, PanelTitleBar, PasswordChangeDialog, PlanActionButton, PlanActionRow, PlanBadge, PlanCard, PlanCardGrid, PlanDialogFrame, PlanInfoPopover, PlanNotice, PlanPickerCard, PlanPickerHeader, PlanStack, PlanTierOption, PremiumModelsFrame, PricingToggle, ProfileCard, ProjectDetailHeader, ProjectDetailSection, ProjectGroup, ProjectList, ProjectRow, PromoCodeInput, QuotaExceededDialogView, QuotaMeter, ReferralRewardBadge, ReferralRewardNote, ReferralRewardSummary, RenameDialog, RequireVerified, SegmentedControl, ServerConnectionButton, SettingsPage, SettingsSwitchGroup, SettingsSwitchRow, SharedProjectRow, SharedProjectsSection, SubscriptionStatusView, SupportPanel, SupportUnavailable, SyncCheckList, SyncDialogBody, SyncDialogFooter, SyncField, SyncFolderRow, SyncFolderStatus, SyncLinkButton, SyncLinkRow, SyncLoading, SyncNote, SyncOptionToggle, SyncOptions, SyncReconnectNotice, SyncSelect, SyncSmallNote, SyncTreeFrame, ThreadPreviewDialog, TipsEditorDialog, UsageActionButton, UsageLegend, UsageLineChart, UsagePanel, UsageProportionBar, UsageQuotaHint, UsageSection, UsageSummary, UsageToggle, WelcomeDialog, WelcomeProjectPicker, WorkOfflineToggle, applyInvertedIndexFilter, applyTriStateFilters, buildInvertedIndex, formatSessionTtl, resolveSettingsSection, serverConnectionView, toActiveSessionViews, toDeleteBlockerViews, toLogoutSessionViews, toNotificationCategories } from '../chunk-ZDOKJD44.js';
3
3
  export { ModalBreadcrumbHeader, ModalCrumbs } from '../chunk-RC6VTY2H.js';
4
+ export { DEFAULT_SETTINGS_DANGER_ZONE_LABELS, SettingsActionRow, SettingsCard, SettingsDangerZone, SettingsPanel, SettingsRow, SettingsSection } from '../chunk-2R3GGNPA.js';
4
5
  import '../chunk-66TA5IBN.js';
5
6
  import '../chunk-NHZK64TQ.js';
6
7
  export { MultiSelect } from '../chunk-CQCC7LE7.js';
7
8
  export { DEFAULT_DOCUMENT_PICKER_LABELS, DEFAULT_TRI_STATE_FILTER_MENU_LABELS, DocumentPicker, TriStateFilterMenu } from '../chunk-NUSBINUM.js';
8
9
  import '../chunk-5LXQPP2K.js';
9
10
  import '../chunk-VILAPTCB.js';
10
- export { ConfirmDialog, DEFAULT_CONFIRM_DIALOG_LABELS } from '../chunk-ECERC6TI.js';
11
+ export { ConfirmDialog, DEFAULT_CONFIRM_DIALOG_LABELS } from '../chunk-VHJHY7TT.js';
11
12
  import '../chunk-4WWM3GQ5.js';
12
- export { MODAL_SECTION_TITLE_CLASS, ModalHeader, ModalScaffold, ModalSection, ModalSectionTitle } from '../chunk-TX2ZICS7.js';
13
13
  import '../chunk-AUS3KBHJ.js';
14
14
  import '../chunk-NPLYHR2E.js';
15
15
  import '../chunk-7F6CBP3Z.js';
16
+ export { MODAL_SECTION_TITLE_CLASS, ModalHeader, ModalScaffold, ModalSection, ModalSectionTitle } from '../chunk-TX2ZICS7.js';
16
17
  import '../chunk-OXF2IFXG.js';
17
18
  import '../chunk-VUNV25KB.js';
18
19
  //# sourceMappingURL=index.js.map
@@ -4,16 +4,16 @@
4
4
  var chunkOFV3PRF2_cjs = require('../chunk-OFV3PRF2.cjs');
5
5
  var chunkV46W7YLI_cjs = require('../chunk-V46W7YLI.cjs');
6
6
  require('../chunk-AHDJXIUB.cjs');
7
- var chunk2EI7NCUA_cjs = require('../chunk-2EI7NCUA.cjs');
8
7
  require('../chunk-3VULDTNL.cjs');
8
+ var chunk2EI7NCUA_cjs = require('../chunk-2EI7NCUA.cjs');
9
9
  var chunk7RGLTF76_cjs = require('../chunk-7RGLTF76.cjs');
10
- require('../chunk-CNHUJRQ4.cjs');
11
- require('../chunk-ULWRNGGE.cjs');
12
10
  var chunk5UHAWSEX_cjs = require('../chunk-5UHAWSEX.cjs');
13
11
  var chunkB6MVQCXW_cjs = require('../chunk-B6MVQCXW.cjs');
14
12
  var chunkFX3K6LNZ_cjs = require('../chunk-FX3K6LNZ.cjs');
15
13
  require('../chunk-PPCATBOY.cjs');
16
14
  require('../chunk-MHVNT4J3.cjs');
15
+ require('../chunk-CNHUJRQ4.cjs');
16
+ require('../chunk-ULWRNGGE.cjs');
17
17
  require('../chunk-DES3K4SD.cjs');
18
18
 
19
19
 
@@ -2,16 +2,16 @@
2
2
  export { ActionCluster, AskField, AskRow, AskTrigger, DEFAULT_ASK_FIELD_LABELS, DEFAULT_INSTALL_PROMPT_LABELS, DEFAULT_MOBILE_BARS_LABELS, DEFAULT_OFFLINE_PILL_LABELS, DEFAULT_REMOTE_CONTROL_PILL_LABELS, DEFAULT_SIDEBAR_LABELS, DEFAULT_TIP_CARD_LABELS, INSTALL_PROMPT_DISMISSED_KEY, InfoBar, InstallPrompt, MobileAppBar, MobileTabBar, NotificationBell, OfflinePill, RemoteControlPill, STATUS_ROW_BASE_CLASS, STATUS_ROW_TONES, ShellSidebar, Sidebar, SidebarBadgeRow, SidebarRowAction, SidebarRowHoverContext, SplitLayout, StatusBadge, StatusRow, TipCard, UserMenu, getInstallInstructions, initInstallPrompt, isIosDevice, promptAppInstall, resolveSidebarLayout, useCloseOnEscape, useInstallPrompt, useSidebarContext, useSidebarController, useSidebarSettle } from '../chunk-YNMO3DSR.js';
3
3
  export { DEFAULT_WORKSPACE_KIND_LABELS, DEFAULT_WORKSPACE_SWITCHER_LABELS, WorkspaceIdentity, WorkspaceSwitcher, workspaceKindColor, workspaceKindMeta } from '../chunk-A3XPS2EU.js';
4
4
  import '../chunk-RLWIUUQ5.js';
5
- export { DEFAULT_FILTER_FIELDS, DEFAULT_FILTER_INPUT_LABELS, FilterInput } from '../chunk-YU2KUMGE.js';
6
5
  import '../chunk-VF5EUAIV.js';
6
+ export { DEFAULT_FILTER_FIELDS, DEFAULT_FILTER_INPUT_LABELS, FilterInput } from '../chunk-YU2KUMGE.js';
7
7
  export { DEFAULT_TAB_HEADER_LABELS, TabHeader } from '../chunk-4WWM3GQ5.js';
8
- import '../chunk-F57LNUSZ.js';
9
- import '../chunk-TX2ZICS7.js';
10
8
  export { DEFAULT_DOCK_WIDTH, Toaster } from '../chunk-OKERRHLH.js';
11
9
  export { DEFAULT_OVERLAY_ZONE_ID, DEFAULT_PAGE_CONTAINER_PADDING, DEFAULT_SIDEBAR_TOGGLE_BUTTON_LABELS, PageContainer, SHELL_BOTTOM_INSET_VAR, Shell, SidebarToggleButton, ToolButton, useDrawerBehavior, useOverlayZoneId, useShellBottomInset } from '../chunk-7XF5SFJ2.js';
12
10
  export { BREAKPOINT_QUERIES, useIsNarrow, useIsPhone, useIsTouchScreen, useMediaQuery } from '../chunk-SLSBJRWW.js';
13
11
  import '../chunk-NPLYHR2E.js';
14
12
  import '../chunk-7F6CBP3Z.js';
13
+ import '../chunk-F57LNUSZ.js';
14
+ import '../chunk-TX2ZICS7.js';
15
15
  import '../chunk-VUNV25KB.js';
16
16
  //# sourceMappingURL=index.js.map
17
17
  //# sourceMappingURL=index.js.map
@@ -11,17 +11,17 @@ require('../chunk-NWNVWO6L.cjs');
11
11
  require('../chunk-VPPX5XUF.cjs');
12
12
  var chunkZW6FPIFC_cjs = require('../chunk-ZW6FPIFC.cjs');
13
13
  require('../chunk-3VULDTNL.cjs');
14
- var chunkCNHUJRQ4_cjs = require('../chunk-CNHUJRQ4.cjs');
15
- require('../chunk-ULWRNGGE.cjs');
16
14
  require('../chunk-5A2QQAF5.cjs');
17
15
  require('../chunk-B6MVQCXW.cjs');
18
16
  require('../chunk-JKB7WT7L.cjs');
19
17
  require('../chunk-JSTKEZBS.cjs');
20
18
  require('../chunk-76L6LOP3.cjs');
21
- require('../chunk-7UTB4PHM.cjs');
22
19
  require('../chunk-32HW2Q33.cjs');
20
+ require('../chunk-7UTB4PHM.cjs');
23
21
  require('../chunk-PPCATBOY.cjs');
24
22
  require('../chunk-MHVNT4J3.cjs');
23
+ var chunkCNHUJRQ4_cjs = require('../chunk-CNHUJRQ4.cjs');
24
+ require('../chunk-ULWRNGGE.cjs');
25
25
  var chunkKDG6FER6_cjs = require('../chunk-KDG6FER6.cjs');
26
26
  require('../chunk-DES3K4SD.cjs');
27
27
  var lucideReact = require('lucide-react');
@@ -10,17 +10,17 @@ import '../chunk-NHZK64TQ.js';
10
10
  import '../chunk-4EZVCGRL.js';
11
11
  import { EmptyState } from '../chunk-P6GHJSLR.js';
12
12
  import '../chunk-VF5EUAIV.js';
13
- import { useBlocksEnvironment } from '../chunk-F57LNUSZ.js';
14
- import '../chunk-TX2ZICS7.js';
15
13
  import '../chunk-GWSGIZQ5.js';
16
14
  import '../chunk-7XF5SFJ2.js';
17
15
  import '../chunk-YBLIKTJK.js';
18
16
  import '../chunk-PDKM27DF.js';
19
17
  import '../chunk-TZGBRLPK.js';
20
- import '../chunk-AA3PT6KR.js';
21
18
  import '../chunk-AUS3KBHJ.js';
19
+ import '../chunk-AA3PT6KR.js';
22
20
  import '../chunk-NPLYHR2E.js';
23
21
  import '../chunk-7F6CBP3Z.js';
22
+ import { useBlocksEnvironment } from '../chunk-F57LNUSZ.js';
23
+ import '../chunk-TX2ZICS7.js';
24
24
  import { formatCount } from '../chunk-OXF2IFXG.js';
25
25
  import '../chunk-VUNV25KB.js';
26
26
  import { MessageSquare, Cpu, Code, Cloud, Layers, Target, Award, MapPin, Phone, Mail, Lock, Globe, Heart, Star, Rocket, Shield, Zap, Sparkles, Gavel, Scale, Bell, Activity, BarChart3, DollarSign, TrendingUp, Info, AlertCircle, CheckCircle, Clock, Calendar, Briefcase, Users, Folder, FileText, ArrowLeft, Palette, Loader2, RotateCcw, ChevronUp, ChevronDown, BrainCircuit, Bot, LayoutGrid, FileJson, Download, Crop, ImagePlus, Upload, Link2, Check, MessagesSquare } from 'lucide-react';
@@ -3,30 +3,30 @@
3
3
 
4
4
  var chunkCB4TIDEX_cjs = require('../chunk-CB4TIDEX.cjs');
5
5
  var chunkFM3IRQJW_cjs = require('../chunk-FM3IRQJW.cjs');
6
- var chunkAUDUNQO6_cjs = require('../chunk-AUDUNQO6.cjs');
7
- var chunkLY37J3AC_cjs = require('../chunk-LY37J3AC.cjs');
6
+ var chunk6QAAIDQQ_cjs = require('../chunk-6QAAIDQQ.cjs');
7
+ var chunkYF3QUHKN_cjs = require('../chunk-YF3QUHKN.cjs');
8
8
  require('../chunk-RFIBUWLF.cjs');
9
9
  var chunkYBJ4QGNH_cjs = require('../chunk-YBJ4QGNH.cjs');
10
10
  require('../chunk-OALEDG67.cjs');
11
11
  require('../chunk-2VHYOTWW.cjs');
12
12
  require('../chunk-ZW6FPIFC.cjs');
13
- require('../chunk-AHDJXIUB.cjs');
14
13
  require('../chunk-SIB6C7P7.cjs');
15
14
  require('../chunk-DVUZTGVL.cjs');
15
+ require('../chunk-AHDJXIUB.cjs');
16
+ require('../chunk-3VULDTNL.cjs');
16
17
  require('../chunk-V4ISCZJ7.cjs');
17
18
  require('../chunk-2EI7NCUA.cjs');
18
- require('../chunk-3VULDTNL.cjs');
19
19
  require('../chunk-C2CWWEHO.cjs');
20
20
  require('../chunk-7RGLTF76.cjs');
21
- var chunkCNHUJRQ4_cjs = require('../chunk-CNHUJRQ4.cjs');
22
- require('../chunk-ULWRNGGE.cjs');
23
21
  var chunkJSTKEZBS_cjs = require('../chunk-JSTKEZBS.cjs');
24
22
  var chunk76L6LOP3_cjs = require('../chunk-76L6LOP3.cjs');
25
- require('../chunk-7UTB4PHM.cjs');
26
23
  var chunk32HW2Q33_cjs = require('../chunk-32HW2Q33.cjs');
24
+ require('../chunk-7UTB4PHM.cjs');
27
25
  require('../chunk-FX3K6LNZ.cjs');
28
26
  require('../chunk-PPCATBOY.cjs');
29
27
  require('../chunk-MHVNT4J3.cjs');
28
+ var chunkCNHUJRQ4_cjs = require('../chunk-CNHUJRQ4.cjs');
29
+ require('../chunk-ULWRNGGE.cjs');
30
30
  require('../chunk-KDG6FER6.cjs');
31
31
  require('../chunk-DES3K4SD.cjs');
32
32
  var react = require('react');
@@ -319,9 +319,9 @@ function SignalsEditor({
319
319
  {
320
320
  className: ui.cn(
321
321
  "space-y-1.5 rounded-md border p-2",
322
- chunkLY37J3AC_cjs.isIncompleteSignal(signal) ? "border-destructive/50" : "border-border"
322
+ chunkYF3QUHKN_cjs.isIncompleteSignal(signal) ? "border-destructive/50" : "border-border"
323
323
  ),
324
- "data-incomplete": chunkLY37J3AC_cjs.isIncompleteSignal(signal) || void 0,
324
+ "data-incomplete": chunkYF3QUHKN_cjs.isIncompleteSignal(signal) || void 0,
325
325
  "data-testid": `${testId}-${i}`,
326
326
  children: [
327
327
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
@@ -1607,7 +1607,7 @@ function triggerFields(trigger, clearOthers) {
1607
1607
  return {
1608
1608
  timezone: trigger.timezone,
1609
1609
  rrule: trigger.start === "repeat" ? trigger.rrule.trim() : none,
1610
- run_at: trigger.start === "once" ? chunkAUDUNQO6_cjs.localInputToIso(trigger.runAt) : none,
1610
+ run_at: trigger.start === "once" ? chunk6QAAIDQQ_cjs.localInputToIso(trigger.runAt) : none,
1611
1611
  event_kind: trigger.start === "event" ? trigger.eventKind.trim() : none,
1612
1612
  // A step signal is `workflow_signal` narrowed to one signal name.
1613
1613
  event_filter: filter ?? none,
@@ -1623,7 +1623,7 @@ function plan(value, options) {
1623
1623
  criteria: [],
1624
1624
  max_passes: 3,
1625
1625
  documents: [],
1626
- steps: chunkLY37J3AC_cjs.toPlanSteps(value.workflow, options)
1626
+ steps: chunkYF3QUHKN_cjs.toPlanSteps(value.workflow, options)
1627
1627
  };
1628
1628
  }
1629
1629
  function builderToWorkflowRequest(value, workspaceId, options = {}) {
@@ -1658,7 +1658,7 @@ function builderToWorkflowUpdate(value, options = {}) {
1658
1658
  }
1659
1659
  function workflowRecordToBuilder(record) {
1660
1660
  const planned = record.plan?.steps ?? [];
1661
- const steps = planned.length ? chunkLY37J3AC_cjs.fromPlanSteps(planned) : record.prompt || record.skill_ref ? [
1661
+ const steps = planned.length ? chunkYF3QUHKN_cjs.fromPlanSteps(planned) : record.prompt || record.skill_ref ? [
1662
1662
  {
1663
1663
  id: "work",
1664
1664
  kind: "agent",
@@ -1666,7 +1666,7 @@ function workflowRecordToBuilder(record) {
1666
1666
  ...record.skill_ref ? { workflow: record.skill_ref } : { run: { kind: "prompt", promptTemplate: record.prompt } }
1667
1667
  }
1668
1668
  ] : [];
1669
- const when = chunkAUDUNQO6_cjs.workflowWhen(record);
1669
+ const when = chunk6QAAIDQQ_cjs.workflowWhen(record);
1670
1670
  return {
1671
1671
  workflow: {
1672
1672
  id: record.external_id,
@@ -1675,12 +1675,12 @@ function workflowRecordToBuilder(record) {
1675
1675
  inputs: [],
1676
1676
  landing: "chat",
1677
1677
  schedulable: false,
1678
- run: { kind: "steps", steps, layout: chunkLY37J3AC_cjs.layoutFromPlanSteps(planned ?? []) }
1678
+ run: { kind: "steps", steps, layout: chunkYF3QUHKN_cjs.layoutFromPlanSteps(planned ?? []) }
1679
1679
  },
1680
1680
  trigger: {
1681
1681
  ...DEFAULT_WORKFLOW_TRIGGER,
1682
1682
  start: when === "now" ? "manual" : when,
1683
- runAt: chunkAUDUNQO6_cjs.isoToLocalInput(record.run_at),
1683
+ runAt: chunk6QAAIDQQ_cjs.isoToLocalInput(record.run_at),
1684
1684
  rrule: record.rrule ?? "",
1685
1685
  timezone: record.timezone || DEFAULT_WORKFLOW_TRIGGER.timezone,
1686
1686
  eventKind: record.event_kind ?? "",
@@ -1736,7 +1736,7 @@ function triggerSummary(trigger, options = {}) {
1736
1736
  case "once":
1737
1737
  return trigger.runAt ? new Date(trigger.runAt).toLocaleString() : l.starts.once;
1738
1738
  case "repeat":
1739
- return trigger.rrule ? chunkAUDUNQO6_cjs.describeRRule(trigger.rrule) : l.starts.repeat;
1739
+ return trigger.rrule ? chunk6QAAIDQQ_cjs.describeRRule(trigger.rrule) : l.starts.repeat;
1740
1740
  case "event":
1741
1741
  if (isSignalTrigger(trigger))
1742
1742
  return trigger.signal ? l.signalSummary.replace("{signal}", trigger.signal) : l.stepSignals;
@@ -1795,7 +1795,7 @@ function TriggerInspector({
1795
1795
  }
1796
1796
  )
1797
1797
  ] }),
1798
- trigger.start === "repeat" && /* @__PURE__ */ jsxRuntime.jsx(chunkAUDUNQO6_cjs.RecurrenceBuilder, { rrule: trigger.rrule, onChange: (rrule) => set({ rrule }) }),
1798
+ trigger.start === "repeat" && /* @__PURE__ */ jsxRuntime.jsx(chunk6QAAIDQQ_cjs.RecurrenceBuilder, { rrule: trigger.rrule, onChange: (rrule) => set({ rrule }) }),
1799
1799
  trigger.start === "event" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1.5", children: [
1800
1800
  /* @__PURE__ */ jsxRuntime.jsx(ui.Label, { className: "text-xs", children: l.event }),
1801
1801
  /* @__PURE__ */ jsxRuntime.jsxs(
@@ -2684,13 +2684,13 @@ function WorkflowPreview({
2684
2684
  renderIcon,
2685
2685
  testId
2686
2686
  }) {
2687
- const run = chunkAUDUNQO6_cjs.useWorkflowPreview(workflow, {
2687
+ const run = chunk6QAAIDQQ_cjs.useWorkflowPreview(workflow, {
2688
2688
  resolveWorkflow: (id) => workflows.find((w) => w.id === id),
2689
2689
  compose,
2690
2690
  answer
2691
2691
  });
2692
2692
  return /* @__PURE__ */ jsxRuntime.jsx(
2693
- chunkLY37J3AC_cjs.WorkflowRunner,
2693
+ chunkYF3QUHKN_cjs.WorkflowRunner,
2694
2694
  {
2695
2695
  workflow,
2696
2696
  run,
@@ -1,30 +1,30 @@
1
1
  "use client";
2
2
  import { useConnectedTags, useConnectedDocuments, useConnectedConversations } from '../chunk-KDLX5AA7.js';
3
3
  import { useConnectedWorkspace } from '../chunk-TF7HN5EU.js';
4
- import { workflowWhen, isoToLocalInput, describeRRule, RecurrenceBuilder, useWorkflowPreview, localInputToIso } from '../chunk-2DQHFJNP.js';
5
- import { isIncompleteSignal, fromPlanSteps, layoutFromPlanSteps, WorkflowRunner, toPlanSteps } from '../chunk-VE6S6NRQ.js';
4
+ import { workflowWhen, isoToLocalInput, describeRRule, RecurrenceBuilder, useWorkflowPreview, localInputToIso } from '../chunk-QKR5LWDO.js';
5
+ import { isIncompleteSignal, fromPlanSteps, layoutFromPlanSteps, WorkflowRunner, toPlanSteps } from '../chunk-P6RIBIVN.js';
6
6
  import '../chunk-CQCC7LE7.js';
7
7
  import { AgentSelect } from '../chunk-XI37A7HH.js';
8
8
  import '../chunk-BQ77KSXU.js';
9
9
  import '../chunk-NUSBINUM.js';
10
10
  import '../chunk-P6GHJSLR.js';
11
- import '../chunk-RLWIUUQ5.js';
12
11
  import '../chunk-M4S75AEJ.js';
13
12
  import '../chunk-5LXQPP2K.js';
13
+ import '../chunk-RLWIUUQ5.js';
14
+ import '../chunk-VF5EUAIV.js';
14
15
  import '../chunk-NUNKSZKU.js';
15
16
  import '../chunk-YU2KUMGE.js';
16
- import '../chunk-VF5EUAIV.js';
17
17
  import '../chunk-N5YEF3LC.js';
18
18
  import '../chunk-4WWM3GQ5.js';
19
- import { useBlocksEnvironment } from '../chunk-F57LNUSZ.js';
20
- import '../chunk-TX2ZICS7.js';
21
19
  import { DEFAULT_STEP_KIND_LABELS, workflowSteps, dependsOn, stepLevels, runFields, upstreamSteps, stepDependencies, canAssign, WORKFLOW_STEP_KINDS, STEP_KIND_ICONS, validateWorkflowGraph, stepConfigProblems, assigneeName, orderSteps, stepKindOf } from '../chunk-PDKM27DF.js';
22
20
  import { mergeSkillWorkflows } from '../chunk-TZGBRLPK.js';
23
- import '../chunk-AA3PT6KR.js';
24
21
  import { TONE_DOT, TONES, isTone } from '../chunk-AUS3KBHJ.js';
22
+ import '../chunk-AA3PT6KR.js';
25
23
  import '../chunk-SLSBJRWW.js';
26
24
  import '../chunk-NPLYHR2E.js';
27
25
  import '../chunk-7F6CBP3Z.js';
26
+ import { useBlocksEnvironment } from '../chunk-F57LNUSZ.js';
27
+ import '../chunk-TX2ZICS7.js';
28
28
  import '../chunk-OXF2IFXG.js';
29
29
  import '../chunk-VUNV25KB.js';
30
30
  import { useState, useMemo, useEffect, useCallback, useRef } from 'react';
@@ -508,11 +508,84 @@ function paragraphRunsXml(paragraph) {
508
508
  }
509
509
  return runs.length ? runs.join("") : null;
510
510
  }
511
+
512
+ // src/commands/signatureFields.ts
513
+ var SIGNATURE_FIELDS_NAMESPACE = "urn:arbi:signature-fields";
514
+ var SIGNATURE_FIELD_TAG_PREFIX = "arbi-signature:";
515
+ var SIGNATURE_FIELD_KINDS = ["signature", "initials", "date", "name"];
516
+ var SIGNATURE_FIELD_LABELS = {
517
+ signature: "Signature",
518
+ initials: "Initials",
519
+ date: "Date signed",
520
+ name: "Name"
521
+ };
522
+ var TAG = /^arbi-signature:(signature|initials|date|name)(?::([0-9a-f]{8}))?$/;
523
+ var EMAIL = /^[^@\s<>,;]{1,64}@[^@\s<>,;]{1,255}\.[^@\s<>,;]{1,63}$/;
524
+ var isSignerEmail = (value) => EMAIL.test(value.trim());
525
+ function newSignatureFieldKey() {
526
+ const bytes = new Uint8Array(4);
527
+ globalThis.crypto.getRandomValues(bytes);
528
+ return [...bytes].map((b) => b.toString(16).padStart(2, "0")).join("");
529
+ }
530
+ var signatureFieldTag = (kind, key) => `${SIGNATURE_FIELD_TAG_PREFIX}${kind}${key ? `:${key}` : ""}`;
531
+ var signatureFieldLabel = (kind, who) => who?.trim() ? `${SIGNATURE_FIELD_LABELS[kind]} \u2014 ${who.trim()}` : SIGNATURE_FIELD_LABELS[kind];
532
+ function parseSignatureFieldTag(tag) {
533
+ const m = TAG.exec(tag ?? "");
534
+ return m ? { kind: m[1], key: m[2] ?? null } : null;
535
+ }
536
+ function signatureFieldWrite(spec, at, key = newSignatureFieldKey()) {
537
+ const email = spec.email?.trim().toLowerCase() || null;
538
+ if (email && !isSignerEmail(email)) throw new Error("Enter the signer\u2019s email address.");
539
+ const name = spec.name?.trim().slice(0, 200) || null;
540
+ const text = signatureFieldLabel(spec.kind, name || email);
541
+ const payload = email ? { key, kind: spec.kind, email, name, required: spec.required !== false } : null;
542
+ return {
543
+ key: payload ? key : null,
544
+ tag: signatureFieldTag(spec.kind, payload ? key : null),
545
+ write: {
546
+ paragraphId: at.paragraphId,
547
+ offset: at.offset,
548
+ tag: signatureFieldTag(spec.kind, payload ? key : null),
549
+ text,
550
+ alias: text,
551
+ lock: "contentLocked",
552
+ ...payload ? {
553
+ payload: {
554
+ namespaceUri: SIGNATURE_FIELDS_NAMESPACE,
555
+ rootLocalName: "fields",
556
+ nodeId: `sig-${key}`,
557
+ label: text,
558
+ data: JSON.stringify(payload)
559
+ }
560
+ } : {}
561
+ }
562
+ };
563
+ }
564
+ var attr2 = (node, name) => node?.attributes?.find((a) => a.localName === name)?.value;
565
+ function signatureFieldControls(root) {
566
+ const out = [];
567
+ const visit = (node) => {
568
+ if (node.localName === "sdt") {
569
+ const props = node.children?.find((c) => c.localName === "sdtPr");
570
+ const tag = attr2(
571
+ props?.children?.find((c) => c.localName === "tag"),
572
+ "val"
573
+ );
574
+ const parsed = parseSignatureFieldTag(tag);
575
+ if (parsed && tag) out.push({ nodeId: node.id, tag, ...parsed });
576
+ }
577
+ if (node.kind !== "textValue") for (const child2 of node.children ?? []) visit(child2);
578
+ };
579
+ visit(root);
580
+ return out;
581
+ }
582
+
583
+ // src/commands/undo.ts
511
584
  var AGENT_UNDO_MAP = "agentUndo";
512
- var attr2 = (node, name) => node.attributes?.find((a) => a.localName === name)?.value;
585
+ var attr3 = (node, name) => node.attributes?.find((a) => a.localName === name)?.value;
513
586
  var child = (node, name) => node?.children?.find((c) => c.localName === name);
514
587
  var twips = (node, name) => {
515
- const value = node && attr2(node, name);
588
+ const value = node && attr3(node, name);
516
589
  return value === void 0 ? void 0 : Number(value);
517
590
  };
518
591
  var FLAT = new Set(
@@ -525,7 +598,7 @@ function paragraphIndex(root) {
525
598
  for (const c of node.children ?? []) {
526
599
  parentOf.set(c, node);
527
600
  if (c.kind === "paragraph") {
528
- const id = attr2(c, "paraId");
601
+ const id = attr3(c, "paraId");
529
602
  if (id) byParaId.set(id, c);
530
603
  }
531
604
  if (c.kind !== "textValue") visit(c);
@@ -547,28 +620,28 @@ function paragraphState(paragraph) {
547
620
  attributes: Object.fromEntries((p.attributes ?? []).map((a) => [a.localName, a.value]))
548
621
  });
549
622
  } else if (p.localName === "numPr") {
550
- const numId = attr2(child(p, "numId") ?? p, "val");
551
- if (numId) numbering = { numId, level: Number(attr2(child(p, "ilvl") ?? p, "val") ?? 0) };
623
+ const numId = attr3(child(p, "numId") ?? p, "val");
624
+ if (numId) numbering = { numId, level: Number(attr3(child(p, "ilvl") ?? p, "val") ?? 0) };
552
625
  } else if (p.localName === "tabs") {
553
626
  for (const tab of p.children ?? []) {
554
- const val = attr2(tab, "val");
627
+ const val = attr3(tab, "val");
555
628
  if (!val || val === "clear") continue;
556
629
  tabs.push({
557
- positionTwips: Number(attr2(tab, "pos") ?? 0),
630
+ positionTwips: Number(attr3(tab, "pos") ?? 0),
558
631
  alignment: val === "start" ? "left" : val === "end" ? "right" : val,
559
- ...attr2(tab, "leader") ? { leader: attr2(tab, "leader") } : {}
632
+ ...attr3(tab, "leader") ? { leader: attr3(tab, "leader") } : {}
560
633
  });
561
634
  }
562
635
  }
563
636
  }
564
- return { paraId: attr2(paragraph, "paraId") ?? "", properties, numbering, tabs };
637
+ return { paraId: attr3(paragraph, "paraId") ?? "", properties, numbering, tabs };
565
638
  }
566
639
  function sectionStates(root) {
567
640
  const { body } = paragraphIndex(root);
568
641
  const state = (sectPr, paraId) => {
569
642
  const size = child(sectPr, "pgSz");
570
643
  const margin = child(sectPr, "pgMar");
571
- const orient = size && attr2(size, "orient");
644
+ const orient = size && attr3(size, "orient");
572
645
  return {
573
646
  paraId,
574
647
  pageWidthTwips: twips(size, "w"),
@@ -583,7 +656,7 @@ function sectionStates(root) {
583
656
  const out = [];
584
657
  for (const block of body.children ?? []) {
585
658
  const sectPr = block.kind === "paragraph" ? child(child(block, "pPr"), "sectPr") : void 0;
586
- if (sectPr) out.push(state(sectPr, attr2(block, "paraId") ?? null));
659
+ if (sectPr) out.push(state(sectPr, attr3(block, "paraId") ?? null));
587
660
  else if (block.localName === "sectPr") out.push(state(block, null));
588
661
  }
589
662
  return out;
@@ -602,10 +675,10 @@ function tableState(root, paraId) {
602
675
  for (const row of table.children ?? []) {
603
676
  if (row.localName !== "tr") continue;
604
677
  const header = child(child(row, "trPr"), "tblHeader");
605
- if (!header || ["0", "false", "off"].includes(attr2(header, "val") ?? "")) break;
678
+ if (!header || ["0", "false", "off"].includes(attr3(header, "val") ?? "")) break;
606
679
  headerRowCount++;
607
680
  }
608
- return { kind: "table", paraId, styleId: (style && attr2(style, "val")) ?? null, headerRowCount };
681
+ return { kind: "table", paraId, styleId: (style && attr3(style, "val")) ?? null, headerRowCount };
609
682
  }
610
683
  function fieldNodeIds(paragraph) {
611
684
  const out = [];
@@ -614,7 +687,7 @@ function fieldNodeIds(paragraph) {
614
687
  for (const c of node.children ?? []) {
615
688
  if (c.localName === "del") continue;
616
689
  if (c.localName === "fldChar") {
617
- const type = attr2(c, "fldCharType");
690
+ const type = attr3(c, "fldCharType");
618
691
  if (type === "begin" && depth++ === 0) out.push(c.id);
619
692
  else if (type === "end") depth = Math.max(0, depth - 1);
620
693
  } else if (c.kind !== "textValue") walk(c);
@@ -658,6 +731,15 @@ function undoOps(root, record) {
658
731
  styleId: record.styleId ?? "",
659
732
  headerRowCount: record.headerRowCount
660
733
  });
734
+ } else if (record.kind === "signatureField") {
735
+ const controls = signatureFieldControls(root).filter((c) => c.tag === record.tag);
736
+ if (!controls.length) return null;
737
+ for (const control of controls) {
738
+ ops.push(
739
+ { op: "setContentControlProperties", controlId: control.nodeId, lock: "unlocked" },
740
+ { op: "removeContentControl", controlId: control.nodeId, keepContent: false }
741
+ );
742
+ }
661
743
  } else {
662
744
  const updates = [];
663
745
  for (const { paraId, index, text } of record.fields) {
@@ -1038,12 +1120,12 @@ function fragmentPackage(body, covered, {
1038
1120
  });
1039
1121
  return revision ? trackInsertion(untracked, revision, covered) : untracked;
1040
1122
  }
1041
- var attr3 = (node, name) => node.attributes?.find((a) => a.localName === name)?.value;
1123
+ var attr4 = (node, name) => node.attributes?.find((a) => a.localName === name)?.value;
1042
1124
  function documentStyleIds(root) {
1043
1125
  const ids = /* @__PURE__ */ new Set();
1044
1126
  for (const style of root?.children ?? [])
1045
1127
  if (style.localName === "style") {
1046
- const id = attr3(style, "styleId");
1128
+ const id = attr4(style, "styleId");
1047
1129
  if (id) ids.add(id);
1048
1130
  }
1049
1131
  return ids;
@@ -1365,6 +1447,10 @@ exports.DEFINITIONS_HEADING = DEFINITIONS_HEADING;
1365
1447
  exports.DEFINITION_BOOKMARK_PREFIX = DEFINITION_BOOKMARK_PREFIX;
1366
1448
  exports.FIELD_ATOM = FIELD_ATOM;
1367
1449
  exports.REF_BOOKMARK_PREFIX = REF_BOOKMARK_PREFIX;
1450
+ exports.SIGNATURE_FIELDS_NAMESPACE = SIGNATURE_FIELDS_NAMESPACE;
1451
+ exports.SIGNATURE_FIELD_KINDS = SIGNATURE_FIELD_KINDS;
1452
+ exports.SIGNATURE_FIELD_LABELS = SIGNATURE_FIELD_LABELS;
1453
+ exports.SIGNATURE_FIELD_TAG_PREFIX = SIGNATURE_FIELD_TAG_PREFIX;
1368
1454
  exports.TermEverywhereError = TermEverywhereError;
1369
1455
  exports.WATCHED_STYLES = WATCHED_STYLES;
1370
1456
  exports.W_NAMESPACES = W_NAMESPACES;
@@ -1404,14 +1490,17 @@ exports.insertDefinedTerm = insertDefinedTerm;
1404
1490
  exports.insertDocumentReference = insertDocumentReference;
1405
1491
  exports.insertionIndex = insertionIndex;
1406
1492
  exports.isDefinitionsTitle = isDefinitionsTitle;
1493
+ exports.isSignerEmail = isSignerEmail;
1407
1494
  exports.listTargets = listTargets;
1408
1495
  exports.markCrossReferenceTarget = markCrossReferenceTarget;
1409
1496
  exports.newRefBookmark = newRefBookmark;
1497
+ exports.newSignatureFieldKey = newSignatureFieldKey;
1410
1498
  exports.paragraphIndex = paragraphIndex;
1411
1499
  exports.paragraphNumber = paragraphNumber;
1412
1500
  exports.paragraphRunsXml = paragraphRunsXml;
1413
1501
  exports.paragraphState = paragraphState;
1414
1502
  exports.parseDefinition = parseDefinition;
1503
+ exports.parseSignatureFieldTag = parseSignatureFieldTag;
1415
1504
  exports.readDocument = readDocument;
1416
1505
  exports.readParagraphs = readParagraphs;
1417
1506
  exports.refFieldXml = refFieldXml;
@@ -1421,6 +1510,10 @@ exports.refTooltip = refTooltip;
1421
1510
  exports.refreshCrossReferences = refreshCrossReferences;
1422
1511
  exports.replaceSpan = replaceSpan;
1423
1512
  exports.sectionStates = sectionStates;
1513
+ exports.signatureFieldControls = signatureFieldControls;
1514
+ exports.signatureFieldLabel = signatureFieldLabel;
1515
+ exports.signatureFieldTag = signatureFieldTag;
1516
+ exports.signatureFieldWrite = signatureFieldWrite;
1424
1517
  exports.staleCrossReferences = staleCrossReferences;
1425
1518
  exports.styleNames = styleNames;
1426
1519
  exports.stylesUsed = stylesUsed;