@halcyonlabs/app 0.47.0-halcyon.21 → 0.47.0-halcyon.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/dist/assets/{AddMachineDialog-4BQFC118.js → AddMachineDialog-BlVfh9PM.js} +1 -1
- package/app/dist/assets/AddMachineDialog-BlVfh9PM.js.br +0 -0
- package/app/dist/assets/AddMachineDialog-BlVfh9PM.js.gz +0 -0
- package/app/dist/assets/{AppCommandShortcutHint-BlXOfa_n.js → AppCommandShortcutHint-C1mIupNX.js} +1 -1
- package/app/dist/assets/{AppFileExternalNavigationDispatcher-fGD_vTns.js → AppFileExternalNavigationDispatcher-zdrgMBvF.js} +1 -1
- package/app/dist/assets/AppFileExternalNavigationDispatcher-zdrgMBvF.js.br +0 -0
- package/app/dist/assets/AppFileExternalNavigationDispatcher-zdrgMBvF.js.gz +0 -0
- package/app/dist/assets/{AppToasterView-DzbjTKdn.js → AppToasterView-C6IQDk4H.js} +1 -1
- package/app/dist/assets/{BbDiff-BkqgAZD9.js → BbDiff-CORXfK92.js} +1 -1
- package/app/dist/assets/BbDiff-CORXfK92.js.br +0 -0
- package/app/dist/assets/BbDiff-CORXfK92.js.gz +0 -0
- package/app/dist/assets/{BbDiffSplit-DTvWaW-n.js → BbDiffSplit-By8A1QN-.js} +2 -2
- package/app/dist/assets/BbDiffSplit-By8A1QN-.js.br +0 -0
- package/app/dist/assets/BbDiffSplit-By8A1QN-.js.gz +0 -0
- package/app/dist/assets/{BbSourceCode-Dqw4VrLu.js → BbSourceCode-C3we2GZp.js} +1 -1
- package/app/dist/assets/BbSourceCode-C3we2GZp.js.br +0 -0
- package/app/dist/assets/BbSourceCode-C3we2GZp.js.gz +0 -0
- package/app/dist/assets/{BrowserTabDeck-CuHEyZd6.js → BrowserTabDeck-BtVycavD.js} +1 -1
- package/app/dist/assets/BrowserTabDeck-BtVycavD.js.br +0 -0
- package/app/dist/assets/BrowserTabDeck-BtVycavD.js.gz +0 -0
- package/app/dist/assets/{CommandPaletteBody-DynxiDg6.js → CommandPaletteBody-JfQwJqGn.js} +1 -1
- package/app/dist/assets/CommandPaletteBody-JfQwJqGn.js.br +0 -0
- package/app/dist/assets/CommandPaletteBody-JfQwJqGn.js.gz +0 -0
- package/app/dist/assets/{DiffHost-3UTZIJNs.js → DiffHost-DEYVmsVa.js} +1 -1
- package/app/dist/assets/DiffHost-DEYVmsVa.js.br +0 -0
- package/app/dist/assets/DiffHost-DEYVmsVa.js.gz +0 -0
- package/app/dist/assets/{ExperimentalFileLinkMenu-C0RXVabs.js → ExperimentalFileLinkMenu-B-B8GXE8.js} +1 -1
- package/app/dist/assets/ExperimentalFileLinkMenu-B-B8GXE8.js.br +0 -0
- package/app/dist/assets/ExperimentalFileLinkMenu-B-B8GXE8.js.gz +0 -0
- package/app/dist/assets/{FilePreview-BxgJ2jjI.js → FilePreview-BHoPmg-c.js} +1 -1
- package/app/dist/assets/FilePreview-BHoPmg-c.js.br +0 -0
- package/app/dist/assets/FilePreview-BHoPmg-c.js.gz +0 -0
- package/app/dist/assets/{GitDiffCardHeader-Ce736y-m.js → GitDiffCardHeader-6LP_7oWh.js} +1 -1
- package/app/dist/assets/GitDiffCardHeader-6LP_7oWh.js.br +0 -0
- package/app/dist/assets/GitDiffCardHeader-6LP_7oWh.js.gz +0 -0
- package/app/dist/assets/{InlineMessageEditorFrame-Dud8h1It.js → InlineMessageEditorFrame-DyVCSKBJ.js} +1 -1
- package/app/dist/assets/InlineMessageEditorFrame-DyVCSKBJ.js.br +0 -0
- package/app/dist/assets/InlineMessageEditorFrame-DyVCSKBJ.js.gz +0 -0
- package/app/dist/assets/{MachineRenameDialog-C_ZV5gEB.js → MachineRenameDialog-HGiXO0UG.js} +1 -1
- package/app/dist/assets/MachineRenameDialog-HGiXO0UG.js.br +0 -0
- package/app/dist/assets/MachineRenameDialog-HGiXO0UG.js.gz +0 -0
- package/app/dist/assets/{MachineSettingsView-BWSIpenw.js → MachineSettingsView-C4q9cbRr.js} +1 -1
- package/app/dist/assets/MachineSettingsView-C4q9cbRr.js.br +0 -0
- package/app/dist/assets/MachineSettingsView-C4q9cbRr.js.gz +0 -0
- package/app/dist/assets/{MicrophonePreferences-CNEhQgAS.js → MicrophonePreferences-qaOpiph1.js} +1 -1
- package/app/dist/assets/MicrophonePreferences-qaOpiph1.js.br +0 -0
- package/app/dist/assets/MicrophonePreferences-qaOpiph1.js.gz +0 -0
- package/app/dist/assets/{ModelReasoningMenu-BeNCpeQf.js → ModelReasoningMenu-CVmIvyBC.js} +1 -1
- package/app/dist/assets/ModelReasoningMenu-CVmIvyBC.js.br +0 -0
- package/app/dist/assets/ModelReasoningMenu-CVmIvyBC.js.gz +0 -0
- package/app/dist/assets/{NewTabPage-CsPDV6iC.js → NewTabPage-BD3LFok4.js} +1 -1
- package/app/dist/assets/NewTabPage-BD3LFok4.js.br +0 -0
- package/app/dist/assets/NewTabPage-BD3LFok4.js.gz +0 -0
- package/app/dist/assets/{NewThreadComposer-BY0jUSbs.js → NewThreadComposer-C2ZKRVh2.js} +1 -1
- package/app/dist/assets/NewThreadComposer-C2ZKRVh2.js.br +0 -0
- package/app/dist/assets/NewThreadComposer-C2ZKRVh2.js.gz +0 -0
- package/app/dist/assets/{OnboardingFlow-BQdrTtHC.js → OnboardingFlow-D7-YF2ZM.js} +1 -1
- package/app/dist/assets/OnboardingFlow-D7-YF2ZM.js.br +0 -0
- package/app/dist/assets/OnboardingFlow-D7-YF2ZM.js.gz +0 -0
- package/app/dist/assets/{OptionPicker-sql35hd_.js → OptionPicker-DzY4ri8R.js} +1 -1
- package/app/dist/assets/OptionPicker-DzY4ri8R.js.br +0 -0
- package/app/dist/assets/OptionPicker-DzY4ri8R.js.gz +0 -0
- package/app/dist/assets/{PaletteShell-B9KeWKsT.js → PaletteShell-4enjLs-M.js} +1 -1
- package/app/dist/assets/PaletteShell-4enjLs-M.js.br +0 -0
- package/app/dist/assets/PaletteShell-4enjLs-M.js.gz +0 -0
- package/app/dist/assets/{PaneMaximizeButton-CGBzyikf.js → PaneMaximizeButton-40ZGXf3w.js} +1 -1
- package/app/dist/assets/PaneMaximizeButton-40ZGXf3w.js.br +0 -0
- package/app/dist/assets/PaneMaximizeButton-40ZGXf3w.js.gz +0 -0
- package/app/dist/assets/{PierreLineSelectionActions-BYL6I0xE.js → PierreLineSelectionActions-DrQj-N__.js} +1 -1
- package/app/dist/assets/PierreLineSelectionActions-DrQj-N__.js.br +0 -0
- package/app/dist/assets/PierreLineSelectionActions-DrQj-N__.js.gz +0 -0
- package/app/dist/assets/{PluginPanelRightPanelHost-Dj-wS_Ki.js → PluginPanelRightPanelHost-Ha0PrCa9.js} +1 -1
- package/app/dist/assets/PluginPanelRightPanelHost-Ha0PrCa9.js.br +0 -0
- package/app/dist/assets/PluginPanelRightPanelHost-Ha0PrCa9.js.gz +0 -0
- package/app/dist/assets/{PluginThreadChat-Dh-No9s-.js → PluginThreadChat-D_tbXHEo.js} +1 -1
- package/app/dist/assets/PluginThreadChat-D_tbXHEo.js.br +0 -0
- package/app/dist/assets/PluginThreadChat-D_tbXHEo.js.gz +0 -0
- package/app/dist/assets/ProjectDetailSettingsView-Ckp-m-c0.js +1 -0
- package/app/dist/assets/ProjectDetailSettingsView-Ckp-m-c0.js.br +0 -0
- package/app/dist/assets/ProjectDetailSettingsView-Ckp-m-c0.js.gz +0 -0
- package/app/dist/assets/{ProjectMachineSetupDialog-BW4gUYj0.js → ProjectMachineSetupDialog-Bn43xkw-.js} +1 -1
- package/app/dist/assets/ProjectMachineSetupDialog-Bn43xkw-.js.br +0 -0
- package/app/dist/assets/ProjectMachineSetupDialog-Bn43xkw-.js.gz +0 -0
- package/app/dist/assets/{ProjectsSettingsSection-BI_xhcA2.js → ProjectsSettingsSection-DXHostGl.js} +1 -1
- package/app/dist/assets/ProjectsSettingsSection-DXHostGl.js.br +0 -0
- package/app/dist/assets/ProjectsSettingsSection-DXHostGl.js.gz +0 -0
- package/app/dist/assets/{QueuedMessagesList-BEyivVSE.js → QueuedMessagesList-C53i8_rz.js} +1 -1
- package/app/dist/assets/QueuedMessagesList-C53i8_rz.js.br +0 -0
- package/app/dist/assets/QueuedMessagesList-C53i8_rz.js.gz +0 -0
- package/app/dist/assets/{RemotePathBrowser-DVW5AwBs.js → RemotePathBrowser-CsCxZdUk.js} +1 -1
- package/app/dist/assets/RemotePathBrowser-CsCxZdUk.js.br +0 -0
- package/app/dist/assets/RemotePathBrowser-CsCxZdUk.js.gz +0 -0
- package/app/dist/assets/{RootComposeView-Cbnwq7j_.js → RootComposeView-CsV3Ut7E.js} +1 -1
- package/app/dist/assets/RootComposeView-CsV3Ut7E.js.br +0 -0
- package/app/dist/assets/RootComposeView-CsV3Ut7E.js.gz +0 -0
- package/app/dist/assets/{SecondaryPanelLayout-fG8BuYv-.js → SecondaryPanelLayout-BPTIpQ2F.js} +1 -1
- package/app/dist/assets/SecondaryPanelLayout-BPTIpQ2F.js.br +0 -0
- package/app/dist/assets/SecondaryPanelLayout-BPTIpQ2F.js.gz +0 -0
- package/app/dist/assets/{ServerMoveOverlayView-CPWZimVv.js → ServerMoveOverlayView-DxwZdF-Z.js} +1 -1
- package/app/dist/assets/ServerMoveOverlayView-DxwZdF-Z.js.br +0 -0
- package/app/dist/assets/ServerMoveOverlayView-DxwZdF-Z.js.gz +0 -0
- package/app/dist/assets/{SettingsSidebar-DxfoXXKW.js → SettingsSidebar-CYEXglCo.js} +1 -1
- package/app/dist/assets/SettingsSidebar-CYEXglCo.js.br +0 -0
- package/app/dist/assets/SettingsSidebar-CYEXglCo.js.gz +0 -0
- package/app/dist/assets/{SettingsView-D_DkKpuv.js → SettingsView-B3HpJfUo.js} +1 -1
- package/app/dist/assets/SettingsView-B3HpJfUo.js.br +0 -0
- package/app/dist/assets/SettingsView-B3HpJfUo.js.gz +0 -0
- package/app/dist/assets/{SidebarFooterCustomize-VQoenr5y.js → SidebarFooterCustomize-BGXeu0og.js} +1 -1
- package/app/dist/assets/SidebarFooterCustomize-BGXeu0og.js.br +0 -0
- package/app/dist/assets/SidebarFooterCustomize-BGXeu0og.js.gz +0 -0
- package/app/dist/assets/{SidebarVisibilityCustomize-DUKnlz9Y.js → SidebarVisibilityCustomize-Qy7hHO5j.js} +1 -1
- package/app/dist/assets/SidebarVisibilityCustomize-Qy7hHO5j.js.br +0 -0
- package/app/dist/assets/SidebarVisibilityCustomize-Qy7hHO5j.js.gz +0 -0
- package/app/dist/assets/{SourceCodeHost-BlXLvWv2.js → SourceCodeHost-CJpVOgCd.js} +2 -2
- package/app/dist/assets/SourceCodeHost-CJpVOgCd.js.br +0 -0
- package/app/dist/assets/SourceCodeHost-CJpVOgCd.js.gz +0 -0
- package/app/dist/assets/{SplitWorkspaceRoute-6w4G23kc.js → SplitWorkspaceRoute-CWPCkdjo.js} +2 -2
- package/app/dist/assets/SplitWorkspaceRoute-CWPCkdjo.js.br +0 -0
- package/app/dist/assets/SplitWorkspaceRoute-CWPCkdjo.js.gz +0 -0
- package/app/dist/assets/{TerminalOutputBlock-BxBSWJr_.js → TerminalOutputBlock-BzxpJ5H3.js} +1 -1
- package/app/dist/assets/TerminalOutputBlock-BzxpJ5H3.js.br +0 -0
- package/app/dist/assets/TerminalOutputBlock-BzxpJ5H3.js.gz +0 -0
- package/app/dist/assets/{ThreadActionsMenu-ChpSKv80.js → ThreadActionsMenu-DfUIyx3e.js} +1 -1
- package/app/dist/assets/ThreadActionsMenu-DfUIyx3e.js.br +0 -0
- package/app/dist/assets/ThreadActionsMenu-DfUIyx3e.js.gz +0 -0
- package/app/dist/assets/{ThreadDetailView-CfH3uWo-.js → ThreadDetailView-BqzwklQd.js} +3 -3
- package/app/dist/assets/ThreadDetailView-BqzwklQd.js.br +0 -0
- package/app/dist/assets/ThreadDetailView-BqzwklQd.js.gz +0 -0
- package/app/dist/assets/{ThreadSearchPaletteMode-B72v3f5V.js → ThreadSearchPaletteMode-Dni8lJt2.js} +1 -1
- package/app/dist/assets/ThreadSearchPaletteMode-Dni8lJt2.js.br +0 -0
- package/app/dist/assets/ThreadSearchPaletteMode-Dni8lJt2.js.gz +0 -0
- package/app/dist/assets/{ThreadSecondaryPanel-4nIZy4h9.js → ThreadSecondaryPanel-Cfah9-yR.js} +1 -1
- package/app/dist/assets/ThreadSecondaryPanel-Cfah9-yR.js.br +0 -0
- package/app/dist/assets/ThreadSecondaryPanel-Cfah9-yR.js.gz +0 -0
- package/app/dist/assets/{ThreadSecondaryPanelTabContent-8-e35_Me.js → ThreadSecondaryPanelTabContent-ByMkWr4B.js} +1 -1
- package/app/dist/assets/ThreadSecondaryPanelTabContent-ByMkWr4B.js.br +0 -0
- package/app/dist/assets/ThreadSecondaryPanelTabContent-ByMkWr4B.js.gz +0 -0
- package/app/dist/assets/{ThreadStatusGlyph-C9tzRtlV.js → ThreadStatusGlyph-MjAgpNtv.js} +1 -1
- package/app/dist/assets/ThreadStatusGlyph-MjAgpNtv.js.br +0 -0
- package/app/dist/assets/ThreadStatusGlyph-MjAgpNtv.js.gz +0 -0
- package/app/dist/assets/{ThreadTerminalPanel-CqTk9L2y.js → ThreadTerminalPanel-2UtGqd1Z.js} +1 -1
- package/app/dist/assets/ThreadTerminalPanel-2UtGqd1Z.js.br +0 -0
- package/app/dist/assets/ThreadTerminalPanel-2UtGqd1Z.js.gz +0 -0
- package/app/dist/assets/{ThreadTerminalView-B6XNBrJ9.js → ThreadTerminalView-BqsCrU1_.js} +1 -1
- package/app/dist/assets/ThreadTerminalView-BqsCrU1_.js.br +0 -0
- package/app/dist/assets/ThreadTerminalView-BqsCrU1_.js.gz +0 -0
- package/app/dist/assets/{ThreadTimelineNavigationContext-DbZHHZfY.js → ThreadTimelineNavigationContext-B_vg4bPl.js} +2 -2
- package/app/dist/assets/ThreadTimelineNavigationContext-B_vg4bPl.js.br +0 -0
- package/app/dist/assets/ThreadTimelineNavigationContext-B_vg4bPl.js.gz +0 -0
- package/app/dist/assets/{ThreadUnarchiveButton-CtjS9UkR.js → ThreadUnarchiveButton-CnlHu7Dv.js} +1 -1
- package/app/dist/assets/{TimelineDetailScroll-CpFZhWhU.js → TimelineDetailScroll-CIXDGLcx.js} +1 -1
- package/app/dist/assets/TimelineDetailScroll-CIXDGLcx.js.br +0 -0
- package/app/dist/assets/TimelineDetailScroll-CIXDGLcx.js.gz +0 -0
- package/app/dist/assets/{TimelineFileDiffBlock-JiOlR3O8.js → TimelineFileDiffBlock-Cy_6X6XY.js} +1 -1
- package/app/dist/assets/TimelineFileDiffBlock-Cy_6X6XY.js.br +0 -0
- package/app/dist/assets/TimelineFileDiffBlock-Cy_6X6XY.js.gz +0 -0
- package/app/dist/assets/{TimelineSelectionMenu-DT4qwoFI.js → TimelineSelectionMenu-DzrSCC7e.js} +1 -1
- package/app/dist/assets/TimelineSelectionMenu-DzrSCC7e.js.br +0 -0
- package/app/dist/assets/TimelineSelectionMenu-DzrSCC7e.js.gz +0 -0
- package/app/dist/assets/{ToolsView-nAAic88Z.js → ToolsView-B8oDS6Ek.js} +1 -1
- package/app/dist/assets/ToolsView-B8oDS6Ek.js.br +0 -0
- package/app/dist/assets/ToolsView-B8oDS6Ek.js.gz +0 -0
- package/app/dist/assets/{ToolsViewSplits-Blo3GJMQ.js → ToolsViewSplits-JK-JmYIg.js} +2 -2
- package/app/dist/assets/ToolsViewSplits-JK-JmYIg.js.br +0 -0
- package/app/dist/assets/ToolsViewSplits-JK-JmYIg.js.gz +0 -0
- package/app/dist/assets/{WaveformVisualizer-BrH_nwc4.js → WaveformVisualizer-GDJ4mJRx.js} +1 -1
- package/app/dist/assets/WaveformVisualizer-GDJ4mJRx.js.br +0 -0
- package/app/dist/assets/WaveformVisualizer-GDJ4mJRx.js.gz +0 -0
- package/app/dist/assets/{absolute-file-path-W_eh4kPq.js → absolute-file-path-B-cUOroV.js} +1 -1
- package/app/dist/assets/{app-fixed-tab-navigation-DX9s-gCj.js → app-fixed-tab-navigation-BpDuGNDS.js} +1 -1
- package/app/dist/assets/app-fixed-tab-navigation-BpDuGNDS.js.br +0 -0
- package/app/dist/assets/app-fixed-tab-navigation-BpDuGNDS.js.gz +0 -0
- package/app/dist/assets/{audio-input-device-preference-DsU6GGNE.js → audio-input-device-preference-BeKjzmnK.js} +1 -1
- package/app/dist/assets/audio-input-device-preference-BeKjzmnK.js.br +0 -0
- package/app/dist/assets/audio-input-device-preference-BeKjzmnK.js.gz +0 -0
- package/app/dist/assets/{bottom-anchored-scroll-body-C8n22V_o.js → bottom-anchored-scroll-body-DaHi9M7W.js} +1 -1
- package/app/dist/assets/bottom-anchored-scroll-body-DaHi9M7W.js.br +0 -0
- package/app/dist/assets/bottom-anchored-scroll-body-DaHi9M7W.js.gz +0 -0
- package/app/dist/assets/{browser-url-B0SjaYti.js → browser-url-BdtGkCbj.js} +1 -1
- package/app/dist/assets/browser-url-BdtGkCbj.js.br +0 -0
- package/app/dist/assets/browser-url-BdtGkCbj.js.gz +0 -0
- package/app/dist/assets/{checkbox-Ct38DhHB.js → checkbox-5zZ_V1_F.js} +1 -1
- package/app/dist/assets/checkbox-5zZ_V1_F.js.br +0 -0
- package/app/dist/assets/checkbox-5zZ_V1_F.js.gz +0 -0
- package/app/dist/assets/{code-loading-skeletons-C_099GEq.js → code-loading-skeletons-DzoCzgll.js} +1 -1
- package/app/dist/assets/code-loading-skeletons-DzoCzgll.js.br +0 -0
- package/app/dist/assets/code-loading-skeletons-DzoCzgll.js.gz +0 -0
- package/app/dist/assets/{code-rendering-OxBy5zPr.js → code-rendering-A15j47Uy.js} +1 -1
- package/app/dist/assets/{code-theme-registration-BokyXo30.js → code-theme-registration-q5iRcekZ.js} +1 -1
- package/app/dist/assets/{detail-card-Cj628JNK.js → detail-card-BvFcq0Ru.js} +1 -1
- package/app/dist/assets/detail-card-BvFcq0Ru.js.br +0 -0
- package/app/dist/assets/detail-card-BvFcq0Ru.js.gz +0 -0
- package/app/dist/assets/{diff-stats-tally-MtORWItG.js → diff-stats-tally-DA41wrwM.js} +1 -1
- package/app/dist/assets/diff-stats-tally-DA41wrwM.js.br +0 -0
- package/app/dist/assets/diff-stats-tally-DA41wrwM.js.gz +0 -0
- package/app/dist/assets/{environment-mutations-rP4eROm2.js → environment-mutations-Bl2PK8kR.js} +1 -1
- package/app/dist/assets/environment-mutations-Bl2PK8kR.js.br +0 -0
- package/app/dist/assets/environment-mutations-Bl2PK8kR.js.gz +0 -0
- package/app/dist/assets/{environment-workspace-display-O1JRHfbV.js → environment-workspace-display-DdMsNL4x.js} +3 -3
- package/app/dist/assets/environment-workspace-display-DdMsNL4x.js.br +0 -0
- package/app/dist/assets/environment-workspace-display-DdMsNL4x.js.gz +0 -0
- package/app/dist/assets/{event-code-block-DqUZCAii.js → event-code-block-DT4pyQ5R.js} +1 -1
- package/app/dist/assets/event-code-block-DT4pyQ5R.js.br +0 -0
- package/app/dist/assets/event-code-block-DT4pyQ5R.js.gz +0 -0
- package/app/dist/assets/{expandable-text-herJC70e.js → expandable-text-CtGFLpBX.js} +1 -1
- package/app/dist/assets/expandable-text-CtGFLpBX.js.br +0 -0
- package/app/dist/assets/expandable-text-CtGFLpBX.js.gz +0 -0
- package/app/dist/assets/{file-opener-preference-BEeek6dm.js → file-opener-preference-B5sOAhVM.js} +1 -1
- package/app/dist/assets/{file-path-link-Cni9Azi2.js → file-path-link-xsn9GiAq.js} +1 -1
- package/app/dist/assets/file-path-link-xsn9GiAq.js.br +0 -0
- package/app/dist/assets/file-path-link-xsn9GiAq.js.gz +0 -0
- package/app/dist/assets/{host-mutations-Ckc-eVys.js → host-mutations-Bf4idS3m.js} +1 -1
- package/app/dist/assets/host-mutations-Bf4idS3m.js.br +0 -0
- package/app/dist/assets/host-mutations-Bf4idS3m.js.gz +0 -0
- package/app/dist/assets/{icon-extended-DDFkslJU.js → icon-extended-C7x9E4W9.js} +1 -1
- package/app/dist/assets/icon-extended-C7x9E4W9.js.br +0 -0
- package/app/dist/assets/icon-extended-C7x9E4W9.js.gz +0 -0
- package/app/dist/assets/{image-lightbox-BW1bqQJM.js → image-lightbox-CzY6y14n.js} +1 -1
- package/app/dist/assets/image-lightbox-CzY6y14n.js.br +0 -0
- package/app/dist/assets/image-lightbox-CzY6y14n.js.gz +0 -0
- package/app/dist/assets/index-B-RDC4LU.js +395 -0
- package/app/dist/assets/index-B-RDC4LU.js.br +0 -0
- package/app/dist/assets/index-B-RDC4LU.js.gz +0 -0
- package/app/dist/assets/{inline-rename-editor-wjwfk7v2.js → inline-rename-editor-DUVacR_R.js} +1 -1
- package/app/dist/assets/inline-rename-editor-DUVacR_R.js.br +0 -0
- package/app/dist/assets/inline-rename-editor-DUVacR_R.js.gz +0 -0
- package/app/dist/assets/{launcherRow-rIW7Z6Xm.js → launcherRow-C9Htfook.js} +1 -1
- package/app/dist/assets/launcherRow-C9Htfook.js.br +0 -0
- package/app/dist/assets/launcherRow-C9Htfook.js.gz +0 -0
- package/app/dist/assets/{localhost-link-rewrite-description-Bovg3W--.js → localhost-link-rewrite-description-DfPXtfPs.js} +1 -1
- package/app/dist/assets/localhost-link-rewrite-description-DfPXtfPs.js.br +0 -0
- package/app/dist/assets/localhost-link-rewrite-description-DfPXtfPs.js.gz +0 -0
- package/app/dist/assets/{machine-provider-queries-CRlWTEz7.js → machine-provider-queries-By9Ipha4.js} +1 -1
- package/app/dist/assets/machine-provider-queries-By9Ipha4.js.br +0 -0
- package/app/dist/assets/machine-provider-queries-By9Ipha4.js.gz +0 -0
- package/app/dist/assets/{machine-server-access-D3hixOIC.js → machine-server-access-6584jQ7-.js} +1 -1
- package/app/dist/assets/{markdown-file-image-routing-DAIVjxLg.js → markdown-file-image-routing-0_tf5d6g.js} +1 -1
- package/app/dist/assets/{markdown-html-B-Kyh3zI.js → markdown-html-JK4Gnuli.js} +1 -1
- package/app/dist/assets/markdown-html-JK4Gnuli.js.br +0 -0
- package/app/dist/assets/markdown-html-JK4Gnuli.js.gz +0 -0
- package/app/dist/assets/{markdown-local-file-link-C89PR8d5.js → markdown-local-file-link-DXjnoCIE.js} +1 -1
- package/app/dist/assets/markdown-local-file-link-DXjnoCIE.js.br +0 -0
- package/app/dist/assets/markdown-local-file-link-DXjnoCIE.js.gz +0 -0
- package/app/dist/assets/{markdown-preview-B7BmqIlu.js → markdown-preview-Bfwf40CC.js} +2 -2
- package/app/dist/assets/markdown-preview-Bfwf40CC.js.br +0 -0
- package/app/dist/assets/markdown-preview-Bfwf40CC.js.gz +0 -0
- package/app/dist/assets/{markdown-prompt-mentions-B0JRhgrI.js → markdown-prompt-mentions-BuHEkhJs.js} +1 -1
- package/app/dist/assets/markdown-prompt-mentions-BuHEkhJs.js.br +0 -0
- package/app/dist/assets/markdown-prompt-mentions-BuHEkhJs.js.gz +0 -0
- package/app/dist/assets/{model-load-error-message-B-HKqgUD.js → model-load-error-message-CnA6byT0.js} +1 -1
- package/app/dist/assets/model-load-error-message-CnA6byT0.js.br +0 -0
- package/app/dist/assets/model-load-error-message-CnA6byT0.js.gz +0 -0
- package/app/dist/assets/onboarding-telemetry-D6SXoh98.js +1 -0
- package/app/dist/assets/{open-in-editor-button-CQGreiCk.js → open-in-editor-button-jScMiuob.js} +1 -1
- package/app/dist/assets/open-in-editor-button-jScMiuob.js.br +0 -0
- package/app/dist/assets/open-in-editor-button-jScMiuob.js.gz +0 -0
- package/app/dist/assets/{page-shell-BHTOdeQn.js → page-shell-ClYdhKtX.js} +1 -1
- package/app/dist/assets/page-shell-ClYdhKtX.js.br +0 -0
- package/app/dist/assets/page-shell-ClYdhKtX.js.gz +0 -0
- package/app/dist/assets/{pierre-worker-pool-Bm9cLA-c.js → pierre-worker-pool-D1nZ9Lcz.js} +1 -1
- package/app/dist/assets/pierre-worker-pool-D1nZ9Lcz.js.br +0 -0
- package/app/dist/assets/pierre-worker-pool-D1nZ9Lcz.js.gz +0 -0
- package/app/dist/assets/{plugin-detail-navigation-CmSGTNyL.js → plugin-detail-navigation-BD4jDXuP.js} +1 -1
- package/app/dist/assets/plugin-detail-navigation-BD4jDXuP.js.br +0 -0
- package/app/dist/assets/plugin-detail-navigation-BD4jDXuP.js.gz +0 -0
- package/app/dist/assets/{plugin-frontend-BdQdYbWd.js → plugin-frontend-qfGFykt-.js} +3 -3
- package/app/dist/assets/plugin-frontend-qfGFykt-.js.br +0 -0
- package/app/dist/assets/plugin-frontend-qfGFykt-.js.gz +0 -0
- package/app/dist/assets/{plugin-ui-DyNDyPD9.js → plugin-ui-DfbeKd73.js} +1 -1
- package/app/dist/assets/plugin-ui-DfbeKd73.js.br +0 -0
- package/app/dist/assets/plugin-ui-DfbeKd73.js.gz +0 -0
- package/app/dist/assets/{project-default-execution-options-query-h6eTG6_Q.js → project-default-execution-options-query-DQKDDkRo.js} +1 -1
- package/app/dist/assets/{queued-editor-typeahead-layout-BKui5z7C.js → queued-editor-typeahead-layout-DKGYsvQ-.js} +1 -1
- package/app/dist/assets/queued-editor-typeahead-layout-DKGYsvQ-.js.br +0 -0
- package/app/dist/assets/queued-editor-typeahead-layout-DKGYsvQ-.js.gz +0 -0
- package/app/dist/assets/{queued-messages-layout-BuEilXwP.js → queued-messages-layout-ClZkWHAV.js} +1 -1
- package/app/dist/assets/queued-messages-layout-ClZkWHAV.js.br +0 -0
- package/app/dist/assets/queued-messages-layout-ClZkWHAV.js.gz +0 -0
- package/app/dist/assets/{resource-list-B6MkAu8v.js → resource-list-CC7zN47b.js} +1 -1
- package/app/dist/assets/resource-list-CC7zN47b.js.br +0 -0
- package/app/dist/assets/resource-list-CC7zN47b.js.gz +0 -0
- package/app/dist/assets/root-compose-create-preference-z0-Xe1ss.js +1 -0
- package/app/dist/assets/{save-file-DYAtq7A9.js → save-file-Cs9LWQ4E.js} +1 -1
- package/app/dist/assets/{settings-nav-DbICcozy.js → settings-nav-BKMVpc5b.js} +1 -1
- package/app/dist/assets/settings-nav-BKMVpc5b.js.br +0 -0
- package/app/dist/assets/settings-nav-BKMVpc5b.js.gz +0 -0
- package/app/dist/assets/{settings-sections-Cq0VX9E8.js → settings-sections-LqqPm8q3.js} +1 -1
- package/app/dist/assets/settings-sections-LqqPm8q3.js.br +0 -0
- package/app/dist/assets/settings-sections-LqqPm8q3.js.gz +0 -0
- package/app/dist/assets/{shortcut-pill-DldxrKgx.js → shortcut-pill-DOMeVrnR.js} +1 -1
- package/app/dist/assets/{sidebarTouchSensor-D7jKXrfM.js → sidebarTouchSensor-PP8-SQld.js} +1 -1
- package/app/dist/assets/sidebarTouchSensor-PP8-SQld.js.br +0 -0
- package/app/dist/assets/sidebarTouchSensor-PP8-SQld.js.gz +0 -0
- package/app/dist/assets/{switch-CzvlSesf.js → switch-B9nrFpZc.js} +1 -1
- package/app/dist/assets/switch-B9nrFpZc.js.br +0 -0
- package/app/dist/assets/switch-B9nrFpZc.js.gz +0 -0
- package/app/dist/assets/{textarea-9yaIMD7J.js → textarea-2fJEsqsi.js} +1 -1
- package/app/dist/assets/{thread-event-parser-BqVpKC6z.js → thread-event-parser-DedSEtmp.js} +1 -1
- package/app/dist/assets/thread-event-parser-DedSEtmp.js.br +0 -0
- package/app/dist/assets/thread-event-parser-DedSEtmp.js.gz +0 -0
- package/app/dist/assets/{thread-panel-queries-C3MI4mdc.js → thread-panel-queries-5N40syTx.js} +1 -1
- package/app/dist/assets/thread-panel-queries-5N40syTx.js.br +0 -0
- package/app/dist/assets/thread-panel-queries-5N40syTx.js.gz +0 -0
- package/app/dist/assets/{thread-runtime-mutations-Cr1H7KSz.js → thread-runtime-mutations-BY5xzme0.js} +1 -1
- package/app/dist/assets/thread-runtime-mutations-BY5xzme0.js.br +0 -0
- package/app/dist/assets/thread-runtime-mutations-BY5xzme0.js.gz +0 -0
- package/app/dist/assets/{thread-terminal-queries-B4JkOWS2.js → thread-terminal-queries-BF7AB7qh.js} +1 -1
- package/app/dist/assets/thread-terminal-queries-BF7AB7qh.js.br +0 -0
- package/app/dist/assets/thread-terminal-queries-BF7AB7qh.js.gz +0 -0
- package/app/dist/assets/{threadRecentItems-DI2mgj7S.js → threadRecentItems-CYYbbS1r.js} +1 -1
- package/app/dist/assets/threadRecentItems-CYYbbS1r.js.br +0 -0
- package/app/dist/assets/threadRecentItems-CYYbbS1r.js.gz +0 -0
- package/app/dist/assets/{threadWorkspaceOpenPath-BQgtUYL5.js → threadWorkspaceOpenPath-B5anoH2-.js} +1 -1
- package/app/dist/assets/threadWorkspaceOpenPath-B5anoH2-.js.br +0 -0
- package/app/dist/assets/threadWorkspaceOpenPath-B5anoH2-.js.gz +0 -0
- package/app/dist/assets/{title-bar-scroll-fade-CxbgbTcm.js → title-bar-scroll-fade-BfqL4WEJ.js} +1 -1
- package/app/dist/assets/title-bar-scroll-fade-BfqL4WEJ.js.br +0 -0
- package/app/dist/assets/title-bar-scroll-fade-BfqL4WEJ.js.gz +0 -0
- package/app/dist/assets/{truncate-start-CaCnKnh9.js → truncate-start-D-P3rLti.js} +1 -1
- package/app/dist/assets/{use-hover-popover-CyIdak3c.js → use-hover-popover-Bb8PuVyu.js} +1 -1
- package/app/dist/assets/use-hover-popover-Bb8PuVyu.js.br +0 -0
- package/app/dist/assets/use-hover-popover-Bb8PuVyu.js.gz +0 -0
- package/app/dist/assets/{useElementWidth-CL3Nb-eq.js → useElementWidth-vSwGqg9a.js} +1 -1
- package/app/dist/assets/useElementWidth-vSwGqg9a.js.br +0 -0
- package/app/dist/assets/useElementWidth-vSwGqg9a.js.gz +0 -0
- package/app/dist/assets/{useLocalOpenTargets-yzd9-Ceh.js → useLocalOpenTargets-DqjYzi0b.js} +1 -1
- package/app/dist/assets/useLocalOpenTargets-DqjYzi0b.js.br +0 -0
- package/app/dist/assets/useLocalOpenTargets-DqjYzi0b.js.gz +0 -0
- package/app/dist/assets/{usePanelResizeSnap-dys9IwEk.js → usePanelResizeSnap-Dvi7sa3e.js} +1 -1
- package/app/dist/assets/usePanelResizeSnap-Dvi7sa3e.js.br +0 -0
- package/app/dist/assets/usePanelResizeSnap-Dvi7sa3e.js.gz +0 -0
- package/app/dist/assets/{usePanelTerminals-BN8UCJFO.js → usePanelTerminals-B9MNSur4.js} +1 -1
- package/app/dist/assets/usePanelTerminals-B9MNSur4.js.br +0 -0
- package/app/dist/assets/usePanelTerminals-B9MNSur4.js.gz +0 -0
- package/app/dist/assets/{usePathSuggestions-DkeFAE7l.js → usePathSuggestions-zhZ-4fh8.js} +1 -1
- package/app/dist/assets/usePathSuggestions-zhZ-4fh8.js.br +0 -0
- package/app/dist/assets/usePathSuggestions-zhZ-4fh8.js.gz +0 -0
- package/app/dist/assets/{useResolvedLiveFileTarget-43fAKgDx.js → useResolvedLiveFileTarget-CZZwqw4L.js} +1 -1
- package/app/dist/assets/useResolvedLiveFileTarget-CZZwqw4L.js.br +0 -0
- package/app/dist/assets/useResolvedLiveFileTarget-CZZwqw4L.js.gz +0 -0
- package/app/dist/assets/{useThreadTerminalController-DcWLbe8W.js → useThreadTerminalController-CvXy-5HP.js} +1 -1
- package/app/dist/assets/useThreadTerminalController-CvXy-5HP.js.br +0 -0
- package/app/dist/assets/useThreadTerminalController-CvXy-5HP.js.gz +0 -0
- package/app/dist/assets/{workspace-change-summary-Bd3p-LXz.js → workspace-change-summary-CY01JLmJ.js} +1 -1
- package/app/dist/assets/workspace-change-summary-CY01JLmJ.js.br +0 -0
- package/app/dist/assets/workspace-change-summary-CY01JLmJ.js.gz +0 -0
- package/app/dist/assets/{workspace-checkout-display-DMp28yCr.js → workspace-checkout-display-C9B0QPLi.js} +4 -4
- package/app/dist/assets/workspace-checkout-display-C9B0QPLi.js.br +0 -0
- package/app/dist/assets/workspace-checkout-display-C9B0QPLi.js.gz +0 -0
- package/app/dist/index.html +17 -17
- package/app/dist/index.html.br +0 -0
- package/app/dist/index.html.gz +0 -0
- package/dist/index.d.ts +35 -6
- package/dist/index.js +9 -5
- package/host-daemon/dist/bb +2 -2
- package/host-daemon/dist/bb-chunks/{browser-DVIVPPSL.js → browser-3RYUCU4H.js} +1 -1
- package/host-daemon/dist/bb-chunks/{chunk-ATDR5E2C.js → chunk-CZ4K4Z4T.js} +1 -1
- package/host-daemon/dist/bb-chunks/{chunk-ZWBRH7R6.js → chunk-DCRUVPRR.js} +1 -1
- package/host-daemon/dist/bb-chunks/{chunk-7EOZF4HA.js → chunk-F7XCHQA3.js} +1 -1
- package/host-daemon/dist/bb-chunks/{chunk-JWA6VJYL.js → chunk-FYCUA6H6.js} +1 -1
- package/host-daemon/dist/bb-chunks/{chunk-5ZMA4MIX.js → chunk-FZ76WJJG.js} +1 -1
- package/host-daemon/dist/bb-chunks/{chunk-UXSJP3YM.js → chunk-GVXLVAX4.js} +1 -1
- package/host-daemon/dist/bb-chunks/chunk-HDUE2YKX.js +2199 -0
- package/host-daemon/dist/bb-chunks/{chunk-REEBSQ75.js → chunk-L5UJ4QUD.js} +1 -1
- package/host-daemon/dist/bb-chunks/{chunk-QE47NRKX.js → chunk-NZY63D4X.js} +1 -1
- package/host-daemon/dist/bb-chunks/{chunk-MLYXPSJC.js → chunk-UCNQXYXP.js} +1 -1
- package/host-daemon/dist/bb-chunks/chunk-WMCZMPZ4.js +2 -0
- package/host-daemon/dist/bb-chunks/{client-YJBBA4JS.js → client-NLWJKXJ2.js} +1 -1
- package/host-daemon/dist/bb-chunks/{commander-errors-P6LP2OHL.js → commander-errors-GDOJDU37.js} +1 -1
- package/host-daemon/dist/bb-chunks/{context-env-LJ5IITUO.js → context-env-VLEFLYWD.js} +1 -1
- package/host-daemon/dist/bb-chunks/{context-hints-MUUUMT2P.js → context-hints-FXEXGMFT.js} +1 -1
- package/host-daemon/dist/bb-chunks/{diagnostics-5EMHJNW7.js → diagnostics-ZKJGPJUH.js} +1 -1
- package/host-daemon/dist/bb-chunks/{environment-ZRSQFVHG.js → environment-CY5JUFSR.js} +1 -1
- package/host-daemon/dist/bb-chunks/{file-AEVJYJAY.js → file-KGZLZ36T.js} +1 -1
- package/host-daemon/dist/bb-chunks/{guide-GLY5UY4M.js → guide-MXAVSGKZ.js} +1 -1
- package/host-daemon/dist/bb-chunks/{machine-Z5QSPWEE.js → machine-Y7XFS7EJ.js} +1 -1
- package/host-daemon/dist/bb-chunks/{marketplace-4CGZ3NTM.js → marketplace-QLPRDZTC.js} +1 -1
- package/host-daemon/dist/bb-chunks/{plugin-VO7RP4JU.js → plugin-K276UYTK.js} +1 -1
- package/host-daemon/dist/bb-chunks/{plugin-cli-proxy-6Y6TTP7A.js → plugin-cli-proxy-QE7C6YLF.js} +1 -1
- package/host-daemon/dist/bb-chunks/project-QD44GO6S.js +2 -0
- package/host-daemon/dist/bb-chunks/{prompt-history-ZNIBNYER.js → prompt-history-YGK557NG.js} +1 -1
- package/host-daemon/dist/bb-chunks/{provider-TJ4DGKBX.js → provider-FAAY2EKV.js} +1 -1
- package/host-daemon/dist/bb-chunks/{server-YMSYCILC.js → server-Y7FRWA4U.js} +1 -1
- package/host-daemon/dist/bb-chunks/{settings-5CKNFTFZ.js → settings-76RZ35GN.js} +1 -1
- package/host-daemon/dist/bb-chunks/{skill-BMQPIFAD.js → skill-HMSLPSPW.js} +1 -1
- package/host-daemon/dist/bb-chunks/{status-2DJ3O6QU.js → status-GJFZ5YDD.js} +1 -1
- package/host-daemon/dist/bb-chunks/{terminal-NWC5PO4A.js → terminal-LSZHPIET.js} +1 -1
- package/host-daemon/dist/bb-chunks/{theme-OEOGYFXJ.js → theme-BMV5THCU.js} +1 -1
- package/host-daemon/dist/bb-chunks/{thread-AI6SXNXK.js → thread-UZ44ZBA2.js} +1 -1
- package/host-daemon/dist/bb-chunks/thread-event-parser-SIFYMDOV.js +2 -0
- package/host-daemon/dist/bb-chunks/{updates-DFLJJDO4.js → updates-IDCLXRIV.js} +1 -1
- package/host-daemon/dist/bb-chunks/{voice-ZSACREC3.js → voice-EXZARJ2J.js} +1 -1
- package/host-daemon/dist/daemon-bundle.mjs +102 -102
- package/package.json +1 -1
- package/server/dist/builtin-plugins/orbit/dist/assets/orbit/revision +1 -1
- package/server/dist/builtin-plugins/orbit/dist/server.js +52 -52
- package/server/dist/drizzle/0147_project_permission_escalation.sql +1 -0
- package/server/dist/drizzle/meta/0147_snapshot.json +5295 -0
- package/server/dist/drizzle/meta/_journal.json +7 -0
- package/server/dist/start-server.js +26 -7
- package/app/dist/assets/AddMachineDialog-4BQFC118.js.br +0 -0
- package/app/dist/assets/AddMachineDialog-4BQFC118.js.gz +0 -0
- package/app/dist/assets/AppFileExternalNavigationDispatcher-fGD_vTns.js.br +0 -0
- package/app/dist/assets/AppFileExternalNavigationDispatcher-fGD_vTns.js.gz +0 -0
- package/app/dist/assets/BbDiff-BkqgAZD9.js.br +0 -0
- package/app/dist/assets/BbDiff-BkqgAZD9.js.gz +0 -0
- package/app/dist/assets/BbDiffSplit-DTvWaW-n.js.br +0 -0
- package/app/dist/assets/BbDiffSplit-DTvWaW-n.js.gz +0 -0
- package/app/dist/assets/BbSourceCode-Dqw4VrLu.js.br +0 -0
- package/app/dist/assets/BbSourceCode-Dqw4VrLu.js.gz +0 -0
- package/app/dist/assets/BrowserTabDeck-CuHEyZd6.js.br +0 -0
- package/app/dist/assets/BrowserTabDeck-CuHEyZd6.js.gz +0 -0
- package/app/dist/assets/CommandPaletteBody-DynxiDg6.js.br +0 -0
- package/app/dist/assets/CommandPaletteBody-DynxiDg6.js.gz +0 -0
- package/app/dist/assets/DiffHost-3UTZIJNs.js.br +0 -0
- package/app/dist/assets/DiffHost-3UTZIJNs.js.gz +0 -0
- package/app/dist/assets/ExperimentalFileLinkMenu-C0RXVabs.js.br +0 -0
- package/app/dist/assets/ExperimentalFileLinkMenu-C0RXVabs.js.gz +0 -0
- package/app/dist/assets/FilePreview-BxgJ2jjI.js.br +0 -0
- package/app/dist/assets/FilePreview-BxgJ2jjI.js.gz +0 -0
- package/app/dist/assets/GitDiffCardHeader-Ce736y-m.js.br +0 -0
- package/app/dist/assets/GitDiffCardHeader-Ce736y-m.js.gz +0 -0
- package/app/dist/assets/InlineMessageEditorFrame-Dud8h1It.js.br +0 -0
- package/app/dist/assets/InlineMessageEditorFrame-Dud8h1It.js.gz +0 -0
- package/app/dist/assets/MachineRenameDialog-C_ZV5gEB.js.br +0 -0
- package/app/dist/assets/MachineRenameDialog-C_ZV5gEB.js.gz +0 -0
- package/app/dist/assets/MachineSettingsView-BWSIpenw.js.br +0 -0
- package/app/dist/assets/MachineSettingsView-BWSIpenw.js.gz +0 -0
- package/app/dist/assets/MicrophonePreferences-CNEhQgAS.js.br +0 -0
- package/app/dist/assets/MicrophonePreferences-CNEhQgAS.js.gz +0 -0
- package/app/dist/assets/ModelReasoningMenu-BeNCpeQf.js.br +0 -0
- package/app/dist/assets/ModelReasoningMenu-BeNCpeQf.js.gz +0 -0
- package/app/dist/assets/NewTabPage-CsPDV6iC.js.br +0 -0
- package/app/dist/assets/NewTabPage-CsPDV6iC.js.gz +0 -0
- package/app/dist/assets/NewThreadComposer-BY0jUSbs.js.br +0 -0
- package/app/dist/assets/NewThreadComposer-BY0jUSbs.js.gz +0 -0
- package/app/dist/assets/OnboardingFlow-BQdrTtHC.js.br +0 -0
- package/app/dist/assets/OnboardingFlow-BQdrTtHC.js.gz +0 -0
- package/app/dist/assets/OptionPicker-sql35hd_.js.br +0 -0
- package/app/dist/assets/OptionPicker-sql35hd_.js.gz +0 -0
- package/app/dist/assets/PaletteShell-B9KeWKsT.js.br +0 -0
- package/app/dist/assets/PaletteShell-B9KeWKsT.js.gz +0 -0
- package/app/dist/assets/PaneMaximizeButton-CGBzyikf.js.br +0 -0
- package/app/dist/assets/PaneMaximizeButton-CGBzyikf.js.gz +0 -0
- package/app/dist/assets/PierreLineSelectionActions-BYL6I0xE.js.br +0 -0
- package/app/dist/assets/PierreLineSelectionActions-BYL6I0xE.js.gz +0 -0
- package/app/dist/assets/PluginPanelRightPanelHost-Dj-wS_Ki.js.br +0 -0
- package/app/dist/assets/PluginPanelRightPanelHost-Dj-wS_Ki.js.gz +0 -0
- package/app/dist/assets/PluginThreadChat-Dh-No9s-.js.br +0 -0
- package/app/dist/assets/PluginThreadChat-Dh-No9s-.js.gz +0 -0
- package/app/dist/assets/ProjectDetailSettingsView-BOV7URzQ.js +0 -1
- package/app/dist/assets/ProjectDetailSettingsView-BOV7URzQ.js.br +0 -0
- package/app/dist/assets/ProjectDetailSettingsView-BOV7URzQ.js.gz +0 -0
- package/app/dist/assets/ProjectMachineSetupDialog-BW4gUYj0.js.br +0 -0
- package/app/dist/assets/ProjectMachineSetupDialog-BW4gUYj0.js.gz +0 -0
- package/app/dist/assets/ProjectsSettingsSection-BI_xhcA2.js.br +0 -0
- package/app/dist/assets/ProjectsSettingsSection-BI_xhcA2.js.gz +0 -0
- package/app/dist/assets/QueuedMessagesList-BEyivVSE.js.br +0 -0
- package/app/dist/assets/QueuedMessagesList-BEyivVSE.js.gz +0 -0
- package/app/dist/assets/RemotePathBrowser-DVW5AwBs.js.br +0 -0
- package/app/dist/assets/RemotePathBrowser-DVW5AwBs.js.gz +0 -0
- package/app/dist/assets/RootComposeView-Cbnwq7j_.js.br +0 -0
- package/app/dist/assets/RootComposeView-Cbnwq7j_.js.gz +0 -0
- package/app/dist/assets/SecondaryPanelLayout-fG8BuYv-.js.br +0 -0
- package/app/dist/assets/SecondaryPanelLayout-fG8BuYv-.js.gz +0 -0
- package/app/dist/assets/ServerMoveOverlayView-CPWZimVv.js.br +0 -0
- package/app/dist/assets/ServerMoveOverlayView-CPWZimVv.js.gz +0 -0
- package/app/dist/assets/SettingsSidebar-DxfoXXKW.js.br +0 -0
- package/app/dist/assets/SettingsSidebar-DxfoXXKW.js.gz +0 -0
- package/app/dist/assets/SettingsView-D_DkKpuv.js.br +0 -0
- package/app/dist/assets/SettingsView-D_DkKpuv.js.gz +0 -0
- package/app/dist/assets/SidebarFooterCustomize-VQoenr5y.js.br +0 -0
- package/app/dist/assets/SidebarFooterCustomize-VQoenr5y.js.gz +0 -0
- package/app/dist/assets/SidebarVisibilityCustomize-DUKnlz9Y.js.br +0 -0
- package/app/dist/assets/SidebarVisibilityCustomize-DUKnlz9Y.js.gz +0 -0
- package/app/dist/assets/SourceCodeHost-BlXLvWv2.js.br +0 -0
- package/app/dist/assets/SourceCodeHost-BlXLvWv2.js.gz +0 -0
- package/app/dist/assets/SplitWorkspaceRoute-6w4G23kc.js.br +0 -0
- package/app/dist/assets/SplitWorkspaceRoute-6w4G23kc.js.gz +0 -0
- package/app/dist/assets/TerminalOutputBlock-BxBSWJr_.js.br +0 -0
- package/app/dist/assets/TerminalOutputBlock-BxBSWJr_.js.gz +0 -0
- package/app/dist/assets/ThreadActionsMenu-ChpSKv80.js.br +0 -0
- package/app/dist/assets/ThreadActionsMenu-ChpSKv80.js.gz +0 -0
- package/app/dist/assets/ThreadDetailView-CfH3uWo-.js.br +0 -0
- package/app/dist/assets/ThreadDetailView-CfH3uWo-.js.gz +0 -0
- package/app/dist/assets/ThreadSearchPaletteMode-B72v3f5V.js.br +0 -0
- package/app/dist/assets/ThreadSearchPaletteMode-B72v3f5V.js.gz +0 -0
- package/app/dist/assets/ThreadSecondaryPanel-4nIZy4h9.js.br +0 -0
- package/app/dist/assets/ThreadSecondaryPanel-4nIZy4h9.js.gz +0 -0
- package/app/dist/assets/ThreadSecondaryPanelTabContent-8-e35_Me.js.br +0 -0
- package/app/dist/assets/ThreadSecondaryPanelTabContent-8-e35_Me.js.gz +0 -0
- package/app/dist/assets/ThreadStatusGlyph-C9tzRtlV.js.br +0 -0
- package/app/dist/assets/ThreadStatusGlyph-C9tzRtlV.js.gz +0 -0
- package/app/dist/assets/ThreadTerminalPanel-CqTk9L2y.js.br +0 -0
- package/app/dist/assets/ThreadTerminalPanel-CqTk9L2y.js.gz +0 -0
- package/app/dist/assets/ThreadTerminalView-B6XNBrJ9.js.br +0 -0
- package/app/dist/assets/ThreadTerminalView-B6XNBrJ9.js.gz +0 -0
- package/app/dist/assets/ThreadTimelineNavigationContext-DbZHHZfY.js.br +0 -0
- package/app/dist/assets/ThreadTimelineNavigationContext-DbZHHZfY.js.gz +0 -0
- package/app/dist/assets/TimelineDetailScroll-CpFZhWhU.js.br +0 -0
- package/app/dist/assets/TimelineDetailScroll-CpFZhWhU.js.gz +0 -0
- package/app/dist/assets/TimelineFileDiffBlock-JiOlR3O8.js.br +0 -0
- package/app/dist/assets/TimelineFileDiffBlock-JiOlR3O8.js.gz +0 -0
- package/app/dist/assets/TimelineSelectionMenu-DT4qwoFI.js.br +0 -0
- package/app/dist/assets/TimelineSelectionMenu-DT4qwoFI.js.gz +0 -0
- package/app/dist/assets/ToolsView-nAAic88Z.js.br +0 -0
- package/app/dist/assets/ToolsView-nAAic88Z.js.gz +0 -0
- package/app/dist/assets/ToolsViewSplits-Blo3GJMQ.js.br +0 -0
- package/app/dist/assets/ToolsViewSplits-Blo3GJMQ.js.gz +0 -0
- package/app/dist/assets/WaveformVisualizer-BrH_nwc4.js.br +0 -0
- package/app/dist/assets/WaveformVisualizer-BrH_nwc4.js.gz +0 -0
- package/app/dist/assets/app-fixed-tab-navigation-DX9s-gCj.js.br +0 -0
- package/app/dist/assets/app-fixed-tab-navigation-DX9s-gCj.js.gz +0 -0
- package/app/dist/assets/audio-input-device-preference-DsU6GGNE.js.br +0 -0
- package/app/dist/assets/audio-input-device-preference-DsU6GGNE.js.gz +0 -0
- package/app/dist/assets/bottom-anchored-scroll-body-C8n22V_o.js.br +0 -0
- package/app/dist/assets/bottom-anchored-scroll-body-C8n22V_o.js.gz +0 -0
- package/app/dist/assets/browser-url-B0SjaYti.js.br +0 -0
- package/app/dist/assets/browser-url-B0SjaYti.js.gz +0 -0
- package/app/dist/assets/checkbox-Ct38DhHB.js.br +0 -0
- package/app/dist/assets/checkbox-Ct38DhHB.js.gz +0 -0
- package/app/dist/assets/code-loading-skeletons-C_099GEq.js.br +0 -5
- package/app/dist/assets/code-loading-skeletons-C_099GEq.js.gz +0 -0
- package/app/dist/assets/detail-card-Cj628JNK.js.br +0 -0
- package/app/dist/assets/detail-card-Cj628JNK.js.gz +0 -0
- package/app/dist/assets/diff-stats-tally-MtORWItG.js.br +0 -0
- package/app/dist/assets/diff-stats-tally-MtORWItG.js.gz +0 -0
- package/app/dist/assets/environment-mutations-rP4eROm2.js.br +0 -0
- package/app/dist/assets/environment-mutations-rP4eROm2.js.gz +0 -0
- package/app/dist/assets/environment-workspace-display-O1JRHfbV.js.br +0 -0
- package/app/dist/assets/environment-workspace-display-O1JRHfbV.js.gz +0 -0
- package/app/dist/assets/event-code-block-DqUZCAii.js.br +0 -0
- package/app/dist/assets/event-code-block-DqUZCAii.js.gz +0 -0
- package/app/dist/assets/expandable-text-herJC70e.js.br +0 -0
- package/app/dist/assets/expandable-text-herJC70e.js.gz +0 -0
- package/app/dist/assets/file-path-link-Cni9Azi2.js.br +0 -0
- package/app/dist/assets/file-path-link-Cni9Azi2.js.gz +0 -0
- package/app/dist/assets/host-mutations-Ckc-eVys.js.br +0 -0
- package/app/dist/assets/host-mutations-Ckc-eVys.js.gz +0 -0
- package/app/dist/assets/icon-extended-DDFkslJU.js.br +0 -0
- package/app/dist/assets/icon-extended-DDFkslJU.js.gz +0 -0
- package/app/dist/assets/image-lightbox-BW1bqQJM.js.br +0 -0
- package/app/dist/assets/image-lightbox-BW1bqQJM.js.gz +0 -0
- package/app/dist/assets/index-BBxUiLNy.js +0 -395
- package/app/dist/assets/index-BBxUiLNy.js.br +0 -0
- package/app/dist/assets/index-BBxUiLNy.js.gz +0 -0
- package/app/dist/assets/inline-rename-editor-wjwfk7v2.js.br +0 -0
- package/app/dist/assets/inline-rename-editor-wjwfk7v2.js.gz +0 -0
- package/app/dist/assets/launcherRow-rIW7Z6Xm.js.br +0 -0
- package/app/dist/assets/launcherRow-rIW7Z6Xm.js.gz +0 -0
- package/app/dist/assets/localhost-link-rewrite-description-Bovg3W--.js.br +0 -0
- package/app/dist/assets/localhost-link-rewrite-description-Bovg3W--.js.gz +0 -0
- package/app/dist/assets/machine-provider-queries-CRlWTEz7.js.br +0 -0
- package/app/dist/assets/machine-provider-queries-CRlWTEz7.js.gz +0 -0
- package/app/dist/assets/markdown-html-B-Kyh3zI.js.br +0 -0
- package/app/dist/assets/markdown-html-B-Kyh3zI.js.gz +0 -0
- package/app/dist/assets/markdown-local-file-link-C89PR8d5.js.br +0 -0
- package/app/dist/assets/markdown-local-file-link-C89PR8d5.js.gz +0 -0
- package/app/dist/assets/markdown-preview-B7BmqIlu.js.br +0 -0
- package/app/dist/assets/markdown-preview-B7BmqIlu.js.gz +0 -0
- package/app/dist/assets/markdown-prompt-mentions-B0JRhgrI.js.br +0 -0
- package/app/dist/assets/markdown-prompt-mentions-B0JRhgrI.js.gz +0 -0
- package/app/dist/assets/model-load-error-message-B-HKqgUD.js.br +0 -0
- package/app/dist/assets/model-load-error-message-B-HKqgUD.js.gz +0 -0
- package/app/dist/assets/onboarding-telemetry-C21cbjI_.js +0 -1
- package/app/dist/assets/open-in-editor-button-CQGreiCk.js.br +0 -0
- package/app/dist/assets/open-in-editor-button-CQGreiCk.js.gz +0 -0
- package/app/dist/assets/page-shell-BHTOdeQn.js.br +0 -0
- package/app/dist/assets/page-shell-BHTOdeQn.js.gz +0 -0
- package/app/dist/assets/pierre-worker-pool-Bm9cLA-c.js.br +0 -0
- package/app/dist/assets/pierre-worker-pool-Bm9cLA-c.js.gz +0 -0
- package/app/dist/assets/plugin-detail-navigation-CmSGTNyL.js.br +0 -0
- package/app/dist/assets/plugin-detail-navigation-CmSGTNyL.js.gz +0 -0
- package/app/dist/assets/plugin-frontend-BdQdYbWd.js.br +0 -0
- package/app/dist/assets/plugin-frontend-BdQdYbWd.js.gz +0 -0
- package/app/dist/assets/plugin-ui-DyNDyPD9.js.br +0 -0
- package/app/dist/assets/plugin-ui-DyNDyPD9.js.gz +0 -0
- package/app/dist/assets/queued-editor-typeahead-layout-BKui5z7C.js.br +0 -0
- package/app/dist/assets/queued-editor-typeahead-layout-BKui5z7C.js.gz +0 -0
- package/app/dist/assets/queued-messages-layout-BuEilXwP.js.br +0 -0
- package/app/dist/assets/queued-messages-layout-BuEilXwP.js.gz +0 -0
- package/app/dist/assets/resource-list-B6MkAu8v.js.br +0 -0
- package/app/dist/assets/resource-list-B6MkAu8v.js.gz +0 -0
- package/app/dist/assets/root-compose-create-preference-DDv947dq.js +0 -1
- package/app/dist/assets/settings-nav-DbICcozy.js.br +0 -0
- package/app/dist/assets/settings-nav-DbICcozy.js.gz +0 -0
- package/app/dist/assets/settings-sections-Cq0VX9E8.js.br +0 -0
- package/app/dist/assets/settings-sections-Cq0VX9E8.js.gz +0 -0
- package/app/dist/assets/sidebarTouchSensor-D7jKXrfM.js.br +0 -0
- package/app/dist/assets/sidebarTouchSensor-D7jKXrfM.js.gz +0 -0
- package/app/dist/assets/switch-CzvlSesf.js.br +0 -0
- package/app/dist/assets/switch-CzvlSesf.js.gz +0 -0
- package/app/dist/assets/thread-event-parser-BqVpKC6z.js.br +0 -0
- package/app/dist/assets/thread-event-parser-BqVpKC6z.js.gz +0 -0
- package/app/dist/assets/thread-panel-queries-C3MI4mdc.js.br +0 -0
- package/app/dist/assets/thread-panel-queries-C3MI4mdc.js.gz +0 -0
- package/app/dist/assets/thread-runtime-mutations-Cr1H7KSz.js.br +0 -0
- package/app/dist/assets/thread-runtime-mutations-Cr1H7KSz.js.gz +0 -0
- package/app/dist/assets/thread-terminal-queries-B4JkOWS2.js.br +0 -0
- package/app/dist/assets/thread-terminal-queries-B4JkOWS2.js.gz +0 -0
- package/app/dist/assets/threadRecentItems-DI2mgj7S.js.br +0 -0
- package/app/dist/assets/threadRecentItems-DI2mgj7S.js.gz +0 -0
- package/app/dist/assets/threadWorkspaceOpenPath-BQgtUYL5.js.br +0 -0
- package/app/dist/assets/threadWorkspaceOpenPath-BQgtUYL5.js.gz +0 -0
- package/app/dist/assets/title-bar-scroll-fade-CxbgbTcm.js.br +0 -0
- package/app/dist/assets/title-bar-scroll-fade-CxbgbTcm.js.gz +0 -0
- package/app/dist/assets/use-hover-popover-CyIdak3c.js.br +0 -0
- package/app/dist/assets/use-hover-popover-CyIdak3c.js.gz +0 -0
- package/app/dist/assets/useElementWidth-CL3Nb-eq.js.br +0 -0
- package/app/dist/assets/useElementWidth-CL3Nb-eq.js.gz +0 -0
- package/app/dist/assets/useLocalOpenTargets-yzd9-Ceh.js.br +0 -0
- package/app/dist/assets/useLocalOpenTargets-yzd9-Ceh.js.gz +0 -0
- package/app/dist/assets/usePanelResizeSnap-dys9IwEk.js.br +0 -0
- package/app/dist/assets/usePanelResizeSnap-dys9IwEk.js.gz +0 -0
- package/app/dist/assets/usePanelTerminals-BN8UCJFO.js.br +0 -0
- package/app/dist/assets/usePanelTerminals-BN8UCJFO.js.gz +0 -0
- package/app/dist/assets/usePathSuggestions-DkeFAE7l.js.br +0 -0
- package/app/dist/assets/usePathSuggestions-DkeFAE7l.js.gz +0 -0
- package/app/dist/assets/useResolvedLiveFileTarget-43fAKgDx.js.br +0 -0
- package/app/dist/assets/useResolvedLiveFileTarget-43fAKgDx.js.gz +0 -0
- package/app/dist/assets/useThreadTerminalController-DcWLbe8W.js.br +0 -0
- package/app/dist/assets/useThreadTerminalController-DcWLbe8W.js.gz +0 -0
- package/app/dist/assets/workspace-change-summary-Bd3p-LXz.js.br +0 -0
- package/app/dist/assets/workspace-change-summary-Bd3p-LXz.js.gz +0 -0
- package/app/dist/assets/workspace-checkout-display-DMp28yCr.js.br +0 -0
- package/app/dist/assets/workspace-checkout-display-DMp28yCr.js.gz +0 -0
- package/host-daemon/dist/bb-chunks/chunk-CLMP7PJ2.js +0 -2
- package/host-daemon/dist/bb-chunks/chunk-SDZLOCRA.js +0 -2186
- package/host-daemon/dist/bb-chunks/project-J3U36Y4U.js +0 -2
- package/host-daemon/dist/bb-chunks/thread-event-parser-VC3WTCLZ.js +0 -2
|
Binary file
|
|
Binary file
|
package/app/dist/index.html
CHANGED
|
@@ -98,29 +98,29 @@
|
|
|
98
98
|
if (darkTheme) document.documentElement.classList.add("dark");
|
|
99
99
|
})();
|
|
100
100
|
</script>
|
|
101
|
-
<link rel="preload" as="font" type="font/woff2" crossorigin href="/assets/inter-latin-wght-normal-Dx4kXJAl.woff2"><link fetchpriority="high" rel="stylesheet" crossorigin href="/assets/index-BR1pQoni.css"><script type="module" crossorigin src="/assets/index-
|
|
101
|
+
<link rel="preload" as="font" type="font/woff2" crossorigin href="/assets/inter-latin-wght-normal-Dx4kXJAl.woff2"><link fetchpriority="high" rel="stylesheet" crossorigin href="/assets/index-BR1pQoni.css"><script type="module" crossorigin src="/assets/index-B-RDC4LU.js"></script>
|
|
102
102
|
<link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-BM3Ffeng.js">
|
|
103
103
|
<link rel="modulepreload" crossorigin href="/assets/boot-vendor-BBLG7GwQ.js">
|
|
104
|
-
<link rel="modulepreload" crossorigin href="/assets/SplitWorkspaceRoute-
|
|
105
|
-
<link rel="modulepreload" crossorigin href="/assets/AppCommandShortcutHint-
|
|
106
|
-
<link rel="modulepreload" crossorigin href="/assets/shortcut-pill-
|
|
104
|
+
<link rel="modulepreload" crossorigin href="/assets/SplitWorkspaceRoute-CWPCkdjo.js">
|
|
105
|
+
<link rel="modulepreload" crossorigin href="/assets/AppCommandShortcutHint-C1mIupNX.js">
|
|
106
|
+
<link rel="modulepreload" crossorigin href="/assets/shortcut-pill-DOMeVrnR.js">
|
|
107
107
|
<link rel="modulepreload" crossorigin href="/assets/pane-composer-focus-DO6Y_pLI.js">
|
|
108
|
-
<link rel="modulepreload" crossorigin href="/assets/PaneMaximizeButton-
|
|
109
|
-
<link rel="modulepreload" crossorigin href="/assets/use-hover-popover-
|
|
110
|
-
<link rel="modulepreload" crossorigin href="/assets/ToolsViewSplits-
|
|
111
|
-
<link rel="modulepreload" crossorigin href="/assets/useElementWidth-
|
|
112
|
-
<link rel="modulepreload" crossorigin href="/assets/code-loading-skeletons-
|
|
113
|
-
<link rel="modulepreload" crossorigin href="/assets/truncate-start-
|
|
108
|
+
<link rel="modulepreload" crossorigin href="/assets/PaneMaximizeButton-40ZGXf3w.js">
|
|
109
|
+
<link rel="modulepreload" crossorigin href="/assets/use-hover-popover-Bb8PuVyu.js">
|
|
110
|
+
<link rel="modulepreload" crossorigin href="/assets/ToolsViewSplits-JK-JmYIg.js">
|
|
111
|
+
<link rel="modulepreload" crossorigin href="/assets/useElementWidth-vSwGqg9a.js">
|
|
112
|
+
<link rel="modulepreload" crossorigin href="/assets/code-loading-skeletons-DzoCzgll.js">
|
|
113
|
+
<link rel="modulepreload" crossorigin href="/assets/truncate-start-D-P3rLti.js">
|
|
114
114
|
<link rel="modulepreload" crossorigin href="/assets/terminal-modules-BWas1zn7.js">
|
|
115
|
-
<link rel="modulepreload" crossorigin href="/assets/usePanelResizeSnap-
|
|
116
|
-
<link rel="modulepreload" crossorigin href="/assets/page-shell-
|
|
117
|
-
<link rel="modulepreload" crossorigin href="/assets/bottom-anchored-scroll-body-
|
|
115
|
+
<link rel="modulepreload" crossorigin href="/assets/usePanelResizeSnap-Dvi7sa3e.js">
|
|
116
|
+
<link rel="modulepreload" crossorigin href="/assets/page-shell-ClYdhKtX.js">
|
|
117
|
+
<link rel="modulepreload" crossorigin href="/assets/bottom-anchored-scroll-body-DaHi9M7W.js">
|
|
118
118
|
<link rel="modulepreload" crossorigin href="/assets/scroll-position-keeper-CJoiKeZn.js">
|
|
119
|
-
<link rel="modulepreload" crossorigin href="/assets/title-bar-scroll-fade-
|
|
119
|
+
<link rel="modulepreload" crossorigin href="/assets/title-bar-scroll-fade-BfqL4WEJ.js">
|
|
120
120
|
<link rel="modulepreload" crossorigin href="/assets/pierre-worker-pool-gate-DzlPWuU3.js">
|
|
121
|
-
<link rel="modulepreload" crossorigin href="/assets/icon-extended-
|
|
122
|
-
<script type="application/json" id="bb-prefetch-markdown-html">["/assets/markdown-html-
|
|
123
|
-
<script type="application/json" id="bb-prefetch-queued-messages-list">["/assets/QueuedMessagesList-
|
|
121
|
+
<link rel="modulepreload" crossorigin href="/assets/icon-extended-C7x9E4W9.js">
|
|
122
|
+
<script type="application/json" id="bb-prefetch-markdown-html">["/assets/markdown-html-JK4Gnuli.js","/assets/rolldown-runtime-BM3Ffeng.js","/assets/boot-vendor-BBLG7GwQ.js","/assets/markdown-local-file-link-DXjnoCIE.js","/assets/index-B-RDC4LU.js","/assets/absolute-file-path-B-cUOroV.js","/assets/lib-Cs9r5T_d.js","/assets/space-separated-tokens-DGOpQRo8.js","/assets/lib-DmDqrKei.js","/assets/lib-D0BdwZRm.js","/assets/dist-CK91VTns.js","/assets/zwitch-Pm92m0zx.js"]</script>
|
|
123
|
+
<script type="application/json" id="bb-prefetch-queued-messages-list">["/assets/QueuedMessagesList-C53i8_rz.js","/assets/rolldown-runtime-BM3Ffeng.js","/assets/index-B-RDC4LU.js","/assets/boot-vendor-BBLG7GwQ.js","/assets/InlineMessageEditorFrame-DyVCSKBJ.js","/assets/queued-editor-typeahead-layout-DKGYsvQ-.js","/assets/queued-messages-layout-ClZkWHAV.js","/assets/timeline-path-display-DZ8kKRyF.js","/assets/useScrollOverflowState-DyS0S3x1.js","/assets/bottom-anchored-scroll-body-DaHi9M7W.js","/assets/scroll-position-keeper-CJoiKeZn.js","/assets/title-bar-scroll-fade-BfqL4WEJ.js","/assets/markdown-prompt-mentions-BuHEkhJs.js","/assets/lib-Cs9r5T_d.js","/assets/space-separated-tokens-DGOpQRo8.js","/assets/lib-DmDqrKei.js","/assets/lib-D0BdwZRm.js","/assets/ccount-Ddbz1Ovh.js","/assets/queued-message-reorder-DaGBnmhZ.js","/assets/sortable.esm-DrqbbDDw.js"]</script>
|
|
124
124
|
</head>
|
|
125
125
|
<body class="bb-app-shell">
|
|
126
126
|
<div id="root"></div>
|
package/app/dist/index.html.br
CHANGED
|
Binary file
|
package/app/dist/index.html.gz
CHANGED
|
Binary file
|
package/dist/index.d.ts
CHANGED
|
@@ -71,8 +71,8 @@ declare const appSettingsSchema: z$1.ZodObject<{
|
|
|
71
71
|
providerOrder: z$1.ZodArray<z$1.ZodString>;
|
|
72
72
|
defaultProviderId: z$1.ZodNullable<z$1.ZodString>;
|
|
73
73
|
providerCompletedTurnDisplay: z$1.ZodRecord<z$1.ZodString, z$1.ZodEnum<{
|
|
74
|
-
collapse: "collapse";
|
|
75
74
|
flat: "flat";
|
|
75
|
+
collapse: "collapse";
|
|
76
76
|
}>>;
|
|
77
77
|
streamerMode: z$1.ZodBoolean;
|
|
78
78
|
allowFastServiceTier: z$1.ZodBoolean;
|
|
@@ -93,8 +93,8 @@ declare const appSettingsUpdateSchema: z$1.ZodUnion<readonly [z$1.ZodObject<{
|
|
|
93
93
|
providerOrder: z$1.ZodArray<z$1.ZodString>;
|
|
94
94
|
defaultProviderId: z$1.ZodNullable<z$1.ZodString>;
|
|
95
95
|
providerCompletedTurnDisplay: z$1.ZodRecord<z$1.ZodString, z$1.ZodEnum<{
|
|
96
|
-
collapse: "collapse";
|
|
97
96
|
flat: "flat";
|
|
97
|
+
collapse: "collapse";
|
|
98
98
|
}>>;
|
|
99
99
|
streamerMode: z$1.ZodBoolean;
|
|
100
100
|
managedBranchPrefix: z$1.ZodString;
|
|
@@ -119,8 +119,8 @@ declare const appSettingsUpdateSchema: z$1.ZodUnion<readonly [z$1.ZodObject<{
|
|
|
119
119
|
providerOrder: z$1.ZodArray<z$1.ZodString>;
|
|
120
120
|
defaultProviderId: z$1.ZodNullable<z$1.ZodString>;
|
|
121
121
|
providerCompletedTurnDisplay: z$1.ZodRecord<z$1.ZodString, z$1.ZodEnum<{
|
|
122
|
-
collapse: "collapse";
|
|
123
122
|
flat: "flat";
|
|
123
|
+
collapse: "collapse";
|
|
124
124
|
}>>;
|
|
125
125
|
streamerMode: z$1.ZodBoolean;
|
|
126
126
|
machineServerUrl: z$1.ZodNullable<z$1.ZodString>;
|
|
@@ -3375,8 +3375,8 @@ declare const threadEventSchema: z$1.ZodUnion<readonly [z$1.ZodIntersection<z$1.
|
|
|
3375
3375
|
rendererId: z$1.ZodString;
|
|
3376
3376
|
}, z$1.core.$strip>;
|
|
3377
3377
|
payload: z$1.ZodObject<{
|
|
3378
|
-
title: z$1.ZodString;
|
|
3379
3378
|
kind: z$1.ZodLiteral<"plugin">;
|
|
3379
|
+
title: z$1.ZodString;
|
|
3380
3380
|
presentation: z$1.ZodOptional<z$1.ZodObject<{
|
|
3381
3381
|
label: z$1.ZodObject<{
|
|
3382
3382
|
pending: z$1.ZodString;
|
|
@@ -3426,8 +3426,8 @@ declare const threadEventSchema: z$1.ZodUnion<readonly [z$1.ZodIntersection<z$1.
|
|
|
3426
3426
|
providerRequestId: z$1.ZodString;
|
|
3427
3427
|
}, z$1.core.$strip>;
|
|
3428
3428
|
payload: z$1.ZodObject<{
|
|
3429
|
-
title: z$1.ZodString;
|
|
3430
3429
|
kind: z$1.ZodString & z$1.ZodType<`${string}/${string}`, string, z$1.core.$ZodTypeInternals<`${string}/${string}`, string>>;
|
|
3430
|
+
title: z$1.ZodString;
|
|
3431
3431
|
}, z$1.core.$strip>;
|
|
3432
3432
|
resolution: z$1.ZodNullable<z$1.ZodObject<{
|
|
3433
3433
|
kind: z$1.ZodLiteral<"request_answer">;
|
|
@@ -4187,8 +4187,8 @@ declare const providerInfoSchema: z$1.ZodObject<{
|
|
|
4187
4187
|
}, z$1.core.$strip>;
|
|
4188
4188
|
}, z$1.core.$strip>], "kind">>;
|
|
4189
4189
|
completedTurnDisplay: z$1.ZodEnum<{
|
|
4190
|
-
collapse: "collapse";
|
|
4191
4190
|
flat: "flat";
|
|
4191
|
+
collapse: "collapse";
|
|
4192
4192
|
}>;
|
|
4193
4193
|
available: z$1.ZodBoolean;
|
|
4194
4194
|
strings: z$1.ZodOptional<z$1.ZodObject<{
|
|
@@ -6000,6 +6000,10 @@ type PromptHistoryResponse = z$1.infer<typeof promptHistoryResponseSchema>;
|
|
|
6000
6000
|
type ProjectAttachmentUploadForm = Record<"file", Blob>;
|
|
6001
6001
|
declare const updateProjectRequestSchema: z$1.ZodObject<{
|
|
6002
6002
|
name: z$1.ZodOptional<z$1.ZodString>;
|
|
6003
|
+
permissionEscalation: z$1.ZodOptional<z$1.ZodEnum<{
|
|
6004
|
+
ask: "ask";
|
|
6005
|
+
deny: "deny";
|
|
6006
|
+
}>>;
|
|
6003
6007
|
}, z$1.core.$strip>;
|
|
6004
6008
|
type UpdateProjectRequest = z$1.infer<typeof updateProjectRequestSchema>;
|
|
6005
6009
|
declare const updateProjectSourceRequestSchema: z$1.ZodObject<{
|
|
@@ -6073,6 +6077,10 @@ declare const projectResponseSchema: z$1.ZodObject<{
|
|
|
6073
6077
|
}>;
|
|
6074
6078
|
name: z$1.ZodString;
|
|
6075
6079
|
gitRemoteUrl: z$1.ZodNullable<z$1.ZodString>;
|
|
6080
|
+
permissionEscalation: z$1.ZodEnum<{
|
|
6081
|
+
ask: "ask";
|
|
6082
|
+
deny: "deny";
|
|
6083
|
+
}>;
|
|
6076
6084
|
createdAt: z$1.ZodNumber;
|
|
6077
6085
|
updatedAt: z$1.ZodNumber;
|
|
6078
6086
|
sources: z$1.ZodArray<z$1.ZodObject<{
|
|
@@ -6095,6 +6103,10 @@ declare const projectWithThreadsResponseSchema: z$1.ZodObject<{
|
|
|
6095
6103
|
}>;
|
|
6096
6104
|
name: z$1.ZodString;
|
|
6097
6105
|
gitRemoteUrl: z$1.ZodNullable<z$1.ZodString>;
|
|
6106
|
+
permissionEscalation: z$1.ZodEnum<{
|
|
6107
|
+
ask: "ask";
|
|
6108
|
+
deny: "deny";
|
|
6109
|
+
}>;
|
|
6098
6110
|
createdAt: z$1.ZodNumber;
|
|
6099
6111
|
updatedAt: z$1.ZodNumber;
|
|
6100
6112
|
sources: z$1.ZodArray<z$1.ZodObject<{
|
|
@@ -6212,6 +6224,10 @@ declare const sidebarBootstrapResponseSchema: z$1.ZodObject<{
|
|
|
6212
6224
|
}>;
|
|
6213
6225
|
name: z$1.ZodString;
|
|
6214
6226
|
gitRemoteUrl: z$1.ZodNullable<z$1.ZodString>;
|
|
6227
|
+
permissionEscalation: z$1.ZodEnum<{
|
|
6228
|
+
ask: "ask";
|
|
6229
|
+
deny: "deny";
|
|
6230
|
+
}>;
|
|
6215
6231
|
createdAt: z$1.ZodNumber;
|
|
6216
6232
|
updatedAt: z$1.ZodNumber;
|
|
6217
6233
|
sources: z$1.ZodArray<z$1.ZodObject<{
|
|
@@ -6321,6 +6337,10 @@ declare const sidebarBootstrapResponseSchema: z$1.ZodObject<{
|
|
|
6321
6337
|
}>;
|
|
6322
6338
|
name: z$1.ZodString;
|
|
6323
6339
|
gitRemoteUrl: z$1.ZodNullable<z$1.ZodString>;
|
|
6340
|
+
permissionEscalation: z$1.ZodEnum<{
|
|
6341
|
+
ask: "ask";
|
|
6342
|
+
deny: "deny";
|
|
6343
|
+
}>;
|
|
6324
6344
|
createdAt: z$1.ZodNumber;
|
|
6325
6345
|
updatedAt: z$1.ZodNumber;
|
|
6326
6346
|
sources: z$1.ZodArray<z$1.ZodObject<{
|
|
@@ -16869,6 +16889,7 @@ declare function createApiClient(baseUrl: string, options?: PublicApiClientOptio
|
|
|
16869
16889
|
kind: "standard" | "personal";
|
|
16870
16890
|
name: string;
|
|
16871
16891
|
gitRemoteUrl: string | null;
|
|
16892
|
+
permissionEscalation: "ask" | "deny";
|
|
16872
16893
|
createdAt: number;
|
|
16873
16894
|
updatedAt: number;
|
|
16874
16895
|
sources: {
|
|
@@ -16886,6 +16907,7 @@ declare function createApiClient(baseUrl: string, options?: PublicApiClientOptio
|
|
|
16886
16907
|
kind: "standard" | "personal";
|
|
16887
16908
|
name: string;
|
|
16888
16909
|
gitRemoteUrl: string | null;
|
|
16910
|
+
permissionEscalation: "ask" | "deny";
|
|
16889
16911
|
createdAt: number;
|
|
16890
16912
|
updatedAt: number;
|
|
16891
16913
|
sources: {
|
|
@@ -16964,6 +16986,7 @@ declare function createApiClient(baseUrl: string, options?: PublicApiClientOptio
|
|
|
16964
16986
|
kind: "standard" | "personal";
|
|
16965
16987
|
name: string;
|
|
16966
16988
|
gitRemoteUrl: string | null;
|
|
16989
|
+
permissionEscalation: "ask" | "deny";
|
|
16967
16990
|
createdAt: number;
|
|
16968
16991
|
updatedAt: number;
|
|
16969
16992
|
sources: {
|
|
@@ -16992,6 +17015,7 @@ declare function createApiClient(baseUrl: string, options?: PublicApiClientOptio
|
|
|
16992
17015
|
kind: "standard" | "personal";
|
|
16993
17016
|
name: string;
|
|
16994
17017
|
gitRemoteUrl: string | null;
|
|
17018
|
+
permissionEscalation: "ask" | "deny";
|
|
16995
17019
|
createdAt: number;
|
|
16996
17020
|
updatedAt: number;
|
|
16997
17021
|
sources: {
|
|
@@ -17061,6 +17085,7 @@ declare function createApiClient(baseUrl: string, options?: PublicApiClientOptio
|
|
|
17061
17085
|
kind: "standard" | "personal";
|
|
17062
17086
|
name: string;
|
|
17063
17087
|
gitRemoteUrl: string | null;
|
|
17088
|
+
permissionEscalation: "ask" | "deny";
|
|
17064
17089
|
createdAt: number;
|
|
17065
17090
|
updatedAt: number;
|
|
17066
17091
|
sources: {
|
|
@@ -17135,6 +17160,7 @@ declare function createApiClient(baseUrl: string, options?: PublicApiClientOptio
|
|
|
17135
17160
|
kind: "standard" | "personal";
|
|
17136
17161
|
name: string;
|
|
17137
17162
|
gitRemoteUrl: string | null;
|
|
17163
|
+
permissionEscalation: "ask" | "deny";
|
|
17138
17164
|
createdAt: number;
|
|
17139
17165
|
updatedAt: number;
|
|
17140
17166
|
sources: {
|
|
@@ -17151,12 +17177,14 @@ declare function createApiClient(baseUrl: string, options?: PublicApiClientOptio
|
|
|
17151
17177
|
$patch: Endpoint<PathProjectId & {
|
|
17152
17178
|
json: {
|
|
17153
17179
|
name?: string | undefined;
|
|
17180
|
+
permissionEscalation?: "ask" | "deny" | undefined;
|
|
17154
17181
|
};
|
|
17155
17182
|
}, {
|
|
17156
17183
|
id: string;
|
|
17157
17184
|
kind: "standard" | "personal";
|
|
17158
17185
|
name: string;
|
|
17159
17186
|
gitRemoteUrl: string | null;
|
|
17187
|
+
permissionEscalation: "ask" | "deny";
|
|
17160
17188
|
createdAt: number;
|
|
17161
17189
|
updatedAt: number;
|
|
17162
17190
|
sources: {
|
|
@@ -17189,6 +17217,7 @@ declare function createApiClient(baseUrl: string, options?: PublicApiClientOptio
|
|
|
17189
17217
|
kind: "standard" | "personal";
|
|
17190
17218
|
name: string;
|
|
17191
17219
|
gitRemoteUrl: string | null;
|
|
17220
|
+
permissionEscalation: "ask" | "deny";
|
|
17192
17221
|
createdAt: number;
|
|
17193
17222
|
updatedAt: number;
|
|
17194
17223
|
sources: {
|
package/dist/index.js
CHANGED
|
@@ -16217,6 +16217,7 @@ var init_project = __esm({
|
|
|
16217
16217
|
"../domain/src/project.ts"() {
|
|
16218
16218
|
"use strict";
|
|
16219
16219
|
init_zod();
|
|
16220
|
+
init_shared_types();
|
|
16220
16221
|
projectKindValues = ["standard", "personal"];
|
|
16221
16222
|
projectKindSchema = external_exports.enum(projectKindValues);
|
|
16222
16223
|
projectSchema = external_exports.object({
|
|
@@ -16224,6 +16225,7 @@ var init_project = __esm({
|
|
|
16224
16225
|
kind: projectKindSchema,
|
|
16225
16226
|
name: external_exports.string(),
|
|
16226
16227
|
gitRemoteUrl: external_exports.string().nullable(),
|
|
16228
|
+
permissionEscalation: permissionEscalationSchema,
|
|
16227
16229
|
createdAt: external_exports.number(),
|
|
16228
16230
|
updatedAt: external_exports.number()
|
|
16229
16231
|
});
|
|
@@ -23138,7 +23140,7 @@ var templateDefinitions = [
|
|
|
23138
23140
|
},
|
|
23139
23141
|
{
|
|
23140
23142
|
"id": "bbGuideProjects",
|
|
23141
|
-
"body": "Project commands\n\nA project maps to a code repository. All threads belong to a project.\n\n bb project list List ordinary projects\n --include-personal Also include the personal project\n bb project discover Find recently used git repos\n --machine <id-or-name> Machine to scan (default: local)\n --host <id-or-name> Alias for --machine\n bb project history <id> List prompt history\n bb project reorder <id> Reorder in the sidebar\n --after <id> Previous project, or omit for start\n --before <id> Next project, or omit for end\n bb project create --name \"...\" [options]\n --root <path> Project source path\n --machine <id-or-name> Bind the path to a connected machine\n --host <id-or-name> Alias for --machine\n\n An explicit machine/host selector accepts an exact ID or unambiguous name and\n binds --root to that machine. Omitting the selector preserves the existing\n local CLI machine fallback (normally the server machine).\n\n bb project show <id> Show project details\n Accepts proj_personal to inspect Personal.\n bb project update <id> Update a project\n --name <name> New name\n\n bb project delete <id> Delete project and all threads\n --yes Skip confirmation\n\nGlobal prompt history:\n\n bb prompt-history list [--cursor <cursor>] [--limit <number>]\n\n Lists accepted prompts across projects and threads newest first. Pass the\n returned cursor to continue from the next page.\n\nDiscovery:\n\n bb project branches <id> --host <id> List branches for a machine source\n bb project paths <id> Search workspace paths\n bb project files <id> List workspace files\n bb project content <id> <path> Read file content (binary is base64;\n --json reports contentEncoding)\n bb project commands <id> --provider <id>\n List commands and skills\n --machine <id-or-name> Target project source machine\n --host <id-or-name> Alias for --machine\n --environment <id> Target environment workspace\n\n The machine/host and environment selectors are mutually exclusive. An\n environment selects its owning machine and workspace; otherwise an explicit\n machine selects that machine's project source. Omitting both intentionally\n falls back to the server machine's project source.\n\n Personal file access (`paths`, `files`, `content`) requires an explicit\n --environment <id> belonging to Personal. Personal has no default project\n source; the selected environment must be ready.\n\n Path and file searches honor Git ignore rules, including local and global\n exclusions; tracked and non-ignored untracked files, including hidden files,\n remain searchable. Non-Git workspaces use filesystem listings. Use\n `bb file list|paths` for listings that include ignored files.\n\nAttachments:\n\n bb project attachment upload <id> Upload bytes from the CLI machine\n --client-file <path> Path read on this CLI machine\n --filename <name> Attachment filename override\n --mime-type <type> MIME override (otherwise inferred)\n bb project attachment download <id> <attachment-path>\n --client-file <path> Destination on this CLI machine\n\n Uploads use multipart bytes and return a server-managed attachment DTO. Pass\n its relative `path` to thread --file/--image input. Thread --file and --image\n upload absolute paths and file: URLs from the CLI machine automatically;\n relative values remain existing server attachment paths.\n image/* uploads are limited to 10MB; other files are limited to 25MB.\n image/heic and image/heif uploads are rejected because no renderer or\n provider can decode them; convert them to JPEG or PNG first. There is no\n command to list or remove project attachments.\n\nSources:\n\n Projects can have multiple machine-local path sources.\n\n bb project source add <projectId> Add a source\n --path <path> Local path\n --clone Clone the project's Git remote\n --remote-url <url> Git remote override for --clone\n --target-path <path> Destination override for --clone\n --machine <id-or-name> Target machine (--host is an alias)\n --default Set as default source\n\n Explicit project source selectors must name a connected machine. Omitting\n the selector preserves the same local CLI machine fallback as project create.\n\n bb project source update <projectId> <sourceId>\n --path <path>\n --default\n\n bb project source delete <projectId> <sourceId>\n\n A live project must retain at least one source; a project pending deletion\n may remove its last source.",
|
|
23143
|
+
"body": "Project commands\n\nA project maps to a code repository. All threads belong to a project.\n\n bb project list List ordinary projects\n --include-personal Also include the personal project\n bb project discover Find recently used git repos\n --machine <id-or-name> Machine to scan (default: local)\n --host <id-or-name> Alias for --machine\n bb project history <id> List prompt history\n bb project reorder <id> Reorder in the sidebar\n --after <id> Previous project, or omit for start\n --before <id> Next project, or omit for end\n bb project create --name \"...\" [options]\n --root <path> Project source path\n --machine <id-or-name> Bind the path to a connected machine\n --host <id-or-name> Alias for --machine\n\n An explicit machine/host selector accepts an exact ID or unambiguous name and\n binds --root to that machine. Omitting the selector preserves the existing\n local CLI machine fallback (normally the server machine).\n\n bb project show <id> Show project details\n Accepts proj_personal to inspect Personal.\n bb project update <id> Update a project\n --name <name> New name\n --permission-escalation <ask|deny> Whether the project's turns may ask\n for approval (default ask)\n\n Permission escalation: with ask, a turn a person sends in Accept Edits or\n Auto mode may ask for approval to leave the workspace sandbox, and turns not\n sent by a person (agents, automations, bb's own messages) are refused without\n asking. With deny,\n every turn in the project is refused without asking, whoever sent it: Codex\n runs with approval policy never and Claude Code denies its permission\n requests. Full access has no sandbox to escalate from. Changes apply from the\n next turn. `bb project show` prints it; `sdk.projects.update` sets it.\n\n bb project delete <id> Delete project and all threads\n --yes Skip confirmation\n\nGlobal prompt history:\n\n bb prompt-history list [--cursor <cursor>] [--limit <number>]\n\n Lists accepted prompts across projects and threads newest first. Pass the\n returned cursor to continue from the next page.\n\nDiscovery:\n\n bb project branches <id> --host <id> List branches for a machine source\n bb project paths <id> Search workspace paths\n bb project files <id> List workspace files\n bb project content <id> <path> Read file content (binary is base64;\n --json reports contentEncoding)\n bb project commands <id> --provider <id>\n List commands and skills\n --machine <id-or-name> Target project source machine\n --host <id-or-name> Alias for --machine\n --environment <id> Target environment workspace\n\n The machine/host and environment selectors are mutually exclusive. An\n environment selects its owning machine and workspace; otherwise an explicit\n machine selects that machine's project source. Omitting both intentionally\n falls back to the server machine's project source.\n\n Personal file access (`paths`, `files`, `content`) requires an explicit\n --environment <id> belonging to Personal. Personal has no default project\n source; the selected environment must be ready.\n\n Path and file searches honor Git ignore rules, including local and global\n exclusions; tracked and non-ignored untracked files, including hidden files,\n remain searchable. Non-Git workspaces use filesystem listings. Use\n `bb file list|paths` for listings that include ignored files.\n\nAttachments:\n\n bb project attachment upload <id> Upload bytes from the CLI machine\n --client-file <path> Path read on this CLI machine\n --filename <name> Attachment filename override\n --mime-type <type> MIME override (otherwise inferred)\n bb project attachment download <id> <attachment-path>\n --client-file <path> Destination on this CLI machine\n\n Uploads use multipart bytes and return a server-managed attachment DTO. Pass\n its relative `path` to thread --file/--image input. Thread --file and --image\n upload absolute paths and file: URLs from the CLI machine automatically;\n relative values remain existing server attachment paths.\n image/* uploads are limited to 10MB; other files are limited to 25MB.\n image/heic and image/heif uploads are rejected because no renderer or\n provider can decode them; convert them to JPEG or PNG first. There is no\n command to list or remove project attachments.\n\nSources:\n\n Projects can have multiple machine-local path sources.\n\n bb project source add <projectId> Add a source\n --path <path> Local path\n --clone Clone the project's Git remote\n --remote-url <url> Git remote override for --clone\n --target-path <path> Destination override for --clone\n --machine <id-or-name> Target machine (--host is an alias)\n --default Set as default source\n\n Explicit project source selectors must name a connected machine. Omitting\n the selector preserves the same local CLI machine fallback as project create.\n\n bb project source update <projectId> <sourceId>\n --path <path>\n --default\n\n bb project source delete <projectId> <sourceId>\n\n A live project must retain at least one source; a project pending deletion\n may remove its last source.",
|
|
23142
23144
|
"variables": {}
|
|
23143
23145
|
},
|
|
23144
23146
|
{
|
|
@@ -23168,7 +23170,7 @@ var templateDefinitions = [
|
|
|
23168
23170
|
},
|
|
23169
23171
|
{
|
|
23170
23172
|
"id": "bbGuideThreads",
|
|
23171
|
-
"body": "Thread commands\n\nEvery command supports --json for machine-readable output. Read-only commands\ntake a thread ID or --self where supported; mutating lifecycle and messaging\ncommands require an explicit ID or --self.\n\nThread commands are split across four chapters:\n\n threads Spawning, handing off, forking, and editing sent messages\n thread-inspection Listing, sections, inspecting, waiting, opening in the app,\n and panel tabs\n thread-messaging Messages, plan mode, metadata and ownership, interactions,\n and queued messages\n thread-lifecycle Stop, compact, clear, retry, archive, and delete\n\nSpawning:\n\n bb thread spawn --project <id> --prompt \"...\" [options]\n bb thread spawn --project <id> --prompt-file <path> [options]\n\n --prompt <prompt> Initial prompt (one of --prompt or --prompt-file is required)\n --prompt-file <path> Read the prompt from a file; `-` reads stdin. Use this for\n multi-line or Markdown prompts: inside double quotes the shell\n runs `backticks` and $(...) before bb sees them\n --title <title> Thread title\n --project <id> Project (required; when omitted the error prints this thread's project ID to add)\n --parent-thread <id> Parent thread (may be in another project)\n --parent-self Parent to the current thread (BB_THREAD_ID)\n --lifecycle-owner-thread <id> Archive/delete with this owner\n --provider <id> Provider override\n --model <model> Model override\n --reasoning-level <level> Reasoning level id the model lists: low, medium, high, xhigh, max, or a provider-specific id\n --environment <id-or-path> Attach to an existing environment (ID or workspace path)\n --new-environment <kind> Create a fresh personal workspace or managed worktree\n --base-branch <branch> Exact Git ref for a new managed worktree\n (--new-environment worktree only; an\n --environment-provider takes its branch\n through --environment-inputs)\n --environment-provider <id> Run on an environment provider by id (list them with\n `bb environment providers`). The provider\n provisions where the thread runs; its steps show in the\n thread's workspace-setup block. Its `requires` names the\n facts it consumes: `host` takes --machine (the local\n machine by default); `gitCheckout` needs this project's\n checkout on that machine to be a Git repository with\n commits; `gitRemote` needs a project remote;\n `projectless` serves only threads with no project.\n --environment-inputs <json> JSON value for an --environment-provider that declares\n inputs; `bb environment providers --json` prints each\n provider's inputs as JSON Schema (null when it takes\n none). Omitted, it defaults to {} when the schema\n accepts an empty object and is otherwise required;\n refused when the provider declares no inputs\n --machine <id-or-name> Run on a machine (--host is an alias)\n --service-tier <tier> Service tier id the provider lists for the model, such as\n default or fast (see `bb provider models`)\n --option <option=value> Choose a value for an option the provider's model lists, applied\n before the first message; true or false for an on/off option\n (repeatable; see `bb provider models`)\n --permission-mode <mode> Permission mode: accept-edits, auto, or full\n --plan Send the prompt as the provider's /plan action (plan first, execute after approval)\n --section <id> Create the thread in a section\n --pinned Create the thread in Pinned (combines with --section;\n unpinning reveals it in that section)\n --visibility <visibility> visible or hidden; a child inherits its parent by default\n --parent-notifications <value> auto (default), stuck, or off; which outcomes wake the parent\n --send-at <when> Dispatch the first message at an ISO 8601 timestamp or a duration from now (30s, 10m, 2h, 7d)\n --file <path> CLI-local absolute path, file: URL, or uploaded file path\n --image <path> CLI-local absolute path, file: URL, or uploaded image path\n --origin-kind <kind> Create a fork thread\n --source-thread <id> Source thread for a fork\n --source-seq-end <seq> Fork after the source turn containing this event sequence\n\n Execution defaults resolve from explicit flags, live parent execution, and\n remembered project defaults. With no remembered model, bb uses the explicitly\n requested provider or Codex and resolves its provider-reported default model\n on the target machine (or the first catalog model when none is marked). The product reasoning and permission defaults are\n medium and auto.\n accept-edits uses workspace sandboxing with user-reviewed escalation. auto uses\n the same workspace sandbox with provider-native automatic review. full is the\n explicit sandbox and approval bypass. Plan mode is separate from permissions.\n Subagents inherit the parent's permission mode by default, adapted to the child provider's supported modes. Explicit requests and a thread's recorded mode take precedence; nesting a thread does not cap its permissions. The host permission ceiling still applies.\n Parenting is opt-in. Inside a thread, pass --parent-self to parent the new thread to the current thread.\n Hidden threads are for plugin/background workers. They remain addressable by\n ID while staying out of sidebar organization and unread/pending favicon\n attention. Thread lists exclude them unless\n --include-hidden is passed; direct-ID operations remain available.\n A new child thread inherits the visibility of its parent, so the subagents of\n a hidden thread stay hidden too. Pass --visibility to override the inherited\n value. A hidden child still reports its turns and blockers to its parent\n thread; only source-derived forks stay silent.\n --parent-notifications chooses which child outcomes wake the parent. auto\n reports every finished, failed, or interrupted turn and every blocker. stuck\n skips completed turns and keeps failures, interruptions, and blockers on an\n approval or question; the child sends its results with `bb thread tell`, so\n say so in its prompt. off reports nothing. Under stuck and off, unassigning\n the child does not notify the former parent either. `bb status` and\n `bb thread show` print the value for a child thread.\n A machine selector accepts an exact ID or an unambiguous name. It works with\n an unmanaged --environment path, --new-environment worktree, or the personal\n workspace. It cannot be combined with an existing environment ID because that\n environment already selects its machine. Without the flag, local/server\n machine resolution is unchanged.\n Omit --base-branch for bb's default. Explicit values are exact; use\n origin/<branch> for a remote ref.\n With no environment flag, a new thread gets a fresh worktree of the\n project's default branch (the project checkout when the project has no\n branch) on the primary host, or on the persistent machine that holds the\n project's source when the primary host has none. A child of a live thread\n in the same project gets a worktree on its parent's machine.\n Before selecting a provider, run `bb environment providers --project <id>\n --machine <id-or-name>` to see whether it is available, needs setup, or is\n unavailable and why. The first-party providers are Project checkout,\n Worktree, and Personal workspace.\n\nHandoff:\n The app's Handoff to new thread (in the follow-up model picker) starts a new\n thread that references the source. From the CLI, run bb thread spawn with\n --provider, --model, --environment and --prompt 'Continue from\n @thread:THREAD_ID ...'; SDK callers pass the same fields to threads.spawn.\n\nForking:\n\n bb thread fork <source-thread-id> [options]\n\n --prompt <prompt> Optional first prompt; omit for an idle fork\n --prompt-file <path> Read the first prompt from a file; `-` reads stdin\n --lifecycle-owner-thread <id> Archive/delete with this owner\n --source-seq-end <seq> Fork after the source turn containing this event sequence (tip by default)\n --environment <id-or-path> Existing environment ID or unmanaged workspace path\n --new-environment <kind> Create a fresh personal workspace or managed worktree\n --base-branch <branch> Exact Git ref for a new worktree; omit for the project default\n --title <title> Thread title (idle forks default to \"(1) <source title>\")\n --permission-mode <mode> Inherit source by default; accepts accept-edits, auto, full\n --visibility <visibility> visible (default) or hidden\n --agent-context-seed <text> Persist agent-only context without a first run\n --file <path> CLI-local absolute path, file: URL, or uploaded file path\n --image <path> CLI-local absolute path, file: URL, or uploaded image path\n\n Forks clone the source provider session on the same machine and inherit the\n source conversation in their timeline. --source-seq-end anchors the fork on\n the completed source turn that contains that sequence: the clone and the\n inherited timeline both end with that turn (an anchor on a user message\n branches before it, like editing it). Without it a fork clones the session\n tip and inherits every completed turn. Providers that can only clone a whole\n session accept an anchor only on the source's latest turn. A fork reuses the\n source environment by default. Use --new-environment personal for a fresh\n personal workspace or --new-environment worktree for a fresh worktree on the\n source machine; --environment can select another environment or unmanaged\n path on that machine. A different machine is rejected because the source\n provider session lives on its original machine. Omit --prompt to create an\n idle fork. A visible idle fork without --title is named after its source with\n a numbered prefix: \"foo\" becomes \"(1) foo\" and \"(1) foo\" becomes \"(2) foo\".\n Forks created with a first prompt get a title from that prompt.\n\nEditing a sent message:\n\n bb thread edit-message <id> --message \"Replacement text\"\n --message-file <path> Read the replacement from a file; `-` reads stdin\n --self Target the current thread (BB_THREAD_ID)\n --expected-request-sequence <seq> Select the message and reject a stale target\n\n Without --expected-request-sequence, the latest eligible message is edited.\n Codex, Claude Code, and Pi threads are supported, including failed and\n incomplete turns; grouped multi-message requests are not editable.\n `canEditMessages` on `bb thread show --json` reports whether the thread's\n provider and archive state allow edits. The\n original conversation remains unchanged until the provider prepares the\n replacement history. If the thread is running,\n submission stops the current turn and waits for it to settle. Provider-owned\n background commands, agents, and workflows are stopped before replacing the\n session, and retained task cards keep their terminal status. Durable runs\n managed by the Workflows plugin continue independently. It then\n replaces the selected turn and every later turn while retaining workspace\n changes. Unsent queued messages remain in the queue and dispatch after the\n replacement turn when their waits clear. An already-sending queued message\n must finish before the edit can start. Retries of turns replaced by the edit\n are removed from the queue. From an agent thread, the command\n carries `BB_THREAD_ID` so the replacement runs under agent permission policy.\n An edit is refused if removing its history would erase ownership evidence\n shared with another thread. Use bb thread clear <id> to start a new session\n while keeping the history and its ownership evidence.\n\nLifecycle ownership:\n spawn and fork accept --lifecycle-owner-thread <id> (SDK\n lifecycleOwnerThreadId, also returned in thread responses, null if\n independent). The owner must be live; projects, hosts and environments may\n differ. Ownership is immutable. Archiving the owner archives and stops its\n dependents; deleting it deletes them. Unarchive the owner before explicitly\n restoring a dependent. Stop does not cascade. Sidebar parents and ordinary\n forks keep their own policies.",
|
|
23173
|
+
"body": "Thread commands\n\nEvery command supports --json for machine-readable output. Read-only commands\ntake a thread ID or --self where supported; mutating lifecycle and messaging\ncommands require an explicit ID or --self.\n\nThread commands are split across four chapters:\n\n threads Spawning, handing off, forking, and editing sent messages\n thread-inspection Listing, sections, inspecting, waiting, opening in the app,\n and panel tabs\n thread-messaging Messages, plan mode, metadata and ownership, interactions,\n and queued messages\n thread-lifecycle Stop, compact, clear, retry, archive, and delete\n\nSpawning:\n\n bb thread spawn --project <id> --prompt \"...\" [options]\n bb thread spawn --project <id> --prompt-file <path> [options]\n\n --prompt <prompt> Initial prompt (one of --prompt or --prompt-file is required)\n --prompt-file <path> Read the prompt from a file; `-` reads stdin. Use this for\n multi-line or Markdown prompts: inside double quotes the shell\n runs `backticks` and $(...) before bb sees them\n --title <title> Thread title\n --project <id> Project (required; when omitted the error prints this thread's project ID to add)\n --parent-thread <id> Parent thread (may be in another project)\n --parent-self Parent to the current thread (BB_THREAD_ID)\n --lifecycle-owner-thread <id> Archive/delete with this owner\n --provider <id> Provider override\n --model <model> Model override\n --reasoning-level <level> Reasoning level id the model lists: low, medium, high, xhigh, max, or a provider-specific id\n --environment <id-or-path> Attach to an existing environment (ID or workspace path)\n --new-environment <kind> Create a fresh personal workspace or managed worktree\n --base-branch <branch> Exact Git ref for a new managed worktree\n (--new-environment worktree only; an\n --environment-provider takes its branch\n through --environment-inputs)\n --environment-provider <id> Run on an environment provider by id (list them with\n `bb environment providers`). The provider\n provisions where the thread runs; its steps show in the\n thread's workspace-setup block. Its `requires` names the\n facts it consumes: `host` takes --machine (the local\n machine by default); `gitCheckout` needs this project's\n checkout on that machine to be a Git repository with\n commits; `gitRemote` needs a project remote;\n `projectless` serves only threads with no project.\n --environment-inputs <json> JSON value for an --environment-provider that declares\n inputs; `bb environment providers --json` prints each\n provider's inputs as JSON Schema (null when it takes\n none). Omitted, it defaults to {} when the schema\n accepts an empty object and is otherwise required;\n refused when the provider declares no inputs\n --machine <id-or-name> Run on a machine (--host is an alias)\n --service-tier <tier> Service tier id the provider lists for the model, such as\n default or fast (see `bb provider models`)\n --option <option=value> Choose a value for an option the provider's model lists, applied\n before the first message; true or false for an on/off option\n (repeatable; see `bb provider models`)\n --permission-mode <mode> Permission mode: accept-edits, auto, or full\n --plan Send the prompt as the provider's /plan action (plan first, execute after approval)\n --section <id> Create the thread in a section\n --pinned Create the thread in Pinned (combines with --section;\n unpinning reveals it in that section)\n --visibility <visibility> visible or hidden; a child inherits its parent by default\n --parent-notifications <value> auto (default), stuck, or off; which outcomes wake the parent\n --send-at <when> Dispatch the first message at an ISO 8601 timestamp or a duration from now (30s, 10m, 2h, 7d)\n --file <path> CLI-local absolute path, file: URL, or uploaded file path\n --image <path> CLI-local absolute path, file: URL, or uploaded image path\n --origin-kind <kind> Create a fork thread\n --source-thread <id> Source thread for a fork\n --source-seq-end <seq> Fork after the source turn containing this event sequence\n\n Execution defaults resolve from explicit flags, live parent execution, and\n remembered project defaults. With no remembered model, bb uses the explicitly\n requested provider or Codex and resolves its provider-reported default model\n on the target machine (or the first catalog model when none is marked). The product reasoning and permission defaults are\n medium and auto.\n accept-edits uses workspace sandboxing with user-reviewed escalation. auto uses\n the same workspace sandbox with provider-native automatic review. full is the\n explicit sandbox and approval bypass. Plan mode is separate from permissions.\n A project set to `--permission-escalation deny` (`bb guide projects`) refuses\n every escalation in its threads without asking.\n Subagents inherit the parent's permission mode by default, adapted to the child provider's supported modes. Explicit requests and a thread's recorded mode take precedence; nesting a thread does not cap its permissions. The host permission ceiling still applies.\n Parenting is opt-in. Inside a thread, pass --parent-self to parent the new thread to the current thread.\n Hidden threads are for plugin/background workers. They remain addressable by\n ID while staying out of sidebar organization and unread/pending favicon\n attention. Thread lists exclude them unless\n --include-hidden is passed; direct-ID operations remain available.\n A new child thread inherits the visibility of its parent, so the subagents of\n a hidden thread stay hidden too. Pass --visibility to override the inherited\n value. A hidden child still reports its turns and blockers to its parent\n thread; only source-derived forks stay silent.\n --parent-notifications chooses which child outcomes wake the parent. auto\n reports every finished, failed, or interrupted turn and every blocker. stuck\n skips completed turns and keeps failures, interruptions, and blockers on an\n approval or question; the child sends its results with `bb thread tell`, so\n say so in its prompt. off reports nothing. Under stuck and off, unassigning\n the child does not notify the former parent either. `bb status` and\n `bb thread show` print the value for a child thread.\n A machine selector accepts an exact ID or an unambiguous name. It works with\n an unmanaged --environment path, --new-environment worktree, or the personal\n workspace. It cannot be combined with an existing environment ID because that\n environment already selects its machine. Without the flag, local/server\n machine resolution is unchanged.\n Omit --base-branch for bb's default. Explicit values are exact; use\n origin/<branch> for a remote ref.\n With no environment flag, a new thread gets a fresh worktree of the\n project's default branch (the project checkout when the project has no\n branch) on the primary host, or on the persistent machine that holds the\n project's source when the primary host has none. A child of a live thread\n in the same project gets a worktree on its parent's machine.\n Before selecting a provider, run `bb environment providers --project <id>\n --machine <id-or-name>` to see whether it is available, needs setup, or is\n unavailable and why. The first-party providers are Project checkout,\n Worktree, and Personal workspace.\n\nHandoff:\n The app's Handoff to new thread (in the follow-up model picker) starts a new\n thread that references the source. From the CLI, run bb thread spawn with\n --provider, --model, --environment and --prompt 'Continue from\n @thread:THREAD_ID ...'; SDK callers pass the same fields to threads.spawn.\n\nForking:\n\n bb thread fork <source-thread-id> [options]\n\n --prompt <prompt> Optional first prompt; omit for an idle fork\n --prompt-file <path> Read the first prompt from a file; `-` reads stdin\n --lifecycle-owner-thread <id> Archive/delete with this owner\n --source-seq-end <seq> Fork after the source turn containing this event sequence (tip by default)\n --environment <id-or-path> Existing environment ID or unmanaged workspace path\n --new-environment <kind> Create a fresh personal workspace or managed worktree\n --base-branch <branch> Exact Git ref for a new worktree; omit for the project default\n --title <title> Thread title (idle forks default to \"(1) <source title>\")\n --permission-mode <mode> Inherit source by default; accepts accept-edits, auto, full\n --visibility <visibility> visible (default) or hidden\n --agent-context-seed <text> Persist agent-only context without a first run\n --file <path> CLI-local absolute path, file: URL, or uploaded file path\n --image <path> CLI-local absolute path, file: URL, or uploaded image path\n\n Forks clone the source provider session on the same machine and inherit the\n source conversation in their timeline. --source-seq-end anchors the fork on\n the completed source turn that contains that sequence: the clone and the\n inherited timeline both end with that turn (an anchor on a user message\n branches before it, like editing it). Without it a fork clones the session\n tip and inherits every completed turn. Providers that can only clone a whole\n session accept an anchor only on the source's latest turn. A fork reuses the\n source environment by default. Use --new-environment personal for a fresh\n personal workspace or --new-environment worktree for a fresh worktree on the\n source machine; --environment can select another environment or unmanaged\n path on that machine. A different machine is rejected because the source\n provider session lives on its original machine. Omit --prompt to create an\n idle fork. A visible idle fork without --title is named after its source with\n a numbered prefix: \"foo\" becomes \"(1) foo\" and \"(1) foo\" becomes \"(2) foo\".\n Forks created with a first prompt get a title from that prompt.\n\nEditing a sent message:\n\n bb thread edit-message <id> --message \"Replacement text\"\n --message-file <path> Read the replacement from a file; `-` reads stdin\n --self Target the current thread (BB_THREAD_ID)\n --expected-request-sequence <seq> Select the message and reject a stale target\n\n Without --expected-request-sequence, the latest eligible message is edited.\n Codex, Claude Code, and Pi threads are supported, including failed and\n incomplete turns; grouped multi-message requests are not editable.\n `canEditMessages` on `bb thread show --json` reports whether the thread's\n provider and archive state allow edits. The\n original conversation remains unchanged until the provider prepares the\n replacement history. If the thread is running,\n submission stops the current turn and waits for it to settle. Provider-owned\n background commands, agents, and workflows are stopped before replacing the\n session, and retained task cards keep their terminal status. Durable runs\n managed by the Workflows plugin continue independently. It then\n replaces the selected turn and every later turn while retaining workspace\n changes. Unsent queued messages remain in the queue and dispatch after the\n replacement turn when their waits clear. An already-sending queued message\n must finish before the edit can start. Retries of turns replaced by the edit\n are removed from the queue. From an agent thread, the command\n carries `BB_THREAD_ID` so the replacement runs under agent permission policy.\n An edit is refused if removing its history would erase ownership evidence\n shared with another thread. Use bb thread clear <id> to start a new session\n while keeping the history and its ownership evidence.\n\nLifecycle ownership:\n spawn and fork accept --lifecycle-owner-thread <id> (SDK\n lifecycleOwnerThreadId, also returned in thread responses, null if\n independent). The owner must be live; projects, hosts and environments may\n differ. Ownership is immutable. Archiving the owner archives and stops its\n dependents; deleting it deletes them. Unarchive the owner before explicitly\n restoring a dependent. Stop does not cascade. Sidebar parents and ordinary\n forks keep their own policies.",
|
|
23172
23174
|
"variables": {}
|
|
23173
23175
|
},
|
|
23174
23176
|
{
|
|
@@ -23674,9 +23676,10 @@ var promptHistoryQuerySchema = external_exports.object({
|
|
|
23674
23676
|
}).partial();
|
|
23675
23677
|
var promptHistoryResponseSchema = external_exports.array(promptHistoryEntrySchema);
|
|
23676
23678
|
var updateProjectRequestSchema = external_exports.object({
|
|
23677
|
-
name: external_exports.string().min(1)
|
|
23679
|
+
name: external_exports.string().min(1),
|
|
23680
|
+
permissionEscalation: permissionEscalationSchema
|
|
23678
23681
|
}).partial().refine(
|
|
23679
|
-
(value) => value.name !== void 0,
|
|
23682
|
+
(value) => value.name !== void 0 || value.permissionEscalation !== void 0,
|
|
23680
23683
|
"At least one field must be provided"
|
|
23681
23684
|
);
|
|
23682
23685
|
var updateProjectSourceRequestSchema = external_exports.object({
|
|
@@ -27481,7 +27484,8 @@ function createServerArea(args) {
|
|
|
27481
27484
|
// ../sdk/src/areas/projects.ts
|
|
27482
27485
|
function projectUpdateJson(args) {
|
|
27483
27486
|
return {
|
|
27484
|
-
name: args.name
|
|
27487
|
+
...args.name !== void 0 ? { name: args.name } : {},
|
|
27488
|
+
...args.permissionEscalation !== void 0 ? { permissionEscalation: args.permissionEscalation } : {}
|
|
27485
27489
|
};
|
|
27486
27490
|
}
|
|
27487
27491
|
function projectSourceAddJson(args) {
|
package/host-daemon/dist/bb
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire as __createRequire } from "node:module";import { dirname as __pathDirname } from "node:path";import { fileURLToPath as __fileURLToPath } from "node:url";const require = __createRequire(import.meta.url);const __filename = __fileURLToPath(import.meta.url);const __dirname = __pathDirname(__filename);
|
|
3
|
-
import{a as g,b as v,c as C}from"./bb-chunks/chunk-
|
|
4
|
-
`),process.exitCode=1;return}process.exit(s.status===null?1:s.status)}process.env.FORCE_COLOR!==void 0&&delete process.env.NO_COLOR;b();var m=new p;m.name("bb").description("BB CLI - manage your AI coding agents").enablePositionalOptions().exitOverride().showSuggestionAfterError(!1).version(u());var O=new Set([...g.map(e=>e.name),"help"]);function A(e){let n,r=()=>n??=e.createCliRuntimeContext();return{getUrl:()=>e.resolveServerUrl(r()),getContext:()=>e.resolveContextSnapshot(r())}}async function L(e,n,r){let t=await import("./bb-chunks/plugin-cli-proxy-
|
|
3
|
+
import{a as g,b as v,c as C}from"./bb-chunks/chunk-WMCZMPZ4.js";import{a as d,b as p,d as u}from"./bb-chunks/chunk-NCQMSH7M.js";import"./bb-chunks/chunk-5PWLIQO6.js";import{spawnSync as _}from"node:child_process";import{realpathSync as R}from"node:fs";import{resolve as S,win32 as B}from"node:path";var f="BB_CLI_REEXEC";function I(e){return e.platform==="win32"&&B.extname(e.target)===""?{command:e.nodePath,args:[e.target,...e.argv]}:{command:e.target,args:e.argv}}function x(e){try{return R(S(e))}catch{return null}}function b(e={}){let n=e.env??process.env;if(n[f]==="1")return;let r=n.BB_CLI?.trim();if(!r)return;let t=e.currentExecutablePath??process.argv[1];if(!t)return;let o=x(r),a=x(t);if(o===null||a===null||o===a)return;let i=e.argv??process.argv.slice(2),c={...n,[f]:"1"};if(e.reexec){e.reexec({target:o,argv:i,env:c});return}let l=I({argv:i,nodePath:process.execPath,platform:process.platform,target:o}),s=_(l.command,l.args,{env:c,stdio:"inherit"});if(s.error){process.stderr.write(`bb: failed to re-exec BB_CLI=${o}: ${s.error.message}
|
|
4
|
+
`),process.exitCode=1;return}process.exit(s.status===null?1:s.status)}process.env.FORCE_COLOR!==void 0&&delete process.env.NO_COLOR;b();var m=new p;m.name("bb").description("BB CLI - manage your AI coding agents").enablePositionalOptions().exitOverride().showSuggestionAfterError(!1).version(u());var O=new Set([...g.map(e=>e.name),"help"]);function A(e){let n,r=()=>n??=e.createCliRuntimeContext();return{getUrl:()=>e.resolveServerUrl(r()),getContext:()=>e.resolveContextSnapshot(r())}}async function L(e,n,r){let t=await import("./bb-chunks/plugin-cli-proxy-QE7C6YLF.js"),o=await t.fetchPluginCliContributions(n());if(o.outcome==="unreachable"){if(r)return;let s=t.describeUnreachableServer(n(),o.cause,o.lastTimeoutMs,o.attempts);console.error(s);let{isJsonInvocation:E,writeCliErrorEnvelope:y}=await import("./bb-chunks/cli-error-output-KERMGTKZ.js");y({code:"server_unreachable",hint:null,message:s},E(process.argv)),process.exit(1)}if(o.outcome==="invalid")return;let a=t.findPluginCliCommand(o.contributions,e);if(a===void 0){let s=await t.findDisabledPluginForCommand(n(),e);s!==null&&(console.error(`bb ${e} is provided by the "${s}" plugin, which is disabled \u2014 run \`bb plugin enable ${s}\` or enable it in Plugins.`),process.exit(1));return}let i=process.argv.slice(3),c=a.commands.find(s=>s.name===i[0]);c!==void 0&&a.rendersHelp!==!0&&i.slice(1).some(s=>s==="--help"||s==="-h")&&(console.log(c.usage),process.exit(0));let l=await t.runPluginCliCommand(n(),a.pluginId,i);l!==0&&await w({code:"plugin_command_failed",command:t.pluginCommandLabel(a,i),exitCode:l,token:null}),process.exit(l)}async function w(e){let[{appendCliErrorLogEntry:n},{commandPathLabel:r}]=await Promise.all([import("./bb-chunks/cli-error-log-TEKKCITC.js"),import("./bb-chunks/commander-errors-GDOJDU37.js")]);n({at:new Date().toISOString(),cliVersion:u(),code:e.code,command:e.command??r(m,process.argv),exitCode:e.exitCode,threadId:process.env.BB_THREAD_ID??null,token:e.token})}async function P(e,n){e.exitCode===0&&process.exit(0);let[r,t]=await Promise.all([import("./bb-chunks/commander-errors-GDOJDU37.js"),import("./bb-chunks/context-hints-FXEXGMFT.js")]),o=await r.summarizeCommanderError({argv:process.argv,error:e,program:m,resolveHostId:n===null?async()=>null:t.createContextHostIdResolver(n)});r.writeCommanderErrorSummary(o,process.argv),await w({code:o.code,command:null,exitCode:e.exitCode,token:o.logToken}),process.exit(e.exitCode)}async function h(e){try{await m.parseAsync(process.argv)}catch(n){throw n instanceof d&&await P(n,e),n}}async function k(e){let n=await import("./bb-chunks/command-resolution-U7GVB5KQ.js");if(!n.hasHelpFlag(process.argv))return;let r=n.resolveInvocation(m,process.argv);if(r.unknownSubcommand===null)return;let t=`error: unknown command '${r.unknownSubcommand}'`;console.error(t),await P(new d(1,"commander.unknownCommand",t),e)}async function D(){let[{JSON_SHAPE_BY_COMMAND_PATH:e,jsonShapeHelp:n},r]=await Promise.all([import("./bb-chunks/json-shapes-TGDCNQZQ.js"),import("./bb-chunks/command-resolution-U7GVB5KQ.js")]);for(let t of Object.keys(e)){let o=r.resolveInvocation(m,["node","bb",...t.split(" ")]),a=n(t);a===null||o.path.join(" ")!==t||o.command.addHelpText("after",a)}}async function H(){let e=process.argv[2],n=v(e);if(n.length===0){await h(null);return}let[r,...t]=await Promise.all([import("./bb-chunks/context-env-VLEFLYWD.js"),...n.map(i=>i.load())]),o=A(r);m.addHelpText("after",()=>{let i=o.getContext(),c=i.projectId??"<unset>",l=i.threadId??"<unset>";return`
|
|
5
5
|
|
|
6
6
|
Current context:
|
|
7
7
|
BB_PROJECT_ID: ${c}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire as __createRequire } from "node:module";import { dirname as __pathDirname } from "node:path";import { fileURLToPath as __fileURLToPath } from "node:url";const require = __createRequire(import.meta.url);const __filename = __fileURLToPath(import.meta.url);const __dirname = __pathDirname(__filename);
|
|
2
|
-
import{j as a}from"./chunk-
|
|
2
|
+
import{j as a}from"./chunk-DCRUVPRR.js";import"./chunk-NCQMSH7M.js";import"./chunk-WWZ7D6EQ.js";import{b as I}from"./chunk-F7XCHQA3.js";import"./chunk-HDUE2YKX.js";import"./chunk-NZY63D4X.js";import"./chunk-FZ76WJJG.js";import"./chunk-ZT24MY2V.js";import"./chunk-L5UJ4QUD.js";import"./chunk-E7J2DJY7.js";import{a as r}from"./chunk-7LJFYNRQ.js";import"./chunk-5PWLIQO6.js";import{writeFile as y}from"node:fs/promises";var x=["chrome","chromium","helium","edge","brave","vivaldi","opera","arc","dia","firefox","zen","safari"],h=r.union([r.enum(x),r.string().regex(/^storage-[a-f0-9]{64}$/)]),k=r.enum(["notInstalled","needsKeychainApproval","keychainItemMissing","needsFullDiskAccess","browserRunning","unsupportedPlatform"]),B=r.enum([...k.options,"keychainUnavailable","unknownSource","unknownSourceProfile","readFailed"]),g=r.string().min(1).max(4096),v=r.object({directory:g,name:r.string().min(1).max(256),cookieCount:r.number().int().nonnegative().optional()}).strict(),T=r.object({id:h,name:r.string().min(1).max(64),profiles:r.array(v).max(100),unavailable:k.optional(),icon:r.string().max(256*1024).regex(/^data:image\/[a-z+]+;base64,/u).optional()}).strict(),E=r.object({sourceId:h,sourceProfileDirectory:g}),D=r.object({imported:r.number().int().nonnegative(),skipped:r.number().int().nonnegative(),skippedDomains:r.array(r.string().max(1024)).max(20)}).strict(),j=r.discriminatedUnion("ok",[D.extend({ok:r.literal(!0)}).strict(),r.object({ok:r.literal(!1),reason:B}).strict()]),R={notInstalled:"Not installed on this machine.",needsKeychainApproval:"Needs Keychain access to read its cookie encryption key. Approve the prompt and try again.",keychainItemMissing:"No matching encryption key was found in your Keychain. Open and sign in to the source browser, then try again. Browsers with custom key names may need additional support.",needsFullDiskAccess:"Give BB Full Disk Access in System Settings \u2192 Privacy & Security, then try again.",browserRunning:"Quit the browser first so its cookie database can be read.",unsupportedPlatform:"Importing from this browser isn't possible on this platform."},S={...R,keychainUnavailable:"The system keyring could not be reached. Make sure it is running and unlocked, then try again.",unknownSource:"That browser is no longer available to import from.",unknownSourceProfile:"That browser profile no longer exists.",readFailed:"The browser's cookie database could not be read."};function p(n){return{hostId:n.host,instanceId:n.instance,generation:n.generation,threadId:n.thread}}function O(n){return n.requiredOption("--host <id>","Browser host ID").requiredOption("--instance <id>","Desktop window instance ID").requiredOption("--generation <id>","Desktop connection generation").option("--json","Print machine-readable JSON output")}function $(n){return n.sources.map(s=>{let i=s.unavailable??"ready",o=s.profiles.map(e=>`${e.directory}${e.name===e.directory?"":` "${e.name}"`}${e.cookieCount===void 0?"":` (${e.cookieCount})`}`).join(", ");return`${s.id} ${i} ${o}`.trimEnd()}).join(`
|
|
3
3
|
`)||"No importable browsers found"}function P(n){if(!n.ok)return`Import failed: ${S[n.reason]}`;let l=n.skipped>0?`, skipped ${n.skipped}${n.skippedDomains.length>0?` (${n.skippedDomains.join(", ")})`:""}`:"";return`Imported ${n.imported} cookies${l}`}function d(n){return n.requiredOption("--host <id>","Browser host ID").requiredOption("--instance <id>","Desktop window instance ID").requiredOption("--generation <id>","Desktop connection generation").requiredOption("--thread <id>","Owning thread ID").option("--json","Print machine-readable JSON output")}function c(n,l,s){console.log(l.json?JSON.stringify(n):s)}function M(n,l){let s=n.command("browser").description("Experimental built-in desktop browser control"),i=()=>I(l()).experimental_desktopBrowsers;s.command("instances").description("List connected desktop windows on a host").requiredOption("--host <id>","Browser host ID").option("--json","Print machine-readable JSON output").action(a(async o=>{let e=await i().listInstances({hostId:o.host});c(e,o,e.instances.map(t=>`${t.instanceId} ${t.generation} ${t.label}`).join(`
|
|
4
4
|
`)||"No connected desktop windows")})),d(s.command("tabs").description("List a thread's native browser tabs")).action(a(async o=>{let e=await i().listTabs(p(o));c(e,o,e.tabs.map(t=>`${t.tabId} ${t.title||t.url} ${t.control?.controllerLabel??"Available"}`).join(`
|
|
5
5
|
`)||"No browser tabs in this thread")})),d(s.command("create").description("Create a tab in the BB browser profile")).option("--url <url>","Initial HTTP(S) URL; defaults to about:blank").option("--reveal","Show the new native tab").action(a(async o=>{let e=await i().createTab({...p(o),...o.url===void 0?{}:{url:o.url},...o.reveal?{presentation:"reveal"}:{}});c(e,o,`Created tab ${e.tab.tabId}`)})),d(s.command("acquire <tabIds...>").description("Acquire exclusive, expiring control of selected tabs")).requiredOption("--controller <label>","Visible controller name").option("--ttl-ms <ms>","Lease duration; defaults to five minutes, maximum thirty").action(a(async(o,e)=>{let t=await i().acquireControl({...p(e),tabIds:o,controllerLabel:e.controller,...e.ttlMs===void 0?{}:{ttlMs:Number(e.ttlMs)}});c(t,e,`Control lease ${t.leaseId} expires ${new Date(t.expiresAt).toISOString()}`)})),d(s.command("connection <leaseId>").description("Write private CDP connection JSON to a new local file")).requiredOption("--output <file>","New credential file (mode 0600); endpoint works only on browser host").action(a(async(o,e)=>{let t=await i().openConnection({...p(e),leaseId:o});await y(e.output,JSON.stringify(t),{mode:384,flag:"wx"}),c({path:e.output,hostId:t.hostId,expiresAt:t.expiresAt},e,`Wrote private connection to ${e.output}`)})),d(s.command("release <leaseId>").description("Stop automation and keep tabs open")).action(a(async(o,e)=>{c(await i().releaseControl({...p(e),leaseId:o}),e,"Released browser control")}));for(let o of["reveal","close"])d(s.command(`${o} <tabId>`).description(o==="close"?"Close a native tab":"Reveal a native tab in its desktop window")).action(a(async(e,t)=>{let m={...p(t),tabId:e};c(await(o==="close"?i().closeTab(m):i().revealTab(m)),t,`${o==="close"?"Closed":"Revealed"} tab ${e}`)}));d(s.command("capture <tabId>").description("Save a native tab screenshot without focusing it")).requiredOption("--output <file>","New local JPEG file").action(a(async(o,e)=>{let t=await i().captureTab({...p(e),tabId:o});await y(e.output,Buffer.from(t.base64,"base64"),{flag:"wx",mode:384}),c({path:e.output,mimeType:t.mimeType},e,`Saved screenshot to ${e.output}`)})),O(s.command("import-sources").description("List browsers on the desktop host whose cookies can be imported")).action(a(async o=>{let e=await i().listImportSources({hostId:o.host,instanceId:o.instance,generation:o.generation});c(e,o,$(e))})),O(s.command("import-cookies").description("Copy signed-in cookies from an installed browser into the BB browser")).requiredOption("--from <source>","Source browser ID from `bb browser import-sources`").requiredOption("--profile <directory>","Source profile directory as printed by `bb browser import-sources`").action(a(async o=>{let e=await i().importCookies({hostId:o.host,instanceId:o.instance,generation:o.generation,sourceId:h.parse(o.from),sourceProfileDirectory:o.profile});c(e,o,P(e)),e.ok||(process.exitCode=1)})),d(s.command("watch").description("Print changed tab snapshots every two seconds until interrupted")).action(a(async o=>{await new Promise((e,t)=>{let m=i().subscribe({...p(o),onChange:b=>c(b,o,b.tabs.map(w=>`${w.tabId} ${w.title||w.url} ${w.control?.controllerLabel??"Available"}`).join(`
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire as __createRequire } from "node:module";import { dirname as __pathDirname } from "node:path";import { fileURLToPath as __fileURLToPath } from "node:url";const require = __createRequire(import.meta.url);const __filename = __fileURLToPath(import.meta.url);const __dirname = __pathDirname(__filename);
|
|
2
|
-
import{c as T,d as _}from"./chunk-XSBF3HQR.js";import{a as p,d as H,i as P,j as l}from"./chunk-
|
|
2
|
+
import{c as T,d as _}from"./chunk-XSBF3HQR.js";import{a as p,d as H,i as P,j as l}from"./chunk-DCRUVPRR.js";import{b as h}from"./chunk-F7XCHQA3.js";import{b as R}from"./chunk-NZY63D4X.js";import{b as D}from"./chunk-ZT24MY2V.js";import{a as u}from"./chunk-7LJFYNRQ.js";function $(t,n){if(!p(n,t)){console.log(`Built-in GitHub: ${t.builtInGit.status} \u2014 ${t.builtInGit.statusMessage}`);for(let o of t.variables)console.log(`${o.name}=${o.secret?"[secret]":o.value}${o.note?` (${o.note})`:""}`)}}async function G(){if(process.stdin.isTTY)throw new Error("Pipe the value to stdin; environment values are never accepted in command arguments.");let t=[],n=0;for await(let o of process.stdin){let s=Buffer.isBuffer(o)?o:Buffer.from(o);if(n+=s.byteLength,n>65536)throw new Error("Environment value exceeds 65536 bytes.");t.push(s)}return Buffer.concat(t).toString("utf8").replace(/\r?\n$/u,"")}function A(t,n){let o=t.command("env").description("Configure global or project machine environment variables");o.command("list").option("--project <id>","Show this project's overrides and inherited global variables").option("--json","Print machine-readable JSON output").action(l(async s=>{let e=h(n()),i=s.project?await e.projects.machineEnvironment({projectId:s.project}):{...await e.system.machineEnvironment(),inheritedVariables:[]};if($(i,s),!s.json&&s.project)for(let a of i.inheritedVariables){let r=i.variables.some(c=>c.name===a.name);console.log(`${a.name}=[secret] (Global${r?"; overridden by project":"; inherited"})`)}})),o.command("set <NAME>").description("Read a value from stdin; remove one trailing newline").option("--project <id>","Set an override for this project").option("--note <text>","Describe this variable").option("--json","Print machine-readable JSON output").action(l(async(s,e)=>{let i=h(n()),a={name:s,value:await G(),note:e.note??null};$(e.project?await i.projects.setMachineEnvironmentVariable({...a,projectId:e.project}):await i.system.setMachineEnvironmentVariable(a),e)})),o.command("unset <NAME>").option("--project <id>","Remove this project's override and restore inheritance").option("--json","Print machine-readable JSON output").action(l(async(s,e)=>{let i=h(n());$(e.project?await i.projects.deleteMachineEnvironmentVariable({projectId:e.project,name:s}):await i.system.deleteMachineEnvironmentVariable({name:s}),e)}))}import{execFile as K}from"node:child_process";import{promisify as Y}from"node:util";import{randomUUID as Z}from"node:crypto";import{mkdir as B,readFile as Q,rename as X,rm as ee,writeFile as ne,symlink as te,access as oe}from"node:fs/promises";import{homedir as ie,hostname as re}from"node:os";import{join as f,resolve as F}from"node:path";import{createServer as ae}from"node:net";var z=u.string().url().refine(t=>{let n=new URL(t);return["http:","https:"].includes(n.protocol)&&!n.username&&!n.password&&!n.search&&!n.hash}),se=u.strictObject({hostId:u.string().min(1),serverUrl:z,headers:u.record(u.string(),u.string()).optional(),credential:u.string().min(1),expiresAt:u.number().finite().positive(),reconnect:u.literal(!0).optional(),dataDir:u.string().min(1).optional()}),x=u.looseObject({serverUrl:z.optional(),serverHeaders:u.record(u.string(),u.string()).optional()}),N=u.object({hostId:u.string().min(1),hostKey:u.string().min(1)});function j(t){let n=new URL(t);return n.hostname==="localhost"&&(n.hostname="127.0.0.1"),n.href.replace(/\/+$/u,"")}async function b(t){try{return await Q(t,"utf8")}catch(n){if(n instanceof Error&&"code"in n&&n.code==="ENOENT")return null;throw new Error("Could not read machine identity state")}}async function J(t,n){let o=`${t}.${Z()}.tmp`;try{await ne(o,n,{mode:384,flag:"wx"}),await X(o,t)}finally{await ee(o,{force:!0})}}async function ce(t){let n=f(t,"host-daemon-port");if(await b(n)!==null)return;let o=ae();try{await new Promise((e,i)=>{o.once("error",i),o.listen(0,"127.0.0.1",e)});let s=o.address();if(s===null||typeof s=="string")throw new Error("Could not choose a machine daemon port");await J(n,`${s.port}
|
|
3
3
|
`)}finally{o.listening&&await new Promise(s=>o.close(()=>s()))}}async function U(t,n={}){let o=n.env??process.env;if(!!t.bootstrapFile==!!t.bootstrapEnv)throw new Error("Specify exactly one of --bootstrap-file or --bootstrap-env");let s;if(t.bootstrapEnv){if(!/^[A-Za-z_][A-Za-z0-9_]*$/u.test(t.bootstrapEnv))throw new Error("Invalid bootstrap environment variable name");let m=o[t.bootstrapEnv];if(!m)throw new Error("Bootstrap environment variable is empty");s=m,delete o[t.bootstrapEnv]}else{let m=await b(t.bootstrapFile);if(m===null)throw new Error("Bootstrap file was not found");s=m}let e;try{e=se.parse(JSON.parse(s))}catch{throw new Error("Invalid machine enrollment bootstrap")}let i=n.homeDir??ie(),a=j(e.serverUrl),r=F(o.BB_DATA_DIR??e.dataDir??f(i,".bb-machines",new URL(e.serverUrl).host.replace(/[^a-zA-Z0-9.-]/gu,"-")));if(r===F(i,".bb")&&(await b(f(r,"host-id")))?.trim()!==e.hostId)throw new Error("Machine enrollment cannot use the default BB data directory");let c=await b(f(r,"auth.json"));if(c!==null){let m,y;try{m=N.parse(JSON.parse(c)),y=x.parse(JSON.parse(await b(f(r,"config.json"))??"{}"))}catch{throw new Error("Invalid persisted machine identity")}let k=(await b(f(r,"host-id")))?.trim();if(m.hostId!==e.hostId||k&&k!==e.hostId||y.serverUrl&&j(y.serverUrl)!==a)throw new Error("Refusing to overwrite a different machine identity");if(!y.serverUrl)throw new Error("Persisted machine server identity is missing");if(!e.reconnect)return{hostId:m.hostId}}else if(e.reconnect&&(await b(f(r,"host-id")))?.trim()!==e.hostId)throw new Error(`Machine ${e.hostId} is not installed in ${r} on this computer; run the command on the computer where it runs`);await B(r,{recursive:!0,mode:448});let d,w;try{d=x.parse(JSON.parse(await b(f(r,"config.json"))??"{}"));let m=await b(f(r,"auth.json"));w=m===null?null:N.parse(JSON.parse(m))}catch{throw new Error("Invalid persisted machine identity")}let v=(await b(f(r,"host-id")))?.trim();if(w&&w.hostId!==e.hostId||v&&v!==e.hostId||d.serverUrl&&j(d.serverUrl)!==a)throw new Error("Refusing to overwrite a different machine identity");async function E(){await ce(r);let m=f(r,"npm","bin","bb-app");try{await oe(m)}catch{let y=await Y(K)("sh",["-c","command -v bb-app"],{env:o}).catch(()=>null);y?.stdout.trim()&&(await B(f(r,"npm","bin"),{recursive:!0}),await te(y.stdout.trim(),m))}}if(w&&!e.reconnect){if(!d.serverUrl)throw new Error("Persisted machine server identity is missing");return await E(),{hostId:w.hostId}}if(e.expiresAt<=Date.now())throw new Error("Machine enrollment bootstrap has expired");let O=n.fetchFn??fetch,M=AbortSignal.timeout(6e4),I=f(r,"config.json");d=await D({path:I,read:async()=>x.parse(JSON.parse(await b(I)??"{}")),mutate:m=>{if(m.serverUrl&&j(m.serverUrl)!==a)throw new Error("Refusing to overwrite a different machine identity");let y={...m,serverUrl:a,serverHeaders:e.headers};return delete y.machineCredential,delete y.connectMachineId,y}}),await J(f(r,"host-id"),`${e.hostId}
|
|
4
4
|
`),await E();let S;try{let m=await O(new URL("/internal/hosts/enroll",a),{method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${e.credential}`,...d.serverHeaders},body:JSON.stringify({hostId:e.hostId,hostName:re()}),signal:M});if(m.status!==201)throw new Error;S=N.parse(await m.json())}catch{throw new Error("Could not exchange machine enrollment credential")}if(S.hostId!==e.hostId)throw new Error("Enrollment returned a different machine identity");return await J(f(r,"auth.json"),`${JSON.stringify(S)}
|
|
5
5
|
`),{hostId:S.hostId}}function de(t){return t===null?"This command expires once it is used.":`This command expires at ${new Date(t).toLocaleTimeString()}.`}var L=15*6e4,q=500;async function C(t){let n=t.host,o=Date.now()+L;for(;n.lifecycle.phase!==t.targetPhase;){let s=n.lifecycle.message;if(s?.startsWith("Machine suspension failed:")||s?.startsWith("Machine resume failed:"))throw new Error(s);if(n.lifecycle.phase==="removing"||n.lifecycle.phase==="destroyed")throw new Error(n.lifecycle.message??`Machine entered the ${n.lifecycle.phase} phase`);if(Date.now()>=o)throw new Error(`Timed out after ${L/1e3} seconds waiting for machine ${n.id} to become ${t.targetPhase}`);await new Promise(e=>setTimeout(e,q)),n=await t.getHost()}return n}function V(t){let n=t.trim();if(n.length===0)throw new Error("provider ID must not be empty.");return n}function W(t){return t.length===0?"none":t.map(n=>`${n.name} (${n.id})`).join(", ")}function De(t,n){return n==="all"?[...t]:t.filter(o=>o.type!=="ephemeral")}function me(t,n){let o=n.trim(),s=t.find(i=>i.id===o);if(s)return s.id;let e=t.filter(i=>i.name===o);if(e.length===1)return e[0].id;throw e.length>1?new Error(`Machine name '${o}' is ambiguous. Matches: ${W(e)}.`):new Error(`Machine '${o}' was not found. Available machines: ${W(t)}.`)}function le(t){if(t.machine&&t.host)throw new Error("Cannot combine --machine with --host.");return t.machine??t.host}async function He(t,n){let o=le(t);if(o!==void 0&&t.environment!==void 0)throw new Error("Cannot combine --machine or --host with --environment; the environment already selects its machine.");return t.environment!==void 0?{environmentId:t.environment}:o!==void 0?{hostId:await g({serverUrl:n,target:o})}:{}}function he(t,n=Date.now()){if(t===null)return"never";let o=Math.max(0,n-t),s=60*1e3,e=60*s,i=24*e;return o<s?"just now":o<e?`${Math.floor(o/s)}m ago`:o<i?`${Math.floor(o/e)}h ago`:`${Math.floor(o/i)}d ago`}async function g(t){let n=await h(t.serverUrl).hosts.list({includeCreating:!0}),o=me(n,t.target);if(t.requireConnected&&n.find(s=>s.id===o)?.status!=="connected")throw new Error(`Machine '${t.target.trim()}' is disconnected.`);return o}function Te(t,n){let o=t.command("machine").description("Inspect execution machines");A(o,n),o.command("enroll").description("Enroll this machine using a private bootstrap bundle").option("--bootstrap-file <path>","Read the bootstrap bundle from a file").option("--bootstrap-env <name>","Consume the bootstrap bundle from an environment variable").option("--json","Print machine-readable JSON output").action(l(async e=>{let i=await U(e);p(e,i)||console.log(`Machine ${i.hostId} enrolled`)})),o.command("join-code",{hidden:!0}).description("Compatibility notice for removed machine join codes").option("--json","Print machine-readable JSON output").action(l(async()=>{throw new P("bb machine join-code has been removed.",1,{code:"removed_command",hint:"Use `bb machine create --provider manual` and run the printed enrollment command."})})),o.command("create").description("Create a machine using an installed provider").option("--no-wait","Return the creating host ID immediately").requiredOption("--provider <id>","Machine provider ID").option("--key <idempotency-key>","Reuse a stable key when retrying creation").option("--inputs <JSON>","Provider inputs as JSON").option("--json","Print machine-readable JSON output").action(l(async e=>{let i=V(e.provider),a=e.key?.trim();if(a==="")throw new Error("Creation key must not be empty.");let r=null;if(e.inputs!==void 0)try{r=R.parse(JSON.parse(e.inputs))}catch{throw new Error("--inputs must be valid JSON.")}let c=new AbortController,d=()=>c.abort();process.once("SIGINT",d);try{let w=h(n());c.signal.throwIfAborted();let v=await w.hosts.experimental_create({machineProviderId:i,inputs:r,...a===void 0?{}:{key:a},wait:!1,signal:c.signal});if(!e.wait){p(e,v)||console.log(v.id);return}let E=!1,O=async M=>{if(E||M.lifecycle.phase!=="creating")return;let I=await w.hosts.experimental_getEnrollmentCommand({hostId:M.id,signal:c.signal});I!==null&&(console.error("On macOS or Linux, run:"),console.error(I.command),console.error("On Windows, run in PowerShell:"),console.error(I.windowsCommand),console.error(de(I.expiresAt)),E=!0)};await O(v),console.error(`Following machine ${v.id}`),v=await C({host:v,targetPhase:"active",getHost:async()=>{let M=await w.hosts.get({hostId:v.id,signal:c.signal});return await O(M),M}}),p(e,v)||console.log(`Machine ${v.name} created`)}catch(w){throw c.signal.aborted?new P("Stopped following; creation continues. Use bb machine remove <host-id> to cancel.",130):w}finally{process.off("SIGINT",d)}})),o.command("providers").description("List installed machine providers").option("--json","Print machine-readable JSON output").action(l(async e=>{let i=await h(n()).hosts.experimental_listProviders();if(!p(e,i)){if(i.length===0){console.log("No machine providers found");return}console.log(i.map(a=>`${a.id} ${a.displayName}`).join(`
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __createRequire } from "node:module";import { dirname as __pathDirname } from "node:path";import { fileURLToPath as __fileURLToPath } from "node:url";const require = __createRequire(import.meta.url);const __filename = __fileURLToPath(import.meta.url);const __dirname = __pathDirname(__filename);
|
|
2
|
-
import{b as l,d as x}from"./chunk-NCQMSH7M.js";import{a as p,c as g,d as h,e as E}from"./chunk-WWZ7D6EQ.js";import{ba as f}from"./chunk-
|
|
2
|
+
import{b as l,d as x}from"./chunk-NCQMSH7M.js";import{a as p,c as g,d as h,e as E}from"./chunk-WWZ7D6EQ.js";import{ba as f}from"./chunk-HDUE2YKX.js";import{d,e as m}from"./chunk-NZY63D4X.js";import{a as c}from"./chunk-FZ76WJJG.js";import{createInterface as w}from"node:readline/promises";var A=d;function $(n,o){return n.json?(console.log(JSON.stringify(o,null,2)),h(),!0):!1}function D(n,o){return[...o,n]}function J(n){n.source==="env"&&console.error(`Thread ${n.id} (from BB_THREAD_ID)`)}async function P(n){if(!process.stdin.isTTY||!process.stdout.isTTY)throw new Error("Refusing destructive action without an interactive terminal. Re-run with --yes to confirm.");let o=w({input:process.stdin,output:process.stdout});try{let e=(await o.question(`${n} [y/N] `)).trim().toLowerCase();return e==="y"||e==="yes"}finally{o.close()}}function u(n){if(!(n instanceof Error))return String(n);let o=new Set,r=[],e=[n];for(;e.length>0;){let t=e.pop();if(t===void 0||o.has(t))continue;o.add(t),t.message.length>0&&r.push(t.message);let i=[];t.cause instanceof Error&&i.push(t.cause),t instanceof AggregateError&&i.push(...t.errors.filter(s=>s instanceof Error));for(let s=i.length-1;s>=0;s-=1)e.push(i[s])}return r.join(": ")}function B(n){if(n===void 0)return;let o=m.safeParse(n);if(o.success)return o.data;throw new Error(`Invalid reasoning level '${n}'. Expected a level id the model lists, such as ${y(A)}.`)}function _(n,o){return new Error(`${n}: ${u(o)}`)}function y(n){return n.map(o=>`'${o}'`).join(" or ")}var a=class extends Error{code;exitCode;hint;constructor(o,r,e={code:"error",hint:null}){super(o),this.name="CliExitError",this.code=e.code,this.exitCode=r,this.hint=e.hint}};function z(n){return async(...o)=>{g();try{await n(...o)}catch(r){if(R(r))throw r;let e=r instanceof a?r.exitCode:1,t=r instanceof a?r.message:u(r),i=r instanceof c||r instanceof a?r.hint:null,s=v(r);console.error(`Error: ${t}`),i!==null&&console.error(i),E({code:s,hint:i,message:t},T(o)),await I({code:s,command:b(o),exitCode:e}),process.exit(e)}}}function v(n){return n instanceof c||n instanceof a?n.code:n instanceof f?n.code??`http_${n.status}`:"error"}function C(n){let o=n[n.length-1];return o instanceof l?o:null}function T(n){let o=C(n);if(o===null)return p();let r=o.opts();return r.json===!0||r.format==="json"}function b(n){let o=C(n);if(o===null)return"";let r=[];for(let e=o;e!==null&&e.parent!==null;e=e.parent)r.unshift(e.name());return r.join(" ")}async function I(n){try{let{appendCliErrorLogEntry:o}=await import("./cli-error-log-TEKKCITC.js");o({at:new Date().toISOString(),cliVersion:x(),code:n.code,command:n.command,exitCode:n.exitCode,threadId:process.env.BB_THREAD_ID??null,token:null})}catch{}}function R(n){return n instanceof Error&&n.message.startsWith("process.exit:")}export{$ as a,D as b,J as c,P as d,u as e,B as f,_ as g,y as h,a as i,z as j};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __createRequire } from "node:module";import { dirname as __pathDirname } from "node:path";import { fileURLToPath as __fileURLToPath } from "node:url";const require = __createRequire(import.meta.url);const __filename = __fileURLToPath(import.meta.url);const __dirname = __pathDirname(__filename);
|
|
2
|
-
import{ca as t}from"./chunk-
|
|
2
|
+
import{ca as t}from"./chunk-HDUE2YKX.js";function r(e,i){return fetch(e,i)}function c(e){return t({baseUrl:e,fetch:r})}export{r as a,c as b};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __createRequire } from "node:module";import { dirname as __pathDirname } from "node:path";import { fileURLToPath as __fileURLToPath } from "node:url";const require = __createRequire(import.meta.url);const __filename = __fileURLToPath(import.meta.url);const __dirname = __pathDirname(__filename);
|
|
2
|
-
import{W as i}from"./chunk-
|
|
2
|
+
import{W as i}from"./chunk-HDUE2YKX.js";async function l(n){if(n.environmentProviderId===null)return{status:"loaded",provider:null};let o=(await n.sdk.environments.listProviders()).find(r=>r.id===n.environmentProviderId);return{status:"loaded",provider:o===void 0?null:{id:o.id,displayName:o.displayName,icon:o.icon}}}async function p(n){try{let e=await n.sdk.environments.get({environmentId:n.environmentId});return{display:i({environment:e,host:{locality:"local",identity:null},providerLookup:await l({environmentProviderId:e.environmentProviderId,sdk:n.sdk})}),hostId:e.hostId}}catch{return null}}function u(n){console.log(` Environment: ${n.display.modeLabel} (${n.display.id})`)}async function v(n){try{return(await n.sdk.threads.timeline({threadId:n.threadId,summaryOnly:"true"})).pendingTodos}catch{return null}}var m={in_progress:"[>]",pending:"[ ]",completed:"[x]"},d={in_progress:0,pending:1,completed:2};function a(n){let e=0;for(let o of n)o.status==="completed"&&(e+=1);return{completed:e,total:n.length}}function f(n){if(!n||n.items.length===0)return;let e=a(n.items);console.log("");let o=e.completed===0?`TODOs (${e.total}):`:`TODOs (${e.completed}/${e.total} done):`;console.log(o);let r=[...n.items].sort((t,s)=>d[t.status]-d[s.status]);for(let t of r)console.log(` ${m[t.status]} ${t.text}`)}export{p as a,u as b,v as c,f as d};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __createRequire } from "node:module";import { dirname as __pathDirname } from "node:path";import { fileURLToPath as __fileURLToPath } from "node:url";const require = __createRequire(import.meta.url);const __filename = __fileURLToPath(import.meta.url);const __dirname = __pathDirname(__filename);
|
|
2
|
-
import{c as t,d as s}from"./chunk-ZT24MY2V.js";import{i as d}from"./chunk-
|
|
2
|
+
import{c as t,d as s}from"./chunk-ZT24MY2V.js";import{i as d}from"./chunk-L5UJ4QUD.js";var n=class extends Error{code;hint;constructor(r){super(r.message),this.name="CliUsageError",this.code=r.code,this.hint=r.hint}};var l=/^[a-zA-Z0-9_-]+$/;function f(e={}){return{cliConfig:e.cliConfig??s()}}function i(e,r){if(!l.test(e))throw new Error(`Invalid ID from ${r}: "${e}". IDs must contain only letters, digits, hyphens, and underscores.`);return e}function p(e){return e.cliConfig.BB_SERVER_URL}function g(){let e=t(process.env.BB_PROJECT_ID);if(e)return i(e,"BB_PROJECT_ID")}function a(){let e=t(process.env.BB_THREAD_ID);if(e)return i(e,"BB_THREAD_ID")}function u(e){let r=t(e.value);if(r)return i(r,e.flagName)}function x(e){let r=u({flagName:"<threadId> argument",value:e});if(r)return r;throw new Error("Missing thread ID. Pass <threadId>.")}function E(e,r){if(r.self&&e)throw new Error("Cannot combine a thread ID argument with --self.");if(r.self){let o=a();if(!o)throw new Error("--self requires BB_THREAD_ID to be set.");return o}if(e)return i(e,"<threadId> argument");throw new n({code:"missing_required",hint:d(),message:"Missing thread ID. Pass <threadId> or use --self."})}function R(e=f()){return{projectId:g(),threadId:a(),serverUrl:e.cliConfig.BB_SERVER_URL}}export{n as a,f as b,p as c,g as d,a as e,u as f,x as g,E as h,R as i};
|