ryco-cli 0.1.29 → 0.1.31
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/README.md +37 -0
- package/dist/{AcpAdapter-8CSe4HK7.cjs → AcpAdapter-ByUp9-wk.cjs} +74 -54
- package/dist/{AcpAdapter-CG1wRWcf.mjs → AcpAdapter-CY_ANTKu.mjs} +74 -54
- package/dist/{AcpNativeLogging-B6TtnnKL.mjs → AcpNativeLogging-C7PC6imv.mjs} +30 -4
- package/dist/{AcpNativeLogging-DbjnRnTf.cjs → AcpNativeLogging-OQeAya9d.cjs} +33 -1
- package/dist/{AcpRegistryDriver-16ZTxUs3.cjs → AcpRegistryDriver-CD9GN7rI.cjs} +3 -3
- package/dist/{AcpRegistryDriver-DZFasKaz.mjs → AcpRegistryDriver-DMZ5VBWJ.mjs} +4 -4
- package/dist/AzureDevOpsSourceControlProvider-5giVYoNi.mjs +2053 -0
- package/dist/AzureDevOpsSourceControlProvider-BKMXEUaN.cjs +2055 -0
- package/dist/{BitbucketSourceControlProvider-DplKc8Wo.mjs → BitbucketSourceControlProvider-BVUBsEUF.mjs} +63 -23
- package/dist/{BitbucketSourceControlProvider-B-ZwKj72.cjs → BitbucketSourceControlProvider-BWnnrbch.cjs} +62 -22
- package/dist/{BunPTY-Dcl1Lp62.mjs → BunPTY-CMbDQ1Xb.mjs} +1 -1
- package/dist/{ClaudeDriver-r0lJ9vmE.cjs → ClaudeDriver-DCrqouOR.cjs} +1376 -194
- package/dist/{ClaudeDriver-0gGVop27.mjs → ClaudeDriver-DVOss8cC.mjs} +1377 -195
- package/dist/{CodexDriver-bJAbhSwY.cjs → CodexDriver-CBQPHJqU.cjs} +259 -29
- package/dist/{CodexDriver-baT02xVb.mjs → CodexDriver-DJoTky7Z.mjs} +261 -31
- package/dist/{CodexTextGeneration-Dwp6X3dq.mjs → CodexTextGeneration-BSgNgfZv.mjs} +6 -6
- package/dist/{CodexTextGeneration-DFZ5y4gj.cjs → CodexTextGeneration-C9MDQmZm.cjs} +7 -7
- package/dist/{CopilotDriver-C0OhnSB1.mjs → CopilotDriver-CUkdPXcH.mjs} +78 -20
- package/dist/{CopilotDriver-B_jEqfYQ.cjs → CopilotDriver-DbaMDH16.cjs} +76 -18
- package/dist/{CursorDriver-DinXkGP9.mjs → CursorDriver-B-ZilXJB.mjs} +115 -98
- package/dist/{CursorDriver-BBFEW7ZI.cjs → CursorDriver-DKQqPbKH.cjs} +116 -99
- package/dist/{ForgejoSourceControlProvider-iG9o7aZB.cjs → ForgejoSourceControlProvider-CgpjFECj.cjs} +94 -60
- package/dist/{ForgejoSourceControlProvider-Dr0fxfud.mjs → ForgejoSourceControlProvider-DemMYUye.mjs} +95 -61
- package/dist/{GitHubSourceControlProvider-L1yFpep4.cjs → GitHubSourceControlProvider-C4un6hOK.cjs} +218 -119
- package/dist/{GitHubSourceControlProvider-CnIu0n2Y.mjs → GitHubSourceControlProvider-CRSDYcjc.mjs} +206 -108
- package/dist/GitLabSourceControlProvider-D8W1ZLPh.cjs +2260 -0
- package/dist/GitLabSourceControlProvider-DpWkJ0M3.mjs +2258 -0
- package/dist/{GrokDriver-D_Ylzh5z.cjs → GrokDriver-BQ6G_7ZZ.cjs} +11 -12
- package/dist/{GrokDriver-pX-N6HGS.mjs → GrokDriver-Buvas9-q.mjs} +7 -8
- package/dist/{Metrics-BjqGlIP4.mjs → Metrics-C3vLS9rz.mjs} +1264 -1151
- package/dist/{Metrics-Bf96NJ4j.cjs → Metrics-DjRPLE98.cjs} +1295 -1134
- package/dist/{NodePTY-D7tFWuQe.mjs → NodePTY-DgnuBruq.mjs} +1 -1
- package/dist/{NodeSqliteClient-BGg70C7Q.cjs → NodeSqliteClient-D8bzGgPN.cjs} +1 -1
- package/dist/{OpenCodeDriver-Byu1pf_i.mjs → OpenCodeDriver-BWEZD841.mjs} +184 -50
- package/dist/{OpenCodeDriver-BFEw5t09.cjs → OpenCodeDriver-qUiX0RLH.cjs} +185 -51
- package/dist/{SideQuestionIsolation-81IoAuoi.mjs → SideQuestionIsolation-B1T-DsR0.mjs} +1 -1
- package/dist/{SideQuestionIsolation-CMPkCUP0.cjs → SideQuestionIsolation-BPC-Bxsz.cjs} +1 -1
- package/dist/bin.cjs +50689 -15659
- package/dist/bin.mjs +50578 -15585
- package/dist/client/assets/AccountSettings-B88Q_w9Y.js +1 -0
- package/dist/client/assets/AiFocusSettings-Bb0TrCPn.js +1 -0
- package/dist/client/assets/{AnimatedHeight-BNg7wnTK.js → AnimatedHeight-epXOsgdm.js} +1 -1
- package/dist/client/assets/AppearanceSettings-XS9WRVPU.js +1 -0
- package/dist/client/assets/AutomationsDialog-bZckh4Y3.js +1 -0
- package/dist/client/assets/AutomationsSummary-wPFZCF49.js +1 -0
- package/dist/client/assets/BranchToolbar.logic-DjzLKbbB.js +3 -0
- package/dist/client/assets/BrowserPanel-CdBLnnfz.js +1 -0
- package/dist/client/assets/ChatRightPanel-BCINd0vP.js +34 -0
- package/dist/client/assets/ChatThreadRouteView-BFZ0Si-l.js +1 -0
- package/dist/client/assets/ColorSwatchPicker-CGyo99o0.js +1 -0
- package/dist/client/assets/CommandPalette.logic-BIOMtnEQ.js +1 -0
- package/dist/client/assets/CommandPaletteDialog-Db4LH--z.js +2 -0
- package/dist/client/assets/CompositeRoot-DtnwMJKj.js +1 -0
- package/dist/client/assets/ComputerUseSettings-CkqCqDsU.js +1 -0
- package/dist/client/assets/ConnectionsSettings-B9mxExdG.js +7 -0
- package/dist/client/assets/CreatePullRequestDialog-CJ7pNCue.js +1 -0
- package/dist/client/assets/CreatePullRequestDialogHost-n4ZjdSr4.js +1 -0
- package/dist/client/assets/DiagnosticsSettings-f9rFG9re.js +2 -0
- package/dist/client/assets/DiagnosticsSettings.logic-Byf-Bu4S.js +1 -0
- package/dist/client/assets/DialogHandle-C0c_rK3I.js +1 -0
- package/dist/client/assets/{DialogPopup-DdZlhHuQ.js → DialogPopup-BKW1PEEa.js} +1 -1
- package/dist/client/assets/DialogRoot-BIubqrv0.js +1 -0
- package/dist/client/assets/DialogTitle-BAX_FLoG.js +1 -0
- package/dist/client/assets/{DialogViewport-BwuqbGLY.js → DialogViewport-C2iOUx0O.js} +1 -1
- package/dist/client/assets/DiffPanel-BkqDt_SS.js +25 -0
- package/dist/client/assets/DisclosureRegion-B8556yU0.js +1 -0
- package/dist/client/assets/DraftChatThreadRouteView-BKgRKJ2w.js +1 -0
- package/dist/client/assets/{ExternalIdentityWeb.logic-DsTJQkg-.js → ExternalIdentityWeb.logic-Cu6suNrN.js} +1 -1
- package/dist/client/assets/GlassSurface-DLYYzRdP.js +1 -0
- package/dist/client/assets/HostedConnectionControls-CoVqtnrK.js +1 -0
- package/dist/client/assets/HostedHubRoot-CM2CwPUr.js +2 -0
- package/dist/client/assets/{HostedNativeAuthorizationRoute-BSq_AlY2.js → HostedNativeAuthorizationRoute-Bizmqrh_.js} +2 -2
- package/dist/client/assets/HostedNodeRenameDialog-SXWMsTO0.js +1 -0
- package/dist/client/assets/HostedRelayTrustNotice-BfTyrBi5.js +1 -0
- package/dist/client/assets/InboxStatusGlyph-BPTqzp7l.js +1 -0
- package/dist/client/assets/IntegrationsSettingsPanel-DAPvkV4i.js +1 -0
- package/dist/client/assets/KeybindingsSettings-B8g-YI2O.js +1 -0
- package/dist/client/assets/LazyBrowserPanel-Ds9cdOC_.js +2 -0
- package/dist/client/assets/McpServersSettings-Dw6G3ff3.js +6 -0
- package/dist/client/assets/MobileSheet-DfgXNWbd.js +1 -0
- package/dist/client/assets/ModelTuningDial-DQBAbuNL.js +1 -0
- package/dist/client/assets/NewWorktreeDialog-CDZAJmK6.js +4 -0
- package/dist/client/assets/NodeSecuritySettings-3MELA9ru.js +1 -0
- package/dist/client/assets/NullStore-gT_6_xZE.js +1 -0
- package/dist/client/assets/OnboardingDialog-CAAtNnJf.js +1 -0
- package/dist/client/assets/OpinionatedPluginsSettings-AiDB0Vl4.js +1 -0
- package/dist/client/assets/{PdfAttachmentPreview-CTo1AyZs.js → PdfAttachmentPreview-BFNW2wjN.js} +2 -2
- package/dist/client/assets/{PhoneGetAppInterstitial-DwopOWnQ.js → PhoneGetAppInterstitial-D8fwZ8E9.js} +1 -1
- package/dist/client/assets/PhoneHome-YHgHljA0.js +1 -0
- package/dist/client/assets/PhoneSettingsSurface-BVxJppvK.js +2 -0
- package/dist/client/assets/PreviewPanel-BYcEnkv9.js +643 -0
- package/dist/client/assets/ProjectScriptDialog-K34K2Kzm.js +1 -0
- package/dist/client/assets/ProjectsPage-DXnMYLjb.js +1 -0
- package/dist/client/assets/PromoteChatDialog-CAY7_wJ-.js +1 -0
- package/dist/client/assets/ProviderLimitWindow-CK04BSkM.js +1 -0
- package/dist/client/assets/ProviderUpdateLaunchNotification.logic-BMBrDDOC.js +1 -0
- package/dist/client/assets/ProvidersSettingsPanel-C85PX9Es.js +1 -0
- package/dist/client/assets/PullRequestsPage-C0rgfGwB.js +1 -0
- package/dist/client/assets/{QuitShortcutFeedback-eCvP_MNj.js → QuitShortcutFeedback-DSkKqETs.js} +1 -1
- package/dist/client/assets/RedactedSensitiveText-DQ0YveQd.js +1 -0
- package/dist/client/assets/RollingText-BzvpP5fa.js +1 -0
- package/dist/client/assets/RootAppShell-BYQ-eGNT.js +6 -0
- package/dist/client/assets/{Separator-BiINUUQl.js → Separator-DpiW19Vw.js} +1 -1
- package/dist/client/assets/SettingsPage-BCFN7Ju2.js +2 -0
- package/dist/client/assets/SettingsPanels-CP6z2b1x.js +3 -0
- package/dist/client/assets/SettingsPanels.editor-D8U-TWWG.js +1 -0
- package/dist/client/assets/SettingsSelect-DEhNaz3E.js +1 -0
- package/dist/client/assets/Sidebar.logic-D_ODfSpl.js +1 -0
- package/dist/client/assets/SimulatorPanel-DCT6fZ0X.js +1 -0
- package/dist/client/assets/SourceControlSettings-DxUtvPMK.js +1 -0
- package/dist/client/assets/StatisticsPage-C9SrwtM4.js +1 -0
- package/dist/client/assets/StatisticsPanel-BMYLETs0.js +1 -0
- package/dist/client/assets/ThreadLinkList-BN5z5EpS.js +169 -0
- package/dist/client/assets/ThreadTerminalDrawer-CgIFOlR-.js +18 -0
- package/dist/client/assets/ThreadWorkspacePanel-DvXoqQPF.js +3 -0
- package/dist/client/assets/ToolbarRootContext-8FsV9Cpj.js +1 -0
- package/dist/client/assets/TraitsPicker-DcrpJahy.js +1 -0
- package/dist/client/assets/Virtualizer-CwXeUPla.js +1345 -0
- package/dist/client/assets/WorkspacePullRequestPanel-3mlcJn9G.js +1 -0
- package/dist/client/assets/WorkspaceReview-UGbCgXeK.js +2 -0
- package/dist/client/assets/{abnfDiagram-N423BO3Z-DAmGykdr.js → abnfDiagram-N423BO3Z-DVEM6Scc.js} +1 -1
- package/dist/client/assets/{activity-DRZlu-MC.js → activity-DVCuAejY.js} +1 -1
- package/dist/client/assets/{alert-CwrDisFU.js → alert-FV7ZIit_.js} +1 -1
- package/dist/client/assets/alert-dialog-CgXR9tED.js +1 -0
- package/dist/client/assets/app-window-3xtwqZgI.js +1 -0
- package/dist/client/assets/appChrome-COCz-T7w.js +1 -0
- package/dist/client/assets/{appearancePreferences-nFx4MHoI.js → appearancePreferences-NnsvXwBe.js} +1 -1
- package/dist/client/assets/architecture-7GRP2DOG-DXXb_0_g.js +1 -0
- package/dist/client/assets/{architectureDiagram-T3A2C74G-DypU2ERW.js → architectureDiagram-T3A2C74G-B6pcKiCj.js} +1 -1
- package/dist/client/assets/{arrow-left-XhcJWpRy.js → arrow-left-Blu3LSE2.js} +1 -1
- package/dist/client/assets/{arrow-right-BBs6iTUL.js → arrow-right-CO3CH0ne.js} +1 -1
- package/dist/client/assets/arrow-up-B69gV2Bq.js +1 -0
- package/dist/client/assets/{arrow-up-right-CJ9Vq7nK.js → arrow-up-right-BbPGFOLA.js} +1 -1
- package/dist/client/assets/authorization-Ob6YwWiI.js +1 -0
- package/dist/client/assets/autocomplete-RVpjsrDv.js +1 -0
- package/dist/client/assets/ban-BIm2PVkE.js +1 -0
- package/dist/client/assets/{blockDiagram-VBNYF7ZC-B9MhR9hY.js → blockDiagram-VBNYF7ZC-WNerGp9V.js} +1 -1
- package/dist/client/assets/{bot-D5wgL7pu.js → bot-C9nWtaWq.js} +1 -1
- package/dist/client/assets/browserState-jt47YsqD.js +1 -0
- package/dist/client/assets/{c4Diagram-5PPSVZJV-C22FWSoE.js → c4Diagram-5PPSVZJV-wp1ioOoM.js} +1 -1
- package/dist/client/assets/camera-C13VoW3c.js +1 -0
- package/dist/client/assets/capabilities-CfOhq009.js +1 -0
- package/dist/client/assets/channel-56r2qL2v.js +1 -0
- package/dist/client/assets/{chart-column-D6Lnkklk.js → chart-column-DRv0YtL_.js} +1 -1
- package/dist/client/assets/checkbox-CIIIY9FA.js +1 -0
- package/dist/client/assets/checks-Dw022Bvy.js +1 -0
- package/dist/client/assets/{chunk-2GRJ4B5K-D1tZuCzA.js → chunk-2GRJ4B5K-DRl3ILpc.js} +1 -1
- package/dist/client/assets/{chunk-4I5QYGJK-Clf86zK0.js → chunk-4I5QYGJK-CYTRl4bo.js} +1 -1
- package/dist/client/assets/{chunk-5RXB4S5H-B36N5RYZ.js → chunk-5RXB4S5H-VCNwRsOa.js} +1 -1
- package/dist/client/assets/{chunk-6Q2QTUOP-IAxdzsQJ.js → chunk-6Q2QTUOP-DnSeKGPG.js} +1 -1
- package/dist/client/assets/{chunk-7Z6QIM7H-Ctqebv_4.js → chunk-7Z6QIM7H-Cjilh9TF.js} +1 -1
- package/dist/client/assets/{chunk-GF5L2VYU-CAfciJae.js → chunk-GF5L2VYU-CGR7AW0t.js} +1 -1
- package/dist/client/assets/{chunk-I66GZJ75-BZ7XtZf4.js → chunk-I66GZJ75-CXSn8dDu.js} +1 -1
- package/dist/client/assets/{chunk-JQJVKLGR-DVuZCWnv.js → chunk-JQJVKLGR-Dro-75lU.js} +1 -1
- package/dist/client/assets/{chunk-KBJHAD2P-DtWbzsRm.js → chunk-KBJHAD2P-BDqN2kVf.js} +1 -1
- package/dist/client/assets/{chunk-NSK5VX7P-BVMz_Hc4.js → chunk-NSK5VX7P-DGo5UczH.js} +1 -1
- package/dist/client/assets/{chunk-QR6OTTB3-DWitTCy-.js → chunk-QR6OTTB3-RWuyWnBI.js} +1 -1
- package/dist/client/assets/{chunk-UBXNYLIW-BuxXXP2s.js → chunk-UBXNYLIW-BPRzeB0w.js} +1 -1
- package/dist/client/assets/{chunk-W5SLKNZC-Bnf3sQl4.js → chunk-W5SLKNZC-DYWocTFi.js} +1 -1
- package/dist/client/assets/{chunk-WRU74C26-xu-KDOon.js → chunk-WRU74C26-ChbB1jY3.js} +1 -1
- package/dist/client/assets/circle-stop-D8B4hRpY.js +1 -0
- package/dist/client/assets/circle-x-CNLfrTqR.js +1 -0
- package/dist/client/assets/classDiagram-JCYQIIEL-DGvmFev3.js +1 -0
- package/dist/client/assets/classDiagram-v2-OCEON4UE-DGvmFev3.js +1 -0
- package/dist/client/assets/{clipboard-copy-oDSkUUg4.js → clipboard-copy-DGi8FKNO.js} +1 -1
- package/dist/client/assets/clock-3-DmJ4_XPI.js +1 -0
- package/dist/client/assets/clock-DZIuPtNG.js +1 -0
- package/dist/client/assets/color-picker-BdBXje-a.js +1 -0
- package/dist/client/assets/columns-2-CWlMOClK.js +1 -0
- package/dist/client/assets/combobox-Dtjtf7AB.js +1 -0
- package/dist/client/assets/{cynefin-OW5HDTMX-DGNyiNSf.js → cynefin-OW5HDTMX-TuShvMuM.js} +1 -1
- package/dist/client/assets/{cynefinDiagram-MW4NZA55-_ctibv4i.js → cynefinDiagram-MW4NZA55-B0Edt2Em.js} +1 -1
- package/dist/client/assets/{dagre-VZM6K2ZE-Bo-bS1Y0.js → dagre-VZM6K2ZE-D-eiuqHx.js} +1 -1
- package/dist/client/assets/{data-list-DLsM39Hp.js → data-list-BAx6jBY1.js} +1 -1
- package/dist/client/assets/desktopUpdateAtoms-BjrLa3tl.js +1 -0
- package/dist/client/assets/desktopWorkspace-C2wXVBhc.js +1 -0
- package/dist/client/assets/{deviceName-z0ZWSq0z.js → deviceName-B4youG0v.js} +1 -1
- package/dist/client/assets/{diagram-7IWD3JNH-DSjtw1SY.js → diagram-7IWD3JNH-DgM6lMlR.js} +1 -1
- package/dist/client/assets/{diagram-B4RE2ZJO-B7fWEvIa.js → diagram-B4RE2ZJO-CyHNDjzV.js} +1 -1
- package/dist/client/assets/{diagram-LBJQPF4R-trRYCE5d.js → diagram-LBJQPF4R-DDzuLIN5.js} +1 -1
- package/dist/client/assets/{diagram-Q27KOJAE-_DYcRggk.js → diagram-Q27KOJAE-BaBvK9QB.js} +1 -1
- package/dist/client/assets/{diagram-UB23O5K3-BkMzOHX8.js → diagram-UB23O5K3-CzZ2ewuZ.js} +1 -1
- package/dist/client/assets/dialogWords-Cg0YkJVg.js +1 -0
- package/dist/client/assets/diffRouteSearch-D2MKN_ah.js +1 -0
- package/dist/client/assets/disclosureMotion-cbMJn5-z.js +1 -0
- package/dist/client/assets/{download-CHdS3R_v.js → download-TvtXS4hE.js} +1 -1
- package/dist/client/assets/{ebnfDiagram-BXEA7PRR-DubiOMCG.js → ebnfDiagram-BXEA7PRR-CL1vdOKi.js} +1 -1
- package/dist/client/assets/editorPreferences-DqKyA-2Z.js +1 -0
- package/dist/client/assets/ellipsis-CDK1dNFZ.js +1 -0
- package/dist/client/assets/ellipsis-vertical-CwzEUTwV.js +1 -0
- package/dist/client/assets/{empty-BlBl_Vvw.js → empty-BovKoxbn.js} +1 -1
- package/dist/client/assets/{erDiagram-JOGREHBK-CFDiNfSJ.js → erDiagram-JOGREHBK-DmQR2if6.js} +1 -1
- package/dist/client/assets/eventmodeling-NTZA5JFV-D272GIcY.js +1 -0
- package/dist/client/assets/external-link-CJeVJZ7s.js +1 -0
- package/dist/client/assets/eye-BUmrXqzg.js +1 -0
- package/dist/client/assets/file-diff-BWc3mYsz.js +1 -0
- package/dist/client/assets/flowDiagram-UKHOOZJN-DLyS38Mm.js +1 -0
- package/dist/client/assets/folder-git-2-CPxg5wKP.js +1 -0
- package/dist/client/assets/folder-open-DcMymvp1.js +1 -0
- package/dist/client/assets/formatCount-B4KLI651.js +1 -0
- package/dist/client/assets/{ganttDiagram-PKOTCBZU-DT2XhE-m.js → ganttDiagram-PKOTCBZU-1q2nUL92.js} +1 -1
- package/dist/client/assets/git-pull-request-BFPwpm3c.js +1 -0
- package/dist/client/assets/{gitGraph-4MIJSDKK-BI5UGiqb.js → gitGraph-4MIJSDKK-COtwmv2S.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-DS77QQ5N-CzAB97Rd.js → gitGraphDiagram-DS77QQ5N-ChsvaxX4.js} +1 -1
- package/dist/client/assets/{group-DZJuSiJL.js → group-DWWn0dTx.js} +1 -1
- package/dist/client/assets/hammer-BXo-EU88.js +1 -0
- package/dist/client/assets/hostedConnectionCoordinator-BkAE-RhA.js +1 -0
- package/dist/client/assets/hostedPairing-5n5srRC9.js +1 -0
- package/dist/client/assets/{index-BAJdq3TK.js → index-DARIYokI.js} +2 -2
- package/dist/client/assets/{info-A6RAGUB7-DdGYYgLX.js → info-A6RAGUB7-CI2qZ9wW.js} +1 -1
- package/dist/client/assets/{infoDiagram-6WML65LV-zhUpER6a.js → infoDiagram-6WML65LV-BPmgcTPH.js} +1 -1
- package/dist/client/assets/{input-CzU08wbL.js → input-CCie4mm1.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-WSZJBQD7-BQLkqykE.js → ishikawaDiagram-WSZJBQD7-LyS9p3Yg.js} +1 -1
- package/dist/client/assets/{journeyDiagram-NVQOT4AX-DBgsbKOF.js → journeyDiagram-NVQOT4AX-BYaAmN65.js} +1 -1
- package/dist/client/assets/{kanban-definition-27J2QSJJ-DF-Rr-xs.js → kanban-definition-27J2QSJJ-D-pwzqFt.js} +1 -1
- package/dist/client/assets/{key-round-CvyrSjb2.js → key-round-BlrUTfxB.js} +1 -1
- package/dist/client/assets/keyboard-DlBdq6sz.js +1 -0
- package/dist/client/assets/label-ChtVI9lp.js +1 -0
- package/dist/client/assets/layers-BB-ruGvd.js +1 -0
- package/dist/client/assets/lifecycleSuggestionPolicy-0ERe_O53.js +1 -0
- package/dist/client/assets/list-checks-BkM_ZRsj.js +1 -0
- package/dist/client/assets/loader-3vQnfqIT.js +1 -0
- package/dist/client/assets/{log-out-D3rICSt5.js → log-out-CKq9YiLY.js} +1 -1
- package/dist/client/assets/{logging-C6tXZlGQ.js → logging-CCg76rgn.js} +1 -1
- package/dist/client/assets/main-Ch0bwS-M.js +9 -0
- package/dist/client/assets/main-Di0isH9D.css +2 -0
- package/dist/client/assets/{mermaid-parser.core-BiGKtilP.js → mermaid-parser.core-RK9ah5RM.js} +2 -2
- package/dist/client/assets/{mermaidEngine-Cjfgf3Bg.js → mermaidEngine-Dr8UsPhH.js} +3 -3
- package/dist/client/assets/message-circle-dashed-BrjwqS7-.js +1 -0
- package/dist/client/assets/messageQueueDrain-B7R7Qmq6.js +1 -0
- package/dist/client/assets/messages-square-cDTkDJv_.js +1 -0
- package/dist/client/assets/{mindmap-definition-FAOFIHXS-SiU9JwWJ.js → mindmap-definition-FAOFIHXS-DVudWasx.js} +1 -1
- package/dist/client/assets/{packet-AYTQ26CC-F-HuW5Dr.js → packet-AYTQ26CC-DnkTsVhD.js} +1 -1
- package/dist/client/assets/{pairingUrl-rQM9kSGT.js → pairingUrl-Dn1e2CVw.js} +1 -1
- package/dist/client/assets/panels-top-left-B7jZiLth.js +1 -0
- package/dist/client/assets/path-text-3Rfu6lt8.js +1 -0
- package/dist/client/assets/{pegDiagram-VL7TDLO6-cC-QUd7I.js → pegDiagram-VL7TDLO6-Do5PIp8B.js} +1 -1
- package/dist/client/assets/pencil-Bzg-nc6d.js +1 -0
- package/dist/client/assets/{pie-WAS4IAKB-BI3XUcLN.js → pie-WAS4IAKB-B_nNQOzn.js} +1 -1
- package/dist/client/assets/{pieDiagram-7S7Q4E2Y-BP4gJ4ZK.js → pieDiagram-7S7Q4E2Y-D_IG4xwA.js} +1 -1
- package/dist/client/assets/{play-BJZrOx6T.js → play-DpXXQ1qB.js} +1 -1
- package/dist/client/assets/popover-OWEv6cQz.js +48 -0
- package/dist/client/assets/presentationTier-DPVAxTK4.js +1 -0
- package/dist/client/assets/previewRouteSearch-BjZdTuSf.js +1 -0
- package/dist/client/assets/primary-Cf-xJExj.js +4 -0
- package/dist/client/assets/primitives-CxTBN7D4.js +1 -0
- package/dist/client/assets/projectCheckouts.logic-DUT4AxXr.js +1 -0
- package/dist/client/assets/projectPaths-B8aVmOZX.js +1 -0
- package/dist/client/assets/projectPreferences-CzWBItFj.js +1 -0
- package/dist/client/assets/providerCapabilities-B2YOPsLN.js +1 -0
- package/dist/client/assets/providerDriverMeta-BHHL9uw0.js +1 -0
- package/dist/client/assets/providerModels-v9PYbzRE.js +1 -0
- package/dist/client/assets/providerStatus-CDPaqb0S.js +1 -0
- package/dist/client/assets/pullRequestsModel.logic-Dv_om_C4.js +1 -0
- package/dist/client/assets/{qr-code-BFO8lV1M.js → qr-code-BlbiBIwH.js} +1 -1
- package/dist/client/assets/{qr-code-Cmfz5JKf.js → qr-code-DywzVgQC.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-CIZ2JOQS-DO-N1m-q.js → quadrantDiagram-CIZ2JOQS-DY6fJyrM.js} +1 -1
- package/dist/client/assets/{radar-RG4KPBEZ-CfayXQ5F.js → radar-RG4KPBEZ-D9689I5m.js} +1 -1
- package/dist/client/assets/radio-group-DVwD6Cuy.js +1 -0
- package/dist/client/assets/{railroad-74A4TZTK-CT6f-etT.js → railroad-74A4TZTK-DVzWbQnl.js} +1 -1
- package/dist/client/assets/railroad-abnf-HS5TGJTU-C_2P6umA.js +1 -0
- package/dist/client/assets/railroad-ebnf-LZEXJU2U-aGlR3R3z.js +1 -0
- package/dist/client/assets/railroad-peg-WCYAUIDC-DCB9oE8y.js +1 -0
- package/dist/client/assets/{railroadDiagram-AXF67PYL-DC8egbob.js → railroadDiagram-AXF67PYL-D1oJ6Jtl.js} +1 -1
- package/dist/client/assets/readCache-B7cDPz2O.js +1 -0
- package/dist/client/assets/{refresh-cw-K_hU8_ld.js → refresh-cw-CRUTivd6.js} +1 -1
- package/dist/client/assets/{requirementDiagram-LRYGKXZP-DJMzcLk_.js → requirementDiagram-LRYGKXZP-7RM8iREp.js} +1 -1
- package/dist/client/assets/rotate-ccw-BE2ZCwL6.js +1 -0
- package/dist/client/assets/roving-radio-group-NMPWrDqe.js +1 -0
- package/dist/client/assets/rows-2-DDS4dGTX.js +1 -0
- package/dist/client/assets/runtime-DjjjAcTE.js +18 -0
- package/dist/client/assets/safePolygon-C1AzMRS4.js +1 -0
- package/dist/client/assets/{sankeyDiagram-W5VNT64P-YR6aIYLj.js → sankeyDiagram-W5VNT64P-C1tKAPGN.js} +1 -1
- package/dist/client/assets/{save-Mh-PA_2P.js → save-OZdkPs_y.js} +1 -1
- package/dist/client/assets/scroll-area-80P7vbjw.js +1 -0
- package/dist/client/assets/{scrollEdges-Zcpuz3un.js → scrollEdges-C0Oc-5qi.js} +1 -1
- package/dist/client/assets/select-Cb9FUPHD.js +1 -0
- package/dist/client/assets/separator-CO8bC7Wc.js +1 -0
- package/dist/client/assets/{sequenceDiagram-SI44F4Z6-BVeSqWDA.js → sequenceDiagram-SI44F4Z6-DGVpb7jL.js} +1 -1
- package/dist/client/assets/settings-2-PrRDu6Lc.js +1 -0
- package/dist/client/assets/settingsLayout-CRFNCk_D.js +1 -0
- package/dist/client/assets/sheet-C5DW7qVO.js +1 -0
- package/dist/client/assets/{shield-i098Bm_B.js → shield-CBHYqlkR.js} +1 -1
- package/dist/client/assets/{shield-alert-CXmR7fM9.js → shield-alert-Dc2cGwyR.js} +1 -1
- package/dist/client/assets/{shield-check-CdFhWT_o.js → shield-check-_wl7R4Js.js} +1 -1
- package/dist/client/assets/sidebar-0BBaFNm3.js +1 -0
- package/dist/client/assets/sidebarProjectFolders-BjWzbt8C.js +3 -0
- package/dist/client/assets/sidebarProjectGrouping-nQRStWrZ.js +1 -0
- package/dist/client/assets/sidebarStatusText-BBKuNies.js +1 -0
- package/dist/client/assets/sidebarUndo-Dfq1lvyF.js +1 -0
- package/dist/client/assets/{skeleton-BwFgUtuE.js → skeleton-DfUe6VV_.js} +1 -1
- package/dist/client/assets/sliders-horizontal-BGXkwvKv.js +1 -0
- package/dist/client/assets/sliding-tabs-BnDSjRU3.js +39 -0
- package/dist/client/assets/{smartphone-DGfizz51.js → smartphone-OEAQOTdv.js} +1 -1
- package/dist/client/assets/spinner-lHRJWsym.js +1 -0
- package/dist/client/assets/square-B05NKv3e.js +1 -0
- package/dist/client/assets/{star-J3x3fktG.js → star-C8mHmfZu.js} +1 -1
- package/dist/client/assets/{stateDiagram-OKZ733FA-DoIZN669.js → stateDiagram-OKZ733FA-CCOAegCG.js} +1 -1
- package/dist/client/assets/stateDiagram-v2-UEYNNEHI-D60qqBed.js +1 -0
- package/dist/client/assets/storeSelectors-BichCKDC.js +1 -0
- package/dist/client/assets/surfaceMorph-BTRijmlU.js +1 -0
- package/dist/client/assets/{swimlanes-SLNWSIFB-BoFLigyK.js → swimlanes-SLNWSIFB-CFsLYT4h.js} +1 -1
- package/dist/client/assets/swimlanesDiagram-ULZ7WXOC-D0SaJgSn.js +8 -0
- package/dist/client/assets/switch-oQc7Ifbl.js +1 -0
- package/dist/client/assets/text-wrap-DSRdSfDm.js +1 -0
- package/dist/client/assets/textarea-VyiIZ0wQ.js +1 -0
- package/dist/client/assets/threadPriorityRefreshRuntime-H656C1J_.js +1 -0
- package/dist/client/assets/ticker-CPutfhZ4.js +1 -0
- package/dist/client/assets/{timeline-definition-Z64GVDOM-D65EmNWc.js → timeline-definition-Z64GVDOM-B4agmO7R.js} +1 -1
- package/dist/client/assets/toggle-DFqtCPt-.js +1 -0
- package/dist/client/assets/toggle-group-C5ICmqkI.js +1 -0
- package/dist/client/assets/{tokenModePresentation-C0-NgmX5.js → tokenModePresentation-umDRm4k1.js} +1 -1
- package/dist/client/assets/tooltip-DbqhseXd.js +1 -0
- package/dist/client/assets/{treeView-Q6P3EWNA-C2S-OPgI.js → treeView-Q6P3EWNA-C_S3udFB.js} +1 -1
- package/dist/client/assets/{treemap-WGGIJYW6-6Ovsu9iH.js → treemap-WGGIJYW6-B-kUSAkE.js} +1 -1
- package/dist/client/assets/undo-2-lyluTGMW.js +1 -0
- package/dist/client/assets/{unplug-BEfcl9Ht.js → unplug-D6iu-qlh.js} +1 -1
- package/dist/client/assets/usage-ClF-eUmy.js +1 -0
- package/dist/client/assets/useActiveIndicator-R5NWu8Fg.js +1 -0
- package/dist/client/assets/useAppSidebarCollapsed-BbMxfio5.js +1 -0
- package/dist/client/assets/useAppearancePreference-Ix13pMKy.js +1 -0
- package/dist/client/assets/useAtlassian-BYDCc9lv.js +0 -0
- package/dist/client/assets/useCheckoutResolution-CR-oOp5-.js +1 -0
- package/dist/client/assets/useDesktopRelaunchGuard-Jmh615iZ.js +1 -0
- package/dist/client/assets/useDiffFileNavigation-DeuzdD5E.js +15 -0
- package/dist/client/assets/useDiffLayout-DhcXwhBL.js +1 -0
- package/dist/client/assets/useEnvironmentSettingsTarget-DM6BRDT7.js +1 -0
- package/dist/client/assets/useFocus-CV0KIZwg.js +1 -0
- package/dist/client/assets/useGit-CUcs7h5_.js +1 -0
- package/dist/client/assets/useGitBranchSearch-CeKFtnCL.js +1 -0
- package/dist/client/assets/useHostedDraftExecutionTarget-DvQU5UOq.js +1 -0
- package/dist/client/assets/useLabelableId-CEgCRi6q.js +1 -0
- package/dist/client/assets/useLandingFlash-BfOOlFtW.js +1 -0
- package/dist/client/assets/useLogicalProjectSnapshots-CRNZke74.js +1 -0
- package/dist/client/assets/useNavigate-sQZthdyT.js +1 -0
- package/dist/client/assets/usePageLeadingInsetClass-Bf4nUvx4.js +1 -0
- package/dist/client/assets/usePhoneThreadActions-VaQ-mZex.js +1 -0
- package/dist/client/assets/usePopupHandleStore-DimKo2Yy.js +1 -0
- package/dist/client/assets/usePopupViewport-YeqX_UM3.js +1 -0
- package/dist/client/assets/usePresentationTier-B9kCQ4YH.js +1 -0
- package/dist/client/assets/useProject-Kt74Z12J.js +1 -0
- package/dist/client/assets/useProviderOptionsUpdater-CTzNh2B7.js +2 -0
- package/dist/client/assets/usePullRequestFilesViewed-D5Snmzys.js +1 -0
- package/dist/client/assets/usePullRequestsModel-DJL5HHbP.js +40 -0
- package/dist/client/assets/useScrollLock-CLZ31xsK.js +1 -0
- package/dist/client/assets/useSidebarThreadActions-n6EkLATf.js +6 -0
- package/dist/client/assets/{useStatistics-D55-xLMz.js → useStatistics-DD0mYS4J.js} +14 -14
- package/dist/client/assets/{useTheme-B441xg4F.js → useTheme-Bdy-BDs-.js} +1 -1
- package/dist/client/assets/useValueChanged-DoumqMnV.js +1 -0
- package/dist/client/assets/{user-round-C-U7TZKG.js → user-round-BPDXr8Gq.js} +1 -1
- package/dist/client/assets/{vennDiagram-T6HMQDX7-fZAexcYr.js → vennDiagram-T6HMQDX7-B1UEn_j_.js} +1 -1
- package/dist/client/assets/{vscode-icons-BYX6fBsM.js → vscode-icons-Ccy-gzFN.js} +1 -1
- package/dist/client/assets/{wardley-WFR3VGLG-gdYWSMxK.js → wardley-WFR3VGLG-gPdyDc-7.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-T6FBY63Y-iDJxQb70.js → wardleyDiagram-T6FBY63Y-2aDcwOA4.js} +1 -1
- package/dist/client/assets/workspaceLifecycle-OJ1aKksw.js +3 -0
- package/dist/client/assets/workspaceMetadataProjection-CyEyJhUa.js +1 -0
- package/dist/client/assets/workspaceRouteSearch-CCavUdbH.js +1 -0
- package/dist/client/assets/{wrench-D79uBUSl.js → wrench-CPUCA_rn.js} +1 -1
- package/dist/client/assets/wsTransport-C88seBPA.js +15 -0
- package/dist/client/assets/{xychartDiagram-ELKLHX3M-B4cfMwpJ.js → xychartDiagram-ELKLHX3M-C1_7Q-1i.js} +1 -1
- package/dist/client/favicon.svg +1 -1
- package/dist/client/index.html +1 -1
- package/dist/collectUint8StreamText-BsLSgI8i.mjs +710 -0
- package/dist/collectUint8StreamText-D5olwfpM.cjs +757 -0
- package/dist/{deviceHostWorker-L8C9wy38.mjs → deviceHostWorker-B-Dn-6An.mjs} +1 -1
- package/dist/{deviceHostWorker-CYnrwfrv.cjs → deviceHostWorker-D4HauWIV.cjs} +1 -1
- package/dist/{makeManagedServerProvider-CUwxc0Pn.cjs → makeManagedServerProvider-B5tP7tvg.cjs} +2 -2
- package/dist/{makeManagedServerProvider-B_lPFNpL.mjs → makeManagedServerProvider-B65ipCxM.mjs} +2 -2
- package/dist/resource-monitor/linux-arm64/ryco-resource-monitor +0 -0
- package/dist/resource-monitor/ryco-resource-monitor +0 -0
- package/dist/resource-monitor/ryco-resource-monitor.exe +0 -0
- package/dist/resource-monitor/win32-arm64/ryco-resource-monitor.exe +0 -0
- package/dist/resource-monitor/win32-x64/ryco-resource-monitor.exe +0 -0
- package/dist/{rolldown-runtime-LGfotAqq.cjs → rolldown-runtime-HbSU0i7K.cjs} +7 -0
- package/dist/{runtimeSession-V3RIy8Ao.mjs → runtimeSession-D_BZ-wRH.mjs} +1 -1
- package/dist/{src-BzVJd3Me.cjs → src-FmeCeBJ9.cjs} +3408 -308
- package/dist/{src-7E1M4gTQ.mjs → src-VTj60bUm.mjs} +2154 -140
- package/package.json +1 -1
- package/dist/AzureDevOpsSourceControlProvider-DmJD1-WL.cjs +0 -190
- package/dist/AzureDevOpsSourceControlProvider-d5Ogsspk.mjs +0 -188
- package/dist/GitLabSourceControlProvider-BZdwXdJl.mjs +0 -186
- package/dist/GitLabSourceControlProvider-CrcBR6KQ.cjs +0 -188
- package/dist/client/assets/AccountSettings-FN7pwqYA.js +0 -1
- package/dist/client/assets/AiFocusSettings-xcDAMaqH.js +0 -1
- package/dist/client/assets/AppearanceSettings-BvsvAOsG.js +0 -1
- package/dist/client/assets/BranchToolbar.logic-DFsXV3Qs.js +0 -3
- package/dist/client/assets/BrowserPanel-D-g_xDZs.js +0 -1
- package/dist/client/assets/ChatRightPanel-Bm906qNi.js +0 -201
- package/dist/client/assets/ChatThreadRouteView-CATwakjI.js +0 -1
- package/dist/client/assets/CommandPaletteDialog-Obv1bvxj.js +0 -1
- package/dist/client/assets/CompositeRoot-CfkIdky8.js +0 -1
- package/dist/client/assets/ComputerUseSettings-ljYmTHea.js +0 -1
- package/dist/client/assets/ConnectionsSettings-CIXs7x_E.js +0 -7
- package/dist/client/assets/ContextHandoffEndpointLabel-BzI4Wi1i.js +0 -4
- package/dist/client/assets/DiagnosticsSettings-DGX_2T2M.js +0 -2
- package/dist/client/assets/DialogHandle-CTtSYpsC.js +0 -1
- package/dist/client/assets/DialogRoot-k2_0SNKA.js +0 -1
- package/dist/client/assets/DialogTitle-Du7CAbaO.js +0 -1
- package/dist/client/assets/DialogTrigger-VpFh8Xza.js +0 -1
- package/dist/client/assets/DraftChatThreadRouteView-Cmc5HpWf.js +0 -1
- package/dist/client/assets/GlassSurface-BlWIlQ0s.js +0 -1
- package/dist/client/assets/HostedConnectionControls-ySHqwr4K.js +0 -1
- package/dist/client/assets/HostedHubRoot-Caz8PElK.js +0 -2
- package/dist/client/assets/HostedNodeRenameDialog-ChxJdr-Z.js +0 -1
- package/dist/client/assets/HostedRelayTrustNotice-DPVrIfj_.js +0 -1
- package/dist/client/assets/IntegrationsSettingsPanel-eAq5h-D5.js +0 -2
- package/dist/client/assets/KeybindingsSettings-D1XaEVGH.js +0 -7
- package/dist/client/assets/LazyBrowserPanel-B6POLJh3.js +0 -2
- package/dist/client/assets/McpServersSettings-DqLA6n5v.js +0 -6
- package/dist/client/assets/MobileSheet-CtQIYRlY.js +0 -1
- package/dist/client/assets/NodeSecuritySettings-Skm7GQDl.js +0 -1
- package/dist/client/assets/NullStore-b8PhjwPZ.js +0 -1
- package/dist/client/assets/OnboardingDialog-8-fKvY5H.js +0 -1
- package/dist/client/assets/OpinionatedPluginsSettings-BIJfJ34L.js +0 -1
- package/dist/client/assets/PhoneHome-CUzxhhR4.js +0 -1
- package/dist/client/assets/PhoneSettingsSurface-BK2RHmYJ.js +0 -2
- package/dist/client/assets/ProvidersSettingsPanel-DPxL7AsR.js +0 -1
- package/dist/client/assets/RedactedSensitiveText-DH4mWpB6.js +0 -1
- package/dist/client/assets/RootAppShell-DwiWD4Cy.js +0 -7
- package/dist/client/assets/SettingsDialog-CE8qy0qL.js +0 -2
- package/dist/client/assets/SettingsPanels-BYknk6GO.js +0 -3
- package/dist/client/assets/SettingsPanels.editor-64bM0lhg.js +0 -2
- package/dist/client/assets/SourceControlSettings-BbveiAj3.js +0 -1
- package/dist/client/assets/StatisticsPage-CAO_tCeC.js +0 -1
- package/dist/client/assets/StatisticsPanel-SNlgMv2o.js +0 -1
- package/dist/client/assets/StatisticsSettingsLink-BpkNubL2.js +0 -1
- package/dist/client/assets/ThreadTerminalDrawer-9x_kqQPy.js +0 -18
- package/dist/client/assets/ThreadWorkspacePanel-BXE17C4x.js +0 -2073
- package/dist/client/assets/appChrome-B_VWWDFj.js +0 -1
- package/dist/client/assets/architecture-7GRP2DOG-CQNNG5gU.js +0 -1
- package/dist/client/assets/authorization-BugIGt5e.js +0 -1
- package/dist/client/assets/badge-BswOCwph.js +0 -1
- package/dist/client/assets/capabilities-Bj_X9FZ-.js +0 -1
- package/dist/client/assets/channel-BtX-w3CK.js +0 -1
- package/dist/client/assets/chevron-right-Ddq5gL-L.js +0 -1
- package/dist/client/assets/classDiagram-JCYQIIEL-BgDa3HFl.js +0 -1
- package/dist/client/assets/classDiagram-v2-OCEON4UE-BgDa3HFl.js +0 -1
- package/dist/client/assets/compiler-runtime-C4g8XhC5.js +0 -1
- package/dist/client/assets/desktopWorkspace-Ocqt625W.js +0 -1
- package/dist/client/assets/editorPreferences-DVhg0CXd.js +0 -1
- package/dist/client/assets/eventmodeling-NTZA5JFV-DpzGHjmu.js +0 -1
- package/dist/client/assets/flowDiagram-UKHOOZJN-CaDVMm72.js +0 -1
- package/dist/client/assets/hostedConnectionCoordinator-BztHfGNt.js +0 -1
- package/dist/client/assets/hostedPairing-CqhLPQqG.js +0 -1
- package/dist/client/assets/hubRoutes-DExWSvVE.js +0 -1
- package/dist/client/assets/kbd-DKuvGqFP.js +0 -1
- package/dist/client/assets/layers-CwP65mnC.js +0 -1
- package/dist/client/assets/liquidGlass-CA2o_Cq0.js +0 -1
- package/dist/client/assets/liquidGlass.worker-icvLJKHf.js +0 -1
- package/dist/client/assets/main-BqSANuAs.css +0 -2
- package/dist/client/assets/main-RFllWEko.js +0 -9
- package/dist/client/assets/motion-C9rN_t9p.js +0 -1
- package/dist/client/assets/palette-gaqgtube.js +0 -1
- package/dist/client/assets/perfInstrumentation-BT27w4tn.js +0 -1
- package/dist/client/assets/presentationTier-xlIjcFab.js +0 -1
- package/dist/client/assets/primary-CQh_KHGG.js +0 -5
- package/dist/client/assets/providerDriverMeta-LJ2vJxm-.js +0 -1
- package/dist/client/assets/providerStatus-DBGvvkyF.js +0 -1
- package/dist/client/assets/radio-group-BueX1AVO.js +0 -1
- package/dist/client/assets/railroad-abnf-HS5TGJTU-B890iayj.js +0 -1
- package/dist/client/assets/railroad-ebnf-LZEXJU2U-C079Tzw6.js +0 -1
- package/dist/client/assets/railroad-peg-WCYAUIDC-DxvOX5Rh.js +0 -1
- package/dist/client/assets/runtime-OM-uAtaj.js +0 -18
- package/dist/client/assets/scroll-area-BC-LB_zE.js +0 -1
- package/dist/client/assets/separator-yx1r9ZDw.js +0 -1
- package/dist/client/assets/settingsLayout-BbjDM-p0.js +0 -1
- package/dist/client/assets/sheet-CpEwjOWn.js +0 -1
- package/dist/client/assets/sidebar-DayQTDZp.js +0 -1
- package/dist/client/assets/sidebarProjectFolders-DXqx3OlZ.js +0 -4
- package/dist/client/assets/sidebarStatusText-kdA6QMZS.js +0 -1
- package/dist/client/assets/sidebarUndo-BHFfJj0k.js +0 -1
- package/dist/client/assets/square-Cd2WS1gv.js +0 -1
- package/dist/client/assets/src-DHNjfMxR.js +0 -14
- package/dist/client/assets/stateDiagram-v2-UEYNNEHI-BnzsGHaN.js +0 -1
- package/dist/client/assets/storeSelectors-D60AAN01.js +0 -1
- package/dist/client/assets/swimlanesDiagram-ULZ7WXOC-BnA-oDvU.js +0 -8
- package/dist/client/assets/switch-D9inWKdd.js +0 -48
- package/dist/client/assets/toggle-group-YNqzWsK0.js +0 -1
- package/dist/client/assets/toggle-wMq3LLn1.js +0 -1
- package/dist/client/assets/tooltip-mwOCSCXF.js +0 -1
- package/dist/client/assets/usage-DF8oQrsy.js +0 -1
- package/dist/client/assets/useAppSidebarCollapsed-C0jpPtER.js +0 -1
- package/dist/client/assets/useAppearancePreference-Dlh9P8iu.js +0 -1
- package/dist/client/assets/useBaseUiId-Bz8dcyjd.js +0 -1
- package/dist/client/assets/useLabelableId-C8bc9a0F.js +0 -1
- package/dist/client/assets/useNavigate-01O5dMQe.js +0 -1
- package/dist/client/assets/usePhoneThreadActions-BIdh81kF.js +0 -1
- package/dist/client/assets/usePopupViewport-DYYZwfTW.js +0 -1
- package/dist/client/assets/usePresentationTier-hxB7Yv_Q.js +0 -1
- package/dist/client/assets/useScrollLock-BO185DkJ.js +0 -1
- package/dist/client/assets/useTriggerFocusGuards-CMLVr18J.js +0 -1
- package/dist/client/assets/useValueChanged-DSyRHPje.js +0 -1
- package/dist/client/assets/workspaceMetadataProjection-So9-wSEZ.js +0 -1
- package/dist/collectUint8StreamText-BAUF-vzz.mjs +0 -37
- package/dist/collectUint8StreamText-vagpNUMJ.cjs +0 -42
- package/dist/git-BKwGfw8A.mjs +0 -132
- package/dist/git-Dn5wrgFY.cjs +0 -218
- package/dist/sourceControl-B0D1Op29.cjs +0 -253
- package/dist/sourceControl-BiEBxN01.mjs +0 -224
|
@@ -280,6 +280,10 @@ const ExecutionEnvironmentCapabilities = Schema.Struct({
|
|
|
280
280
|
threadSettlement: Schema.Boolean.pipe(Schema.withDecodingDefault(Effect.succeed(false))),
|
|
281
281
|
threadPriorityRanking: Schema.Boolean.pipe(Schema.withDecodingDefault(Effect.succeed(false))),
|
|
282
282
|
worktreeSubmoduleSettings: Schema.optionalKey(Schema.Boolean),
|
|
283
|
+
/** Usage-limit settings and the resume/snooze worker; absent on older servers. */
|
|
284
|
+
usageLimitRecovery: Schema.optionalKey(Schema.Boolean),
|
|
285
|
+
/** Server-owned worktree notes (`notes.list` / `notes.command`); absent on older servers. */
|
|
286
|
+
worktreeNotes: Schema.optionalKey(Schema.Boolean),
|
|
283
287
|
fileAttachments: Schema.optional(Schema.Struct({ maxUploadBytes: NonNegativeInt }))
|
|
284
288
|
});
|
|
285
289
|
const ExecutionEnvironmentDescriptor = Schema.Struct({
|
|
@@ -809,6 +813,41 @@ const HubEnrollmentStartResult = Schema.Struct({
|
|
|
809
813
|
status: HubConnectorStatus,
|
|
810
814
|
...HubEnrollmentCeremonyDetail.fields
|
|
811
815
|
});
|
|
816
|
+
//#endregion
|
|
817
|
+
//#region ../../packages/contracts/src/hostedIdentity.ts
|
|
818
|
+
const PUBLIC_SIGNUP_START_PATH = "/api/public-signup/start";
|
|
819
|
+
const PUBLIC_SIGNUP_CONFIG_PATH = "/api/public-signup/config";
|
|
820
|
+
const PUBLIC_SIGNUP_VERIFY_PATH = "/api/public-signup/verify";
|
|
821
|
+
const PUBLIC_SIGNUP_PASSKEY_OPTIONS_PATH = "/api/public-signup/passkey/options";
|
|
822
|
+
const PUBLIC_SIGNUP_PASSKEY_FINISH_PATH = "/api/public-signup/passkey/finish";
|
|
823
|
+
const PUBLIC_SIGNUP_PASSWORD_FINISH_PATH = "/api/public-signup/password/finish";
|
|
824
|
+
const PASSWORD_LOGIN_START_PATH = "/api/auth/password/start";
|
|
825
|
+
const PASSWORD_LOGIN_FINISH_PATH = "/api/auth/password/finish";
|
|
826
|
+
const PASSWORD_RESET_REQUEST_PATH = "/api/auth/password-reset/request";
|
|
827
|
+
const PASSWORD_RESET_VERIFY_PATH = "/api/auth/password-reset/verify";
|
|
828
|
+
const PASSWORD_RESET_FINISH_PATH = "/api/auth/password-reset/finish";
|
|
829
|
+
const ACTIVE_SPACE_SWITCH_PATH = "/api/auth/spaces/active";
|
|
830
|
+
const NATIVE_NODE_CLAIM_START_PATH = "/api/native/node-claims/start";
|
|
831
|
+
const NATIVE_NODE_CLAIM_FINISH_PATH = "/api/native/node-claims/finish";
|
|
832
|
+
const NATIVE_IDENTITY_EMAIL_START_PATH = "/api/auth/native/identity/email/start";
|
|
833
|
+
const NATIVE_IDENTITY_EMAIL_VERIFY_PATH = "/api/auth/native/identity/email/verify";
|
|
834
|
+
const NATIVE_IDENTITY_SIGNUP_USERNAME_PATH = "/api/auth/native/identity/signup/username";
|
|
835
|
+
const NATIVE_IDENTITY_SIGNUP_PASSKEY_OPTIONS_PATH = "/api/auth/native/identity/signup/passkey/options";
|
|
836
|
+
const NATIVE_IDENTITY_SIGNUP_PASSKEY_FINISH_PATH = "/api/auth/native/identity/signup/passkey/finish";
|
|
837
|
+
const NATIVE_IDENTITY_SIGNUP_PASSWORD_FINISH_PATH = "/api/auth/native/identity/signup/password/finish";
|
|
838
|
+
const NATIVE_IDENTITY_PASSWORD_START_PATH = "/api/auth/native/identity/password/start";
|
|
839
|
+
const NATIVE_IDENTITY_PASSWORD_FINISH_PATH = "/api/auth/native/identity/password/finish";
|
|
840
|
+
const NATIVE_IDENTITY_RECOVERY_CODE_PATH = "/api/auth/native/identity/recovery-code";
|
|
841
|
+
const NATIVE_IDENTITY_PASSWORD_RESET_REQUEST_PATH = "/api/auth/native/identity/password-reset/request";
|
|
842
|
+
const NATIVE_IDENTITY_PASSWORD_RESET_VERIFY_PATH = "/api/auth/native/identity/password-reset/verify";
|
|
843
|
+
const NATIVE_IDENTITY_PASSWORD_RESET_FINISH_PATH = "/api/auth/native/identity/password-reset/finish";
|
|
844
|
+
const NATIVE_IDENTITY_ATTEMPT_CANCEL_PATH = "/api/auth/native/identity/attempt/cancel";
|
|
845
|
+
const EXTERNAL_IDENTITY_CONFIG_PATH = "/api/auth/external/config";
|
|
846
|
+
const EXTERNAL_IDENTITY_START_PATH = "/api/auth/external/start";
|
|
847
|
+
const EXTERNAL_IDENTITY_PENDING_PATH = "/api/auth/external/pending";
|
|
848
|
+
const EXTERNAL_IDENTITY_SIGNUP_FINISH_PATH = "/api/auth/external/signup/finish";
|
|
849
|
+
const GITHUB_EXTERNAL_IDENTITY_CONNECT_PATH = "/api/account/external-identities/github/connect";
|
|
850
|
+
const GITHUB_EXTERNAL_IDENTITY_DISCONNECT_PATH = "/api/account/external-identities/github/disconnect";
|
|
812
851
|
const HOSTED_IDENTITY_MAX_ANTI_BOT_ASSERTION_CHARS = 8192;
|
|
813
852
|
const strict$4 = (schema) => schema.annotate({ parseOptions: { onExcessProperty: "error" } });
|
|
814
853
|
const EpochMs$2 = Schema.Int.check(Schema.isGreaterThanOrEqualTo(0));
|
|
@@ -852,7 +891,15 @@ const HubUsername = Schema.String.check(Schema.isMinLength(3), Schema.isMaxLengt
|
|
|
852
891
|
const HubNormalizedEmail = Schema.String.check(Schema.isMinLength(3), Schema.isMaxLength(254), Schema.isPattern(/^[^\s@]+@[^\s@]+\.[^\s@]+$/), Schema.makeFilter((value) => value === value.trim() && value === value.toLowerCase() ? void 0 : "email must be trimmed lowercase")).pipe(Schema.brand("HubNormalizedEmail"));
|
|
853
892
|
const HubLoginIdentifier = Schema.Union([HubUsername, HubNormalizedEmail]).pipe(Schema.brand("HubLoginIdentifier"));
|
|
854
893
|
const PublicSignupTurnstileSiteKey = Schema.String.check(Schema.isMinLength(10), Schema.isMaxLength(128), Schema.isPattern(/^[A-Za-z0-9_-]+$/));
|
|
855
|
-
|
|
894
|
+
/**
|
|
895
|
+
* Public, cache-bypassed configuration for the signed-out account surface.
|
|
896
|
+
*
|
|
897
|
+
* The Turnstile site key is intentionally public. The secret verification key
|
|
898
|
+
* remains server-only. `bypass` exists solely so the exact browser flow can be
|
|
899
|
+
* qualified against a development Hub without pretending an anti-bot token was
|
|
900
|
+
* produced by Turnstile.
|
|
901
|
+
*/
|
|
902
|
+
const PublicSignupConfigResponse = Schema.Union([
|
|
856
903
|
strict$4(Schema.Struct({ status: Schema.Literal("disabled") })),
|
|
857
904
|
strict$4(Schema.Struct({
|
|
858
905
|
status: Schema.Literal("enabled"),
|
|
@@ -882,7 +929,7 @@ const ExternalIdentityProviderPolicy = strict$4(Schema.Struct({
|
|
|
882
929
|
link: Schema.Literal(true)
|
|
883
930
|
}));
|
|
884
931
|
const ExternalIdentityProviders = Schema.Array(ExternalIdentityProviderPolicy).check(Schema.isMaxLength(1), Schema.makeFilter((providers) => new Set(providers.map((provider) => provider.provider)).size === providers.length ? void 0 : "external identity providers must be unique"));
|
|
885
|
-
strict$4(Schema.Struct({
|
|
932
|
+
const ExternalIdentityConfigResponse = strict$4(Schema.Struct({
|
|
886
933
|
version: Schema.Literal(1),
|
|
887
934
|
providers: ExternalIdentityProviders
|
|
888
935
|
}));
|
|
@@ -902,12 +949,12 @@ const GitHubAuthorizationUrl = Schema.String.check(Schema.isNonEmpty(), Schema.i
|
|
|
902
949
|
return "authorization URL must be absolute";
|
|
903
950
|
}
|
|
904
951
|
}));
|
|
905
|
-
strict$4(Schema.Struct({
|
|
952
|
+
const ExternalIdentityAuthorizationStartRequest = strict$4(Schema.Struct({
|
|
906
953
|
provider: ExternalIdentityProvider,
|
|
907
954
|
intent: Schema.Literals(["authenticate", "link"]),
|
|
908
955
|
returnTo: Schema.optionalKey(ExternalIdentityReturnPath)
|
|
909
956
|
}));
|
|
910
|
-
strict$4(Schema.Struct({
|
|
957
|
+
const ExternalIdentityAuthorizationStartResponse = strict$4(Schema.Struct({
|
|
911
958
|
authorizationUrl: GitHubAuthorizationUrl,
|
|
912
959
|
expiresAt: EpochMs$2
|
|
913
960
|
}));
|
|
@@ -921,7 +968,7 @@ const ExternalIdentityPendingErrorCode = Schema.Literals([
|
|
|
921
968
|
"signup_disabled",
|
|
922
969
|
"username_unavailable"
|
|
923
970
|
]);
|
|
924
|
-
Schema.Union([
|
|
971
|
+
const ExternalIdentityPendingResponse = Schema.Union([
|
|
925
972
|
strict$4(Schema.Struct({ status: Schema.Literal("none") })),
|
|
926
973
|
strict$4(Schema.Struct({
|
|
927
974
|
status: Schema.Literal("signup"),
|
|
@@ -941,24 +988,24 @@ Schema.Union([
|
|
|
941
988
|
code: ExternalIdentityPendingErrorCode
|
|
942
989
|
}))
|
|
943
990
|
]);
|
|
944
|
-
strict$4(Schema.Struct({
|
|
991
|
+
const ExternalIdentitySignupFinishRequest = strict$4(Schema.Struct({
|
|
945
992
|
provider: ExternalIdentityProvider,
|
|
946
993
|
username: HubUsername,
|
|
947
994
|
antiBotAssertion: AntiBotAssertion,
|
|
948
995
|
idempotencyKey: IdempotencyKey$1
|
|
949
996
|
}));
|
|
950
|
-
strict$4(Schema.Struct({ totpCode: Schema.optionalKey(TotpCode) }));
|
|
951
|
-
strict$4(Schema.Struct({
|
|
997
|
+
const BrowserExternalIdentityConnectRequest = strict$4(Schema.Struct({ totpCode: Schema.optionalKey(TotpCode) }));
|
|
998
|
+
const BrowserExternalIdentityConnectResponse = strict$4(Schema.Struct({
|
|
952
999
|
status: Schema.Literal("connected"),
|
|
953
1000
|
externalIdentity: ExternalIdentitySummary
|
|
954
1001
|
}));
|
|
955
|
-
strict$4(Schema.Struct({ totpCode: Schema.optionalKey(TotpCode) }));
|
|
956
|
-
strict$4(Schema.Struct({
|
|
1002
|
+
const ExternalIdentityDisconnectRequest = strict$4(Schema.Struct({ totpCode: Schema.optionalKey(TotpCode) }));
|
|
1003
|
+
const ExternalIdentityDisconnectResponse = strict$4(Schema.Struct({
|
|
957
1004
|
status: Schema.Literal("disconnected"),
|
|
958
1005
|
signedOut: Schema.Boolean
|
|
959
1006
|
}));
|
|
960
1007
|
const ExternalIdentitySummaries = Schema.Array(ExternalIdentitySummary).check(Schema.isMaxLength(1), Schema.makeFilter((identities) => new Set(identities.map((identity) => identity.provider)).size === identities.length ? void 0 : "external identity providers must be unique"));
|
|
961
|
-
strict$4(Schema.Struct({
|
|
1008
|
+
const HostedAccountSecurityResponse = strict$4(Schema.Struct({
|
|
962
1009
|
passwordConfigured: Schema.Boolean,
|
|
963
1010
|
totpEnrolled: Schema.Boolean,
|
|
964
1011
|
emailDeliveryConfigured: Schema.Boolean,
|
|
@@ -1018,11 +1065,11 @@ const NativeIdentityTimedAttempt = {
|
|
|
1018
1065
|
attemptSecret: NativeIdentityAttemptSecret,
|
|
1019
1066
|
resendAfterMs: Schema.Int.check(Schema.isGreaterThanOrEqualTo(0), Schema.isLessThanOrEqualTo(9e5))
|
|
1020
1067
|
};
|
|
1021
|
-
strict$4(Schema.Struct({
|
|
1068
|
+
const NativeIdentityEmailStartRequest = strict$4(Schema.Struct({
|
|
1022
1069
|
email: HubNormalizedEmail,
|
|
1023
1070
|
antiBotAssertion: AntiBotAssertion
|
|
1024
1071
|
}));
|
|
1025
|
-
strictTimed({
|
|
1072
|
+
const NativeIdentityEmailStartResponse = strictTimed({
|
|
1026
1073
|
status: Schema.Literal("accepted"),
|
|
1027
1074
|
...NativeIdentityTimedAttempt
|
|
1028
1075
|
});
|
|
@@ -1033,12 +1080,12 @@ const NativeIdentityMailboxProof = Schema.Union([strict$4(Schema.Struct({
|
|
|
1033
1080
|
kind: Schema.Literal("email_code"),
|
|
1034
1081
|
code: EmailCode
|
|
1035
1082
|
}))]);
|
|
1036
|
-
strict$4(Schema.Struct({
|
|
1083
|
+
const NativeIdentityEmailVerifyRequest = strict$4(Schema.Struct({
|
|
1037
1084
|
attemptId: NativeIdentityAttemptId,
|
|
1038
1085
|
attemptSecret: NativeIdentityAttemptSecret,
|
|
1039
1086
|
proof: NativeIdentityMailboxProof
|
|
1040
1087
|
}));
|
|
1041
|
-
Schema.Union([strictTimed({
|
|
1088
|
+
const NativeIdentityEmailVerifyResponse = Schema.Union([strictTimed({
|
|
1042
1089
|
status: Schema.Literal("existing_account"),
|
|
1043
1090
|
attemptId: NativeIdentityAttemptId,
|
|
1044
1091
|
activationSecret: NativeIdentityActivationSecret
|
|
@@ -1051,36 +1098,36 @@ const NativeIdentityActivation = {
|
|
|
1051
1098
|
attemptId: NativeIdentityAttemptId,
|
|
1052
1099
|
activationSecret: NativeIdentityActivationSecret
|
|
1053
1100
|
};
|
|
1054
|
-
strict$4(Schema.Struct({
|
|
1101
|
+
const NativeIdentitySignupUsernameRequest = strict$4(Schema.Struct({
|
|
1055
1102
|
...NativeIdentityActivation,
|
|
1056
1103
|
username: HubUsername
|
|
1057
1104
|
}));
|
|
1058
|
-
strict$4(Schema.Struct({ status: Schema.Literal("claimed") }));
|
|
1059
|
-
strict$4(Schema.Struct(NativeIdentityActivation));
|
|
1060
|
-
strict$4(Schema.Struct({ options: JsonObject }));
|
|
1061
|
-
strict$4(Schema.Struct({
|
|
1105
|
+
const NativeIdentitySignupUsernameResponse = strict$4(Schema.Struct({ status: Schema.Literal("claimed") }));
|
|
1106
|
+
const NativeIdentitySignupPasskeyOptionsRequest = strict$4(Schema.Struct(NativeIdentityActivation));
|
|
1107
|
+
const NativeIdentitySignupPasskeyOptionsResponse = strict$4(Schema.Struct({ options: JsonObject }));
|
|
1108
|
+
const NativeIdentitySignupPasskeyFinishRequest = strict$4(Schema.Struct({
|
|
1062
1109
|
...NativeIdentityActivation,
|
|
1063
1110
|
response: JsonObject,
|
|
1064
1111
|
idempotencyKey: IdempotencyKey$1
|
|
1065
1112
|
}));
|
|
1066
|
-
strict$4(Schema.Struct({
|
|
1113
|
+
const NativeIdentitySignupPasswordFinishRequest = strict$4(Schema.Struct({
|
|
1067
1114
|
...NativeIdentityActivation,
|
|
1068
1115
|
password: BoundedPassword,
|
|
1069
1116
|
idempotencyKey: IdempotencyKey$1
|
|
1070
1117
|
}));
|
|
1071
|
-
strict$4(Schema.Struct({
|
|
1118
|
+
const NativeIdentitySessionResponse = strict$4(Schema.Struct({
|
|
1072
1119
|
status: Schema.Literal("complete"),
|
|
1073
1120
|
identity: HubSessionIdentity,
|
|
1074
1121
|
token: NativeIdentitySessionToken
|
|
1075
1122
|
}));
|
|
1076
1123
|
const NativeIdentityRecoveryCodes = Schema.Array(Schema.String.check(Schema.isNonEmpty(), Schema.isMaxLength(512))).check(Schema.isMinLength(1), Schema.isMaxLength(256));
|
|
1077
|
-
strict$4(Schema.Struct({
|
|
1124
|
+
const NativeIdentitySignupFinishResponse = strict$4(Schema.Struct({
|
|
1078
1125
|
status: Schema.Literal("complete"),
|
|
1079
1126
|
identity: HubSessionIdentity,
|
|
1080
1127
|
token: NativeIdentitySessionToken,
|
|
1081
1128
|
recoveryCodes: NativeIdentityRecoveryCodes
|
|
1082
1129
|
}));
|
|
1083
|
-
Schema.Union([strict$4(Schema.Struct({
|
|
1130
|
+
const NativeIdentityPasswordStartRequest = Schema.Union([strict$4(Schema.Struct({
|
|
1084
1131
|
kind: Schema.Literal("username"),
|
|
1085
1132
|
username: HubUsername,
|
|
1086
1133
|
password: BoundedPassword,
|
|
@@ -1090,13 +1137,13 @@ Schema.Union([strict$4(Schema.Struct({
|
|
|
1090
1137
|
...NativeIdentityActivation,
|
|
1091
1138
|
password: BoundedPassword
|
|
1092
1139
|
}))]);
|
|
1093
|
-
strictTimed({
|
|
1140
|
+
const NativeIdentityPasswordStartResponse = strictTimed({
|
|
1094
1141
|
status: Schema.Literal("factor_required"),
|
|
1095
1142
|
attemptId: NativeIdentityLoginAttemptId,
|
|
1096
1143
|
attemptSecret: NativeIdentityAttemptSecret,
|
|
1097
1144
|
factor: Schema.Literals(["totp", "email_code"])
|
|
1098
1145
|
});
|
|
1099
|
-
Schema.Union([strict$4(Schema.Struct({
|
|
1146
|
+
const NativeIdentityPasswordFinishRequest = Schema.Union([strict$4(Schema.Struct({
|
|
1100
1147
|
attemptId: NativeIdentityLoginAttemptId,
|
|
1101
1148
|
attemptSecret: NativeIdentityAttemptSecret,
|
|
1102
1149
|
factor: Schema.Literal("totp"),
|
|
@@ -1107,32 +1154,33 @@ Schema.Union([strict$4(Schema.Struct({
|
|
|
1107
1154
|
factor: Schema.Literal("email_code"),
|
|
1108
1155
|
code: EmailCode
|
|
1109
1156
|
}))]);
|
|
1110
|
-
strict$4(Schema.Struct({
|
|
1157
|
+
const NativeIdentityRecoveryCodeRequest = strict$4(Schema.Struct({
|
|
1111
1158
|
code: Schema.String.check(Schema.isNonEmpty(), Schema.isMaxLength(512)),
|
|
1112
1159
|
idempotencyKey: IdempotencyKey$1
|
|
1113
1160
|
}));
|
|
1114
|
-
|
|
1161
|
+
const NativeIdentityRecoveryResponse = NativeIdentitySignupFinishResponse;
|
|
1162
|
+
const NativeIdentityPasswordResetRequest = strict$4(Schema.Struct({
|
|
1115
1163
|
identifier: HubLoginIdentifier,
|
|
1116
1164
|
antiBotAssertion: Schema.optionalKey(AntiBotAssertion)
|
|
1117
1165
|
}));
|
|
1118
|
-
strictTimed({
|
|
1166
|
+
const NativeIdentityPasswordResetResponse = strictTimed({
|
|
1119
1167
|
status: Schema.Literal("accepted"),
|
|
1120
1168
|
attemptId: NativeIdentityResetAttemptId,
|
|
1121
1169
|
attemptSecret: NativeIdentityAttemptSecret,
|
|
1122
1170
|
resendAfterMs: Schema.Int.check(Schema.isGreaterThanOrEqualTo(0), Schema.isLessThanOrEqualTo(9e5))
|
|
1123
1171
|
});
|
|
1124
|
-
strict$4(Schema.Struct({
|
|
1172
|
+
const NativeIdentityPasswordResetVerifyRequest = strict$4(Schema.Struct({
|
|
1125
1173
|
attemptId: NativeIdentityResetAttemptId,
|
|
1126
1174
|
attemptSecret: NativeIdentityAttemptSecret,
|
|
1127
1175
|
proof: NativeIdentityMailboxProof
|
|
1128
1176
|
}));
|
|
1129
|
-
strictTimed({
|
|
1177
|
+
const NativeIdentityPasswordResetVerifyResponse = strictTimed({
|
|
1130
1178
|
status: Schema.Literal("verified"),
|
|
1131
1179
|
attemptId: NativeIdentityResetAttemptId,
|
|
1132
1180
|
resetSecret: NativeIdentityResetSecret,
|
|
1133
1181
|
requiresTotp: Schema.Boolean
|
|
1134
1182
|
});
|
|
1135
|
-
strict$4(Schema.Struct({
|
|
1183
|
+
const NativeIdentityPasswordResetFinishRequest = strict$4(Schema.Struct({
|
|
1136
1184
|
attemptId: NativeIdentityResetAttemptId,
|
|
1137
1185
|
resetSecret: NativeIdentityResetSecret,
|
|
1138
1186
|
password: BoundedPassword,
|
|
@@ -1141,8 +1189,8 @@ strict$4(Schema.Struct({
|
|
|
1141
1189
|
code: TotpCode
|
|
1142
1190
|
}))])
|
|
1143
1191
|
}));
|
|
1144
|
-
strict$4(Schema.Struct({ status: Schema.Literal("complete") }));
|
|
1145
|
-
strict$4(Schema.Struct({
|
|
1192
|
+
const NativeIdentityPasswordResetFinishResponse = strict$4(Schema.Struct({ status: Schema.Literal("complete") }));
|
|
1193
|
+
const NativeIdentityAttemptCancelRequest = strict$4(Schema.Struct({
|
|
1146
1194
|
attemptId: Schema.Union([
|
|
1147
1195
|
NativeIdentityAttemptId,
|
|
1148
1196
|
NativeIdentityLoginAttemptId,
|
|
@@ -1150,15 +1198,15 @@ strict$4(Schema.Struct({
|
|
|
1150
1198
|
]),
|
|
1151
1199
|
attemptSecret: Schema.Union([NativeIdentityAttemptSecret, NativeIdentityActivationSecret])
|
|
1152
1200
|
}));
|
|
1153
|
-
strict$4(Schema.Struct({ status: Schema.Literal("cancelled") }));
|
|
1201
|
+
const NativeIdentityAttemptCancelResponse = strict$4(Schema.Struct({ status: Schema.Literal("cancelled") }));
|
|
1154
1202
|
const PublicSignupAttemptId = Schema.String.check(Schema.isPattern(/^signup_[A-Za-z0-9_-]{22,43}$/), Schema.isMaxLength(50)).pipe(Schema.brand("PublicSignupAttemptId"));
|
|
1155
|
-
strict$4(Schema.Struct({
|
|
1203
|
+
const PublicSignupStartRequest = strict$4(Schema.Struct({
|
|
1156
1204
|
username: HubUsername,
|
|
1157
1205
|
email: HubNormalizedEmail,
|
|
1158
1206
|
antiBotAssertion: AntiBotAssertion,
|
|
1159
1207
|
invitationToken: Schema.optional(MailToken)
|
|
1160
1208
|
}));
|
|
1161
|
-
strictTimed({
|
|
1209
|
+
const PublicSignupStartResponse = strictTimed({
|
|
1162
1210
|
status: Schema.Literal("accepted"),
|
|
1163
1211
|
attemptId: PublicSignupAttemptId,
|
|
1164
1212
|
attemptSecret: SignupAttemptSecret,
|
|
@@ -1171,12 +1219,12 @@ const PublicSignupMailboxProof = Schema.Union([strict$4(Schema.Struct({
|
|
|
1171
1219
|
kind: Schema.Literal("email_code"),
|
|
1172
1220
|
code: EmailCode
|
|
1173
1221
|
}))]);
|
|
1174
|
-
strict$4(Schema.Struct({
|
|
1222
|
+
const PublicSignupVerifyRequest = strict$4(Schema.Struct({
|
|
1175
1223
|
attemptId: PublicSignupAttemptId,
|
|
1176
1224
|
attemptSecret: SignupAttemptSecret,
|
|
1177
1225
|
proof: PublicSignupMailboxProof
|
|
1178
1226
|
}));
|
|
1179
|
-
strictTimed({
|
|
1227
|
+
const PublicSignupVerifyResponse = strictTimed({
|
|
1180
1228
|
status: Schema.Literal("verified"),
|
|
1181
1229
|
attemptId: PublicSignupAttemptId,
|
|
1182
1230
|
activationSecret: SignupActivationSecret
|
|
@@ -1185,37 +1233,38 @@ const PublicSignupActivation = {
|
|
|
1185
1233
|
attemptId: PublicSignupAttemptId,
|
|
1186
1234
|
activationSecret: SignupActivationSecret
|
|
1187
1235
|
};
|
|
1188
|
-
strict$4(Schema.Struct(PublicSignupActivation));
|
|
1189
|
-
strict$4(Schema.Struct({ options: JsonObject }));
|
|
1190
|
-
strict$4(Schema.Struct({
|
|
1236
|
+
const PublicSignupPasskeyOptionsRequest = strict$4(Schema.Struct(PublicSignupActivation));
|
|
1237
|
+
const PublicSignupPasskeyOptionsResponse = strict$4(Schema.Struct({ options: JsonObject }));
|
|
1238
|
+
const PublicSignupPasskeyFinishRequest = strict$4(Schema.Struct({
|
|
1191
1239
|
...PublicSignupActivation,
|
|
1192
1240
|
response: JsonObject,
|
|
1193
1241
|
idempotencyKey: IdempotencyKey$1
|
|
1194
1242
|
}));
|
|
1195
|
-
strict$4(Schema.Struct({
|
|
1243
|
+
const PublicSignupPasswordFinishRequest = strict$4(Schema.Struct({
|
|
1196
1244
|
...PublicSignupActivation,
|
|
1197
1245
|
password: BoundedPassword,
|
|
1198
1246
|
idempotencyKey: IdempotencyKey$1
|
|
1199
1247
|
}));
|
|
1200
|
-
strict$4(Schema.Struct({
|
|
1248
|
+
const PublicSignupFinishResponse = strict$4(Schema.Struct({
|
|
1201
1249
|
status: Schema.Literal("complete"),
|
|
1202
1250
|
identity: HubBrowserSessionResponse,
|
|
1203
1251
|
recoveryCodes: Schema.Array(Schema.String.check(Schema.isNonEmpty(), Schema.isMaxLength(512))).check(Schema.isMinLength(1), Schema.isMaxLength(256))
|
|
1204
1252
|
}));
|
|
1253
|
+
const ExternalIdentitySignupFinishResponse = PublicSignupFinishResponse;
|
|
1205
1254
|
const PasswordLoginAttemptId = Schema.String.check(Schema.isPattern(/^login_[A-Za-z0-9_-]{22,43}$/), Schema.isMaxLength(49)).pipe(Schema.brand("PasswordLoginAttemptId"));
|
|
1206
1255
|
const PasswordLoginFactor = Schema.Literals(["totp", "email_code"]);
|
|
1207
|
-
strict$4(Schema.Struct({
|
|
1256
|
+
const PasswordLoginStartRequest = strict$4(Schema.Struct({
|
|
1208
1257
|
identifier: HubLoginIdentifier,
|
|
1209
1258
|
password: BoundedPassword,
|
|
1210
1259
|
antiBotAssertion: Schema.optional(AntiBotAssertion)
|
|
1211
1260
|
}));
|
|
1212
|
-
strictTimed({
|
|
1261
|
+
const PasswordLoginStartResponse = strictTimed({
|
|
1213
1262
|
status: Schema.Literal("factor_required"),
|
|
1214
1263
|
attemptId: PasswordLoginAttemptId,
|
|
1215
1264
|
attemptSecret: PasswordLoginAttemptSecret,
|
|
1216
1265
|
factor: PasswordLoginFactor
|
|
1217
1266
|
});
|
|
1218
|
-
Schema.Union([strict$4(Schema.Struct({
|
|
1267
|
+
const PasswordLoginFinishRequest = Schema.Union([strict$4(Schema.Struct({
|
|
1219
1268
|
attemptId: PasswordLoginAttemptId,
|
|
1220
1269
|
attemptSecret: PasswordLoginAttemptSecret,
|
|
1221
1270
|
factor: Schema.Literal("totp"),
|
|
@@ -1226,14 +1275,14 @@ Schema.Union([strict$4(Schema.Struct({
|
|
|
1226
1275
|
factor: Schema.Literal("email_code"),
|
|
1227
1276
|
code: EmailCode
|
|
1228
1277
|
}))]);
|
|
1229
|
-
strict$4(Schema.Struct({
|
|
1278
|
+
const PasswordResetRequest = strict$4(Schema.Struct({
|
|
1230
1279
|
identifier: HubLoginIdentifier,
|
|
1231
1280
|
antiBotAssertion: Schema.optional(AntiBotAssertion)
|
|
1232
1281
|
}));
|
|
1233
|
-
strict$4(Schema.Struct({ status: Schema.Literal("accepted") }));
|
|
1282
|
+
const PasswordResetRequestResponse = strict$4(Schema.Struct({ status: Schema.Literal("accepted") }));
|
|
1234
1283
|
const PasswordResetAttemptId = Schema.String.check(Schema.isPattern(/^reset_[A-Za-z0-9_-]{22,43}$/), Schema.isMaxLength(49)).pipe(Schema.brand("PasswordResetAttemptId"));
|
|
1235
|
-
strict$4(Schema.Struct({ token: MailToken }));
|
|
1236
|
-
strictTimed({
|
|
1284
|
+
const PasswordResetVerifyRequest = strict$4(Schema.Struct({ token: MailToken }));
|
|
1285
|
+
const PasswordResetVerifyResponse = strictTimed({
|
|
1237
1286
|
status: Schema.Literal("verified"),
|
|
1238
1287
|
attemptId: PasswordResetAttemptId,
|
|
1239
1288
|
attemptSecret: PasswordResetAttemptSecret,
|
|
@@ -1243,15 +1292,15 @@ const PasswordResetFactor = Schema.Union([strict$4(Schema.Struct({ kind: Schema.
|
|
|
1243
1292
|
kind: Schema.Literal("totp"),
|
|
1244
1293
|
code: TotpCode
|
|
1245
1294
|
}))]);
|
|
1246
|
-
strict$4(Schema.Struct({
|
|
1295
|
+
const PasswordResetFinishRequest = strict$4(Schema.Struct({
|
|
1247
1296
|
attemptId: PasswordResetAttemptId,
|
|
1248
1297
|
attemptSecret: PasswordResetAttemptSecret,
|
|
1249
1298
|
password: BoundedPassword,
|
|
1250
1299
|
factor: PasswordResetFactor
|
|
1251
1300
|
}));
|
|
1252
|
-
strict$4(Schema.Struct({ status: Schema.Literal("complete") }));
|
|
1253
|
-
strict$4(Schema.Struct({ spaceId: HubSpaceId }));
|
|
1254
|
-
strict$4(Schema.Struct({
|
|
1301
|
+
const PasswordResetFinishResponse = strict$4(Schema.Struct({ status: Schema.Literal("complete") }));
|
|
1302
|
+
const ActiveSpaceSwitchRequest = strict$4(Schema.Struct({ spaceId: HubSpaceId }));
|
|
1303
|
+
const ActiveSpaceSwitchResponse = strict$4(Schema.Struct({
|
|
1255
1304
|
activeSpace: HubActiveSpaceSummary,
|
|
1256
1305
|
spaces: HubSpaces
|
|
1257
1306
|
}).check(Schema.makeFilter((value) => {
|
|
@@ -1282,7 +1331,7 @@ const NativeNodeClaimMetadata = strict$4(Schema.Struct({
|
|
|
1282
1331
|
publicKey: NativeNodeClaimPublicKey,
|
|
1283
1332
|
fingerprint: HubNodePublicKeyFingerprint
|
|
1284
1333
|
}));
|
|
1285
|
-
strict$4(Schema.Struct({
|
|
1334
|
+
const NativeNodeClaimStartRequest = strict$4(Schema.Struct({
|
|
1286
1335
|
installationId: DesktopInstallationId,
|
|
1287
1336
|
node: NativeNodeClaimMetadata
|
|
1288
1337
|
}));
|
|
@@ -1299,7 +1348,7 @@ const NativeNodeClaimStartResponse = strictTimed({
|
|
|
1299
1348
|
environmentId: NativeNodeClaimEnvironmentId,
|
|
1300
1349
|
nodeFingerprint: HubNodePublicKeyFingerprint
|
|
1301
1350
|
});
|
|
1302
|
-
strict$4(Schema.Struct({
|
|
1351
|
+
const NativeNodeClaimFinishRequest = strict$4(Schema.Struct({
|
|
1303
1352
|
claimId: NativeNodeClaimId,
|
|
1304
1353
|
challenge: Opaque256,
|
|
1305
1354
|
signature: Schema.String.check(Schema.isMinLength(86), Schema.isMaxLength(86), Schema.isPattern(/^[A-Za-z0-9_-]{85}[AQgw]$/)),
|
|
@@ -1326,11 +1375,18 @@ Schema.Union([strict$4(Schema.Struct({
|
|
|
1326
1375
|
retryAfterMs: Schema.optional(Schema.Int.check(Schema.isGreaterThanOrEqualTo(0), Schema.isLessThanOrEqualTo(3e5)))
|
|
1327
1376
|
}))]);
|
|
1328
1377
|
const NATIVE_HANDOFF_MODE = "system-browser";
|
|
1378
|
+
const NATIVE_HANDOFF_START_PATH = "/api/auth/native/handoff/start";
|
|
1379
|
+
const NATIVE_HANDOFF_REDEEM_PATH = "/api/auth/native/handoff/redeem";
|
|
1380
|
+
const NATIVE_HANDOFF_PRESENTATION_PATH_PREFIX = "/api/auth/native/handoff/";
|
|
1381
|
+
const NATIVE_HANDOFF_APPROVE_PATH_SUFFIX = "/approve";
|
|
1382
|
+
const NATIVE_HANDOFF_CANCEL_PATH_SUFFIX = "/cancel";
|
|
1329
1383
|
const NATIVE_HANDOFF_CALLBACK_URIS = [
|
|
1330
1384
|
"ryco-dev://hosted/complete",
|
|
1331
1385
|
"ryco-preview://hosted/complete",
|
|
1332
1386
|
"ryco://hosted/complete"
|
|
1333
1387
|
];
|
|
1388
|
+
const NATIVE_HANDOFF_TRANSACTION_LIFETIME_MS = 3e5;
|
|
1389
|
+
const NATIVE_HANDOFF_CODE_LIFETIME_MS = 6e4;
|
|
1334
1390
|
const NATIVE_HANDOFF_MAX_URL_CHARS = 2048;
|
|
1335
1391
|
const strict$3 = (schema) => schema.annotate({ parseOptions: { onExcessProperty: "error" } });
|
|
1336
1392
|
const Base64Url256$1 = Schema.String.check(Schema.isMinLength(43), Schema.isMaxLength(43), Schema.isPattern(/^[A-Za-z0-9_-]{43}$/));
|
|
@@ -1445,7 +1501,7 @@ const NativeHandoffConnectExternalIdentityPurpose = strict$3(Schema.Struct({
|
|
|
1445
1501
|
provider: ExternalIdentityProvider
|
|
1446
1502
|
}));
|
|
1447
1503
|
const NativeHandoffPurpose = Schema.Union([NativeHandoffSignInPurpose, NativeHandoffConnectExternalIdentityPurpose]);
|
|
1448
|
-
strict$3(Schema.Struct({
|
|
1504
|
+
const NativeHandoffStartRequest = strict$3(Schema.Struct({
|
|
1449
1505
|
redirectUri: NativeHandoffCallbackUri,
|
|
1450
1506
|
codeChallenge: NativeHandoffCodeChallenge,
|
|
1451
1507
|
codeChallengeMethod: Schema.Literal("S256"),
|
|
@@ -1453,25 +1509,25 @@ strict$3(Schema.Struct({
|
|
|
1453
1509
|
deviceLabel: BoundedDeviceLabel,
|
|
1454
1510
|
purpose: Schema.optionalKey(NativeHandoffPurpose)
|
|
1455
1511
|
}));
|
|
1456
|
-
strict$3(Schema.Struct({
|
|
1512
|
+
const NativeHandoffStartResponse = strict$3(Schema.Struct({
|
|
1457
1513
|
handoffId: NativeHandoffId,
|
|
1458
1514
|
authorizationUrl: AuthorizationUrl,
|
|
1459
1515
|
expiresAt: EpochMs$1
|
|
1460
1516
|
}));
|
|
1461
|
-
strict$3(Schema.Struct({
|
|
1517
|
+
const NativeHandoffPresentation = strict$3(Schema.Struct({
|
|
1462
1518
|
status: Schema.Literal("pending"),
|
|
1463
1519
|
deviceLabel: BoundedDeviceLabel,
|
|
1464
1520
|
expiresAt: EpochMs$1,
|
|
1465
1521
|
providerHint: Schema.optionalKey(ExternalIdentityProvider)
|
|
1466
1522
|
}));
|
|
1467
|
-
strict$3(Schema.Struct({ redirectUri: ApprovedCallbackUrl }));
|
|
1468
|
-
strict$3(Schema.Struct({ redirectUri: CancelledCallbackUrl }));
|
|
1469
|
-
strict$3(Schema.Struct({
|
|
1523
|
+
const NativeHandoffApproveResponse = strict$3(Schema.Struct({ redirectUri: ApprovedCallbackUrl }));
|
|
1524
|
+
const NativeHandoffCancelResponse = strict$3(Schema.Struct({ redirectUri: CancelledCallbackUrl }));
|
|
1525
|
+
const NativeHandoffRedeemRequest = strict$3(Schema.Struct({
|
|
1470
1526
|
handoffId: NativeHandoffId,
|
|
1471
1527
|
code: NativeHandoffCode,
|
|
1472
1528
|
codeVerifier: NativeHandoffCodeVerifier
|
|
1473
1529
|
}));
|
|
1474
|
-
strict$3(Schema.Struct({
|
|
1530
|
+
const NativeHandoffConnectRedeemRequest = strict$3(Schema.Struct({
|
|
1475
1531
|
handoffId: NativeHandoffId,
|
|
1476
1532
|
code: NativeHandoffCode,
|
|
1477
1533
|
codeVerifier: NativeHandoffCodeVerifier,
|
|
@@ -1506,16 +1562,21 @@ const NativeHandoffSession = strict$3(Schema.Struct({
|
|
|
1506
1562
|
revokedAt: Schema.Null,
|
|
1507
1563
|
revocationReasonCode: Schema.Null
|
|
1508
1564
|
}).check(Schema.makeFilter((session) => session.expiresAt > session.createdAt && session.lastSeenAt >= session.createdAt && session.lastSeenAt <= session.expiresAt ? void 0 : "native session timestamps are inconsistent")));
|
|
1509
|
-
strict$3(Schema.Struct({
|
|
1565
|
+
const NativeHandoffRedeemResponse = strict$3(Schema.Struct({
|
|
1510
1566
|
account: NativeHandoffAccount,
|
|
1511
1567
|
session: NativeHandoffSession,
|
|
1512
1568
|
token: Base64Url256$1
|
|
1513
1569
|
}).check(Schema.makeFilter((value) => value.session.accountId === value.account.id ? void 0 : "native session account does not match")));
|
|
1514
|
-
strict$3(Schema.Struct({
|
|
1570
|
+
const NativeHandoffConnectRedeemResponse = strict$3(Schema.Struct({
|
|
1515
1571
|
status: Schema.Literal("connected"),
|
|
1516
1572
|
purpose: NativeHandoffConnectExternalIdentityPurpose,
|
|
1517
1573
|
externalIdentity: ExternalIdentitySummary
|
|
1518
1574
|
}));
|
|
1575
|
+
const NATIVE_E2EE_CURRENT_DEVICE_PATH = "/api/native/e2ee/devices/current";
|
|
1576
|
+
const NATIVE_E2EE_GRANT_KEYS_PATH = "/api/native/e2ee/grant-keys";
|
|
1577
|
+
const NATIVE_ACCOUNT_GRANT_RELAY_TICKET_PATH = "/api/native/relay/tickets/account-grant";
|
|
1578
|
+
const ACCOUNT_E2EE_DEVICES_PATH = "/api/account/e2ee/devices";
|
|
1579
|
+
const ACCOUNT_E2EE_DEVICE_PATH_PREFIX = "/api/account/e2ee/devices";
|
|
1519
1580
|
const NATIVE_E2EE_MAX_GRANT_KEYS = 4;
|
|
1520
1581
|
const HUB_DEVICE_GRANT_MAX_BYTES = 2048;
|
|
1521
1582
|
const HUB_DEVICE_GRANT_BASE64URL_MAX_CHARS = 2731;
|
|
@@ -1612,7 +1673,7 @@ const HubDeviceGrantClaims = strict$2(Schema.Struct({
|
|
|
1612
1673
|
expiresAt: EpochMs,
|
|
1613
1674
|
nonce: ExactBytes(32)
|
|
1614
1675
|
}).check(Schema.makeFilter((claims) => claims.notBefore <= claims.issuedAt && claims.issuedAt < claims.expiresAt && claims.expiresAt - claims.issuedAt <= 12e4 ? void 0 : "invalid grant validity interval")));
|
|
1615
|
-
strict$2(Schema.Struct({
|
|
1676
|
+
const NativeE2eeEnrollmentUpsertRequest = strict$2(Schema.Struct({
|
|
1616
1677
|
protocolVersion: Schema.Literal(1),
|
|
1617
1678
|
hubOrigin: HubOrigin,
|
|
1618
1679
|
accountId: HubAccountId,
|
|
@@ -1659,23 +1720,23 @@ const AccountE2eeDeviceSummary = strict$2(Schema.Struct({
|
|
|
1659
1720
|
if (device.status === "active" && device.revokedAt !== null) return "active enrollment cannot have revokedAt";
|
|
1660
1721
|
if (device.status !== "active" && device.revokedAt === null) return "inactive enrollment requires revokedAt";
|
|
1661
1722
|
})));
|
|
1662
|
-
strict$2(Schema.Struct({
|
|
1723
|
+
const NativeE2eeEnrollmentUpsertResponse = strict$2(Schema.Struct({
|
|
1663
1724
|
protocolVersion: Schema.Literal(1),
|
|
1664
1725
|
enrollment: AccountE2eeDeviceSummary
|
|
1665
1726
|
}));
|
|
1666
|
-
strict$2(Schema.Struct({
|
|
1727
|
+
const AccountE2eeDeviceListResponse = strict$2(Schema.Struct({
|
|
1667
1728
|
protocolVersion: Schema.Literal(1),
|
|
1668
1729
|
devices: Schema.Array(AccountE2eeDeviceSummary).check(Schema.isMaxLength(128), Schema.makeFilter((devices) => new Set(devices.map((device) => `${device.enrollmentId}:${device.enrollmentRevision}`)).size === devices.length ? void 0 : "device enrollment revisions must be distinct"))
|
|
1669
1730
|
}));
|
|
1670
|
-
strict$2(Schema.Struct({
|
|
1731
|
+
const AccountE2eeDeviceRenameRequest = strict$2(Schema.Struct({
|
|
1671
1732
|
expectedEnrollmentRevision: NativeE2eeEnrollmentRevision,
|
|
1672
1733
|
deviceLabel: DeviceLabel
|
|
1673
1734
|
}));
|
|
1674
|
-
strict$2(Schema.Struct({
|
|
1735
|
+
const AccountE2eeDeviceRevokeRequest = strict$2(Schema.Struct({
|
|
1675
1736
|
expectedEnrollmentRevision: NativeE2eeEnrollmentRevision,
|
|
1676
1737
|
reasonCode: ReasonCode
|
|
1677
1738
|
}));
|
|
1678
|
-
strict$2(Schema.Struct({
|
|
1739
|
+
const AccountE2eeDeviceMutationResponse = strict$2(Schema.Struct({
|
|
1679
1740
|
protocolVersion: Schema.Literal(1),
|
|
1680
1741
|
enrollment: AccountE2eeDeviceSummary
|
|
1681
1742
|
}));
|
|
@@ -1686,12 +1747,12 @@ const HubGrantVerificationKey = strict$2(Schema.Struct({
|
|
|
1686
1747
|
notAfter: EpochMs
|
|
1687
1748
|
}).check(Schema.makeFilter((key) => key.notAfter > key.notBefore ? void 0 : "notAfter must be after notBefore")));
|
|
1688
1749
|
const HubGrantVerificationKeys = Schema.Array(HubGrantVerificationKey).check(Schema.isMinLength(1), Schema.isMaxLength(NATIVE_E2EE_MAX_GRANT_KEYS), Schema.makeFilter((keys) => new Set(keys.map((key) => key.keyId)).size === keys.length ? void 0 : "grant verification key ids must be distinct"));
|
|
1689
|
-
strict$2(Schema.Struct({
|
|
1750
|
+
const HubGrantVerificationKeysetResponse = strict$2(Schema.Struct({
|
|
1690
1751
|
protocolVersion: Schema.Literal(1),
|
|
1691
1752
|
generation: E2eeKeysetGeneration,
|
|
1692
1753
|
keys: HubGrantVerificationKeys
|
|
1693
1754
|
}));
|
|
1694
|
-
strict$2(Schema.Struct({
|
|
1755
|
+
const NativeAccountGrantRelayTicketRequest = strict$2(Schema.Struct({
|
|
1695
1756
|
protocolVersion: Schema.Literal(1),
|
|
1696
1757
|
nodeId: RelayNodeId,
|
|
1697
1758
|
capability: RelayCapability,
|
|
@@ -1702,7 +1763,7 @@ strict$2(Schema.Struct({
|
|
|
1702
1763
|
enrollmentRevision: NativeE2eeEnrollmentRevision,
|
|
1703
1764
|
clientPrekeyCertificateDigest: Base64Url32
|
|
1704
1765
|
}));
|
|
1705
|
-
strict$2(Schema.Struct({
|
|
1766
|
+
const NativeAccountGrantRelayTicketResponse = strict$2(Schema.Struct({
|
|
1706
1767
|
protocolVersion: Schema.Literal(1),
|
|
1707
1768
|
ticket: Base64Url(43, 86),
|
|
1708
1769
|
ticketId: RelayTicketId,
|
|
@@ -1770,6 +1831,12 @@ const DESKTOP_NATIVE_NODE_CLAIM_DESCRIPTOR_PATH = "/api/desktop/hub/native-node-
|
|
|
1770
1831
|
const DESKTOP_NATIVE_NODE_CLAIM_SIGN_PATH = "/api/desktop/hub/native-node-claim/sign";
|
|
1771
1832
|
const DESKTOP_NATIVE_NODE_CLAIM_COMMIT_PATH = "/api/desktop/hub/native-node-claim/commit";
|
|
1772
1833
|
const DESKTOP_NATIVE_NODE_CLAIM_MAX_BODY_BYTES = 16384;
|
|
1834
|
+
/**
|
|
1835
|
+
* Desktop main asks its own backend, over the same per-child local control
|
|
1836
|
+
* channel, whether other devices can reach this node through the Hub, to keep
|
|
1837
|
+
* the machine awake only while they can.
|
|
1838
|
+
*/
|
|
1839
|
+
const DESKTOP_HUB_REACHABILITY_PATH = "/api/desktop/hub/reachability";
|
|
1773
1840
|
const strict = (schema) => schema.annotate({ parseOptions: { onExcessProperty: "error" } });
|
|
1774
1841
|
strict(Schema.Struct({
|
|
1775
1842
|
protocolVersion: Schema.Literal(1),
|
|
@@ -1807,6 +1874,15 @@ strict(Schema.Struct({
|
|
|
1807
1874
|
status: Schema.Literal("active"),
|
|
1808
1875
|
result: NativeNodeClaimFinishResponse
|
|
1809
1876
|
}));
|
|
1877
|
+
strict(Schema.Struct({
|
|
1878
|
+
protocolVersion: Schema.Literal(1),
|
|
1879
|
+
reachable: Schema.Boolean,
|
|
1880
|
+
/**
|
|
1881
|
+
* Whether the backend runs its connector at all. A standby launch can
|
|
1882
|
+
* resolve to off, which only a relaunch with an explicit enable changes.
|
|
1883
|
+
*/
|
|
1884
|
+
connectorEnabled: Schema.Boolean
|
|
1885
|
+
}));
|
|
1810
1886
|
strict(Schema.Struct({ error: Schema.Literals([
|
|
1811
1887
|
"native_node_claim_unavailable",
|
|
1812
1888
|
"native_node_claim_rejected",
|
|
@@ -2494,6 +2570,14 @@ const MODEL_SLUG_ALIASES_BY_PROVIDER = {
|
|
|
2494
2570
|
[GROK_DRIVER_KIND]: {},
|
|
2495
2571
|
[OPENCODE_DRIVER_KIND]: {}
|
|
2496
2572
|
};
|
|
2573
|
+
const PROVIDER_DISPLAY_NAMES = {
|
|
2574
|
+
[CODEX_DRIVER_KIND]: "Codex",
|
|
2575
|
+
[CLAUDE_DRIVER_KIND]: "Claude",
|
|
2576
|
+
[COPILOT_DRIVER_KIND]: "GitHub Copilot",
|
|
2577
|
+
[CURSOR_DRIVER_KIND]: "Cursor",
|
|
2578
|
+
[GROK_DRIVER_KIND]: "Grok",
|
|
2579
|
+
[OPENCODE_DRIVER_KIND]: "OpenCode"
|
|
2580
|
+
};
|
|
2497
2581
|
const ThreadPriorityTier = Schema.Literals([
|
|
2498
2582
|
"now",
|
|
2499
2583
|
"soon",
|
|
@@ -2700,13 +2784,67 @@ const SourceControlCheckRollupItem = Schema.Struct({
|
|
|
2700
2784
|
conclusion: Schema.Option(TrimmedNonEmptyString),
|
|
2701
2785
|
url: Schema.Option(TrimmedNonEmptyString),
|
|
2702
2786
|
startedAt: Schema.Option(Schema.DateTimeUtc),
|
|
2703
|
-
completedAt: Schema.Option(Schema.DateTimeUtc)
|
|
2787
|
+
completedAt: Schema.Option(Schema.DateTimeUtc),
|
|
2788
|
+
/**
|
|
2789
|
+
* The base branch's protection requires this check to pass before merging.
|
|
2790
|
+
* Absent when the host did not say (list rows, hosts without the concept,
|
|
2791
|
+
* or a failed lookup), which is not the same as `false`.
|
|
2792
|
+
*/
|
|
2793
|
+
isRequired: Schema.optional(Schema.Boolean)
|
|
2704
2794
|
});
|
|
2705
2795
|
const SourceControlLabel = Schema.Struct({
|
|
2706
2796
|
name: TrimmedNonEmptyString,
|
|
2707
2797
|
color: Schema.optional(TrimmedNonEmptyString),
|
|
2708
2798
|
description: Schema.optional(TrimmedNonEmptyString)
|
|
2709
2799
|
});
|
|
2800
|
+
/** Aggregate review verdict as reported by the host (GitHub `reviewDecision`). */
|
|
2801
|
+
const SourceControlChangeRequestReviewDecision = Schema.Literals([
|
|
2802
|
+
"approved",
|
|
2803
|
+
"changes_requested",
|
|
2804
|
+
"review_required"
|
|
2805
|
+
]);
|
|
2806
|
+
/**
|
|
2807
|
+
* Why a change request can or cannot merge right now (GitHub `mergeStateStatus`,
|
|
2808
|
+
* lower-cased). `behind` means the head needs the base merged in; `blocked`
|
|
2809
|
+
* means required reviews or checks are missing; `dirty` means conflicts.
|
|
2810
|
+
*/
|
|
2811
|
+
const SourceControlChangeRequestMergeStateStatus = Schema.Literals([
|
|
2812
|
+
"behind",
|
|
2813
|
+
"blocked",
|
|
2814
|
+
"clean",
|
|
2815
|
+
"dirty",
|
|
2816
|
+
"draft",
|
|
2817
|
+
"has_hooks",
|
|
2818
|
+
"unknown",
|
|
2819
|
+
"unstable"
|
|
2820
|
+
]);
|
|
2821
|
+
/** One reviewer's latest standing on a change request. `requested` = asked, not yet reviewed. */
|
|
2822
|
+
const SourceControlChangeRequestReviewerState = Schema.Literals([
|
|
2823
|
+
"approved",
|
|
2824
|
+
"changes_requested",
|
|
2825
|
+
"commented",
|
|
2826
|
+
"dismissed",
|
|
2827
|
+
"requested"
|
|
2828
|
+
]);
|
|
2829
|
+
const SourceControlChangeRequestReviewer = Schema.Struct({
|
|
2830
|
+
/** User login, or `org/team-slug` for team review requests. */
|
|
2831
|
+
login: TrimmedNonEmptyString,
|
|
2832
|
+
kind: Schema.Literals([
|
|
2833
|
+
"user",
|
|
2834
|
+
"team",
|
|
2835
|
+
"bot"
|
|
2836
|
+
]),
|
|
2837
|
+
state: SourceControlChangeRequestReviewerState,
|
|
2838
|
+
avatarUrl: Schema.optional(Schema.String),
|
|
2839
|
+
submittedAt: Schema.optional(Schema.DateTimeUtc),
|
|
2840
|
+
/** True when the request came from CODEOWNERS. */
|
|
2841
|
+
isCodeOwner: Schema.optional(Schema.Boolean)
|
|
2842
|
+
});
|
|
2843
|
+
const SourceControlChangeRequestAutoMerge = Schema.Struct({
|
|
2844
|
+
mergeMethod: SourceControlChangeRequestMergeMethod,
|
|
2845
|
+
enabledBy: Schema.optional(TrimmedNonEmptyString),
|
|
2846
|
+
enabledAt: Schema.optional(Schema.DateTimeUtc)
|
|
2847
|
+
});
|
|
2710
2848
|
const ChangeRequest = Schema.Struct({
|
|
2711
2849
|
provider: SourceControlProviderKind,
|
|
2712
2850
|
number: PositiveInt,
|
|
@@ -2726,8 +2864,20 @@ const ChangeRequest = Schema.Struct({
|
|
|
2726
2864
|
headRepositoryOwnerLogin: Schema.optional(Schema.NullOr(TrimmedNonEmptyString)),
|
|
2727
2865
|
headSha: Schema.optional(TrimmedNonEmptyString),
|
|
2728
2866
|
mergeability: Schema.optional(SourceControlChangeRequestMergeability),
|
|
2867
|
+
/**
|
|
2868
|
+
* Why it can or cannot merge right now. Always on the detail where the host
|
|
2869
|
+
* reports readiness; on list rows only where the list payload carries it
|
|
2870
|
+
* (GitLab's `detailed_merge_status`).
|
|
2871
|
+
*/
|
|
2872
|
+
mergeStateStatus: Schema.optional(SourceControlChangeRequestMergeStateStatus),
|
|
2729
2873
|
checkRollup: Schema.optional(Schema.Array(SourceControlCheckRollupItem)),
|
|
2730
|
-
stackSummary: Schema.optional(SourceControlChangeRequestStackSummary)
|
|
2874
|
+
stackSummary: Schema.optional(SourceControlChangeRequestStackSummary),
|
|
2875
|
+
createdAt: Schema.optional(Schema.DateTimeUtc),
|
|
2876
|
+
reviewDecision: Schema.optional(Schema.NullOr(SourceControlChangeRequestReviewDecision)),
|
|
2877
|
+
additions: Schema.optional(NonNegativeInt),
|
|
2878
|
+
deletions: Schema.optional(NonNegativeInt),
|
|
2879
|
+
/** Files touched (list rows waiting on the viewer's review show it). */
|
|
2880
|
+
changedFiles: Schema.optional(NonNegativeInt)
|
|
2731
2881
|
});
|
|
2732
2882
|
const SOURCE_CONTROL_DETAIL_BODY_MAX_BYTES = 8192;
|
|
2733
2883
|
const SOURCE_CONTROL_DETAIL_COMMENT_BODY_MAX_BYTES = 2048;
|
|
@@ -2812,11 +2962,11 @@ const SourceControlCreateIssueInput = Schema.Struct({
|
|
|
2812
2962
|
assignees: Schema.optional(Schema.Array(TrimmedNonEmptyString)),
|
|
2813
2963
|
worktree: Schema.optional(SourceControlCreateIssueWorktree)
|
|
2814
2964
|
});
|
|
2815
|
-
const NonBlankMarkdownBody = Schema.String.check(Schema.makeFilter((body) => body.trim().length > 0 ? void 0 : "Expected a non-blank Markdown body"));
|
|
2965
|
+
const NonBlankMarkdownBody$1 = Schema.String.check(Schema.makeFilter((body) => body.trim().length > 0 ? void 0 : "Expected a non-blank Markdown body"));
|
|
2816
2966
|
const SourceControlAddIssueCommentInput = Schema.Struct({
|
|
2817
2967
|
cwd: TrimmedNonEmptyString,
|
|
2818
2968
|
reference: TrimmedNonEmptyString,
|
|
2819
|
-
body: NonBlankMarkdownBody,
|
|
2969
|
+
body: NonBlankMarkdownBody$1,
|
|
2820
2970
|
clientMutationId: Schema.optional(TrimmedNonEmptyString)
|
|
2821
2971
|
});
|
|
2822
2972
|
const SourceControlAddIssueCommentResult = Schema.Struct({ detail: SourceControlIssueDetail });
|
|
@@ -2862,12 +3012,24 @@ const SourceControlChangeRequestDetail = Schema.Struct({
|
|
|
2862
3012
|
files: Schema.optional(Schema.Array(SourceControlChangeRequestFile)),
|
|
2863
3013
|
stack: Schema.optional(SourceControlChangeRequestStack),
|
|
2864
3014
|
stackMetadataIncomplete: Schema.optional(Schema.Boolean),
|
|
2865
|
-
mergeCapabilities: Schema.optional(SourceControlChangeRequestMergeCapabilities)
|
|
3015
|
+
mergeCapabilities: Schema.optional(SourceControlChangeRequestMergeCapabilities),
|
|
3016
|
+
/** Per-reviewer latest state, including pending (requested) reviewers. */
|
|
3017
|
+
reviewerStates: Schema.optional(Schema.Array(SourceControlChangeRequestReviewer)),
|
|
3018
|
+
autoMerge: Schema.optional(Schema.NullOr(SourceControlChangeRequestAutoMerge)),
|
|
3019
|
+
closedAt: Schema.optional(Schema.DateTimeUtc),
|
|
3020
|
+
mergedAt: Schema.optional(Schema.DateTimeUtc),
|
|
3021
|
+
mergedBy: Schema.optional(TrimmedNonEmptyString),
|
|
3022
|
+
/** True when the host deletes the head branch automatically after merge. */
|
|
3023
|
+
deleteBranchOnMerge: Schema.optional(Schema.Boolean)
|
|
2866
3024
|
});
|
|
2867
3025
|
const SourceControlMergeChangeRequestInput = Schema.Struct({
|
|
2868
3026
|
cwd: TrimmedNonEmptyString,
|
|
2869
3027
|
reference: TrimmedNonEmptyString,
|
|
2870
|
-
mergeMethod: SourceControlChangeRequestMergeMethod
|
|
3028
|
+
mergeMethod: SourceControlChangeRequestMergeMethod,
|
|
3029
|
+
/** Delete the head branch after a successful (non-queued) merge. */
|
|
3030
|
+
deleteBranch: Schema.optional(Schema.Boolean),
|
|
3031
|
+
/** Refuse to merge when the head moved since the user looked. */
|
|
3032
|
+
expectedHeadSha: Schema.optional(TrimmedNonEmptyString)
|
|
2871
3033
|
});
|
|
2872
3034
|
const SourceControlMergeChangeRequestResult = Schema.Struct({ outcome: Schema.Literals(["merged", "enqueued"]) });
|
|
2873
3035
|
const SOURCE_CONTROL_WORKFLOW_LOG_MAX_BYTES = 204800;
|
|
@@ -2884,6 +3046,12 @@ const SourceControlWorkflowRun = Schema.Struct({
|
|
|
2884
3046
|
branch: Schema.Option(TrimmedNonEmptyString),
|
|
2885
3047
|
event: Schema.optional(TrimmedNonEmptyString),
|
|
2886
3048
|
commit: SourceControlWorkflowRunCommit,
|
|
3049
|
+
/**
|
|
3050
|
+
* The change request head this run verifies when `commit` is not the head
|
|
3051
|
+
* itself but a merge of it into the target (GitLab merged-results and
|
|
3052
|
+
* merge-train pipelines). Absent when the run is on the head commit.
|
|
3053
|
+
*/
|
|
3054
|
+
sourceHeadOid: Schema.optional(TrimmedNonEmptyString),
|
|
2887
3055
|
actor: Schema.Option(TrimmedNonEmptyString),
|
|
2888
3056
|
status: TrimmedNonEmptyString,
|
|
2889
3057
|
conclusion: Schema.Option(TrimmedNonEmptyString),
|
|
@@ -2972,7 +3140,7 @@ const SourceControlWorkflowRerunResult = Schema.Struct({
|
|
|
2972
3140
|
const SourceControlAddChangeRequestCommentInput = Schema.Struct({
|
|
2973
3141
|
cwd: TrimmedNonEmptyString,
|
|
2974
3142
|
reference: TrimmedNonEmptyString,
|
|
2975
|
-
body: NonBlankMarkdownBody,
|
|
3143
|
+
body: NonBlankMarkdownBody$1,
|
|
2976
3144
|
clientMutationId: Schema.optional(TrimmedNonEmptyString)
|
|
2977
3145
|
});
|
|
2978
3146
|
const SourceControlAddChangeRequestCommentResult = Schema.Struct({ detail: SourceControlChangeRequestDetail });
|
|
@@ -3449,6 +3617,8 @@ const StatusBucket = Schema.Literals([
|
|
|
3449
3617
|
"done"
|
|
3450
3618
|
]);
|
|
3451
3619
|
const WorktreeCheckoutLocation = Schema.Literals(["appManaged", "projectMetadata"]);
|
|
3620
|
+
/** Why a workspace record no longer has a checkout: removed by Ryco, or found missing. */
|
|
3621
|
+
const WorktreeCheckoutRemovalReason = Schema.Literals(["removed", "missing"]);
|
|
3452
3622
|
const Worktree = Schema.Struct({
|
|
3453
3623
|
worktreeId: WorktreeId,
|
|
3454
3624
|
projectId: ProjectId,
|
|
@@ -3463,6 +3633,12 @@ const Worktree = Schema.Struct({
|
|
|
3463
3633
|
prState: Schema.optional(Schema.NullOr(PullRequestState)).pipe(Schema.withDecodingDefault(Effect.succeed(null))),
|
|
3464
3634
|
prIsDraft: Schema.optional(Schema.NullOr(Schema.Boolean)).pipe(Schema.withDecodingDefault(Effect.succeed(null))),
|
|
3465
3635
|
issueState: Schema.optional(Schema.NullOr(IssueState)).pipe(Schema.withDecodingDefault(Effect.succeed(null))),
|
|
3636
|
+
/**
|
|
3637
|
+
* When the PR reached its current merged/closed state (forge time, else first
|
|
3638
|
+
* observation). `null` while open, unknown, or absent. No decoding default:
|
|
3639
|
+
* an absent key means the server predates the field (legacy settlement rule).
|
|
3640
|
+
*/
|
|
3641
|
+
prTerminalAt: Schema.optional(Schema.NullOr(IsoDateTime)),
|
|
3466
3642
|
workItemProvider: Schema.optional(Schema.NullOr(WorkItemProviderKind)).pipe(Schema.withDecodingDefault(Effect.succeed(null))),
|
|
3467
3643
|
workItemKey: Schema.optional(Schema.NullOr(TrimmedNonEmptyString)).pipe(Schema.withDecodingDefault(Effect.succeed(null))),
|
|
3468
3644
|
workItemTitle: Schema.optional(Schema.NullOr(TrimmedNonEmptyString)).pipe(Schema.withDecodingDefault(Effect.succeed(null))),
|
|
@@ -3472,6 +3648,12 @@ const Worktree = Schema.Struct({
|
|
|
3472
3648
|
createdAt: IsoDateTime,
|
|
3473
3649
|
updatedAt: IsoDateTime,
|
|
3474
3650
|
archivedAt: Schema.NullOr(IsoDateTime),
|
|
3651
|
+
/**
|
|
3652
|
+
* Set once the physical checkout is gone (removed or found missing). The record,
|
|
3653
|
+
* `worktreePath` and `branch` stay as provenance. Optional so older peers decode.
|
|
3654
|
+
*/
|
|
3655
|
+
checkoutRemovedAt: Schema.optional(Schema.NullOr(IsoDateTime)),
|
|
3656
|
+
checkoutRemovalReason: Schema.optional(Schema.NullOr(WorktreeCheckoutRemovalReason)),
|
|
3475
3657
|
manualPosition: Schema.Number
|
|
3476
3658
|
});
|
|
3477
3659
|
const CreateWorktreeIntent = Schema.Union([
|
|
@@ -3593,6 +3775,13 @@ const CONTEXT_HANDOFF_ERROR_MAX_CHARS = 2e3;
|
|
|
3593
3775
|
const CONTEXT_HANDOFF_INSPECTION_MAX_RESPONSE_BYTES = 131072;
|
|
3594
3776
|
const CONTEXT_HANDOFF_INSPECTION_CHUNK_MAX_BYTES = 98304;
|
|
3595
3777
|
const ContextHandoffMode = Schema.Literal("full-context-fresh-session");
|
|
3778
|
+
/**
|
|
3779
|
+
* Why a thread handed its context to a fresh session:
|
|
3780
|
+
* - `model-change`: the user switched to another provider instance.
|
|
3781
|
+
* - `cwd-relocation`: the thread's working directory moved (for example, a chat became a project)
|
|
3782
|
+
* and the provider cannot resume its conversation there.
|
|
3783
|
+
*/
|
|
3784
|
+
const ContextHandoffReason = Schema.Literals(["model-change", "cwd-relocation"]);
|
|
3596
3785
|
const ContextHandoffEndpointSnapshot = Schema.Struct({
|
|
3597
3786
|
providerInstanceId: ProviderInstanceId,
|
|
3598
3787
|
driverKind: ProviderDriverKind,
|
|
@@ -3618,6 +3807,8 @@ const ContextHandoffActivityBaseFields = {
|
|
|
3618
3807
|
schemaVersion: Schema.Literal(1),
|
|
3619
3808
|
handoffId: ContextHandoffId,
|
|
3620
3809
|
mode: ContextHandoffMode,
|
|
3810
|
+
/** Absent on records written before reasons existed: those are model changes. */
|
|
3811
|
+
reason: Schema.optional(ContextHandoffReason),
|
|
3621
3812
|
targetMessageId: MessageId,
|
|
3622
3813
|
targetTurnId: Schema.optional(TurnId),
|
|
3623
3814
|
sourceSelection: ModelSelection,
|
|
@@ -3673,6 +3864,44 @@ const ContextHandoffActivityPayload = Schema.Union([
|
|
|
3673
3864
|
inspection: Schema.optional(ContextHandoffInspectionSummaryMetadata)
|
|
3674
3865
|
})
|
|
3675
3866
|
]);
|
|
3867
|
+
/**
|
|
3868
|
+
* Lifecycle activity journaling one checkpoint revert. Its id is
|
|
3869
|
+
* `checkpoint-revert:<revertRequestId>`; every phase replaces the same row.
|
|
3870
|
+
*/
|
|
3871
|
+
const CHECKPOINT_REVERT_ACTIVITY_KIND = "checkpoint.revert";
|
|
3872
|
+
const CheckpointRevertStatus = Schema.Literals([
|
|
3873
|
+
"requested",
|
|
3874
|
+
"rolling-back",
|
|
3875
|
+
"restoring-files",
|
|
3876
|
+
"completed",
|
|
3877
|
+
"files-not-restored",
|
|
3878
|
+
"failed",
|
|
3879
|
+
"interrupted"
|
|
3880
|
+
]);
|
|
3881
|
+
const CheckpointRevertFailureReason = Schema.Literals([
|
|
3882
|
+
"thread-busy",
|
|
3883
|
+
"target-unavailable",
|
|
3884
|
+
"handoff-boundary",
|
|
3885
|
+
"not-git",
|
|
3886
|
+
"shared-checkout",
|
|
3887
|
+
"provider-unsupported",
|
|
3888
|
+
"provider-failed",
|
|
3889
|
+
"files-failed",
|
|
3890
|
+
"restart",
|
|
3891
|
+
"internal-error"
|
|
3892
|
+
]);
|
|
3893
|
+
const CheckpointRevertActivityPayload = Schema.Struct({
|
|
3894
|
+
schemaVersion: Schema.Literal(1),
|
|
3895
|
+
revertRequestId: CommandId,
|
|
3896
|
+
/** Target checkpoint K. */
|
|
3897
|
+
turnCount: NonNegativeInt,
|
|
3898
|
+
fromTurnCount: Schema.optional(NonNegativeInt),
|
|
3899
|
+
status: CheckpointRevertStatus,
|
|
3900
|
+
reason: Schema.optional(CheckpointRevertFailureReason),
|
|
3901
|
+
detail: Schema.optional(TrimmedNonEmptyString),
|
|
3902
|
+
/** Restore cwd, recorded from "rolling-back" on so startup recovery can finish. */
|
|
3903
|
+
cwd: Schema.optional(TrimmedNonEmptyString)
|
|
3904
|
+
});
|
|
3676
3905
|
const ContextHandoffInspectionScope = Schema.Literals(["sent", "complete"]);
|
|
3677
3906
|
const ContextHandoffInspectionSection = Schema.Literals([
|
|
3678
3907
|
"messages",
|
|
@@ -3884,6 +4113,25 @@ const UploadChatImageAttachment = Schema.Struct({
|
|
|
3884
4113
|
sizeBytes: NonNegativeInt.check(Schema.isLessThanOrEqualTo(PROVIDER_SEND_TURN_MAX_IMAGE_BYTES)),
|
|
3885
4114
|
dataUrl: TrimmedNonEmptyString.check(Schema.isMaxLength(PROVIDER_SEND_TURN_MAX_IMAGE_DATA_URL_CHARS))
|
|
3886
4115
|
});
|
|
4116
|
+
/**
|
|
4117
|
+
* Marks a `text/html` file attachment as an agent HTML render: a page the agent
|
|
4118
|
+
* published with `ryco_html_render` for clients to show inline in the thread.
|
|
4119
|
+
* Deliberately loose (any finite numbers, no length caps) so a newer server's
|
|
4120
|
+
* metadata can never fail an older client's decode; `@ryco/shared/htmlRender`
|
|
4121
|
+
* `readHtmlRenderMetadata` clamps it before use.
|
|
4122
|
+
*/
|
|
4123
|
+
const ChatHtmlRenderMetadata = Schema.Struct({
|
|
4124
|
+
title: Schema.String,
|
|
4125
|
+
/** The agent's frame height in CSS pixels, and the cap on any measured height. */
|
|
4126
|
+
height: Schema.Finite,
|
|
4127
|
+
/** `[width, contentHeight]` pairs measured at publish; absent when not measured. */
|
|
4128
|
+
heights: Schema.optional(Schema.Array(Schema.Tuple([Schema.Finite, Schema.Finite]))),
|
|
4129
|
+
/** Small `data:image/...` screenshots of the page's top per appearance; absent when not captured. */
|
|
4130
|
+
thumbnails: Schema.optional(Schema.Struct({
|
|
4131
|
+
dark: Schema.optional(Schema.String),
|
|
4132
|
+
light: Schema.optional(Schema.String)
|
|
4133
|
+
}))
|
|
4134
|
+
});
|
|
3887
4135
|
const ChatFileAttachment = Schema.Struct({
|
|
3888
4136
|
type: Schema.Literal("file"),
|
|
3889
4137
|
id: ChatAttachmentId,
|
|
@@ -3891,7 +4139,8 @@ const ChatFileAttachment = Schema.Struct({
|
|
|
3891
4139
|
mimeType: ChatAttachmentMimeType,
|
|
3892
4140
|
sizeBytes: NonNegativeInt.check(Schema.isLessThanOrEqualTo(PROVIDER_SEND_TURN_MAX_FILE_BYTES)),
|
|
3893
4141
|
width: Schema.optional(NonNegativeInt),
|
|
3894
|
-
height: Schema.optional(NonNegativeInt)
|
|
4142
|
+
height: Schema.optional(NonNegativeInt),
|
|
4143
|
+
htmlRender: Schema.optional(ChatHtmlRenderMetadata)
|
|
3895
4144
|
});
|
|
3896
4145
|
const CHAT_ATTACHMENT_READ_CHUNK_BYTES = 262144;
|
|
3897
4146
|
const ChatAttachmentReadChunkInput = Schema.Struct({
|
|
@@ -3969,8 +4218,18 @@ const ProjectScript = Schema.Struct({
|
|
|
3969
4218
|
const ProjectCustomSystemPrompt = TrimmedNonEmptyString.check(Schema.isMaxLength(2e4));
|
|
3970
4219
|
const DEFAULT_PROJECT_METADATA_DIR = ".ryco";
|
|
3971
4220
|
const ProjectMetadataDir = TrimmedNonEmptyString.check(Schema.isMaxLength(256), Schema.isPattern(/^(?![\\/])(?!~)(?![A-Za-z]:[\\/])(?!.*(?:^|[\\/])\.\.(?:[\\/]|$)).+$/));
|
|
4221
|
+
/**
|
|
4222
|
+
* `chat` backs a "No project" chat: one project record per chat, rooted in a Ryco-managed
|
|
4223
|
+
* plain folder under the chats root. Promotion turns it into a regular `project`, never back.
|
|
4224
|
+
* Read it through `@ryco/shared/projectKind`, which treats an absent kind as `project`.
|
|
4225
|
+
*/
|
|
4226
|
+
const ProjectKind = Schema.Literals(["project", "chat"]);
|
|
4227
|
+
const DEFAULT_PROJECT_KIND = "project";
|
|
4228
|
+
/** Absent on snapshots, events and nodes that predate chats; those only had regular projects. */
|
|
4229
|
+
const OptionalProjectKind = Schema.optional(ProjectKind).pipe(Schema.withDecodingDefault(Effect.succeed(DEFAULT_PROJECT_KIND)));
|
|
3972
4230
|
const OrchestrationProject = Schema.Struct({
|
|
3973
4231
|
id: ProjectId,
|
|
4232
|
+
kind: OptionalProjectKind,
|
|
3974
4233
|
title: TrimmedNonEmptyString,
|
|
3975
4234
|
workspaceRoot: TrimmedNonEmptyString,
|
|
3976
4235
|
projectMetadataDir: Schema.optional(ProjectMetadataDir).pipe(Schema.withDecodingDefault(Effect.succeed(DEFAULT_PROJECT_METADATA_DIR))),
|
|
@@ -3990,6 +4249,19 @@ const OrchestrationMessageRole = Schema.Literals([
|
|
|
3990
4249
|
"system"
|
|
3991
4250
|
]);
|
|
3992
4251
|
const TurnDispatchMode = Schema.Literals(["queue", "steer"]);
|
|
4252
|
+
/**
|
|
4253
|
+
* Why a steer was not applied. `deferred`: the message stays queued and is sent as the next turn
|
|
4254
|
+
* (the turn ended, or the provider could not take it right now). `failed`: a real provider error.
|
|
4255
|
+
* Absent on older events, which read as `failed`.
|
|
4256
|
+
*/
|
|
4257
|
+
const TurnSteerRejectionReason = Schema.Literals(["deferred", "failed"]);
|
|
4258
|
+
/**
|
|
4259
|
+
* Set on a `failed` steer rejection the provider may still have received (a restart cut off its
|
|
4260
|
+
* delivery). Clients hold such a message for an explicit retry or removal instead of sending it
|
|
4261
|
+
* again as the next turn. An optional flag rather than a third reason, so older clients that
|
|
4262
|
+
* decode the event keep working and read it as a plain failure.
|
|
4263
|
+
*/
|
|
4264
|
+
const TurnSteerDeliveryUncertain = Schema.optionalKey(Schema.Boolean);
|
|
3993
4265
|
const OrchestrationMessage = Schema.Struct({
|
|
3994
4266
|
id: MessageId,
|
|
3995
4267
|
role: OrchestrationMessageRole,
|
|
@@ -4080,6 +4352,31 @@ const OrchestrationLatestTurnState = Schema.Literals([
|
|
|
4080
4352
|
"completed",
|
|
4081
4353
|
"error"
|
|
4082
4354
|
]);
|
|
4355
|
+
/**
|
|
4356
|
+
* Frozen set of states a turn can end in. New outcomes (for example usage limits)
|
|
4357
|
+
* go into `reason` or a separate field, never into this literal set.
|
|
4358
|
+
*/
|
|
4359
|
+
const OrchestrationTerminalTurnState = Schema.Literals([
|
|
4360
|
+
"completed",
|
|
4361
|
+
"error",
|
|
4362
|
+
"interrupted"
|
|
4363
|
+
]);
|
|
4364
|
+
/** Server-internal: what the caller knows about how the active turn ended. */
|
|
4365
|
+
const OrchestrationTurnOutcome = Schema.Struct({
|
|
4366
|
+
/** Omitted = "the turn this release ends", whichever it is. */
|
|
4367
|
+
turnId: Schema.optional(TurnId),
|
|
4368
|
+
state: OrchestrationTerminalTurnState,
|
|
4369
|
+
/** Open diagnostic string (see TURN_FINALIZATION_REASON). Never a closed literal set. */
|
|
4370
|
+
reason: TrimmedNonEmptyString,
|
|
4371
|
+
completedAt: Schema.optional(IsoDateTime)
|
|
4372
|
+
});
|
|
4373
|
+
/** Decided by the server: the turn this session-set releases, and how it ended. */
|
|
4374
|
+
const OrchestrationReleasedTurn = Schema.Struct({
|
|
4375
|
+
turnId: TurnId,
|
|
4376
|
+
state: OrchestrationTerminalTurnState,
|
|
4377
|
+
completedAt: IsoDateTime,
|
|
4378
|
+
reason: TrimmedNonEmptyString
|
|
4379
|
+
});
|
|
4083
4380
|
const OrchestrationLatestTurn = Schema.Struct({
|
|
4084
4381
|
userMessageId: Schema.optional(MessageId),
|
|
4085
4382
|
turnId: TurnId,
|
|
@@ -4090,6 +4387,42 @@ const OrchestrationLatestTurn = Schema.Struct({
|
|
|
4090
4387
|
assistantMessageId: Schema.NullOr(MessageId),
|
|
4091
4388
|
sourceProposedPlan: Schema.optional(SourceProposedPlanReference)
|
|
4092
4389
|
});
|
|
4390
|
+
const ThreadUsageLimitId = TrimmedNonEmptyString.check(Schema.isMaxLength(512));
|
|
4391
|
+
/**
|
|
4392
|
+
* A provider usage limit stopped this thread's turn. Durable until a turn starts, the
|
|
4393
|
+
* thread is archived or reverted; it only gates the thread while
|
|
4394
|
+
* `modelSelection.instanceId === providerInstanceId`.
|
|
4395
|
+
*/
|
|
4396
|
+
const ThreadUsageLimit = Schema.Struct({
|
|
4397
|
+
/** "usage-limit:<threadId>:<turnId>" */
|
|
4398
|
+
limitId: ThreadUsageLimitId,
|
|
4399
|
+
provider: ProviderDriverKind,
|
|
4400
|
+
providerInstanceId: ProviderInstanceId,
|
|
4401
|
+
turnId: TurnId,
|
|
4402
|
+
message: TrimmedNonEmptyString.check(Schema.isMaxLength(1e3)),
|
|
4403
|
+
limitedAt: IsoDateTime,
|
|
4404
|
+
resetAt: Schema.NullOr(IsoDateTime),
|
|
4405
|
+
/** null follows ServerSettings.autoResumeLimitedThreads; a boolean is an explicit per-thread override. */
|
|
4406
|
+
autoResume: Schema.NullOr(Schema.Boolean),
|
|
4407
|
+
updatedAt: IsoDateTime
|
|
4408
|
+
});
|
|
4409
|
+
/** Accepts the resume turn only while this exact limit is still recorded and idle. */
|
|
4410
|
+
const UsageLimitResumeGuard = Schema.Struct({
|
|
4411
|
+
limitId: ThreadUsageLimitId,
|
|
4412
|
+
origin: Schema.Literals(["auto", "manual"])
|
|
4413
|
+
});
|
|
4414
|
+
/**
|
|
4415
|
+
* Server-owned provenance of a thread created on behalf of another thread.
|
|
4416
|
+
* Absent on root threads. Immutable for a thread incarnation. Never authority.
|
|
4417
|
+
* `relationship` is deliberately an open string: a newer server may add kinds
|
|
4418
|
+
* without failing older clients' shell decode. Clients must treat values they
|
|
4419
|
+
* do not know as "no known relationship". Known values: "delegated".
|
|
4420
|
+
*/
|
|
4421
|
+
const ThreadLineage = Schema.Struct({
|
|
4422
|
+
parentThreadId: ThreadId,
|
|
4423
|
+
rootThreadId: ThreadId,
|
|
4424
|
+
relationship: TrimmedNonEmptyString.check(Schema.isMaxLength(64))
|
|
4425
|
+
});
|
|
4093
4426
|
const OrchestrationThread = Schema.Struct({
|
|
4094
4427
|
id: ThreadId,
|
|
4095
4428
|
projectId: ProjectId,
|
|
@@ -4105,6 +4438,8 @@ const OrchestrationThread = Schema.Struct({
|
|
|
4105
4438
|
manualPosition: Schema.optional(Schema.Number),
|
|
4106
4439
|
latestTurn: Schema.NullOr(OrchestrationLatestTurn),
|
|
4107
4440
|
goal: Schema.optional(Schema.NullOr(ThreadGoal)).pipe(Schema.withDecodingDefault(Effect.succeed(null))),
|
|
4441
|
+
/** Server-owned provenance; absent on root threads and from older servers. */
|
|
4442
|
+
lineage: Schema.optional(Schema.NullOr(ThreadLineage)),
|
|
4108
4443
|
createdAt: IsoDateTime,
|
|
4109
4444
|
updatedAt: IsoDateTime,
|
|
4110
4445
|
archivedAt: Schema.NullOr(IsoDateTime).pipe(Schema.withDecodingDefault(Effect.succeed(null))),
|
|
@@ -4112,14 +4447,25 @@ const OrchestrationThread = Schema.Struct({
|
|
|
4112
4447
|
settledAt: Schema.NullOr(IsoDateTime).pipe(Schema.withDecodingDefault(Effect.succeed(null))),
|
|
4113
4448
|
snoozedUntil: Schema.optional(Schema.NullOr(IsoDateTime)),
|
|
4114
4449
|
snoozedAt: Schema.optional(Schema.NullOr(IsoDateTime)),
|
|
4450
|
+
/** Optional so mixed-version snapshots decode; older clients strip it. */
|
|
4451
|
+
usageLimit: Schema.optional(Schema.NullOr(ThreadUsageLimit)),
|
|
4452
|
+
/**
|
|
4453
|
+
* Hidden from every live view. A trashed thread also carries `trashedAt` and keeps
|
|
4454
|
+
* its history and assets; without `trashedAt` the deletion is permanent.
|
|
4455
|
+
*/
|
|
4115
4456
|
deletedAt: Schema.NullOr(IsoDateTime),
|
|
4457
|
+
trashedAt: Schema.optional(Schema.NullOr(IsoDateTime)),
|
|
4116
4458
|
messages: Schema.Array(OrchestrationMessage),
|
|
4117
4459
|
proposedPlans: Schema.Array(OrchestrationProposedPlan).pipe(Schema.withDecodingDefault(Effect.succeed([]))),
|
|
4118
4460
|
activities: Schema.Array(OrchestrationThreadActivity),
|
|
4119
4461
|
checkpoints: Schema.Array(OrchestrationCheckpointSummary),
|
|
4120
4462
|
session: Schema.NullOr(OrchestrationSession)
|
|
4121
4463
|
});
|
|
4122
|
-
const OrchestrationWorktreeShell =
|
|
4464
|
+
const OrchestrationWorktreeShell = Schema.Struct({
|
|
4465
|
+
...Worktree.fields,
|
|
4466
|
+
/** Retired managed path, so persisted drafts can retarget after a cold reconnect. */
|
|
4467
|
+
relocatedFromPath: Schema.optional(Schema.NullOr(TrimmedNonEmptyString))
|
|
4468
|
+
});
|
|
4123
4469
|
const OrchestrationReadModel = Schema.Struct({
|
|
4124
4470
|
snapshotSequence: NonNegativeInt,
|
|
4125
4471
|
projects: Schema.Array(OrchestrationProject),
|
|
@@ -4129,6 +4475,7 @@ const OrchestrationReadModel = Schema.Struct({
|
|
|
4129
4475
|
});
|
|
4130
4476
|
const OrchestrationProjectShell = Schema.Struct({
|
|
4131
4477
|
id: ProjectId,
|
|
4478
|
+
kind: OptionalProjectKind,
|
|
4132
4479
|
title: TrimmedNonEmptyString,
|
|
4133
4480
|
workspaceRoot: TrimmedNonEmptyString,
|
|
4134
4481
|
projectMetadataDir: Schema.optional(ProjectMetadataDir).pipe(Schema.withDecodingDefault(Effect.succeed(DEFAULT_PROJECT_METADATA_DIR))),
|
|
@@ -4174,6 +4521,8 @@ const OrchestrationThreadShell = Schema.Struct({
|
|
|
4174
4521
|
settledAt: Schema.NullOr(IsoDateTime).pipe(Schema.withDecodingDefault(Effect.succeed(null))),
|
|
4175
4522
|
snoozedUntil: Schema.optional(Schema.NullOr(IsoDateTime)),
|
|
4176
4523
|
snoozedAt: Schema.optional(Schema.NullOr(IsoDateTime)),
|
|
4524
|
+
/** Optional so mixed-version snapshots decode; older clients strip it. */
|
|
4525
|
+
usageLimit: Schema.optional(Schema.NullOr(ThreadUsageLimit)),
|
|
4177
4526
|
session: Schema.NullOr(OrchestrationSession),
|
|
4178
4527
|
latestUserMessageAt: Schema.NullOr(IsoDateTime),
|
|
4179
4528
|
/** Last successful turn that is no longer active; absent on older servers. */
|
|
@@ -4187,6 +4536,8 @@ const OrchestrationThreadShell = Schema.Struct({
|
|
|
4187
4536
|
* live work. Optional so old servers/clients interop; absent = none.
|
|
4188
4537
|
*/
|
|
4189
4538
|
backgroundLiveness: Schema.optional(Schema.NullOr(Schema.Literals(["working", "monitoring"]))),
|
|
4539
|
+
/** Server-owned provenance; absent on root threads and from older servers. */
|
|
4540
|
+
lineage: Schema.optional(Schema.NullOr(ThreadLineage)),
|
|
4190
4541
|
priority: Schema.optional(ThreadPriorityProjectedRanking)
|
|
4191
4542
|
});
|
|
4192
4543
|
const OrchestrationShellSnapshot = Schema.Struct({
|
|
@@ -4217,6 +4568,13 @@ const OrchestrationShellStreamEvent = Schema.Union([
|
|
|
4217
4568
|
sequence: NonNegativeInt,
|
|
4218
4569
|
worktree: OrchestrationWorktreeShell
|
|
4219
4570
|
}),
|
|
4571
|
+
Schema.Struct({
|
|
4572
|
+
kind: Schema.Literal("worktree-relocated"),
|
|
4573
|
+
sequence: NonNegativeInt,
|
|
4574
|
+
worktree: OrchestrationWorktreeShell,
|
|
4575
|
+
sourcePath: TrimmedNonEmptyString,
|
|
4576
|
+
destinationPath: TrimmedNonEmptyString
|
|
4577
|
+
}),
|
|
4220
4578
|
Schema.Struct({
|
|
4221
4579
|
kind: Schema.Literal("thread-removed"),
|
|
4222
4580
|
sequence: NonNegativeInt,
|
|
@@ -4228,11 +4586,36 @@ const OrchestrationShellStreamEvent = Schema.Union([
|
|
|
4228
4586
|
worktreeId: WorktreeId
|
|
4229
4587
|
})
|
|
4230
4588
|
]);
|
|
4231
|
-
const OrchestrationShellStreamItem = Schema.Union([
|
|
4232
|
-
|
|
4233
|
-
|
|
4234
|
-
|
|
4235
|
-
|
|
4589
|
+
const OrchestrationShellStreamItem = Schema.Union([
|
|
4590
|
+
Schema.Struct({
|
|
4591
|
+
kind: Schema.Literal("snapshot"),
|
|
4592
|
+
snapshot: OrchestrationShellSnapshot
|
|
4593
|
+
}),
|
|
4594
|
+
Schema.Struct({
|
|
4595
|
+
kind: Schema.Literal("resumed"),
|
|
4596
|
+
fromSequence: NonNegativeInt
|
|
4597
|
+
}),
|
|
4598
|
+
OrchestrationShellStreamEvent
|
|
4599
|
+
]);
|
|
4600
|
+
const OrchestrationSubscribeShellInput = Schema.Struct({
|
|
4601
|
+
/**
|
|
4602
|
+
* The last shell sequence the client applied. A server that still holds every
|
|
4603
|
+
* event since then answers `resumed` and replays only those, sparing a full
|
|
4604
|
+
* snapshot on every reconnect; otherwise it sends a snapshot as usual. Older
|
|
4605
|
+
* servers ignore the field.
|
|
4606
|
+
*/
|
|
4607
|
+
resumeFromSequence: Schema.optional(NonNegativeInt) });
|
|
4608
|
+
/**
|
|
4609
|
+
* The last orchestration sequence the client applied for this thread. A server
|
|
4610
|
+
* that still holds every event since then answers `resumed` and replays only
|
|
4611
|
+
* the thread's missed events; otherwise it sends a snapshot. Older servers
|
|
4612
|
+
* ignore the field.
|
|
4613
|
+
*/
|
|
4614
|
+
const ThreadResumeFromSequence = Schema.optional(NonNegativeInt);
|
|
4615
|
+
const OrchestrationSubscribeThreadInput = Schema.Struct({
|
|
4616
|
+
threadId: ThreadId,
|
|
4617
|
+
resumeFromSequence: ThreadResumeFromSequence
|
|
4618
|
+
});
|
|
4236
4619
|
const OrchestrationThreadDetailSnapshot = Schema.Struct({
|
|
4237
4620
|
snapshotSequence: NonNegativeInt,
|
|
4238
4621
|
thread: OrchestrationThread
|
|
@@ -4265,10 +4648,21 @@ const OrchestrationGetThreadWindowInput = Schema.Struct({
|
|
|
4265
4648
|
threadId: ThreadId,
|
|
4266
4649
|
limits: OrchestrationThreadHistoryLimits
|
|
4267
4650
|
});
|
|
4651
|
+
const OrchestrationSubscribeThreadWindowInput = Schema.Struct({
|
|
4652
|
+
threadId: ThreadId,
|
|
4653
|
+
limits: OrchestrationThreadHistoryLimits,
|
|
4654
|
+
resumeFromSequence: ThreadResumeFromSequence
|
|
4655
|
+
});
|
|
4268
4656
|
const OrchestrationThreadWindowSnapshot = Schema.Struct({
|
|
4269
4657
|
snapshotSequence: NonNegativeInt,
|
|
4270
4658
|
thread: OrchestrationThread,
|
|
4271
|
-
history: OrchestrationThreadHistoryState
|
|
4659
|
+
history: OrchestrationThreadHistoryState,
|
|
4660
|
+
/**
|
|
4661
|
+
* The directory the thread's next turn runs in (its worktree, else its project root), as the
|
|
4662
|
+
* server resolves it when starting a provider session. Absent from older servers and when the
|
|
4663
|
+
* thread has no resolvable project.
|
|
4664
|
+
*/
|
|
4665
|
+
workspaceCwd: Schema.optional(TrimmedNonEmptyString)
|
|
4272
4666
|
});
|
|
4273
4667
|
const OrchestrationThreadHistoryPageMode = Schema.Struct({
|
|
4274
4668
|
kind: Schema.Literal("before"),
|
|
@@ -4332,6 +4726,8 @@ const ProjectCreateCommand = Schema.Struct({
|
|
|
4332
4726
|
type: Schema.Literal("project.create"),
|
|
4333
4727
|
commandId: CommandId,
|
|
4334
4728
|
projectId: ProjectId,
|
|
4729
|
+
/** Absent creates a regular project. */
|
|
4730
|
+
kind: Schema.optional(ProjectKind),
|
|
4335
4731
|
title: TrimmedNonEmptyString,
|
|
4336
4732
|
workspaceRoot: TrimmedNonEmptyString,
|
|
4337
4733
|
projectMetadataDir: Schema.optional(ProjectMetadataDir).pipe(Schema.withDecodingDefault(Effect.succeed(DEFAULT_PROJECT_METADATA_DIR))),
|
|
@@ -4347,6 +4743,8 @@ const ProjectMetaUpdateCommand = Schema.Struct({
|
|
|
4347
4743
|
projectId: ProjectId,
|
|
4348
4744
|
/** Optional compare-and-set guard used by governed mutation flows. */
|
|
4349
4745
|
expectedUpdatedAt: Schema.optional(IsoDateTime),
|
|
4746
|
+
/** Only `chat` -> `project` (promotion) is accepted; the same kind is a no-op. */
|
|
4747
|
+
kind: Schema.optional(ProjectKind),
|
|
4350
4748
|
title: Schema.optional(TrimmedNonEmptyString),
|
|
4351
4749
|
workspaceRoot: Schema.optional(TrimmedNonEmptyString),
|
|
4352
4750
|
projectMetadataDir: Schema.optional(ProjectMetadataDir),
|
|
@@ -4385,11 +4783,29 @@ const ThreadCreateCommand = Schema.Struct({
|
|
|
4385
4783
|
worktreePath: Schema.NullOr(TrimmedNonEmptyString),
|
|
4386
4784
|
createdAt: IsoDateTime
|
|
4387
4785
|
});
|
|
4786
|
+
/** Server-originated only (Agent Control). Never part of ClientOrchestrationCommand. */
|
|
4787
|
+
const ThreadDelegatedCreateCommand = Schema.Struct({
|
|
4788
|
+
...ThreadCreateCommand.fields,
|
|
4789
|
+
type: Schema.Literal("thread.delegated.create"),
|
|
4790
|
+
parentThreadId: ThreadId
|
|
4791
|
+
});
|
|
4792
|
+
/** Permanent deletion. Only a trashed (or never-used) thread can be deleted. */
|
|
4388
4793
|
const ThreadDeleteCommand = Schema.Struct({
|
|
4389
4794
|
type: Schema.Literal("thread.delete"),
|
|
4390
4795
|
commandId: CommandId,
|
|
4391
4796
|
threadId: ThreadId
|
|
4392
4797
|
});
|
|
4798
|
+
/** Recoverable removal: hidden everywhere, history and assets preserved. */
|
|
4799
|
+
const ThreadTrashCommand = Schema.Struct({
|
|
4800
|
+
type: Schema.Literal("thread.trash"),
|
|
4801
|
+
commandId: CommandId,
|
|
4802
|
+
threadId: ThreadId
|
|
4803
|
+
});
|
|
4804
|
+
const ThreadUntrashCommand = Schema.Struct({
|
|
4805
|
+
type: Schema.Literal("thread.untrash"),
|
|
4806
|
+
commandId: CommandId,
|
|
4807
|
+
threadId: ThreadId
|
|
4808
|
+
});
|
|
4393
4809
|
const ThreadArchiveCommand = Schema.Struct({
|
|
4394
4810
|
type: Schema.Literal("thread.archive"),
|
|
4395
4811
|
commandId: CommandId,
|
|
@@ -4417,6 +4833,15 @@ const ThreadUnsnoozeCommand = Schema.Struct({
|
|
|
4417
4833
|
commandId: CommandId,
|
|
4418
4834
|
threadId: ThreadId
|
|
4419
4835
|
});
|
|
4836
|
+
/** Per-thread auto-resume override for the thread's current usage limit. */
|
|
4837
|
+
const ThreadUsageLimitConfigureCommand = Schema.Struct({
|
|
4838
|
+
type: Schema.Literal("thread.usage-limit.configure"),
|
|
4839
|
+
commandId: CommandId,
|
|
4840
|
+
threadId: ThreadId,
|
|
4841
|
+
limitId: ThreadUsageLimitId,
|
|
4842
|
+
autoResume: Schema.NullOr(Schema.Boolean),
|
|
4843
|
+
createdAt: IsoDateTime
|
|
4844
|
+
});
|
|
4420
4845
|
const ThreadSettleCommand = Schema.Struct({
|
|
4421
4846
|
type: Schema.Literal("thread.settle"),
|
|
4422
4847
|
commandId: CommandId,
|
|
@@ -4489,36 +4914,81 @@ const ThreadTurnStartBootstrapPrepareWorktree = Schema.Struct({
|
|
|
4489
4914
|
baseBranch: TrimmedNonEmptyString,
|
|
4490
4915
|
branch: Schema.optional(TrimmedNonEmptyString)
|
|
4491
4916
|
});
|
|
4917
|
+
/**
|
|
4918
|
+
* Shown when work (a turn, provider session, terminal or file write) is refused because the chat's
|
|
4919
|
+
* folder is moving into a project. The move settles in moments, so retrying shortly succeeds.
|
|
4920
|
+
*/
|
|
4921
|
+
const PROJECT_RELOCATION_PENDING_MESSAGE = "This chat is being moved into a project. Try again in a moment.";
|
|
4922
|
+
/**
|
|
4923
|
+
* First send of a "No project" chat. The server, not the client, allocates the chat folder
|
|
4924
|
+
* under its chats root, creates a `chat` project with `projectId` there, and then continues
|
|
4925
|
+
* with `createThread` for that project. Mutually exclusive with `prepareWorktree` and
|
|
4926
|
+
* `requireWorktree`: a chat folder is a plain directory, never a Git worktree.
|
|
4927
|
+
*/
|
|
4928
|
+
const ThreadTurnStartBootstrapCreateChatProject = Schema.Struct({
|
|
4929
|
+
projectId: ProjectId,
|
|
4930
|
+
/** Seeds the chat title and its folder name; the folder name never changes afterwards. */
|
|
4931
|
+
titleSeed: TrimmedNonEmptyString.check(Schema.isMaxLength(200))
|
|
4932
|
+
});
|
|
4492
4933
|
const ThreadTurnStartBootstrap = Schema.Struct({
|
|
4493
4934
|
/** Reject a turn unless this bootstrap creates a fresh isolated Git worktree. */
|
|
4494
4935
|
requireWorktree: Schema.optional(Schema.Boolean),
|
|
4936
|
+
createChatProject: Schema.optional(ThreadTurnStartBootstrapCreateChatProject),
|
|
4495
4937
|
createThread: Schema.optional(ThreadTurnStartBootstrapCreateThread),
|
|
4496
4938
|
prepareWorktree: Schema.optional(ThreadTurnStartBootstrapPrepareWorktree),
|
|
4497
4939
|
runSetupScript: Schema.optional(Schema.Boolean)
|
|
4498
|
-
})
|
|
4499
|
-
|
|
4940
|
+
}).check(Schema.makeFilter((bootstrap) => {
|
|
4941
|
+
if (bootstrap.createChatProject === void 0) return void 0;
|
|
4942
|
+
if (bootstrap.prepareWorktree !== void 0 || bootstrap.requireWorktree === true) return "A chat without a project cannot also prepare a Git worktree";
|
|
4943
|
+
if (bootstrap.createThread?.projectId !== bootstrap.createChatProject.projectId) return "A chat without a project must create its first thread in that chat";
|
|
4944
|
+
}));
|
|
4945
|
+
/**
|
|
4946
|
+
* Delegated-result wake fence. Legacy fields (`turnMessageId`, `turnId`, `runtimeSessionId`,
|
|
4947
|
+
* `providerInstanceId`) are decoded for stored events and ledger commands and ignored.
|
|
4948
|
+
*/
|
|
4500
4949
|
const DelegationReturnGuard = Schema.Struct({
|
|
4501
|
-
turnMessageId: MessageId,
|
|
4502
4950
|
latestUserMessageId: Schema.NullOr(MessageId),
|
|
4503
4951
|
projectId: ProjectId,
|
|
4504
|
-
turnId: TurnId,
|
|
4505
|
-
runtimeSessionId: RuntimeSessionId,
|
|
4506
|
-
providerInstanceId: ProviderInstanceId,
|
|
4507
4952
|
runtimeMode: RuntimeMode,
|
|
4508
|
-
worktreePath: Schema.NullOr(Schema.String)
|
|
4953
|
+
worktreePath: Schema.NullOr(Schema.String),
|
|
4954
|
+
turnMessageId: Schema.optional(MessageId),
|
|
4955
|
+
turnId: Schema.optional(TurnId),
|
|
4956
|
+
runtimeSessionId: Schema.optional(RuntimeSessionId),
|
|
4957
|
+
providerInstanceId: Schema.optional(ProviderInstanceId)
|
|
4509
4958
|
});
|
|
4510
4959
|
const ClaudeResumeGuard = Schema.Struct({
|
|
4511
4960
|
requireReady: Schema.Boolean,
|
|
4512
|
-
|
|
4961
|
+
/**
|
|
4962
|
+
* The runtime the review saw. Null when the session had none (it was stopped): the send is
|
|
4963
|
+
* then accepted only while still no runtime is bound, so the review stays current until the
|
|
4964
|
+
* next turn starts one.
|
|
4965
|
+
*/
|
|
4966
|
+
runtimeSessionId: Schema.NullOr(RuntimeSessionId),
|
|
4513
4967
|
latestTurnId: Schema.NullOr(TurnId),
|
|
4514
4968
|
modelSelection: ModelSelection
|
|
4515
4969
|
});
|
|
4970
|
+
/**
|
|
4971
|
+
* Server-only optimistic fence for an automatic continuation after a restart. Never part
|
|
4972
|
+
* of `ClientThreadTurnStartCommand`: client decode strips it, so it cannot be forged.
|
|
4973
|
+
*/
|
|
4974
|
+
const RestartContinuationGuard = Schema.Struct({
|
|
4975
|
+
sourceTurnId: TurnId,
|
|
4976
|
+
expectedLatestTurnState: Schema.Literals(["interrupted", "completed"]),
|
|
4977
|
+
latestUserMessageId: Schema.NullOr(MessageId),
|
|
4978
|
+
modelSelection: ModelSelection,
|
|
4979
|
+
runtimeMode: RuntimeMode,
|
|
4980
|
+
interactionMode: ProviderInteractionMode,
|
|
4981
|
+
worktreePath: Schema.NullOr(Schema.String),
|
|
4982
|
+
providerInstanceId: ProviderInstanceId
|
|
4983
|
+
});
|
|
4516
4984
|
const ThreadTurnStartCommand = Schema.Struct({
|
|
4517
4985
|
claudeResumeGuard: Schema.optional(ClaudeResumeGuard),
|
|
4986
|
+
restartContinuationGuard: Schema.optional(RestartContinuationGuard),
|
|
4518
4987
|
computerUse: Schema.optionalKey(ComputerTurnIntent),
|
|
4519
4988
|
projectMemory: Schema.optional(Schema.Never),
|
|
4520
4989
|
type: Schema.Literal("thread.turn.start"),
|
|
4521
4990
|
delegationReturnGuard: Schema.optional(DelegationReturnGuard),
|
|
4991
|
+
usageLimitResumeGuard: Schema.optional(UsageLimitResumeGuard),
|
|
4522
4992
|
commandId: CommandId,
|
|
4523
4993
|
threadId: ThreadId,
|
|
4524
4994
|
message: Schema.Struct({
|
|
@@ -4544,6 +5014,7 @@ const ClientThreadTurnStartCommand = Schema.Struct({
|
|
|
4544
5014
|
projectMemory: Schema.optional(Schema.Never),
|
|
4545
5015
|
type: Schema.Literal("thread.turn.start"),
|
|
4546
5016
|
delegationReturnGuard: Schema.optional(DelegationReturnGuard),
|
|
5017
|
+
usageLimitResumeGuard: Schema.optional(UsageLimitResumeGuard),
|
|
4547
5018
|
commandId: CommandId,
|
|
4548
5019
|
threadId: ThreadId,
|
|
4549
5020
|
message: Schema.Struct({
|
|
@@ -4686,6 +5157,8 @@ const WorktreeSourceControlStateUpdateCommand = Schema.Struct({
|
|
|
4686
5157
|
prTitle: Schema.optional(Schema.NullOr(TrimmedNonEmptyString)),
|
|
4687
5158
|
prState: Schema.NullOr(PullRequestState),
|
|
4688
5159
|
prIsDraft: Schema.NullOr(Schema.Boolean),
|
|
5160
|
+
/** When the PR reached its current merged/closed state; see `Worktree.prTerminalAt`. */
|
|
5161
|
+
prTerminalAt: Schema.optional(Schema.NullOr(IsoDateTime)),
|
|
4689
5162
|
issueState: Schema.NullOr(IssueState),
|
|
4690
5163
|
updatedAt: IsoDateTime
|
|
4691
5164
|
});
|
|
@@ -4697,6 +5170,11 @@ const WorktreeRestoreCommand = Schema.Struct({
|
|
|
4697
5170
|
worktreePath: Schema.optional(Schema.NullOr(TrimmedNonEmptyString)),
|
|
4698
5171
|
restoredAt: IsoDateTime
|
|
4699
5172
|
});
|
|
5173
|
+
/**
|
|
5174
|
+
* Drops a workspace record. Never touches conversations: the decider refuses while
|
|
5175
|
+
* any conversation (active, archived or trashed) still references the record.
|
|
5176
|
+
* `sessions` is decoded for stored commands only; "delete" is always refused.
|
|
5177
|
+
*/
|
|
4700
5178
|
const WorktreeDeleteCommand = Schema.Struct({
|
|
4701
5179
|
sessions: Schema.optional(Schema.Literals(["preserve", "delete"])),
|
|
4702
5180
|
type: Schema.Literal("worktree.delete"),
|
|
@@ -4706,6 +5184,37 @@ const WorktreeDeleteCommand = Schema.Struct({
|
|
|
4706
5184
|
deletedAt: IsoDateTime,
|
|
4707
5185
|
deletedBranch: Schema.Boolean
|
|
4708
5186
|
});
|
|
5187
|
+
/**
|
|
5188
|
+
* Server-only (workspace lifecycle service): records that the physical checkout is
|
|
5189
|
+
* gone. Archives the record when it is still active; the path and branch stay.
|
|
5190
|
+
*/
|
|
5191
|
+
const WorktreeCheckoutRemoveCommand = Schema.Struct({
|
|
5192
|
+
type: Schema.Literal("worktree.checkout.remove"),
|
|
5193
|
+
commandId: CommandId,
|
|
5194
|
+
worktreeId: WorktreeId,
|
|
5195
|
+
reason: WorktreeCheckoutRemovalReason,
|
|
5196
|
+
lifecycleGuard: Schema.optional(WorktreeLifecycleGuard),
|
|
5197
|
+
removedAt: IsoDateTime
|
|
5198
|
+
});
|
|
5199
|
+
/** Server-only: the checkout was recreated at its recorded path. */
|
|
5200
|
+
const WorktreeCheckoutRestoreCommand = Schema.Struct({
|
|
5201
|
+
type: Schema.Literal("worktree.checkout.restore"),
|
|
5202
|
+
commandId: CommandId,
|
|
5203
|
+
worktreeId: WorktreeId,
|
|
5204
|
+
worktreePath: TrimmedNonEmptyString,
|
|
5205
|
+
restoredAt: IsoDateTime
|
|
5206
|
+
});
|
|
5207
|
+
/** Server-only: a verified managed checkout moved under workspace lifecycle admission. */
|
|
5208
|
+
const WorktreeRelocateCommand = Schema.Struct({
|
|
5209
|
+
type: Schema.Literal("worktree.relocate"),
|
|
5210
|
+
commandId: CommandId,
|
|
5211
|
+
worktreeId: WorktreeId,
|
|
5212
|
+
projectId: ProjectId,
|
|
5213
|
+
sourcePath: TrimmedNonEmptyString,
|
|
5214
|
+
destinationPath: TrimmedNonEmptyString,
|
|
5215
|
+
expectedUpdatedAt: IsoDateTime,
|
|
5216
|
+
relocatedAt: IsoDateTime
|
|
5217
|
+
});
|
|
4709
5218
|
const ThreadAttachToWorktreeCommand = Schema.Struct({
|
|
4710
5219
|
type: Schema.Literal("thread.attach-to-worktree"),
|
|
4711
5220
|
commandId: CommandId,
|
|
@@ -4741,11 +5250,14 @@ const DispatchableClientOrchestrationCommand = Schema.Union([
|
|
|
4741
5250
|
ProjectDeleteCommand,
|
|
4742
5251
|
ThreadCreateCommand,
|
|
4743
5252
|
ThreadDeleteCommand,
|
|
5253
|
+
ThreadTrashCommand,
|
|
5254
|
+
ThreadUntrashCommand,
|
|
4744
5255
|
ThreadArchiveCommand,
|
|
4745
5256
|
ThreadSidebarUndoCommand,
|
|
4746
5257
|
ThreadUnarchiveCommand,
|
|
4747
5258
|
ThreadSnoozeCommand,
|
|
4748
5259
|
ThreadUnsnoozeCommand,
|
|
5260
|
+
ThreadUsageLimitConfigureCommand,
|
|
4749
5261
|
ThreadSettleCommand,
|
|
4750
5262
|
ThreadUnsettleCommand,
|
|
4751
5263
|
ThreadMetaUpdateCommand,
|
|
@@ -4779,11 +5291,14 @@ const ClientOrchestrationCommand = Schema.Union([
|
|
|
4779
5291
|
ProjectDeleteCommand,
|
|
4780
5292
|
ThreadCreateCommand,
|
|
4781
5293
|
ThreadDeleteCommand,
|
|
5294
|
+
ThreadTrashCommand,
|
|
5295
|
+
ThreadUntrashCommand,
|
|
4782
5296
|
ThreadArchiveCommand,
|
|
4783
5297
|
ThreadSidebarUndoCommand,
|
|
4784
5298
|
ThreadUnarchiveCommand,
|
|
4785
5299
|
ThreadSnoozeCommand,
|
|
4786
5300
|
ThreadUnsnoozeCommand,
|
|
5301
|
+
ThreadUsageLimitConfigureCommand,
|
|
4787
5302
|
ThreadSettleCommand,
|
|
4788
5303
|
ThreadUnsettleCommand,
|
|
4789
5304
|
ThreadMetaUpdateCommand,
|
|
@@ -4810,11 +5325,25 @@ const ClientOrchestrationCommand = Schema.Union([
|
|
|
4810
5325
|
ThreadManualPositionSetCommand,
|
|
4811
5326
|
WorktreeManualPositionSetCommand
|
|
4812
5327
|
]);
|
|
5328
|
+
/**
|
|
5329
|
+
* The runtime a provider-originated session update comes from. The update applies only while
|
|
5330
|
+
* the thread's session is still bound to exactly this provider instance and runtime (null: none),
|
|
5331
|
+
* so a late lifecycle event of a replaced runtime can never overwrite its successor, whatever
|
|
5332
|
+
* order the two writes reach the engine in.
|
|
5333
|
+
*/
|
|
5334
|
+
const ThreadSessionSetExpectedRuntime = Schema.Struct({
|
|
5335
|
+
providerInstanceId: Schema.NullOr(ProviderInstanceId),
|
|
5336
|
+
runtimeSessionId: Schema.NullOr(RuntimeSessionId)
|
|
5337
|
+
});
|
|
4813
5338
|
const ThreadSessionSetCommand = Schema.Struct({
|
|
4814
5339
|
type: Schema.Literal("thread.session.set"),
|
|
4815
5340
|
commandId: CommandId,
|
|
4816
5341
|
threadId: ThreadId,
|
|
4817
5342
|
session: OrchestrationSession,
|
|
5343
|
+
/** Server-internal precondition; absent for server-decided transitions (bind, stop, restart). */
|
|
5344
|
+
expectedRuntime: Schema.optional(ThreadSessionSetExpectedRuntime),
|
|
5345
|
+
/** Internal hint: how the turn this session-set releases ended, when the caller knows. */
|
|
5346
|
+
turnOutcome: Schema.optional(OrchestrationTurnOutcome),
|
|
4818
5347
|
createdAt: IsoDateTime
|
|
4819
5348
|
});
|
|
4820
5349
|
const ThreadMessageAssistantDeltaCommand = Schema.Struct({
|
|
@@ -4899,6 +5428,8 @@ const ThreadTurnSteerResolveCommand = Schema.Union([Schema.Struct({
|
|
|
4899
5428
|
resolution: Schema.Struct({
|
|
4900
5429
|
status: Schema.Literal("rejected"),
|
|
4901
5430
|
error: TrimmedNonEmptyString.check(Schema.isMaxLength(1e3)),
|
|
5431
|
+
reason: Schema.optionalKey(TurnSteerRejectionReason),
|
|
5432
|
+
deliveryUncertain: TurnSteerDeliveryUncertain,
|
|
4902
5433
|
resolvedAt: IsoDateTime
|
|
4903
5434
|
})
|
|
4904
5435
|
})]);
|
|
@@ -4907,6 +5438,8 @@ const ThreadRevertCompleteCommand = Schema.Struct({
|
|
|
4907
5438
|
commandId: CommandId,
|
|
4908
5439
|
threadId: ThreadId,
|
|
4909
5440
|
turnCount: NonNegativeInt,
|
|
5441
|
+
droppedTurnIds: Schema.optional(Schema.Array(TurnId)),
|
|
5442
|
+
latestTurn: Schema.optional(Schema.NullOr(OrchestrationLatestTurn)),
|
|
4910
5443
|
createdAt: IsoDateTime
|
|
4911
5444
|
});
|
|
4912
5445
|
const ThreadGoalSyncCommand = Schema.Struct({
|
|
@@ -4917,6 +5450,19 @@ const ThreadGoalSyncCommand = Schema.Struct({
|
|
|
4917
5450
|
expectedRequestId: Schema.optional(Schema.String),
|
|
4918
5451
|
createdAt: IsoDateTime
|
|
4919
5452
|
});
|
|
5453
|
+
/** Internal only: clients must never be able to forge a usage limit. */
|
|
5454
|
+
const ThreadUsageLimitRecordCommand = Schema.Struct({
|
|
5455
|
+
type: Schema.Literal("thread.usage-limit.record"),
|
|
5456
|
+
commandId: CommandId,
|
|
5457
|
+
threadId: ThreadId,
|
|
5458
|
+
limitId: ThreadUsageLimitId,
|
|
5459
|
+
provider: ProviderDriverKind,
|
|
5460
|
+
providerInstanceId: ProviderInstanceId,
|
|
5461
|
+
turnId: TurnId,
|
|
5462
|
+
message: TrimmedNonEmptyString.check(Schema.isMaxLength(1e3)),
|
|
5463
|
+
resetAt: Schema.NullOr(IsoDateTime),
|
|
5464
|
+
createdAt: IsoDateTime
|
|
5465
|
+
});
|
|
4920
5466
|
const ThreadGoalProviderClearCommand = Schema.Struct({
|
|
4921
5467
|
type: Schema.Literal("thread.goal.provider-clear"),
|
|
4922
5468
|
commandId: CommandId,
|
|
@@ -4925,6 +5471,7 @@ const ThreadGoalProviderClearCommand = Schema.Struct({
|
|
|
4925
5471
|
createdAt: IsoDateTime
|
|
4926
5472
|
});
|
|
4927
5473
|
const InternalOrchestrationCommand = Schema.Union([
|
|
5474
|
+
ThreadDelegatedCreateCommand,
|
|
4928
5475
|
Schema.Struct({
|
|
4929
5476
|
...ThreadCreateCommand.fields,
|
|
4930
5477
|
type: Schema.Literal("thread.history.import"),
|
|
@@ -4954,7 +5501,11 @@ const InternalOrchestrationCommand = Schema.Union([
|
|
|
4954
5501
|
ThreadTurnSteerResolveCommand,
|
|
4955
5502
|
ThreadRevertCompleteCommand,
|
|
4956
5503
|
ThreadGoalSyncCommand,
|
|
4957
|
-
ThreadGoalProviderClearCommand
|
|
5504
|
+
ThreadGoalProviderClearCommand,
|
|
5505
|
+
ThreadUsageLimitRecordCommand,
|
|
5506
|
+
WorktreeCheckoutRemoveCommand,
|
|
5507
|
+
WorktreeCheckoutRestoreCommand,
|
|
5508
|
+
WorktreeRelocateCommand
|
|
4958
5509
|
]);
|
|
4959
5510
|
const OrchestrationCommand = Schema.Union([DispatchableClientOrchestrationCommand, InternalOrchestrationCommand]);
|
|
4960
5511
|
const OrchestrationEventType = Schema.Literals([
|
|
@@ -4964,12 +5515,16 @@ const OrchestrationEventType = Schema.Literals([
|
|
|
4964
5515
|
"project.deleted",
|
|
4965
5516
|
"thread.created",
|
|
4966
5517
|
"thread.deleted",
|
|
5518
|
+
"thread.trashed",
|
|
5519
|
+
"thread.untrashed",
|
|
4967
5520
|
"thread.archived",
|
|
4968
5521
|
"thread.unarchived",
|
|
4969
5522
|
"thread.snoozed",
|
|
4970
5523
|
"thread.unsnoozed",
|
|
4971
5524
|
"thread.settled",
|
|
4972
5525
|
"thread.unsettled",
|
|
5526
|
+
"thread.usage-limit-set",
|
|
5527
|
+
"thread.usage-limit-cleared",
|
|
4973
5528
|
"thread.meta-updated",
|
|
4974
5529
|
"thread.runtime-mode-set",
|
|
4975
5530
|
"thread.interaction-mode-set",
|
|
@@ -4998,6 +5553,9 @@ const OrchestrationEventType = Schema.Literals([
|
|
|
4998
5553
|
"worktree.sourceControlStateUpdated",
|
|
4999
5554
|
"worktree.restored",
|
|
5000
5555
|
"worktree.deleted",
|
|
5556
|
+
"worktree.checkoutRemoved",
|
|
5557
|
+
"worktree.checkoutRestored",
|
|
5558
|
+
"worktree.relocated",
|
|
5001
5559
|
"thread.attachedToWorktree",
|
|
5002
5560
|
"thread.statusBucketOverridden",
|
|
5003
5561
|
"thread.manualPositionSet",
|
|
@@ -5015,6 +5573,7 @@ const OrchestrationActorKind = Schema.Literals([
|
|
|
5015
5573
|
]);
|
|
5016
5574
|
const ProjectCreatedPayload = Schema.Struct({
|
|
5017
5575
|
projectId: ProjectId,
|
|
5576
|
+
kind: OptionalProjectKind,
|
|
5018
5577
|
title: TrimmedNonEmptyString,
|
|
5019
5578
|
workspaceRoot: TrimmedNonEmptyString,
|
|
5020
5579
|
projectMetadataDir: Schema.optional(ProjectMetadataDir).pipe(Schema.withDecodingDefault(Effect.succeed(DEFAULT_PROJECT_METADATA_DIR))),
|
|
@@ -5027,6 +5586,8 @@ const ProjectCreatedPayload = Schema.Struct({
|
|
|
5027
5586
|
});
|
|
5028
5587
|
const ProjectMetaUpdatedPayload = Schema.Struct({
|
|
5029
5588
|
projectId: ProjectId,
|
|
5589
|
+
/** Present only when the kind changed, which is always `chat` -> `project`. */
|
|
5590
|
+
kind: Schema.optional(ProjectKind),
|
|
5030
5591
|
title: Schema.optional(TrimmedNonEmptyString),
|
|
5031
5592
|
workspaceRoot: Schema.optional(TrimmedNonEmptyString),
|
|
5032
5593
|
projectMetadataDir: Schema.optional(ProjectMetadataDir),
|
|
@@ -5057,12 +5618,22 @@ const ThreadCreatedPayload = Schema.Struct({
|
|
|
5057
5618
|
branch: Schema.NullOr(TrimmedNonEmptyString),
|
|
5058
5619
|
worktreePath: Schema.NullOr(TrimmedNonEmptyString),
|
|
5059
5620
|
createdAt: IsoDateTime,
|
|
5060
|
-
updatedAt: IsoDateTime
|
|
5621
|
+
updatedAt: IsoDateTime,
|
|
5622
|
+
lineage: Schema.optional(ThreadLineage)
|
|
5061
5623
|
});
|
|
5062
5624
|
const ThreadDeletedPayload = Schema.Struct({
|
|
5063
5625
|
threadId: ThreadId,
|
|
5064
5626
|
deletedAt: IsoDateTime
|
|
5065
5627
|
});
|
|
5628
|
+
const ThreadTrashedPayload = Schema.Struct({
|
|
5629
|
+
threadId: ThreadId,
|
|
5630
|
+
trashedAt: IsoDateTime,
|
|
5631
|
+
updatedAt: IsoDateTime
|
|
5632
|
+
});
|
|
5633
|
+
const ThreadUntrashedPayload = Schema.Struct({
|
|
5634
|
+
threadId: ThreadId,
|
|
5635
|
+
updatedAt: IsoDateTime
|
|
5636
|
+
});
|
|
5066
5637
|
const ThreadArchivedPayload = Schema.Struct({
|
|
5067
5638
|
threadId: ThreadId,
|
|
5068
5639
|
archivedAt: IsoDateTime,
|
|
@@ -5100,6 +5671,20 @@ const ThreadUnsettledPayload = Schema.Struct({
|
|
|
5100
5671
|
updatedAt: IsoDateTime,
|
|
5101
5672
|
restoredSidebarState: Schema.optional(ThreadSidebarRestoreState)
|
|
5102
5673
|
});
|
|
5674
|
+
const ThreadUsageLimitSetPayload = Schema.Struct({
|
|
5675
|
+
threadId: ThreadId,
|
|
5676
|
+
usageLimit: ThreadUsageLimit
|
|
5677
|
+
});
|
|
5678
|
+
const ThreadUsageLimitClearedPayload = Schema.Struct({
|
|
5679
|
+
threadId: ThreadId,
|
|
5680
|
+
limitId: ThreadUsageLimitId,
|
|
5681
|
+
reason: Schema.Literals([
|
|
5682
|
+
"turn-started",
|
|
5683
|
+
"archived",
|
|
5684
|
+
"reverted"
|
|
5685
|
+
]),
|
|
5686
|
+
updatedAt: IsoDateTime
|
|
5687
|
+
});
|
|
5103
5688
|
const ThreadMetaUpdatedPayload = Schema.Struct({
|
|
5104
5689
|
threadId: ThreadId,
|
|
5105
5690
|
title: Schema.optional(TrimmedNonEmptyString),
|
|
@@ -5169,6 +5754,8 @@ const ThreadTurnSteerRejectedPayload = Schema.Struct({
|
|
|
5169
5754
|
messageId: MessageId,
|
|
5170
5755
|
expectedTurnId: TurnId,
|
|
5171
5756
|
error: TrimmedNonEmptyString.check(Schema.isMaxLength(1e3)),
|
|
5757
|
+
reason: Schema.optionalKey(TurnSteerRejectionReason),
|
|
5758
|
+
deliveryUncertain: TurnSteerDeliveryUncertain,
|
|
5172
5759
|
resolvedAt: IsoDateTime
|
|
5173
5760
|
});
|
|
5174
5761
|
const ThreadContextHandoffRequestedPayload = Schema.Struct({
|
|
@@ -5223,7 +5810,13 @@ const ThreadCheckpointRevertRequestedPayload = Schema.Struct({
|
|
|
5223
5810
|
});
|
|
5224
5811
|
const ThreadRevertedPayload = Schema.Struct({
|
|
5225
5812
|
threadId: ThreadId,
|
|
5226
|
-
turnCount: NonNegativeInt
|
|
5813
|
+
turnCount: NonNegativeInt,
|
|
5814
|
+
/**
|
|
5815
|
+
* Authoritative revert result read from the projection. Absent on legacy
|
|
5816
|
+
* events, which keep the count-based projection.
|
|
5817
|
+
*/
|
|
5818
|
+
droppedTurnIds: Schema.optional(Schema.Array(TurnId)),
|
|
5819
|
+
latestTurn: Schema.optional(Schema.NullOr(OrchestrationLatestTurn))
|
|
5227
5820
|
});
|
|
5228
5821
|
const ThreadSessionStopRequestedPayload = Schema.Struct({
|
|
5229
5822
|
threadId: ThreadId,
|
|
@@ -5231,7 +5824,9 @@ const ThreadSessionStopRequestedPayload = Schema.Struct({
|
|
|
5231
5824
|
});
|
|
5232
5825
|
const ThreadSessionSetPayload = Schema.Struct({
|
|
5233
5826
|
threadId: ThreadId,
|
|
5234
|
-
session: OrchestrationSession
|
|
5827
|
+
session: OrchestrationSession,
|
|
5828
|
+
/** Decided by the server: the turn this session-set releases and its terminal state. */
|
|
5829
|
+
releasedTurn: Schema.optional(OrchestrationReleasedTurn)
|
|
5235
5830
|
});
|
|
5236
5831
|
const ThreadProposedPlanUpsertedPayload = Schema.Struct({
|
|
5237
5832
|
threadId: ThreadId,
|
|
@@ -5287,6 +5882,8 @@ const WorktreeSourceControlStateUpdatedPayload = Schema.Struct({
|
|
|
5287
5882
|
prTitle: Schema.optional(Schema.NullOr(TrimmedNonEmptyString)),
|
|
5288
5883
|
prState: Schema.NullOr(PullRequestState),
|
|
5289
5884
|
prIsDraft: Schema.NullOr(Schema.Boolean),
|
|
5885
|
+
/** When the PR reached its current merged/closed state; see `Worktree.prTerminalAt`. */
|
|
5886
|
+
prTerminalAt: Schema.optional(Schema.NullOr(IsoDateTime)),
|
|
5290
5887
|
issueState: Schema.NullOr(IssueState),
|
|
5291
5888
|
updatedAt: IsoDateTime
|
|
5292
5889
|
});
|
|
@@ -5300,6 +5897,23 @@ const WorktreeDeletedPayload = Schema.Struct({
|
|
|
5300
5897
|
deletedAt: IsoDateTime,
|
|
5301
5898
|
deletedBranch: Schema.Boolean
|
|
5302
5899
|
});
|
|
5900
|
+
const WorktreeCheckoutRemovedPayload = Schema.Struct({
|
|
5901
|
+
worktreeId: WorktreeId,
|
|
5902
|
+
reason: WorktreeCheckoutRemovalReason,
|
|
5903
|
+
removedAt: IsoDateTime
|
|
5904
|
+
});
|
|
5905
|
+
const WorktreeCheckoutRestoredPayload = Schema.Struct({
|
|
5906
|
+
worktreeId: WorktreeId,
|
|
5907
|
+
worktreePath: TrimmedNonEmptyString,
|
|
5908
|
+
restoredAt: IsoDateTime
|
|
5909
|
+
});
|
|
5910
|
+
const WorktreeRelocatedPayload = Schema.Struct({
|
|
5911
|
+
worktreeId: WorktreeId,
|
|
5912
|
+
projectId: ProjectId,
|
|
5913
|
+
sourcePath: TrimmedNonEmptyString,
|
|
5914
|
+
destinationPath: TrimmedNonEmptyString,
|
|
5915
|
+
relocatedAt: IsoDateTime
|
|
5916
|
+
});
|
|
5303
5917
|
const ThreadAttachedToWorktreePayload = Schema.Struct({
|
|
5304
5918
|
threadId: ThreadId,
|
|
5305
5919
|
worktreeId: WorktreeId,
|
|
@@ -5373,6 +5987,16 @@ const OrchestrationEvent = Schema.Union([
|
|
|
5373
5987
|
type: Schema.Literal("thread.deleted"),
|
|
5374
5988
|
payload: ThreadDeletedPayload
|
|
5375
5989
|
}),
|
|
5990
|
+
Schema.Struct({
|
|
5991
|
+
...EventBaseFields,
|
|
5992
|
+
type: Schema.Literal("thread.trashed"),
|
|
5993
|
+
payload: ThreadTrashedPayload
|
|
5994
|
+
}),
|
|
5995
|
+
Schema.Struct({
|
|
5996
|
+
...EventBaseFields,
|
|
5997
|
+
type: Schema.Literal("thread.untrashed"),
|
|
5998
|
+
payload: ThreadUntrashedPayload
|
|
5999
|
+
}),
|
|
5376
6000
|
Schema.Struct({
|
|
5377
6001
|
...EventBaseFields,
|
|
5378
6002
|
type: Schema.Literal("thread.archived"),
|
|
@@ -5403,6 +6027,16 @@ const OrchestrationEvent = Schema.Union([
|
|
|
5403
6027
|
type: Schema.Literal("thread.unsettled"),
|
|
5404
6028
|
payload: ThreadUnsettledPayload
|
|
5405
6029
|
}),
|
|
6030
|
+
Schema.Struct({
|
|
6031
|
+
...EventBaseFields,
|
|
6032
|
+
type: Schema.Literal("thread.usage-limit-set"),
|
|
6033
|
+
payload: ThreadUsageLimitSetPayload
|
|
6034
|
+
}),
|
|
6035
|
+
Schema.Struct({
|
|
6036
|
+
...EventBaseFields,
|
|
6037
|
+
type: Schema.Literal("thread.usage-limit-cleared"),
|
|
6038
|
+
payload: ThreadUsageLimitClearedPayload
|
|
6039
|
+
}),
|
|
5406
6040
|
Schema.Struct({
|
|
5407
6041
|
...EventBaseFields,
|
|
5408
6042
|
type: Schema.Literal("thread.meta-updated"),
|
|
@@ -5543,6 +6177,21 @@ const OrchestrationEvent = Schema.Union([
|
|
|
5543
6177
|
type: Schema.Literal("worktree.deleted"),
|
|
5544
6178
|
payload: WorktreeDeletedPayload
|
|
5545
6179
|
}),
|
|
6180
|
+
Schema.Struct({
|
|
6181
|
+
...EventBaseFields,
|
|
6182
|
+
type: Schema.Literal("worktree.checkoutRemoved"),
|
|
6183
|
+
payload: WorktreeCheckoutRemovedPayload
|
|
6184
|
+
}),
|
|
6185
|
+
Schema.Struct({
|
|
6186
|
+
...EventBaseFields,
|
|
6187
|
+
type: Schema.Literal("worktree.checkoutRestored"),
|
|
6188
|
+
payload: WorktreeCheckoutRestoredPayload
|
|
6189
|
+
}),
|
|
6190
|
+
Schema.Struct({
|
|
6191
|
+
...EventBaseFields,
|
|
6192
|
+
type: Schema.Literal("worktree.relocated"),
|
|
6193
|
+
payload: WorktreeRelocatedPayload
|
|
6194
|
+
}),
|
|
5546
6195
|
Schema.Struct({
|
|
5547
6196
|
...EventBaseFields,
|
|
5548
6197
|
type: Schema.Literal("thread.attachedToWorktree"),
|
|
@@ -5564,20 +6213,34 @@ const OrchestrationEvent = Schema.Union([
|
|
|
5564
6213
|
payload: WorktreeManualPositionSetPayload
|
|
5565
6214
|
})
|
|
5566
6215
|
]);
|
|
5567
|
-
const OrchestrationThreadStreamItem = Schema.Union([
|
|
5568
|
-
|
|
5569
|
-
|
|
5570
|
-
|
|
5571
|
-
|
|
5572
|
-
|
|
5573
|
-
|
|
5574
|
-
|
|
5575
|
-
|
|
5576
|
-
|
|
5577
|
-
|
|
5578
|
-
|
|
5579
|
-
|
|
5580
|
-
|
|
6216
|
+
const OrchestrationThreadStreamItem = Schema.Union([
|
|
6217
|
+
Schema.Struct({
|
|
6218
|
+
kind: Schema.Literal("snapshot"),
|
|
6219
|
+
snapshot: OrchestrationThreadDetailSnapshot
|
|
6220
|
+
}),
|
|
6221
|
+
Schema.Struct({
|
|
6222
|
+
kind: Schema.Literal("resumed"),
|
|
6223
|
+
fromSequence: NonNegativeInt
|
|
6224
|
+
}),
|
|
6225
|
+
Schema.Struct({
|
|
6226
|
+
kind: Schema.Literal("event"),
|
|
6227
|
+
event: OrchestrationEvent
|
|
6228
|
+
})
|
|
6229
|
+
]);
|
|
6230
|
+
const OrchestrationThreadWindowStreamItem = Schema.Union([
|
|
6231
|
+
Schema.Struct({
|
|
6232
|
+
kind: Schema.Literal("snapshot"),
|
|
6233
|
+
snapshot: OrchestrationThreadWindowSnapshot
|
|
6234
|
+
}),
|
|
6235
|
+
Schema.Struct({
|
|
6236
|
+
kind: Schema.Literal("resumed"),
|
|
6237
|
+
fromSequence: NonNegativeInt
|
|
6238
|
+
}),
|
|
6239
|
+
Schema.Struct({
|
|
6240
|
+
kind: Schema.Literal("event"),
|
|
6241
|
+
event: OrchestrationEvent
|
|
6242
|
+
})
|
|
6243
|
+
]);
|
|
5581
6244
|
const OrchestrationCommandReceiptStatus = Schema.Literals(["accepted", "rejected"]);
|
|
5582
6245
|
const TurnCountRange = Schema.Struct({
|
|
5583
6246
|
fromTurnCount: NonNegativeInt,
|
|
@@ -5815,11 +6478,11 @@ const OrchestrationRpcSchemas = {
|
|
|
5815
6478
|
output: OrchestrationThreadStreamItem
|
|
5816
6479
|
},
|
|
5817
6480
|
subscribeThreadWindow: {
|
|
5818
|
-
input:
|
|
6481
|
+
input: OrchestrationSubscribeThreadWindowInput,
|
|
5819
6482
|
output: OrchestrationThreadWindowStreamItem
|
|
5820
6483
|
},
|
|
5821
6484
|
subscribeShell: {
|
|
5822
|
-
input:
|
|
6485
|
+
input: OrchestrationSubscribeShellInput,
|
|
5823
6486
|
output: OrchestrationShellStreamItem
|
|
5824
6487
|
}
|
|
5825
6488
|
};
|
|
@@ -5827,8 +6490,20 @@ var OrchestrationGetSnapshotError = class extends Schema.TaggedError()("Orchestr
|
|
|
5827
6490
|
message: TrimmedNonEmptyString,
|
|
5828
6491
|
cause: Schema.optional(Schema.Defect())
|
|
5829
6492
|
}) {};
|
|
6493
|
+
/**
|
|
6494
|
+
* Machine-readable dispatch failures a client acts on. Absent for every other failure, which a
|
|
6495
|
+
* client only shows by `message`.
|
|
6496
|
+
*
|
|
6497
|
+
* - `chat-project-retired`: a `thread.turn.start` whose `bootstrap.createChatProject` names a
|
|
6498
|
+
* project id this node has already deleted, such as an unused chat removed by startup cleanup.
|
|
6499
|
+
* Nothing was created and the id can never be used again. The client gives the draft a fresh
|
|
6500
|
+
* project id and sends again once.
|
|
6501
|
+
*/
|
|
6502
|
+
const OrchestrationDispatchCommandErrorReason = Schema.Literals(["chat-project-retired"]);
|
|
5830
6503
|
var OrchestrationDispatchCommandError = class extends Schema.TaggedError()("OrchestrationDispatchCommandError", {
|
|
5831
6504
|
message: TrimmedNonEmptyString,
|
|
6505
|
+
/** Additive: older clients ignore it and show `message`. */
|
|
6506
|
+
reason: Schema.optionalKey(OrchestrationDispatchCommandErrorReason),
|
|
5832
6507
|
cause: Schema.optional(Schema.Defect())
|
|
5833
6508
|
}) {};
|
|
5834
6509
|
var OrchestrationGetTurnDiffError = class extends Schema.TaggedError()("OrchestrationGetTurnDiffError", {
|
|
@@ -5969,6 +6644,13 @@ const ClaudeCacheObservation = Schema.Struct({
|
|
|
5969
6644
|
providerInstanceId: ProviderInstanceId,
|
|
5970
6645
|
model: TrimmedNonEmptyString,
|
|
5971
6646
|
modelSelection: Schema.optional(ModelSelection),
|
|
6647
|
+
/**
|
|
6648
|
+
* The working directory of the runtime that made this request. Claude keeps native
|
|
6649
|
+
* conversations per directory, so once the thread's working directory differs, the next
|
|
6650
|
+
* turn continues in a fresh session instead of resuming this conversation. Absent from
|
|
6651
|
+
* older servers.
|
|
6652
|
+
*/
|
|
6653
|
+
cwd: Schema.optional(TrimmedNonEmptyString),
|
|
5972
6654
|
messageId: TrimmedNonEmptyString,
|
|
5973
6655
|
directInputTokens: NonNegativeInt,
|
|
5974
6656
|
cacheReadInputTokens: NonNegativeInt,
|
|
@@ -6064,6 +6746,7 @@ const RuntimeErrorClass = Schema.Literals([
|
|
|
6064
6746
|
"transport_error",
|
|
6065
6747
|
"permission_error",
|
|
6066
6748
|
"validation_error",
|
|
6749
|
+
"usage_limit",
|
|
6067
6750
|
"unknown"
|
|
6068
6751
|
]);
|
|
6069
6752
|
const TOOL_LIFECYCLE_ITEM_TYPES = [
|
|
@@ -6254,7 +6937,25 @@ const ThreadMetadataUpdatedPayload = Schema.Struct({
|
|
|
6254
6937
|
});
|
|
6255
6938
|
const ProviderThreadGoalUpdatedPayload = Schema.Struct({ goal: ThreadGoal });
|
|
6256
6939
|
const ProviderThreadGoalClearedPayload = Schema.Struct({});
|
|
6940
|
+
/** Billing/work counters are separate from the current context-window gauge. */
|
|
6941
|
+
const ProcessedTokenUsage = Schema.Struct({
|
|
6942
|
+
scope: Schema.Literals([
|
|
6943
|
+
"session",
|
|
6944
|
+
"turn",
|
|
6945
|
+
"request"
|
|
6946
|
+
]),
|
|
6947
|
+
requestId: Schema.optional(TrimmedNonEmptyStringSchema$1),
|
|
6948
|
+
sessionId: Schema.optional(TrimmedNonEmptyStringSchema$1),
|
|
6949
|
+
/** Includes cache reads and writes. */
|
|
6950
|
+
inputTokens: NonNegativeInt,
|
|
6951
|
+
cachedInputTokens: NonNegativeInt,
|
|
6952
|
+
/** Includes reasoning output; reasoning is not charged a second time. */
|
|
6953
|
+
outputTokens: NonNegativeInt,
|
|
6954
|
+
reasoningOutputTokens: NonNegativeInt,
|
|
6955
|
+
totalTokens: NonNegativeInt
|
|
6956
|
+
});
|
|
6257
6957
|
const ThreadTokenUsageSnapshot = Schema.Struct({
|
|
6958
|
+
processedUsage: Schema.optional(ProcessedTokenUsage),
|
|
6258
6959
|
claudeCache: Schema.optional(ClaudeCacheObservation),
|
|
6259
6960
|
usedTokens: NonNegativeInt,
|
|
6260
6961
|
totalProcessedTokens: Schema.optional(NonNegativeInt),
|
|
@@ -6580,7 +7281,19 @@ const AuthStatusPayload = Schema.Struct({
|
|
|
6580
7281
|
error: Schema.optional(TrimmedNonEmptyStringSchema$1)
|
|
6581
7282
|
});
|
|
6582
7283
|
const AccountUpdatedPayload = Schema.Struct({ account: Schema.Unknown });
|
|
6583
|
-
|
|
7284
|
+
/**
|
|
7285
|
+
* Provider-agnostic reading of a rate-limit update. `exhausted` means at least one
|
|
7286
|
+
* window is rejected or at 100%; `resetAt` is when ALL exhausted windows reset, or
|
|
7287
|
+
* null when any of their resets is unknown.
|
|
7288
|
+
*/
|
|
7289
|
+
const UsageLimitState = Schema.Struct({
|
|
7290
|
+
exhausted: Schema.Boolean,
|
|
7291
|
+
resetAt: Schema.NullOr(IsoDateTime)
|
|
7292
|
+
});
|
|
7293
|
+
const AccountRateLimitsUpdatedPayload = Schema.Struct({
|
|
7294
|
+
rateLimits: Schema.Unknown,
|
|
7295
|
+
usageLimitState: Schema.optional(UsageLimitState)
|
|
7296
|
+
});
|
|
6584
7297
|
const McpStatusUpdatedPayload = Schema.Struct({ status: Schema.Unknown });
|
|
6585
7298
|
const McpOauthCompletedPayload = Schema.Struct({
|
|
6586
7299
|
success: Schema.Boolean,
|
|
@@ -6625,7 +7338,12 @@ const RuntimeWarningPayload = Schema.Struct({
|
|
|
6625
7338
|
const RuntimeErrorPayload = Schema.Struct({
|
|
6626
7339
|
message: TrimmedNonEmptyStringSchema$1,
|
|
6627
7340
|
class: Schema.optional(RuntimeErrorClass),
|
|
6628
|
-
detail: Schema.optional(Schema.Unknown)
|
|
7341
|
+
detail: Schema.optional(Schema.Unknown),
|
|
7342
|
+
/**
|
|
7343
|
+
* Only meaningful for `class: "usage_limit"`: when the limit resets. null = a limit
|
|
7344
|
+
* with an unknown reset; absent = not applicable.
|
|
7345
|
+
*/
|
|
7346
|
+
resetAt: Schema.optional(Schema.NullOr(IsoDateTime))
|
|
6629
7347
|
});
|
|
6630
7348
|
const ProviderRuntimeSessionStartedEvent = Schema.Struct({
|
|
6631
7349
|
...ProviderRuntimeEventBase.fields,
|
|
@@ -6995,6 +7713,11 @@ const THREAD_KEYBINDING_COMMANDS = [
|
|
|
6995
7713
|
"thread.next",
|
|
6996
7714
|
...THREAD_JUMP_KEYBINDING_COMMANDS
|
|
6997
7715
|
];
|
|
7716
|
+
/**
|
|
7717
|
+
* Every built-in command a key can be bound to. Some ship without a default
|
|
7718
|
+
* key, so this — not the default keymap — is the list a keybindings editor
|
|
7719
|
+
* offers.
|
|
7720
|
+
*/
|
|
6998
7721
|
const STATIC_KEYBINDING_COMMANDS = [
|
|
6999
7722
|
"terminal.toggle",
|
|
7000
7723
|
"terminal.split",
|
|
@@ -7010,8 +7733,15 @@ const STATIC_KEYBINDING_COMMANDS = [
|
|
|
7010
7733
|
"sidebar.showProjects",
|
|
7011
7734
|
"chat.new",
|
|
7012
7735
|
"chat.newLocal",
|
|
7736
|
+
"chat.newWithoutProject",
|
|
7013
7737
|
"composer.stash",
|
|
7014
7738
|
"editor.openFavorite",
|
|
7739
|
+
"pane.split",
|
|
7740
|
+
"pane.close",
|
|
7741
|
+
"pane.focusNext",
|
|
7742
|
+
"pane.focusPrevious",
|
|
7743
|
+
"pullRequests.open",
|
|
7744
|
+
"projects.open",
|
|
7015
7745
|
...["modelPicker.toggle", ...MODEL_PICKER_JUMP_KEYBINDING_COMMANDS],
|
|
7016
7746
|
...THREAD_KEYBINDING_COMMANDS
|
|
7017
7747
|
];
|
|
@@ -7020,7 +7750,13 @@ const SCRIPT_RUN_COMMAND_PATTERN = Schema.TemplateLiteral([
|
|
|
7020
7750
|
Schema.NonEmptyString.check(Schema.isMaxLength(24), Schema.isPattern(/^[a-z0-9][a-z0-9-]*$/)),
|
|
7021
7751
|
Schema.Literal(".run")
|
|
7022
7752
|
]);
|
|
7023
|
-
|
|
7753
|
+
/** Client-owned script commands include the environment and project identity. */
|
|
7754
|
+
const SCOPED_SCRIPT_RUN_COMMAND = Schema.String.check(Schema.isMaxLength(2048), Schema.isPattern(/^projectScript\.[^/]+\/[^/]+\/[a-z0-9][a-z0-9-]{0,23}\.run$/));
|
|
7755
|
+
const KeybindingCommand = Schema.Union([
|
|
7756
|
+
Schema.Literals(STATIC_KEYBINDING_COMMANDS),
|
|
7757
|
+
SCRIPT_RUN_COMMAND_PATTERN,
|
|
7758
|
+
SCOPED_SCRIPT_RUN_COMMAND
|
|
7759
|
+
]);
|
|
7024
7760
|
const KeybindingValue = TrimmedString.check(Schema.isMinLength(1), Schema.isMaxLength(64));
|
|
7025
7761
|
const KeybindingWhen = TrimmedString.check(Schema.isMinLength(1), Schema.isMaxLength(MAX_KEYBINDING_WHEN_LENGTH));
|
|
7026
7762
|
const KeybindingRule = Schema.Struct({
|
|
@@ -7073,6 +7809,10 @@ var KeybindingsConfigError = class extends Schema.TaggedError()("KeybindingsConf
|
|
|
7073
7809
|
return `Unable to parse keybindings config at ${this.configPath}: ${this.detail}`;
|
|
7074
7810
|
}
|
|
7075
7811
|
};
|
|
7812
|
+
Schema.Struct({
|
|
7813
|
+
rules: KeybindingsConfig,
|
|
7814
|
+
disabledCommands: Schema.Array(KeybindingCommand).check(Schema.isMaxLength(256))
|
|
7815
|
+
});
|
|
7076
7816
|
//#endregion
|
|
7077
7817
|
//#region ../../packages/contracts/src/codexResetCredits.ts
|
|
7078
7818
|
const CodexResetCredit = Schema.Struct({
|
|
@@ -7186,6 +7926,233 @@ var StorageError = class extends Schema.TaggedError()("StorageError", { detail:
|
|
|
7186
7926
|
}
|
|
7187
7927
|
};
|
|
7188
7928
|
//#endregion
|
|
7929
|
+
//#region ../../packages/contracts/src/workspaceLifecycle.ts
|
|
7930
|
+
/**
|
|
7931
|
+
* Workspace lifecycle is separate from conversation lifecycle. No action here ever
|
|
7932
|
+
* deletes a conversation; checkout removal archives the workspace's conversations
|
|
7933
|
+
* by default and keeps their history and the branch. Only an explicit discard
|
|
7934
|
+
* ("Delete workspace") throws work away, and it moves conversations to Trash.
|
|
7935
|
+
*/
|
|
7936
|
+
const WorkspaceLifecycleAction = Schema.Literals([
|
|
7937
|
+
"archive",
|
|
7938
|
+
"restore",
|
|
7939
|
+
"remove-checkout",
|
|
7940
|
+
"remove-stale-record",
|
|
7941
|
+
"recreate-checkout"
|
|
7942
|
+
]);
|
|
7943
|
+
/** `removed`: the record says the checkout is gone. `unavailable`: inspection failed. */
|
|
7944
|
+
const WorkspaceCheckoutState = Schema.Literals([
|
|
7945
|
+
"present",
|
|
7946
|
+
"missing",
|
|
7947
|
+
"removed",
|
|
7948
|
+
"unavailable"
|
|
7949
|
+
]);
|
|
7950
|
+
const SamplePaths = Schema.Array(Schema.String).check(Schema.isMaxLength(20));
|
|
7951
|
+
const WorkspaceChangeSummary = Schema.Struct({
|
|
7952
|
+
/** Tracked files with staged, unstaged or conflicted changes. */
|
|
7953
|
+
modified: NonNegativeInt,
|
|
7954
|
+
untracked: NonNegativeInt,
|
|
7955
|
+
/** Ignored content that is not a known regenerable cache (credentials, databases, outputs…). */
|
|
7956
|
+
protectedIgnored: NonNegativeInt,
|
|
7957
|
+
protectedIgnoredSample: SamplePaths,
|
|
7958
|
+
/** Ignored caches/build outputs that `git worktree remove` may discard. */
|
|
7959
|
+
regenerableIgnored: NonNegativeInt,
|
|
7960
|
+
regenerableIgnoredSample: SamplePaths,
|
|
7961
|
+
/** Status output exceeded its bound; treated as blocking. */
|
|
7962
|
+
truncated: Schema.Boolean
|
|
7963
|
+
});
|
|
7964
|
+
const WorkspaceConversationCounts = Schema.Struct({
|
|
7965
|
+
active: NonNegativeInt,
|
|
7966
|
+
archived: NonNegativeInt,
|
|
7967
|
+
trashed: NonNegativeInt
|
|
7968
|
+
});
|
|
7969
|
+
const WorkspaceActionAvailability = Schema.Struct({
|
|
7970
|
+
action: WorkspaceLifecycleAction,
|
|
7971
|
+
available: Schema.Boolean,
|
|
7972
|
+
blockers: Schema.Array(Schema.String)
|
|
7973
|
+
});
|
|
7974
|
+
const WorkspaceLifecycleSummary = Schema.Struct({
|
|
7975
|
+
worktreeId: WorktreeId,
|
|
7976
|
+
projectId: ProjectId,
|
|
7977
|
+
title: Schema.String,
|
|
7978
|
+
branch: TrimmedNonEmptyString,
|
|
7979
|
+
path: Schema.NullOr(Schema.String),
|
|
7980
|
+
origin: WorktreeOrigin,
|
|
7981
|
+
/** The project root/main checkout is never a disposable workspace. */
|
|
7982
|
+
main: Schema.Boolean,
|
|
7983
|
+
archivedAt: Schema.NullOr(IsoDateTime),
|
|
7984
|
+
checkoutRemovedAt: Schema.NullOr(IsoDateTime),
|
|
7985
|
+
checkout: WorkspaceCheckoutState,
|
|
7986
|
+
gitRegistered: Schema.NullOr(Schema.Boolean),
|
|
7987
|
+
branchExists: Schema.NullOr(Schema.Boolean),
|
|
7988
|
+
/** Commits on the branch that the project HEAD does not contain. */
|
|
7989
|
+
unmerged: Schema.NullOr(Schema.Boolean),
|
|
7990
|
+
changes: Schema.NullOr(WorkspaceChangeSummary),
|
|
7991
|
+
conversations: WorkspaceConversationCounts,
|
|
7992
|
+
activeWork: Schema.Array(Schema.String),
|
|
7993
|
+
actions: Schema.Array(WorkspaceActionAvailability),
|
|
7994
|
+
/**
|
|
7995
|
+
* Why "Delete workspace" (`remove-checkout` with `discard`) cannot run; empty
|
|
7996
|
+
* when it can. Absent from nodes that predate it.
|
|
7997
|
+
*/
|
|
7998
|
+
discardBlockers: Schema.optional(Schema.Array(Schema.String)),
|
|
7999
|
+
inspectedAt: IsoDateTime
|
|
8000
|
+
});
|
|
8001
|
+
const WorkspaceLifecycleListInput = Schema.Struct({ projectId: ProjectId });
|
|
8002
|
+
const WorkspaceLifecycleRequest = Schema.Struct({
|
|
8003
|
+
worktreeId: WorktreeId,
|
|
8004
|
+
action: WorkspaceLifecycleAction,
|
|
8005
|
+
/** Default true for checkout removal and stale-record cleanup; ignored otherwise. */
|
|
8006
|
+
archiveConversations: Schema.optional(Schema.Boolean),
|
|
8007
|
+
/**
|
|
8008
|
+
* Off by default. Only on removal; a verified merged branch, or any branch when
|
|
8009
|
+
* discarding.
|
|
8010
|
+
*/
|
|
8011
|
+
deleteBranch: Schema.optional(Schema.Boolean),
|
|
8012
|
+
/**
|
|
8013
|
+
* Off by default; `remove-checkout` only. "Delete workspace": the checkout is
|
|
8014
|
+
* removed even with uncommitted, untracked or ignored files (they are lost),
|
|
8015
|
+
* an unmerged branch may be deleted, and the workspace's conversations move to
|
|
8016
|
+
* Trash instead of the archive. Also finishes a workspace whose checkout is
|
|
8017
|
+
* already removed. Active work still blocks it.
|
|
8018
|
+
*/
|
|
8019
|
+
discard: Schema.optional(Schema.Boolean)
|
|
8020
|
+
});
|
|
8021
|
+
const WorkspaceLifecycleEffects = Schema.Struct({
|
|
8022
|
+
archiveWorkspace: Schema.Boolean,
|
|
8023
|
+
restoreWorkspace: Schema.Boolean,
|
|
8024
|
+
removeCheckout: Schema.Boolean,
|
|
8025
|
+
recreateCheckout: Schema.Boolean,
|
|
8026
|
+
recordCheckoutRemoval: Schema.Boolean,
|
|
8027
|
+
stopSessionThreadIds: Schema.Array(ThreadId),
|
|
8028
|
+
archiveConversationIds: Schema.Array(ThreadId),
|
|
8029
|
+
/** Conversations left exactly as they are (already archived, trashed or never used). */
|
|
8030
|
+
unchangedConversations: NonNegativeInt,
|
|
8031
|
+
discardedRegenerableIgnored: NonNegativeInt,
|
|
8032
|
+
deleteBranch: Schema.Boolean,
|
|
8033
|
+
branch: TrimmedNonEmptyString,
|
|
8034
|
+
/** The request discards ("Delete workspace"). Absent from nodes that predate it. */
|
|
8035
|
+
discard: Schema.optional(Schema.Boolean),
|
|
8036
|
+
/** Conversations moved to Trash, where they stay restorable. */
|
|
8037
|
+
trashConversationIds: Schema.optional(Schema.Array(ThreadId)),
|
|
8038
|
+
/** Work that exists nowhere else is lost: changed or untracked files, unmerged commits. */
|
|
8039
|
+
discardsWork: Schema.optional(Schema.Boolean)
|
|
8040
|
+
});
|
|
8041
|
+
const WorkspaceLifecyclePreview = Schema.Struct({
|
|
8042
|
+
request: WorkspaceLifecycleRequest,
|
|
8043
|
+
workspace: WorkspaceLifecycleSummary,
|
|
8044
|
+
effects: WorkspaceLifecycleEffects,
|
|
8045
|
+
/** One-line exact effect, e.g. "Remove 1 checkout, archive 4 conversations, keep history and branch." */
|
|
8046
|
+
summary: Schema.String,
|
|
8047
|
+
details: Schema.Array(Schema.String),
|
|
8048
|
+
blockers: Schema.Array(Schema.String),
|
|
8049
|
+
/** Binds an apply to exactly the state this preview inspected. */
|
|
8050
|
+
fingerprint: TrimmedNonEmptyString
|
|
8051
|
+
});
|
|
8052
|
+
const WorkspaceLifecycleApplyInput = Schema.Struct({
|
|
8053
|
+
...WorkspaceLifecycleRequest.fields,
|
|
8054
|
+
expectedFingerprint: TrimmedNonEmptyString
|
|
8055
|
+
});
|
|
8056
|
+
const WorkspaceLifecycleStepId = Schema.Literals([
|
|
8057
|
+
"preflight",
|
|
8058
|
+
"stop-sessions",
|
|
8059
|
+
"fence-checkout",
|
|
8060
|
+
"revalidate",
|
|
8061
|
+
"remove-checkout",
|
|
8062
|
+
"recreate-checkout",
|
|
8063
|
+
"update-record",
|
|
8064
|
+
"archive-conversations",
|
|
8065
|
+
"delete-branch"
|
|
8066
|
+
]);
|
|
8067
|
+
const WorkspaceLifecycleStep = Schema.Struct({
|
|
8068
|
+
id: WorkspaceLifecycleStepId,
|
|
8069
|
+
status: Schema.Literals([
|
|
8070
|
+
"done",
|
|
8071
|
+
"skipped",
|
|
8072
|
+
"failed"
|
|
8073
|
+
]),
|
|
8074
|
+
detail: Schema.String
|
|
8075
|
+
});
|
|
8076
|
+
/**
|
|
8077
|
+
* `blocked`: nothing changed. `failed`: nothing durable changed. `partial`: some steps
|
|
8078
|
+
* completed (listed truthfully); retrying the same action resumes safely.
|
|
8079
|
+
*/
|
|
8080
|
+
const WorkspaceLifecycleOutcome = Schema.Literals([
|
|
8081
|
+
"completed",
|
|
8082
|
+
"blocked",
|
|
8083
|
+
"partial",
|
|
8084
|
+
"failed"
|
|
8085
|
+
]);
|
|
8086
|
+
const WorkspaceLifecycleResult = Schema.Struct({
|
|
8087
|
+
outcome: WorkspaceLifecycleOutcome,
|
|
8088
|
+
message: Schema.String,
|
|
8089
|
+
steps: Schema.Array(WorkspaceLifecycleStep)
|
|
8090
|
+
});
|
|
8091
|
+
var WorkspaceLifecycleError = class extends Schema.TaggedError()("WorkspaceLifecycleError", { detail: Schema.String }) {
|
|
8092
|
+
get message() {
|
|
8093
|
+
return this.detail;
|
|
8094
|
+
}
|
|
8095
|
+
};
|
|
8096
|
+
const SuggestionDays = Schema.NullOr(Schema.Int.check(Schema.isBetween({
|
|
8097
|
+
minimum: 1,
|
|
8098
|
+
maximum: 3650
|
|
8099
|
+
})));
|
|
8100
|
+
/** `null` turns a suggestion off. Suggestions never act on their own; each needs approval. */
|
|
8101
|
+
const LifecycleSuggestionPolicy = Schema.Struct({
|
|
8102
|
+
archiveInactiveThreadsDays: SuggestionDays,
|
|
8103
|
+
removeArchivedCheckoutsDays: SuggestionDays
|
|
8104
|
+
});
|
|
8105
|
+
const DEFAULT_LIFECYCLE_SUGGESTION_POLICY = {
|
|
8106
|
+
archiveInactiveThreadsDays: 30,
|
|
8107
|
+
removeArchivedCheckoutsDays: 7
|
|
8108
|
+
};
|
|
8109
|
+
const ThreadArchiveSuggestion = Schema.Struct({
|
|
8110
|
+
threadId: ThreadId,
|
|
8111
|
+
projectId: ProjectId,
|
|
8112
|
+
title: Schema.String,
|
|
8113
|
+
lastActivityAt: IsoDateTime
|
|
8114
|
+
});
|
|
8115
|
+
const CheckoutRemovalSuggestion = Schema.Struct({
|
|
8116
|
+
worktreeId: WorktreeId,
|
|
8117
|
+
projectId: ProjectId,
|
|
8118
|
+
title: Schema.String,
|
|
8119
|
+
branch: TrimmedNonEmptyString,
|
|
8120
|
+
/** When the last of its conversations was archived. */
|
|
8121
|
+
archivedSince: IsoDateTime,
|
|
8122
|
+
conversations: NonNegativeInt
|
|
8123
|
+
});
|
|
8124
|
+
const LifecycleSuggestions = Schema.Struct({
|
|
8125
|
+
generatedAt: IsoDateTime,
|
|
8126
|
+
threads: Schema.Array(ThreadArchiveSuggestion),
|
|
8127
|
+
checkouts: Schema.Array(CheckoutRemovalSuggestion)
|
|
8128
|
+
});
|
|
8129
|
+
const TrashedThreadSummary = Schema.Struct({
|
|
8130
|
+
threadId: ThreadId,
|
|
8131
|
+
projectId: ProjectId,
|
|
8132
|
+
projectTitle: Schema.NullOr(Schema.String),
|
|
8133
|
+
/**
|
|
8134
|
+
* The owning project's kind, so a chat is listed as "No project" without the client's project
|
|
8135
|
+
* store. Absent when the project record is gone, or from a node that predates chats; both read
|
|
8136
|
+
* as a regular project.
|
|
8137
|
+
*/
|
|
8138
|
+
projectKind: Schema.optionalKey(ProjectKind),
|
|
8139
|
+
/** False when the owning project was removed; restore is unavailable. */
|
|
8140
|
+
projectAvailable: Schema.Boolean,
|
|
8141
|
+
title: Schema.String,
|
|
8142
|
+
branch: Schema.NullOr(Schema.String),
|
|
8143
|
+
worktreePath: Schema.NullOr(Schema.String),
|
|
8144
|
+
worktreeId: Schema.NullOr(WorktreeId),
|
|
8145
|
+
/** Restoring returns the conversation to this archive state. */
|
|
8146
|
+
archivedAt: Schema.NullOr(IsoDateTime),
|
|
8147
|
+
trashedAt: IsoDateTime,
|
|
8148
|
+
createdAt: IsoDateTime,
|
|
8149
|
+
updatedAt: IsoDateTime
|
|
8150
|
+
});
|
|
8151
|
+
const TrashListResult = Schema.Struct({
|
|
8152
|
+
threads: Schema.Array(TrashedThreadSummary),
|
|
8153
|
+
truncated: Schema.Boolean
|
|
8154
|
+
});
|
|
8155
|
+
//#endregion
|
|
7189
8156
|
//#region ../../packages/contracts/src/settings.ts
|
|
7190
8157
|
const TimestampFormat = Schema$1.Literals([
|
|
7191
8158
|
"locale",
|
|
@@ -7238,6 +8205,13 @@ const AiFocusRefreshIntervalMs = Schema$1.Literals([
|
|
|
7238
8205
|
864e5
|
|
7239
8206
|
]);
|
|
7240
8207
|
const DEFAULT_AI_FOCUS_REFRESH_INTERVAL_MS = 6e5;
|
|
8208
|
+
/**
|
|
8209
|
+
* What Enter does with a message sent while a turn runs: `queue` waits for the turn to finish,
|
|
8210
|
+
* `steer` adds it to the running turn when the provider supports steering. Mod+Enter does the
|
|
8211
|
+
* opposite.
|
|
8212
|
+
*/
|
|
8213
|
+
const FollowUpBehavior = Schema$1.Literals(["queue", "steer"]);
|
|
8214
|
+
const DEFAULT_FOLLOW_UP_BEHAVIOR = "queue";
|
|
7241
8215
|
/** Missing effort is a legacy model-only preset; provider remains the stable instance id. */
|
|
7242
8216
|
const ModelFavorite = Schema$1.Struct({
|
|
7243
8217
|
provider: ProviderInstanceId,
|
|
@@ -7255,6 +8229,7 @@ const ClientSettingsSchema = Schema$1.Struct({
|
|
|
7255
8229
|
dismissedProviderUpdateNotificationKeys: Schema$1.Array(TrimmedNonEmptyString).pipe(Schema$1.withDecodingDefault(Effect.succeed([]))),
|
|
7256
8230
|
diffIgnoreWhitespace: Schema$1.Boolean.pipe(Schema$1.withDecodingDefault(Effect.succeed(true))),
|
|
7257
8231
|
diffWordWrap: Schema$1.Boolean.pipe(Schema$1.withDecodingDefault(Effect.succeed(false))),
|
|
8232
|
+
followUpBehavior: FollowUpBehavior.pipe(Schema$1.withDecodingDefault(Effect.succeed(DEFAULT_FOLLOW_UP_BEHAVIOR))),
|
|
7258
8233
|
favorites: Schema$1.Array(ModelFavorite).pipe(Schema$1.withDecodingDefault(Effect.succeed([]))),
|
|
7259
8234
|
providerModelPreferences: Schema$1.Record(ProviderInstanceId, Schema$1.Struct({
|
|
7260
8235
|
hiddenModels: Schema$1.Array(Schema$1.String).pipe(Schema$1.withDecodingDefault(Effect.succeed([]))),
|
|
@@ -7526,13 +8501,19 @@ const ServerSettings = Schema$1.Struct({
|
|
|
7526
8501
|
environmentIcon: EnvironmentMachineHint.pipe(Schema$1.withDecodingDefault(Effect.succeed(null))),
|
|
7527
8502
|
enableLegacyTokenStreaming: Schema$1.Boolean.pipe(Schema$1.withDecodingDefault(Effect.succeed(false))),
|
|
7528
8503
|
enableProviderUpdateChecks: Schema$1.Boolean.pipe(Schema$1.withDecodingDefault(Effect.succeed(true))),
|
|
8504
|
+
continueThreadsAfterRestart: Schema$1.Boolean.pipe(Schema$1.withDecodingDefault(Effect.succeed(false))),
|
|
8505
|
+
autoResumeLimitedThreads: Schema$1.Boolean.pipe(Schema$1.withDecodingDefault(Effect.succeed(false))),
|
|
8506
|
+
snoozeLimitedThreads: Schema$1.Boolean.pipe(Schema$1.withDecodingDefault(Effect.succeed(false))),
|
|
7529
8507
|
storageRetention: StorageRetentionPolicy.pipe(Schema$1.withDecodingDefault(Effect.succeed({
|
|
7530
8508
|
automatic: false,
|
|
7531
8509
|
completedWorktreeDays: null,
|
|
7532
8510
|
temporaryDataDays: null
|
|
7533
8511
|
}))),
|
|
7534
8512
|
projectStorageRetention: Schema$1.Record(Schema$1.String, Schema$1.NullOr(StorageRetentionPolicy)).pipe(Schema$1.withDecodingDefault(Effect.succeed({}))),
|
|
8513
|
+
lifecycleSuggestions: LifecycleSuggestionPolicy.pipe(Schema$1.withDecodingDefault(Effect.succeed(DEFAULT_LIFECYCLE_SUGGESTION_POLICY))),
|
|
8514
|
+
projectLifecycleSuggestions: Schema$1.Record(Schema$1.String, Schema$1.NullOr(LifecycleSuggestionPolicy)).pipe(Schema$1.withDecodingDefault(Effect.succeed({}))),
|
|
7535
8515
|
worktreeRoot: WorktreeRoot.pipe(Schema$1.withDecodingDefault(Effect.succeed(""))),
|
|
8516
|
+
chatsRoot: WorktreeRoot.pipe(Schema$1.withDecodingDefault(Effect.succeed(""))),
|
|
7536
8517
|
worktreeSubmodules: WorktreeSubmodules.pipe(Schema$1.withDecodingDefault(Effect.succeed("recursive"))),
|
|
7537
8518
|
projectWorktreeSubmodules: Schema$1.Record(Schema$1.String, Schema$1.NullOr(WorktreeSubmodules)).pipe(Schema$1.withDecodingDefault(Effect.succeed({}))),
|
|
7538
8519
|
projectWorktreeRoots: Schema$1.Record(Schema$1.String, Schema$1.NullOr(WorktreeRoot)).pipe(Schema$1.withDecodingDefault(Effect.succeed({}))),
|
|
@@ -7627,9 +8608,15 @@ const ServerSettingsPatch = Schema$1.Struct({
|
|
|
7627
8608
|
environmentIcon: Schema$1.optionalKey(Schema$1.NullOr(EnvironmentMachineKind)),
|
|
7628
8609
|
enableLegacyTokenStreaming: Schema$1.optionalKey(Schema$1.Boolean),
|
|
7629
8610
|
enableProviderUpdateChecks: Schema$1.optionalKey(Schema$1.Boolean),
|
|
8611
|
+
continueThreadsAfterRestart: Schema$1.optionalKey(Schema$1.Boolean),
|
|
8612
|
+
autoResumeLimitedThreads: Schema$1.optionalKey(Schema$1.Boolean),
|
|
8613
|
+
snoozeLimitedThreads: Schema$1.optionalKey(Schema$1.Boolean),
|
|
7630
8614
|
storageRetention: Schema$1.optionalKey(StorageRetentionPolicy),
|
|
7631
8615
|
projectStorageRetention: Schema$1.optionalKey(Schema$1.Record(Schema$1.String, Schema$1.NullOr(StorageRetentionPolicy))),
|
|
8616
|
+
lifecycleSuggestions: Schema$1.optionalKey(LifecycleSuggestionPolicy),
|
|
8617
|
+
projectLifecycleSuggestions: Schema$1.optionalKey(Schema$1.Record(Schema$1.String, Schema$1.NullOr(LifecycleSuggestionPolicy))),
|
|
7632
8618
|
worktreeRoot: Schema$1.optionalKey(WorktreeRoot),
|
|
8619
|
+
chatsRoot: Schema$1.optionalKey(WorktreeRoot),
|
|
7633
8620
|
worktreeSubmodules: Schema$1.optionalKey(WorktreeSubmodules),
|
|
7634
8621
|
projectWorktreeSubmodules: Schema$1.optionalKey(Schema$1.Record(Schema$1.String, Schema$1.NullOr(WorktreeSubmodules))),
|
|
7635
8622
|
projectWorktreeRoots: Schema$1.optionalKey(Schema$1.Record(Schema$1.String, Schema$1.NullOr(WorktreeRoot))),
|
|
@@ -7664,6 +8651,7 @@ Schema$1.Struct({
|
|
|
7664
8651
|
confirmThreadUnpin: Schema$1.optionalKey(Schema$1.Boolean),
|
|
7665
8652
|
diffIgnoreWhitespace: Schema$1.optionalKey(Schema$1.Boolean),
|
|
7666
8653
|
diffWordWrap: Schema$1.optionalKey(Schema$1.Boolean),
|
|
8654
|
+
followUpBehavior: Schema$1.optionalKey(FollowUpBehavior),
|
|
7667
8655
|
favorites: Schema$1.optionalKey(Schema$1.Array(ModelFavorite)),
|
|
7668
8656
|
providerModelPreferences: Schema$1.optionalKey(Schema$1.Record(ProviderInstanceId, Schema$1.Struct({
|
|
7669
8657
|
hiddenModels: Schema$1.Array(Schema$1.String).pipe(Schema$1.withDecodingDefault(Effect.succeed([]))),
|
|
@@ -7792,6 +8780,27 @@ const ServerProviderRateLimits = Schema.Struct({
|
|
|
7792
8780
|
resetCredits: Schema.optional(CodexResetCredits),
|
|
7793
8781
|
rateLimitReachedType: Schema.optional(TrimmedNonEmptyString)
|
|
7794
8782
|
});
|
|
8783
|
+
/**
|
|
8784
|
+
* How a provider version fits this Ryco release, per the server's compatibility policy
|
|
8785
|
+
* (code-owned floors + bundled defaults + remote model manifest).
|
|
8786
|
+
* FROZEN: mobile/desktop clients ship separately and decode whole provider lists with this
|
|
8787
|
+
* schema, so an unknown literal would fail the entire `ServerProvider` list. Never add a member —
|
|
8788
|
+
* put new meanings in a new optional field.
|
|
8789
|
+
*/
|
|
8790
|
+
const ServerProviderCompatibilityStatus = Schema.Literals([
|
|
8791
|
+
"unknown",
|
|
8792
|
+
"supported",
|
|
8793
|
+
"graceful",
|
|
8794
|
+
"unsupported",
|
|
8795
|
+
"broken"
|
|
8796
|
+
]);
|
|
8797
|
+
const ServerProviderCompatibilityAdvisory = Schema.Struct({
|
|
8798
|
+
/** Rating of `ServerProvider.version`. */
|
|
8799
|
+
status: ServerProviderCompatibilityStatus,
|
|
8800
|
+
/** Rating of `versionAdvisory.latestVersion`; absent when no latest version is known. */
|
|
8801
|
+
latestVersionStatus: Schema.optionalKey(ServerProviderCompatibilityStatus),
|
|
8802
|
+
message: Schema.NullOr(TrimmedNonEmptyString)
|
|
8803
|
+
});
|
|
7795
8804
|
const ServerProviderVersionAdvisoryStatus = Schema.Literals([
|
|
7796
8805
|
"unknown",
|
|
7797
8806
|
"current",
|
|
@@ -7843,6 +8852,7 @@ const ServerProvider = Schema.Struct({
|
|
|
7843
8852
|
showInteractionModeToggle: Schema.optional(Schema.Boolean),
|
|
7844
8853
|
supportsAskMode: Schema.optional(Schema.Boolean),
|
|
7845
8854
|
supportsTurnSteering: Schema.optional(Schema.Boolean),
|
|
8855
|
+
supportsConversationRollback: Schema.optional(Schema.Boolean),
|
|
7846
8856
|
enabled: Schema.Boolean,
|
|
7847
8857
|
installed: Schema.Boolean,
|
|
7848
8858
|
version: Schema.NullOr(TrimmedNonEmptyString),
|
|
@@ -7857,9 +8867,17 @@ const ServerProvider = Schema.Struct({
|
|
|
7857
8867
|
skills: Schema.Array(ServerProviderSkill).pipe(Schema.withDecodingDefault(Effect.succeed([]))),
|
|
7858
8868
|
rateLimits: Schema.optional(ServerProviderRateLimits),
|
|
7859
8869
|
versionAdvisory: Schema.optionalKey(ServerProviderVersionAdvisory),
|
|
8870
|
+
compatibilityAdvisory: Schema.optionalKey(ServerProviderCompatibilityAdvisory),
|
|
7860
8871
|
updateState: Schema.optionalKey(ServerProviderUpdateState)
|
|
7861
8872
|
});
|
|
7862
8873
|
const ServerProviders = Schema.Array(ServerProvider);
|
|
8874
|
+
/**
|
|
8875
|
+
* Treat the optional `availability` as "available" when absent. This is
|
|
8876
|
+
* the rule legacy producers (which omit the field) and new producers
|
|
8877
|
+
* (which set it explicitly) agree on so consumers never have to thread
|
|
8878
|
+
* `?? "available"` defaults through their code paths.
|
|
8879
|
+
*/
|
|
8880
|
+
const isProviderAvailable = (snapshot) => snapshot.availability !== "unavailable";
|
|
7863
8881
|
const ServerLocalDiagnosticsMetrics = Schema.Struct({
|
|
7864
8882
|
turnQuiescenceAvgMs: Schema.NullOr(Schema.Number),
|
|
7865
8883
|
checkpointDurationP95Ms: Schema.NullOr(Schema.Number),
|
|
@@ -7879,12 +8897,32 @@ const ServerObservability = Schema.Struct({
|
|
|
7879
8897
|
otlpMetricsEnabled: Schema.Boolean,
|
|
7880
8898
|
localMetrics: Schema.optional(ServerLocalDiagnosticsMetrics)
|
|
7881
8899
|
});
|
|
8900
|
+
/**
|
|
8901
|
+
* Why "No project" chats are off on this node:
|
|
8902
|
+
* - `inside-git-repository`: the chats root lies in a Git working tree, so every chat would show
|
|
8903
|
+
* the parent repository's branch and diff.
|
|
8904
|
+
* - `root-unavailable`: the chats root cannot be resolved or created.
|
|
8905
|
+
* - `restricted`: the workspace access policy does not allow the chats root.
|
|
8906
|
+
*/
|
|
8907
|
+
const ServerChatsUnavailableReason = Schema.Literals([
|
|
8908
|
+
"inside-git-repository",
|
|
8909
|
+
"root-unavailable",
|
|
8910
|
+
"restricted"
|
|
8911
|
+
]);
|
|
8912
|
+
/** Absent from nodes without chat support; clients then hide every "No project" entry point. */
|
|
8913
|
+
const ServerChatsCapability = Schema.Struct({
|
|
8914
|
+
available: Schema.Boolean,
|
|
8915
|
+
/** Resolved chats root (symlinks resolved), present when it could be determined. */
|
|
8916
|
+
root: Schema.optionalKey(TrimmedNonEmptyString),
|
|
8917
|
+
unavailableReason: Schema.optionalKey(ServerChatsUnavailableReason)
|
|
8918
|
+
});
|
|
7882
8919
|
const ServerConfig = Schema.Struct({
|
|
7883
8920
|
usageContractVersion: Schema.optional(NonNegativeInt),
|
|
7884
8921
|
environment: ExecutionEnvironmentDescriptor,
|
|
7885
8922
|
auth: ServerAuthDescriptor,
|
|
7886
8923
|
cwd: TrimmedNonEmptyString,
|
|
7887
8924
|
workspaceAccessRoot: Schema.optional(TrimmedNonEmptyString),
|
|
8925
|
+
chats: Schema.optionalKey(ServerChatsCapability),
|
|
7888
8926
|
keybindingsConfigPath: TrimmedNonEmptyString,
|
|
7889
8927
|
keybindings: ResolvedKeybindingsConfig,
|
|
7890
8928
|
issues: ServerConfigIssues,
|
|
@@ -9415,6 +10453,24 @@ const GitReadLineBlameResult = Schema.Union([Schema.Struct({
|
|
|
9415
10453
|
kind: Schema.Literal("unavailable"),
|
|
9416
10454
|
reason: Schema.String
|
|
9417
10455
|
})]);
|
|
10456
|
+
/**
|
|
10457
|
+
* One stored blob named by a review patch's `index` line. Patches without
|
|
10458
|
+
* `--full-index` carry abbreviated IDs. No path, index or working-tree lookup.
|
|
10459
|
+
*/
|
|
10460
|
+
const GitReadImageBlobInput = Schema.Struct({
|
|
10461
|
+
cwd: TrimmedNonEmptyStringSchema,
|
|
10462
|
+
oid: Schema.String.check(Schema.isPattern(/^(?:[0-9a-f]{4,40}|[0-9a-f]{64})$/))
|
|
10463
|
+
});
|
|
10464
|
+
/** The mime type is sniffed from the blob's bytes, never from a path. */
|
|
10465
|
+
const GitReadImageBlobResult = Schema.Union([Schema.Struct({
|
|
10466
|
+
kind: Schema.Literal("image"),
|
|
10467
|
+
dataBase64: Schema.String,
|
|
10468
|
+
mimeType: TrimmedNonEmptyStringSchema,
|
|
10469
|
+
sizeBytes: NonNegativeInt
|
|
10470
|
+
}), Schema.Struct({
|
|
10471
|
+
kind: Schema.Literal("unavailable"),
|
|
10472
|
+
reason: Schema.String
|
|
10473
|
+
})]);
|
|
9418
10474
|
const GitLocalChangesInput = Schema.Struct({ cwd: TrimmedNonEmptyStringSchema });
|
|
9419
10475
|
const GitLocalChangesScope = Schema.Literals(["staged", "unstaged"]);
|
|
9420
10476
|
const GitLocalPatch = Schema.Struct({
|
|
@@ -9443,6 +10499,402 @@ const GitApplyIndexPatchInput = Schema.Struct({
|
|
|
9443
10499
|
hunkIndex: Schema.optional(NonNegativeInt)
|
|
9444
10500
|
});
|
|
9445
10501
|
//#endregion
|
|
10502
|
+
//#region ../../packages/contracts/src/changeRequestReview.ts
|
|
10503
|
+
/**
|
|
10504
|
+
* Review conversation, timeline, and lifecycle contracts for the dedicated
|
|
10505
|
+
* pull request page. Unlike `SourceControlChangeRequestDetail`, these payloads
|
|
10506
|
+
* are never attached to agent prompts, so they are bounded by page size
|
|
10507
|
+
* rather than by the composer token budget.
|
|
10508
|
+
*/
|
|
10509
|
+
const NonBlankMarkdownBody = Schema.String.check(Schema.makeFilter((body) => body.trim().length > 0 ? void 0 : "Expected a non-blank Markdown body"));
|
|
10510
|
+
/** `left` is the base (deleted) side of a diff, `right` the head (added) side. */
|
|
10511
|
+
const ChangeRequestDiffSide = Schema.Literals(["left", "right"]);
|
|
10512
|
+
const ChangeRequestActor = Schema.Struct({
|
|
10513
|
+
login: TrimmedNonEmptyString,
|
|
10514
|
+
avatarUrl: Schema.optional(Schema.String),
|
|
10515
|
+
isBot: Schema.optional(Schema.Boolean)
|
|
10516
|
+
});
|
|
10517
|
+
const ChangeRequestReviewComment = Schema.Struct({
|
|
10518
|
+
/** Host node id; used for replies, reactions, edits, and deletes. */
|
|
10519
|
+
id: TrimmedNonEmptyString,
|
|
10520
|
+
author: ChangeRequestActor,
|
|
10521
|
+
authorAssociation: Schema.optional(Schema.String),
|
|
10522
|
+
body: Schema.String,
|
|
10523
|
+
createdAt: Schema.DateTimeUtc,
|
|
10524
|
+
updatedAt: Schema.optional(Schema.DateTimeUtc),
|
|
10525
|
+
url: Schema.optional(Schema.String),
|
|
10526
|
+
reactions: Schema.optional(Schema.Array(SourceControlCommentReaction)),
|
|
10527
|
+
/** `pending` comments belong to the viewer's unsubmitted host-side review. */
|
|
10528
|
+
state: Schema.optional(Schema.Literals(["pending", "submitted"])),
|
|
10529
|
+
viewerCanUpdate: Schema.optional(Schema.Boolean),
|
|
10530
|
+
viewerCanDelete: Schema.optional(Schema.Boolean),
|
|
10531
|
+
isMinimized: Schema.optional(Schema.Boolean)
|
|
10532
|
+
});
|
|
10533
|
+
const ChangeRequestReviewThread = Schema.Struct({
|
|
10534
|
+
id: TrimmedNonEmptyString,
|
|
10535
|
+
path: TrimmedNonEmptyString,
|
|
10536
|
+
subjectType: Schema.Literals(["line", "file"]),
|
|
10537
|
+
side: ChangeRequestDiffSide,
|
|
10538
|
+
startSide: Schema.optional(ChangeRequestDiffSide),
|
|
10539
|
+
/** Current anchor line; null when the thread is outdated and no longer maps onto the diff. */
|
|
10540
|
+
line: Schema.NullOr(PositiveInt),
|
|
10541
|
+
startLine: Schema.optional(Schema.NullOr(PositiveInt)),
|
|
10542
|
+
originalLine: Schema.optional(Schema.NullOr(PositiveInt)),
|
|
10543
|
+
originalStartLine: Schema.optional(Schema.NullOr(PositiveInt)),
|
|
10544
|
+
/** Commit the first comment was written on; `originalLine` refers to that commit. */
|
|
10545
|
+
originalCommitOid: Schema.optional(TrimmedNonEmptyString),
|
|
10546
|
+
/** Unified diff excerpt the first comment was written against. */
|
|
10547
|
+
diffHunk: Schema.optional(Schema.String),
|
|
10548
|
+
isResolved: Schema.Boolean,
|
|
10549
|
+
isOutdated: Schema.Boolean,
|
|
10550
|
+
resolvedBy: Schema.optional(TrimmedNonEmptyString),
|
|
10551
|
+
viewerCanReply: Schema.Boolean,
|
|
10552
|
+
viewerCanResolve: Schema.Boolean,
|
|
10553
|
+
viewerCanUnresolve: Schema.Boolean,
|
|
10554
|
+
comments: Schema.Array(ChangeRequestReviewComment),
|
|
10555
|
+
/** Total comments on the host; larger than `comments.length` when paged. */
|
|
10556
|
+
totalComments: NonNegativeInt
|
|
10557
|
+
});
|
|
10558
|
+
const TimelineBase = {
|
|
10559
|
+
id: TrimmedNonEmptyString,
|
|
10560
|
+
createdAt: Schema.DateTimeUtc,
|
|
10561
|
+
actor: Schema.optional(ChangeRequestActor)
|
|
10562
|
+
};
|
|
10563
|
+
const ChangeRequestTimelineComment = Schema.Struct({
|
|
10564
|
+
...TimelineBase,
|
|
10565
|
+
kind: Schema.Literal("comment"),
|
|
10566
|
+
body: Schema.String,
|
|
10567
|
+
authorAssociation: Schema.optional(Schema.String),
|
|
10568
|
+
updatedAt: Schema.optional(Schema.DateTimeUtc),
|
|
10569
|
+
url: Schema.optional(Schema.String),
|
|
10570
|
+
reactions: Schema.optional(Schema.Array(SourceControlCommentReaction)),
|
|
10571
|
+
viewerCanUpdate: Schema.optional(Schema.Boolean),
|
|
10572
|
+
viewerCanDelete: Schema.optional(Schema.Boolean),
|
|
10573
|
+
isMinimized: Schema.optional(Schema.Boolean)
|
|
10574
|
+
});
|
|
10575
|
+
const ChangeRequestTimelineReview = Schema.Struct({
|
|
10576
|
+
...TimelineBase,
|
|
10577
|
+
kind: Schema.Literal("review"),
|
|
10578
|
+
state: SourceControlReviewState,
|
|
10579
|
+
body: Schema.String,
|
|
10580
|
+
authorAssociation: Schema.optional(Schema.String),
|
|
10581
|
+
url: Schema.optional(Schema.String),
|
|
10582
|
+
reactions: Schema.optional(Schema.Array(SourceControlCommentReaction)),
|
|
10583
|
+
/** Review threads opened by this review, so the timeline can nest them. */
|
|
10584
|
+
threadIds: Schema.Array(TrimmedNonEmptyString),
|
|
10585
|
+
viewerCanUpdate: Schema.optional(Schema.Boolean)
|
|
10586
|
+
});
|
|
10587
|
+
const ChangeRequestTimelineCommit = Schema.Struct({
|
|
10588
|
+
...TimelineBase,
|
|
10589
|
+
kind: Schema.Literal("commit"),
|
|
10590
|
+
oid: TrimmedNonEmptyString,
|
|
10591
|
+
shortOid: TrimmedNonEmptyString,
|
|
10592
|
+
messageHeadline: Schema.String,
|
|
10593
|
+
messageBody: Schema.optional(Schema.String),
|
|
10594
|
+
/** Rollup of the commit's checks, when the host reports one. */
|
|
10595
|
+
checkState: Schema.optional(Schema.Literals([
|
|
10596
|
+
"success",
|
|
10597
|
+
"failure",
|
|
10598
|
+
"pending",
|
|
10599
|
+
"neutral"
|
|
10600
|
+
]))
|
|
10601
|
+
});
|
|
10602
|
+
const ChangeRequestTimelineForcePush = Schema.Struct({
|
|
10603
|
+
...TimelineBase,
|
|
10604
|
+
kind: Schema.Literal("force-pushed"),
|
|
10605
|
+
beforeOid: Schema.optional(TrimmedNonEmptyString),
|
|
10606
|
+
afterOid: Schema.optional(TrimmedNonEmptyString)
|
|
10607
|
+
});
|
|
10608
|
+
const ChangeRequestTimelineReviewRequest = Schema.Struct({
|
|
10609
|
+
...TimelineBase,
|
|
10610
|
+
kind: Schema.Literals(["review-requested", "review-request-removed"]),
|
|
10611
|
+
reviewer: TrimmedNonEmptyString,
|
|
10612
|
+
reviewerKind: Schema.Literals([
|
|
10613
|
+
"user",
|
|
10614
|
+
"team",
|
|
10615
|
+
"bot"
|
|
10616
|
+
])
|
|
10617
|
+
});
|
|
10618
|
+
const ChangeRequestTimelineLabel = Schema.Struct({
|
|
10619
|
+
...TimelineBase,
|
|
10620
|
+
kind: Schema.Literals(["labeled", "unlabeled"]),
|
|
10621
|
+
label: SourceControlLabel
|
|
10622
|
+
});
|
|
10623
|
+
const ChangeRequestTimelineAssignment = Schema.Struct({
|
|
10624
|
+
...TimelineBase,
|
|
10625
|
+
kind: Schema.Literals(["assigned", "unassigned"]),
|
|
10626
|
+
assignee: TrimmedNonEmptyString
|
|
10627
|
+
});
|
|
10628
|
+
const ChangeRequestTimelineRename = Schema.Struct({
|
|
10629
|
+
...TimelineBase,
|
|
10630
|
+
kind: Schema.Literal("renamed"),
|
|
10631
|
+
previousTitle: Schema.String,
|
|
10632
|
+
currentTitle: Schema.String
|
|
10633
|
+
});
|
|
10634
|
+
const ChangeRequestTimelineMerged = Schema.Struct({
|
|
10635
|
+
...TimelineBase,
|
|
10636
|
+
kind: Schema.Literal("merged"),
|
|
10637
|
+
commitOid: Schema.optional(TrimmedNonEmptyString),
|
|
10638
|
+
baseRefName: Schema.optional(TrimmedNonEmptyString)
|
|
10639
|
+
});
|
|
10640
|
+
const ChangeRequestTimelineLifecycle = Schema.Struct({
|
|
10641
|
+
...TimelineBase,
|
|
10642
|
+
kind: Schema.Literals([
|
|
10643
|
+
"closed",
|
|
10644
|
+
"reopened",
|
|
10645
|
+
"ready-for-review",
|
|
10646
|
+
"converted-to-draft",
|
|
10647
|
+
"head-ref-deleted",
|
|
10648
|
+
"head-ref-restored"
|
|
10649
|
+
])
|
|
10650
|
+
});
|
|
10651
|
+
const ChangeRequestTimelineBaseChanged = Schema.Struct({
|
|
10652
|
+
...TimelineBase,
|
|
10653
|
+
kind: Schema.Literal("base-ref-changed"),
|
|
10654
|
+
previousRefName: Schema.optional(TrimmedNonEmptyString),
|
|
10655
|
+
currentRefName: Schema.optional(TrimmedNonEmptyString)
|
|
10656
|
+
});
|
|
10657
|
+
const ChangeRequestTimelineCrossReference = Schema.Struct({
|
|
10658
|
+
...TimelineBase,
|
|
10659
|
+
kind: Schema.Literal("cross-referenced"),
|
|
10660
|
+
source: Schema.Struct({
|
|
10661
|
+
kind: Schema.Literals(["issue", "change-request"]),
|
|
10662
|
+
number: PositiveInt,
|
|
10663
|
+
title: Schema.String,
|
|
10664
|
+
url: Schema.String,
|
|
10665
|
+
repository: Schema.optional(TrimmedNonEmptyString),
|
|
10666
|
+
state: Schema.optional(Schema.Literals([
|
|
10667
|
+
"open",
|
|
10668
|
+
"closed",
|
|
10669
|
+
"merged"
|
|
10670
|
+
]))
|
|
10671
|
+
}),
|
|
10672
|
+
willCloseTarget: Schema.optional(Schema.Boolean)
|
|
10673
|
+
});
|
|
10674
|
+
const ChangeRequestTimelineAutoMerge = Schema.Struct({
|
|
10675
|
+
...TimelineBase,
|
|
10676
|
+
kind: Schema.Literals(["auto-merge-enabled", "auto-merge-disabled"]),
|
|
10677
|
+
mergeMethod: Schema.optional(SourceControlChangeRequestMergeMethod)
|
|
10678
|
+
});
|
|
10679
|
+
const ChangeRequestTimelineReviewDismissed = Schema.Struct({
|
|
10680
|
+
...TimelineBase,
|
|
10681
|
+
kind: Schema.Literal("review-dismissed"),
|
|
10682
|
+
reviewAuthor: Schema.optional(TrimmedNonEmptyString),
|
|
10683
|
+
message: Schema.optional(Schema.String)
|
|
10684
|
+
});
|
|
10685
|
+
const ChangeRequestTimelineItem = Schema.Union([
|
|
10686
|
+
ChangeRequestTimelineComment,
|
|
10687
|
+
ChangeRequestTimelineReview,
|
|
10688
|
+
ChangeRequestTimelineCommit,
|
|
10689
|
+
ChangeRequestTimelineForcePush,
|
|
10690
|
+
ChangeRequestTimelineReviewRequest,
|
|
10691
|
+
ChangeRequestTimelineLabel,
|
|
10692
|
+
ChangeRequestTimelineAssignment,
|
|
10693
|
+
ChangeRequestTimelineRename,
|
|
10694
|
+
ChangeRequestTimelineMerged,
|
|
10695
|
+
ChangeRequestTimelineLifecycle,
|
|
10696
|
+
ChangeRequestTimelineBaseChanged,
|
|
10697
|
+
ChangeRequestTimelineCrossReference,
|
|
10698
|
+
ChangeRequestTimelineAutoMerge,
|
|
10699
|
+
ChangeRequestTimelineReviewDismissed
|
|
10700
|
+
]);
|
|
10701
|
+
const ChangeRequestViewerCapabilities = Schema.Struct({
|
|
10702
|
+
login: TrimmedNonEmptyString,
|
|
10703
|
+
isAuthor: Schema.Boolean,
|
|
10704
|
+
/** Edit title/body/base, labels, assignees, reviewers, draft state, close/reopen. */
|
|
10705
|
+
canUpdate: Schema.Boolean,
|
|
10706
|
+
canMerge: Schema.Boolean,
|
|
10707
|
+
canReview: Schema.Boolean,
|
|
10708
|
+
canUpdateBranch: Schema.Boolean,
|
|
10709
|
+
canEnableAutoMerge: Schema.Boolean,
|
|
10710
|
+
canDisableAutoMerge: Schema.Boolean
|
|
10711
|
+
});
|
|
10712
|
+
const ChangeRequestActivityInput = Schema.Struct({
|
|
10713
|
+
cwd: TrimmedNonEmptyString,
|
|
10714
|
+
reference: TrimmedNonEmptyString
|
|
10715
|
+
});
|
|
10716
|
+
const ChangeRequestActivity = Schema.Struct({
|
|
10717
|
+
provider: SourceControlProviderKind,
|
|
10718
|
+
number: PositiveInt,
|
|
10719
|
+
headSha: Schema.NullOr(TrimmedNonEmptyString),
|
|
10720
|
+
viewer: Schema.NullOr(ChangeRequestViewerCapabilities),
|
|
10721
|
+
/** Chronological (oldest first). */
|
|
10722
|
+
timeline: Schema.Array(ChangeRequestTimelineItem),
|
|
10723
|
+
/** True when older timeline items were dropped to stay within the page budget. */
|
|
10724
|
+
timelineTruncated: Schema.Boolean,
|
|
10725
|
+
reviewThreads: Schema.Array(ChangeRequestReviewThread),
|
|
10726
|
+
reviewThreadsTruncated: Schema.Boolean,
|
|
10727
|
+
/** The viewer's unsubmitted host-side review (e.g. started on the web), if any. */
|
|
10728
|
+
pendingReview: Schema.NullOr(Schema.Struct({
|
|
10729
|
+
id: TrimmedNonEmptyString,
|
|
10730
|
+
commentsCount: NonNegativeInt
|
|
10731
|
+
}))
|
|
10732
|
+
});
|
|
10733
|
+
const ChangeRequestReviewEvent = Schema.Literals([
|
|
10734
|
+
"comment",
|
|
10735
|
+
"approve",
|
|
10736
|
+
"request_changes"
|
|
10737
|
+
]);
|
|
10738
|
+
const ChangeRequestDraftReviewComment = Schema.Struct({
|
|
10739
|
+
path: TrimmedNonEmptyString,
|
|
10740
|
+
body: NonBlankMarkdownBody,
|
|
10741
|
+
/** `file` comments attach to the whole file and ignore line/side. */
|
|
10742
|
+
subjectType: Schema.optional(Schema.Literals(["line", "file"])),
|
|
10743
|
+
line: Schema.optional(PositiveInt),
|
|
10744
|
+
side: Schema.optional(ChangeRequestDiffSide),
|
|
10745
|
+
startLine: Schema.optional(PositiveInt),
|
|
10746
|
+
startSide: Schema.optional(ChangeRequestDiffSide)
|
|
10747
|
+
});
|
|
10748
|
+
const ChangeRequestSubmitReviewInput = Schema.Struct({
|
|
10749
|
+
cwd: TrimmedNonEmptyString,
|
|
10750
|
+
reference: TrimmedNonEmptyString,
|
|
10751
|
+
event: ChangeRequestReviewEvent,
|
|
10752
|
+
body: Schema.optional(Schema.String),
|
|
10753
|
+
comments: Schema.Array(ChangeRequestDraftReviewComment),
|
|
10754
|
+
/** The head the comments were written against; the host anchors lines to it. */
|
|
10755
|
+
expectedHeadSha: TrimmedNonEmptyString
|
|
10756
|
+
});
|
|
10757
|
+
const ChangeRequestSubmitReviewResult = Schema.Struct({
|
|
10758
|
+
reviewId: TrimmedNonEmptyString,
|
|
10759
|
+
state: SourceControlReviewState,
|
|
10760
|
+
url: Schema.optional(Schema.String)
|
|
10761
|
+
});
|
|
10762
|
+
const ChangeRequestReplyToThreadInput = Schema.Struct({
|
|
10763
|
+
cwd: TrimmedNonEmptyString,
|
|
10764
|
+
reference: TrimmedNonEmptyString,
|
|
10765
|
+
threadId: TrimmedNonEmptyString,
|
|
10766
|
+
body: NonBlankMarkdownBody,
|
|
10767
|
+
clientMutationId: Schema.optional(TrimmedNonEmptyString)
|
|
10768
|
+
});
|
|
10769
|
+
const ChangeRequestReplyToThreadResult = Schema.Struct({ thread: ChangeRequestReviewThread });
|
|
10770
|
+
const ChangeRequestSetThreadResolvedInput = Schema.Struct({
|
|
10771
|
+
cwd: TrimmedNonEmptyString,
|
|
10772
|
+
reference: TrimmedNonEmptyString,
|
|
10773
|
+
threadId: TrimmedNonEmptyString,
|
|
10774
|
+
resolved: Schema.Boolean
|
|
10775
|
+
});
|
|
10776
|
+
const ChangeRequestSetThreadResolvedResult = Schema.Struct({
|
|
10777
|
+
threadId: TrimmedNonEmptyString,
|
|
10778
|
+
isResolved: Schema.Boolean,
|
|
10779
|
+
resolvedBy: Schema.optional(TrimmedNonEmptyString)
|
|
10780
|
+
});
|
|
10781
|
+
const ChangeRequestCommentKind = Schema.Literals([
|
|
10782
|
+
"issue-comment",
|
|
10783
|
+
"review-comment",
|
|
10784
|
+
"review"
|
|
10785
|
+
]);
|
|
10786
|
+
const ChangeRequestUpdateCommentInput = Schema.Union([Schema.Struct({
|
|
10787
|
+
cwd: TrimmedNonEmptyString,
|
|
10788
|
+
reference: TrimmedNonEmptyString,
|
|
10789
|
+
commentId: TrimmedNonEmptyString,
|
|
10790
|
+
commentKind: ChangeRequestCommentKind,
|
|
10791
|
+
action: Schema.Literal("edit"),
|
|
10792
|
+
body: NonBlankMarkdownBody
|
|
10793
|
+
}), Schema.Struct({
|
|
10794
|
+
cwd: TrimmedNonEmptyString,
|
|
10795
|
+
reference: TrimmedNonEmptyString,
|
|
10796
|
+
commentId: TrimmedNonEmptyString,
|
|
10797
|
+
commentKind: Schema.Literals(["issue-comment", "review-comment"]),
|
|
10798
|
+
action: Schema.Literal("delete")
|
|
10799
|
+
})]);
|
|
10800
|
+
const ChangeRequestUpdateCommentResult = Schema.Struct({
|
|
10801
|
+
commentId: TrimmedNonEmptyString,
|
|
10802
|
+
deleted: Schema.Boolean
|
|
10803
|
+
});
|
|
10804
|
+
const ListEdit = {
|
|
10805
|
+
add: Schema.Array(TrimmedNonEmptyString),
|
|
10806
|
+
remove: Schema.Array(TrimmedNonEmptyString)
|
|
10807
|
+
};
|
|
10808
|
+
const ChangeRequestUpdateAction = Schema.Union([
|
|
10809
|
+
Schema.Struct({
|
|
10810
|
+
kind: Schema.Literal("edit"),
|
|
10811
|
+
title: Schema.optional(TrimmedNonEmptyString),
|
|
10812
|
+
body: Schema.optional(Schema.String),
|
|
10813
|
+
baseRefName: Schema.optional(TrimmedNonEmptyString)
|
|
10814
|
+
}),
|
|
10815
|
+
Schema.Struct({
|
|
10816
|
+
kind: Schema.Literal("set-draft"),
|
|
10817
|
+
draft: Schema.Boolean
|
|
10818
|
+
}),
|
|
10819
|
+
Schema.Struct({
|
|
10820
|
+
kind: Schema.Literal("close"),
|
|
10821
|
+
deleteBranch: Schema.optional(Schema.Boolean)
|
|
10822
|
+
}),
|
|
10823
|
+
Schema.Struct({ kind: Schema.Literal("reopen") }),
|
|
10824
|
+
Schema.Struct({
|
|
10825
|
+
kind: Schema.Literal("reviewers"),
|
|
10826
|
+
...ListEdit
|
|
10827
|
+
}),
|
|
10828
|
+
Schema.Struct({
|
|
10829
|
+
kind: Schema.Literal("labels"),
|
|
10830
|
+
...ListEdit
|
|
10831
|
+
}),
|
|
10832
|
+
Schema.Struct({
|
|
10833
|
+
kind: Schema.Literal("assignees"),
|
|
10834
|
+
...ListEdit
|
|
10835
|
+
}),
|
|
10836
|
+
Schema.Struct({
|
|
10837
|
+
kind: Schema.Literal("update-branch"),
|
|
10838
|
+
method: Schema.Literals(["merge", "rebase"]),
|
|
10839
|
+
expectedHeadSha: TrimmedNonEmptyString
|
|
10840
|
+
}),
|
|
10841
|
+
Schema.Struct({
|
|
10842
|
+
kind: Schema.Literal("auto-merge"),
|
|
10843
|
+
enabled: Schema.Boolean,
|
|
10844
|
+
mergeMethod: Schema.optional(SourceControlChangeRequestMergeMethod),
|
|
10845
|
+
/** When enabling: refuse if the head moved since the user looked (as for merges). */
|
|
10846
|
+
expectedHeadSha: Schema.optional(TrimmedNonEmptyString)
|
|
10847
|
+
}),
|
|
10848
|
+
Schema.Struct({ kind: Schema.Literal("delete-branch") })
|
|
10849
|
+
]);
|
|
10850
|
+
const ChangeRequestUpdateInput = Schema.Struct({
|
|
10851
|
+
cwd: TrimmedNonEmptyString,
|
|
10852
|
+
reference: TrimmedNonEmptyString,
|
|
10853
|
+
action: ChangeRequestUpdateAction
|
|
10854
|
+
});
|
|
10855
|
+
const ChangeRequestUpdateResult = Schema.Struct({
|
|
10856
|
+
/** Fresh, uncapped (`fullContent`) detail after the action. */
|
|
10857
|
+
detail: SourceControlChangeRequestDetail });
|
|
10858
|
+
const ChangeRequestCreateInput = Schema.Struct({
|
|
10859
|
+
cwd: TrimmedNonEmptyString,
|
|
10860
|
+
baseRefName: TrimmedNonEmptyString,
|
|
10861
|
+
/** Branch name, or `owner:branch` for a fork head. */
|
|
10862
|
+
headRefName: TrimmedNonEmptyString,
|
|
10863
|
+
title: TrimmedNonEmptyString,
|
|
10864
|
+
body: Schema.String,
|
|
10865
|
+
draft: Schema.optional(Schema.Boolean)
|
|
10866
|
+
});
|
|
10867
|
+
const CHANGE_REQUEST_FILE_CONTENTS_MAX_BYTES = 1048576;
|
|
10868
|
+
const ChangeRequestFileContentsInput = Schema.Struct({
|
|
10869
|
+
cwd: TrimmedNonEmptyString,
|
|
10870
|
+
reference: TrimmedNonEmptyString,
|
|
10871
|
+
path: TrimmedNonEmptyString,
|
|
10872
|
+
/** Pre-rename path on the base side, when the file moved. */
|
|
10873
|
+
previousPath: Schema.optional(TrimmedNonEmptyString),
|
|
10874
|
+
/**
|
|
10875
|
+
* Old-side revision. Omit for the whole change request: the server resolves
|
|
10876
|
+
* the merge base of the base branch and `headSha`, matching the PR diff.
|
|
10877
|
+
* Pass the parent commit when the diff is scoped to a single commit.
|
|
10878
|
+
*/
|
|
10879
|
+
baseSha: Schema.optional(TrimmedNonEmptyString),
|
|
10880
|
+
headSha: TrimmedNonEmptyString
|
|
10881
|
+
});
|
|
10882
|
+
const ChangeRequestFileContents = Schema.Struct({
|
|
10883
|
+
path: TrimmedNonEmptyString,
|
|
10884
|
+
/** Null when the file does not exist on that side (added/deleted) or is binary. */
|
|
10885
|
+
oldContents: Schema.NullOr(Schema.String),
|
|
10886
|
+
newContents: Schema.NullOr(Schema.String),
|
|
10887
|
+
truncated: Schema.Boolean
|
|
10888
|
+
});
|
|
10889
|
+
/** Server-side involvement filter for change request lists (relative to the viewer). */
|
|
10890
|
+
const ChangeRequestInvolvement = Schema.Literals([
|
|
10891
|
+
"authored",
|
|
10892
|
+
"review-requested",
|
|
10893
|
+
"assigned",
|
|
10894
|
+
"mentioned",
|
|
10895
|
+
"involved"
|
|
10896
|
+
]);
|
|
10897
|
+
//#endregion
|
|
9446
10898
|
//#region ../../packages/contracts/src/atlassian.ts
|
|
9447
10899
|
const AtlassianConnectionKind = Schema.Literals([
|
|
9448
10900
|
"oauth_3lo",
|
|
@@ -10413,6 +11865,15 @@ const AgentControlRequestId = TrimmedNonEmptyString.check(Schema.isMaxLength(128
|
|
|
10413
11865
|
* per-provider-runtime, in-memory, thread-bound, and revoked on runtime
|
|
10414
11866
|
* teardown — none of that credential material appears in this contract.
|
|
10415
11867
|
*/
|
|
11868
|
+
/** Audit-safe target thread state captured at submission and used to reject stale approved plans. */
|
|
11869
|
+
const AgentControlTargetThreadSnapshot = Schema.Struct({
|
|
11870
|
+
threadId: ThreadId,
|
|
11871
|
+
projectId: ProjectId,
|
|
11872
|
+
runtimeMode: RuntimeMode,
|
|
11873
|
+
envMode: ThreadEnvMode,
|
|
11874
|
+
archived: Schema.Boolean,
|
|
11875
|
+
activeTurnId: Schema.NullOr(TurnId)
|
|
11876
|
+
});
|
|
10416
11877
|
const AgentControlProviderSessionPrincipal = Schema.Struct({
|
|
10417
11878
|
kind: Schema.Literal("provider-session"),
|
|
10418
11879
|
threadId: ThreadId,
|
|
@@ -10426,28 +11887,26 @@ const AgentControlProviderSessionPrincipal = Schema.Struct({
|
|
|
10426
11887
|
originRuntimeMode: Schema.optional(RuntimeMode),
|
|
10427
11888
|
originEnvMode: Schema.optional(ThreadEnvMode),
|
|
10428
11889
|
/** Audit-safe target state used to reject stale approved plans. */
|
|
10429
|
-
targetSnapshots: Schema.optional(Schema.Array(
|
|
10430
|
-
threadId: ThreadId,
|
|
10431
|
-
projectId: ProjectId,
|
|
10432
|
-
runtimeMode: RuntimeMode,
|
|
10433
|
-
envMode: ThreadEnvMode,
|
|
10434
|
-
archived: Schema.Boolean,
|
|
10435
|
-
activeTurnId: Schema.NullOr(TurnId)
|
|
10436
|
-
})))
|
|
11890
|
+
targetSnapshots: Schema.optional(Schema.Array(AgentControlTargetThreadSnapshot))
|
|
10437
11891
|
});
|
|
10438
11892
|
/**
|
|
10439
|
-
* A separately paired local MCP client.
|
|
10440
|
-
*
|
|
10441
|
-
* here so proposals persist a stable, audit-safe origin from day one.
|
|
11893
|
+
* A separately paired local MCP client. It has no caller thread, so its
|
|
11894
|
+
* privilege evidence is the integration's grant ceiling at submission.
|
|
10442
11895
|
*/
|
|
10443
11896
|
const AgentControlExternalIntegrationPrincipal = Schema.Struct({
|
|
10444
11897
|
kind: Schema.Literal("external-integration"),
|
|
10445
11898
|
integrationId: AgentControlIntegrationId,
|
|
10446
11899
|
label: Schema.optional(TrimmedNonEmptyString.check(Schema.isMaxLength(120))),
|
|
10447
|
-
/**
|
|
11900
|
+
/**
|
|
11901
|
+
* Immutable execution-policy evidence captured when the proposal is created:
|
|
11902
|
+
* the task's own policy for created threads, or the integration's runtime
|
|
11903
|
+
* and checkout ceiling for thread control.
|
|
11904
|
+
*/
|
|
10448
11905
|
projectId: Schema.optional(ProjectId),
|
|
10449
11906
|
runtimeMode: Schema.optional(RuntimeMode),
|
|
10450
|
-
envMode: Schema.optional(ThreadEnvMode)
|
|
11907
|
+
envMode: Schema.optional(ThreadEnvMode),
|
|
11908
|
+
/** Audit-safe target state for thread control, used to reject stale approved plans. */
|
|
11909
|
+
targetSnapshots: Schema.optional(Schema.Array(AgentControlTargetThreadSnapshot))
|
|
10451
11910
|
});
|
|
10452
11911
|
/** Owner-authored automation only; never accepted from an MCP principal. */
|
|
10453
11912
|
const AgentControlAutomationOwnerPrincipal = Schema.Struct({
|
|
@@ -10471,6 +11930,8 @@ const AgentControlCapability = agentControlSlug.pipe(Schema.brand("AgentControlC
|
|
|
10471
11930
|
const AGENT_CONTROL_CAPABILITIES = {
|
|
10472
11931
|
read: AgentControlCapability.make("read"),
|
|
10473
11932
|
attachFile: AgentControlCapability.make("files.attach"),
|
|
11933
|
+
/** Preview HTML pages in Ryco's headless browser and show them inline in the caller's thread. */
|
|
11934
|
+
renderHtml: AgentControlCapability.make("html.render"),
|
|
10474
11935
|
createThreads: AgentControlCapability.make("threads.create"),
|
|
10475
11936
|
sendMessage: AgentControlCapability.make("threads.send-message"),
|
|
10476
11937
|
interruptThread: AgentControlCapability.make("threads.interrupt"),
|
|
@@ -10498,7 +11959,13 @@ const AGENT_CONTROL_CAPABILITIES = {
|
|
|
10498
11959
|
externalReadAutomations: AgentControlCapability.make("external.automations.read"),
|
|
10499
11960
|
externalManageAutomations: AgentControlCapability.make("external.automations.manage"),
|
|
10500
11961
|
externalReadActivity: AgentControlCapability.make("external.activity.read"),
|
|
10501
|
-
externalReadDiagnostics: AgentControlCapability.make("external.diagnostics.read")
|
|
11962
|
+
externalReadDiagnostics: AgentControlCapability.make("external.diagnostics.read"),
|
|
11963
|
+
externalReadThreads: AgentControlCapability.make("external.threads.read"),
|
|
11964
|
+
externalReadReviews: AgentControlCapability.make("external.reviews.read"),
|
|
11965
|
+
externalReadFiles: AgentControlCapability.make("external.files.read"),
|
|
11966
|
+
externalReadWorkspaces: AgentControlCapability.make("external.workspaces.read"),
|
|
11967
|
+
externalControlThreads: AgentControlCapability.make("external.threads.control"),
|
|
11968
|
+
externalManageWorkspaces: AgentControlCapability.make("external.workspaces.manage")
|
|
10502
11969
|
};
|
|
10503
11970
|
const AgentControlActionKind = Schema.Literals([
|
|
10504
11971
|
"createThreads",
|
|
@@ -11711,6 +13178,7 @@ const AgentControlMcpReadDeviceStateResult = Schema.Struct({
|
|
|
11711
13178
|
});
|
|
11712
13179
|
const AgentControlMcpProjectSummary = Schema.Struct({
|
|
11713
13180
|
projectId: ProjectId,
|
|
13181
|
+
kind: OptionalProjectKind,
|
|
11714
13182
|
title: TrimmedNonEmptyString,
|
|
11715
13183
|
createdAt: IsoDateTime,
|
|
11716
13184
|
updatedAt: IsoDateTime
|
|
@@ -12079,7 +13547,24 @@ const AGENT_CONTROL_EXTERNAL_MCP_TOOLS = {
|
|
|
12079
13547
|
recentActivity: "ryco_recent_activity",
|
|
12080
13548
|
orchestrationEvents: "ryco_orchestration_events",
|
|
12081
13549
|
providerRuntimeEvents: "ryco_provider_runtime_events",
|
|
12082
|
-
diagnosticsSummary: "ryco_diagnostics_summary"
|
|
13550
|
+
diagnosticsSummary: "ryco_diagnostics_summary",
|
|
13551
|
+
readControlRequest: "ryco_read_control_request",
|
|
13552
|
+
waitForControlRequest: "ryco_wait_for_control_request",
|
|
13553
|
+
listThreads: "ryco_list_threads",
|
|
13554
|
+
readThread: "ryco_read_thread",
|
|
13555
|
+
searchThreads: "ryco_search_threads",
|
|
13556
|
+
waitThreads: "ryco_wait_threads",
|
|
13557
|
+
inspectThread: "ryco_inspect_thread",
|
|
13558
|
+
readThreadDiff: "ryco_read_thread_diff",
|
|
13559
|
+
readThreadFile: "ryco_read_thread_file",
|
|
13560
|
+
readProject: "ryco_read_project",
|
|
13561
|
+
listWorkspaces: "ryco_list_workspaces",
|
|
13562
|
+
readWorkspace: "ryco_read_workspace",
|
|
13563
|
+
sendMessage: "ryco_send_message",
|
|
13564
|
+
interruptThread: "ryco_interrupt_thread",
|
|
13565
|
+
updateThread: "ryco_update_thread",
|
|
13566
|
+
planWorkspace: "ryco_plan_workspace_lifecycle",
|
|
13567
|
+
proposeWorkspace: "ryco_propose_workspace_lifecycle"
|
|
12083
13568
|
};
|
|
12084
13569
|
const AGENT_CONTROL_EXTERNAL_MCP_TOOL_NAMES = Object.values(AGENT_CONTROL_EXTERNAL_MCP_TOOLS);
|
|
12085
13570
|
const AgentControlExternalCreateTaskInput = Schema.Struct({
|
|
@@ -12268,6 +13753,107 @@ const ProjectReadIconResult = Schema.NullOr(Schema.Struct({
|
|
|
12268
13753
|
])
|
|
12269
13754
|
}));
|
|
12270
13755
|
var ProjectReadIconError = class extends Schema.TaggedError()("ProjectReadIconError", { message: TrimmedNonEmptyString }) {};
|
|
13756
|
+
/** Server-local absolute directory; access and filesystem validation belong to the server. */
|
|
13757
|
+
const ProjectChatDestination = TrimmedNonEmptyString.check(Schema.isMaxLength(4096));
|
|
13758
|
+
/**
|
|
13759
|
+
* Where a promoted chat folder would go. Only `available` can be promoted:
|
|
13760
|
+
* - `exists`: something is already at the destination, or another chat is moving there.
|
|
13761
|
+
* - `invalid`: not an absolute path, or its parent is missing or not a writable directory.
|
|
13762
|
+
* - `access-denied`: the workspace access policy rejects it.
|
|
13763
|
+
* - `inside-chats`: it lies inside the chats root.
|
|
13764
|
+
* - `inside-source`: it lies inside the chat folder being moved.
|
|
13765
|
+
* - `retired-checkout`: it is at or inside a workspace checkout Ryco removed (or is removing or
|
|
13766
|
+
* moving). The server keeps new work out of such paths, so a project there could never run.
|
|
13767
|
+
*/
|
|
13768
|
+
const ProjectChatDestinationStatus = Schema.Literals([
|
|
13769
|
+
"available",
|
|
13770
|
+
"exists",
|
|
13771
|
+
"invalid",
|
|
13772
|
+
"access-denied",
|
|
13773
|
+
"inside-chats",
|
|
13774
|
+
"inside-source",
|
|
13775
|
+
"retired-checkout"
|
|
13776
|
+
]);
|
|
13777
|
+
const ProjectsPromoteChatPreviewInput = Schema.Struct({
|
|
13778
|
+
projectId: ProjectId,
|
|
13779
|
+
/** Absent previews the default destination. Any text is accepted and judged in the result. */
|
|
13780
|
+
destination: Schema.optional(Schema.String.check(Schema.isMaxLength(4096)))
|
|
13781
|
+
});
|
|
13782
|
+
/** Read-only: previewing never creates, moves or locks anything. */
|
|
13783
|
+
const ProjectsPromoteChatPreviewResult = Schema.Struct({
|
|
13784
|
+
projectId: ProjectId,
|
|
13785
|
+
/** The chat folder that would move. */
|
|
13786
|
+
source: TrimmedNonEmptyString,
|
|
13787
|
+
/**
|
|
13788
|
+
* A free folder under `addProjectBaseDirectory` (or its default): `<slug>` when nothing is there,
|
|
13789
|
+
* otherwise the first free `<slug>-2`, `<slug>-3`, …
|
|
13790
|
+
*/
|
|
13791
|
+
defaultDestination: TrimmedNonEmptyString,
|
|
13792
|
+
/** The destination that was judged: the input's (normalized) or the default. */
|
|
13793
|
+
destination: Schema.String,
|
|
13794
|
+
destinationStatus: ProjectChatDestinationStatus,
|
|
13795
|
+
fileCount: NonNegativeInt,
|
|
13796
|
+
totalBytes: NonNegativeInt,
|
|
13797
|
+
/** The scan stopped at its bound; the counts are lower limits. */
|
|
13798
|
+
countTruncated: Schema.Boolean,
|
|
13799
|
+
/** Threads with live work (running turn, pending approval or input, queued dispatch). */
|
|
13800
|
+
busyThreadIds: Schema.Array(ThreadId),
|
|
13801
|
+
gitAvailable: Schema.Boolean,
|
|
13802
|
+
/** Whether `user.name` and `user.email` resolve, so an initial commit can succeed. */
|
|
13803
|
+
gitIdentityConfigured: Schema.Boolean,
|
|
13804
|
+
/** Source and destination are on different devices: the move is a copy, then a delete. */
|
|
13805
|
+
crossDevice: Schema.Boolean
|
|
13806
|
+
});
|
|
13807
|
+
const ProjectsPromoteChatInput = Schema.Struct({
|
|
13808
|
+
projectId: ProjectId,
|
|
13809
|
+
/** Compare-and-set guard against the project as previewed. */
|
|
13810
|
+
expectedUpdatedAt: Schema.optional(IsoDateTime),
|
|
13811
|
+
title: TrimmedNonEmptyString.check(Schema.isMaxLength(200)),
|
|
13812
|
+
destination: ProjectChatDestination,
|
|
13813
|
+
initializeGit: Schema.Boolean,
|
|
13814
|
+
/** Ignored unless `initializeGit`. */
|
|
13815
|
+
initialCommit: Schema.Boolean,
|
|
13816
|
+
/** Ignored unless `initializeGit`; never overwrites an existing `.gitignore`. */
|
|
13817
|
+
writeGitignore: Schema.Boolean
|
|
13818
|
+
});
|
|
13819
|
+
const ProjectsPromoteChatResult = Schema.Struct({
|
|
13820
|
+
projectId: ProjectId,
|
|
13821
|
+
workspaceRoot: TrimmedNonEmptyString,
|
|
13822
|
+
gitInitialized: Schema.Boolean,
|
|
13823
|
+
initialCommitCreated: Schema.Boolean,
|
|
13824
|
+
/** The project was promoted, but its first commit failed (for example, no Git identity). */
|
|
13825
|
+
commitError: Schema.optional(Schema.String)
|
|
13826
|
+
});
|
|
13827
|
+
/**
|
|
13828
|
+
* The explicit "Also delete files" step for a chat. Refused while the chat still has threads, and
|
|
13829
|
+
* never removes anything outside the chats root.
|
|
13830
|
+
*/
|
|
13831
|
+
const ProjectsDeleteChatFolderInput = Schema.Struct({ projectId: ProjectId });
|
|
13832
|
+
const ProjectsDeleteChatFolderResult = Schema.Struct({
|
|
13833
|
+
/** False when the folder was already gone. */
|
|
13834
|
+
deleted: Schema.Boolean });
|
|
13835
|
+
const ProjectChatErrorReason = Schema.Literals([
|
|
13836
|
+
"not-found",
|
|
13837
|
+
"not-chat",
|
|
13838
|
+
"busy",
|
|
13839
|
+
"stale",
|
|
13840
|
+
"destination-exists",
|
|
13841
|
+
"destination-invalid",
|
|
13842
|
+
"destination-inside-chats",
|
|
13843
|
+
"destination-inside-source",
|
|
13844
|
+
"destination-retired-checkout",
|
|
13845
|
+
"access-denied",
|
|
13846
|
+
"move-failed",
|
|
13847
|
+
"git-failed",
|
|
13848
|
+
"chats-unavailable",
|
|
13849
|
+
"has-threads",
|
|
13850
|
+
"outside-chats-root"
|
|
13851
|
+
]);
|
|
13852
|
+
/** One error for every chat-folder RPC; `reason` is the stable, machine-readable part. */
|
|
13853
|
+
var ProjectChatError = class extends Schema.TaggedError()("ProjectChatError", {
|
|
13854
|
+
reason: ProjectChatErrorReason,
|
|
13855
|
+
message: TrimmedNonEmptyString
|
|
13856
|
+
}) {};
|
|
12271
13857
|
//#endregion
|
|
12272
13858
|
//#region ../../packages/contracts/src/filesystem.ts
|
|
12273
13859
|
const FILESYSTEM_PATH_MAX_LENGTH = 512;
|
|
@@ -12291,6 +13877,195 @@ var FilesystemBrowseError = class extends Schema.TaggedError()("FilesystemBrowse
|
|
|
12291
13877
|
cause: Schema.optional(Schema.Defect())
|
|
12292
13878
|
}) {};
|
|
12293
13879
|
//#endregion
|
|
13880
|
+
//#region ../../packages/contracts/src/localTasks.ts
|
|
13881
|
+
const LocalTaskId = Schema.String.check(Schema.isPattern(/^[a-zA-Z0-9_-]{1,128}$/));
|
|
13882
|
+
const Title = Schema.String.check(Schema.isMinLength(1), Schema.isMaxLength(500));
|
|
13883
|
+
const Notes = Schema.String.check(Schema.isMaxLength(2e4));
|
|
13884
|
+
const LocalTaskPriority = Schema.Literals([
|
|
13885
|
+
"low",
|
|
13886
|
+
"normal",
|
|
13887
|
+
"high",
|
|
13888
|
+
"urgent"
|
|
13889
|
+
]);
|
|
13890
|
+
const LocalTaskFields = {
|
|
13891
|
+
title: Title,
|
|
13892
|
+
notes: Notes,
|
|
13893
|
+
priority: LocalTaskPriority,
|
|
13894
|
+
dueAt: Schema.NullOr(IsoDateTime),
|
|
13895
|
+
projectId: Schema.NullOr(ProjectId)
|
|
13896
|
+
};
|
|
13897
|
+
const LocalTaskStatus = Schema.Literals([
|
|
13898
|
+
"todo",
|
|
13899
|
+
"starting",
|
|
13900
|
+
"running",
|
|
13901
|
+
"needs-you",
|
|
13902
|
+
"review",
|
|
13903
|
+
"failed",
|
|
13904
|
+
"unavailable",
|
|
13905
|
+
"done"
|
|
13906
|
+
]);
|
|
13907
|
+
const LocalTask = Schema.Struct({
|
|
13908
|
+
taskId: LocalTaskId,
|
|
13909
|
+
revision: NonNegativeInt,
|
|
13910
|
+
...LocalTaskFields,
|
|
13911
|
+
state: Schema.Literals(["todo", "done"]),
|
|
13912
|
+
status: LocalTaskStatus,
|
|
13913
|
+
delegation: Schema.NullOr(Schema.Struct({
|
|
13914
|
+
threadId: ThreadId,
|
|
13915
|
+
messageId: MessageId,
|
|
13916
|
+
commandId: CommandId,
|
|
13917
|
+
dispatched: Schema.Boolean
|
|
13918
|
+
})),
|
|
13919
|
+
createdAt: IsoDateTime,
|
|
13920
|
+
updatedAt: IsoDateTime
|
|
13921
|
+
});
|
|
13922
|
+
const LocalTaskCreateInput = Schema.Struct({
|
|
13923
|
+
taskId: LocalTaskId,
|
|
13924
|
+
...LocalTaskFields
|
|
13925
|
+
});
|
|
13926
|
+
const LocalTaskUpdateInput = Schema.Struct({
|
|
13927
|
+
taskId: LocalTaskId,
|
|
13928
|
+
expectedRevision: NonNegativeInt,
|
|
13929
|
+
title: Schema.optional(Title),
|
|
13930
|
+
notes: Schema.optional(Notes),
|
|
13931
|
+
priority: Schema.optional(LocalTaskPriority),
|
|
13932
|
+
dueAt: Schema.optional(Schema.NullOr(IsoDateTime)),
|
|
13933
|
+
projectId: Schema.optional(Schema.NullOr(ProjectId)),
|
|
13934
|
+
state: Schema.optional(Schema.Literals(["todo", "done"]))
|
|
13935
|
+
});
|
|
13936
|
+
const LocalTaskDeleteInput = Schema.Struct({
|
|
13937
|
+
taskId: LocalTaskId,
|
|
13938
|
+
expectedRevision: NonNegativeInt
|
|
13939
|
+
});
|
|
13940
|
+
const LocalTaskListInput = Schema.Struct({
|
|
13941
|
+
limit: Schema.optional(Schema.Int.check(Schema.isBetween({
|
|
13942
|
+
minimum: 1,
|
|
13943
|
+
maximum: 100
|
|
13944
|
+
}))),
|
|
13945
|
+
afterId: Schema.optional(LocalTaskId)
|
|
13946
|
+
});
|
|
13947
|
+
const LocalTaskListResult = Schema.Struct({
|
|
13948
|
+
tasks: Schema.Array(LocalTask),
|
|
13949
|
+
nextCursor: Schema.NullOr(LocalTaskId)
|
|
13950
|
+
});
|
|
13951
|
+
const LocalTaskDelegateInput = Schema.Struct({
|
|
13952
|
+
taskId: LocalTaskId,
|
|
13953
|
+
expectedRevision: NonNegativeInt,
|
|
13954
|
+
command: ClientThreadTurnStartCommand
|
|
13955
|
+
});
|
|
13956
|
+
var LocalTaskError = class extends Schema.TaggedError()("LocalTaskError", {
|
|
13957
|
+
reason: Schema.Literals([
|
|
13958
|
+
"not-found",
|
|
13959
|
+
"conflict",
|
|
13960
|
+
"invalid",
|
|
13961
|
+
"persistence"
|
|
13962
|
+
]),
|
|
13963
|
+
message: Schema.String
|
|
13964
|
+
}) {};
|
|
13965
|
+
//#endregion
|
|
13966
|
+
//#region ../../packages/contracts/src/notes.ts
|
|
13967
|
+
/** `worktree` belongs to one checkout; `project` is shared by the whole project. */
|
|
13968
|
+
const NoteScope = Schema.Literals(["worktree", "project"]);
|
|
13969
|
+
/** Free text; empty is a cleared document. */
|
|
13970
|
+
const NoteBody = Schema.String.check(Schema.isMaxLength(1e5));
|
|
13971
|
+
/**
|
|
13972
|
+
* One free-text notes document: a checkout's (`scope: "worktree"`, keyed by
|
|
13973
|
+
* its worktree, `null` for the main checkout) or the project's own
|
|
13974
|
+
* (`scope: "project"`, always `worktreeId: null`).
|
|
13975
|
+
*/
|
|
13976
|
+
const NotesDocument = Schema.Struct({
|
|
13977
|
+
projectId: ProjectId,
|
|
13978
|
+
scope: NoteScope,
|
|
13979
|
+
worktreeId: Schema.NullOr(WorktreeId),
|
|
13980
|
+
body: NoteBody,
|
|
13981
|
+
/** Bumped by every save; a document never saved is revision 0 and is not listed. */
|
|
13982
|
+
revision: NonNegativeInt,
|
|
13983
|
+
updatedAt: IsoDateTime
|
|
13984
|
+
});
|
|
13985
|
+
const NotesListInput = Schema.Struct({ projectId: ProjectId });
|
|
13986
|
+
const NotesSnapshot = Schema.Struct({
|
|
13987
|
+
projectId: ProjectId,
|
|
13988
|
+
/** The project's document and every live checkout's, in no particular order. */
|
|
13989
|
+
documents: Schema.Array(NotesDocument)
|
|
13990
|
+
});
|
|
13991
|
+
/** Replaces one document's body; judged against the revision the edit started from. */
|
|
13992
|
+
const NotesCommand = Schema.Struct({
|
|
13993
|
+
kind: Schema.Literal("save"),
|
|
13994
|
+
projectId: ProjectId,
|
|
13995
|
+
scope: NoteScope,
|
|
13996
|
+
/** Must be `null` for the project's document. */
|
|
13997
|
+
worktreeId: Schema.NullOr(WorktreeId),
|
|
13998
|
+
body: NoteBody,
|
|
13999
|
+
/** The revision the edit was based on (0 for a document never saved). */
|
|
14000
|
+
expectedRevision: NonNegativeInt
|
|
14001
|
+
}).annotate({ parseOptions: { onExcessProperty: "error" } });
|
|
14002
|
+
var NotesError = class extends Schema.TaggedError()("NotesError", {
|
|
14003
|
+
reason: Schema.Literals([
|
|
14004
|
+
"conflict",
|
|
14005
|
+
"invalid",
|
|
14006
|
+
"persistence"
|
|
14007
|
+
]),
|
|
14008
|
+
message: Schema.String
|
|
14009
|
+
}) {};
|
|
14010
|
+
//#endregion
|
|
14011
|
+
//#region ../../packages/contracts/src/dailyRecap.ts
|
|
14012
|
+
const DailyRecapRequest = Schema.Struct({
|
|
14013
|
+
date: UsageCalendarDate,
|
|
14014
|
+
timeZone: TrimmedNonEmptyString,
|
|
14015
|
+
/** Maximum threads in each section; defaults to 20. Counts remain complete. */
|
|
14016
|
+
limit: Schema.optional(PositiveInt.check(Schema.isLessThanOrEqualTo(50)))
|
|
14017
|
+
});
|
|
14018
|
+
const DailyRecapThread = Schema.Struct({
|
|
14019
|
+
threadId: ThreadId,
|
|
14020
|
+
threadTitle: Schema.String,
|
|
14021
|
+
projectId: ProjectId,
|
|
14022
|
+
projectTitle: Schema.String,
|
|
14023
|
+
lastActivityAt: IsoDateTime
|
|
14024
|
+
});
|
|
14025
|
+
const DailyRecapAttentionThread = Schema.Struct({
|
|
14026
|
+
...DailyRecapThread.fields,
|
|
14027
|
+
pendingApprovals: NonNegativeInt,
|
|
14028
|
+
pendingUserInputs: NonNegativeInt,
|
|
14029
|
+
hasProposedPlan: Schema.Boolean,
|
|
14030
|
+
sessionError: Schema.Boolean
|
|
14031
|
+
});
|
|
14032
|
+
const DailyRecapThreadSection = Schema.Struct({
|
|
14033
|
+
totalThreads: NonNegativeInt,
|
|
14034
|
+
threads: Schema.Array(DailyRecapThread),
|
|
14035
|
+
truncated: Schema.Boolean
|
|
14036
|
+
});
|
|
14037
|
+
const DailyRecapSnapshot = Schema.Struct({
|
|
14038
|
+
date: UsageCalendarDate,
|
|
14039
|
+
timeZone: TrimmedNonEmptyString,
|
|
14040
|
+
generatedAt: IsoDateTime,
|
|
14041
|
+
/** Exact UTC interval for the selected local calendar day; end is exclusive. */
|
|
14042
|
+
from: IsoDateTime,
|
|
14043
|
+
to: IsoDateTime,
|
|
14044
|
+
/** Ryco turn outcomes in this day, excluding deleted threads and projects. */
|
|
14045
|
+
counts: Schema.Struct({
|
|
14046
|
+
completedTurns: NonNegativeInt,
|
|
14047
|
+
failedTurns: NonNegativeInt,
|
|
14048
|
+
interruptedTurns: NonNegativeInt
|
|
14049
|
+
}),
|
|
14050
|
+
/** Sections are independent: a thread may have both successful and failed turns. */
|
|
14051
|
+
completed: DailyRecapThreadSection,
|
|
14052
|
+
failed: DailyRecapThreadSection,
|
|
14053
|
+
/** Current outstanding attention, regardless of the selected day; excludes archived threads. */
|
|
14054
|
+
needsAttention: Schema.Struct({
|
|
14055
|
+
totalThreads: NonNegativeInt,
|
|
14056
|
+
threads: Schema.Array(DailyRecapAttentionThread),
|
|
14057
|
+
truncated: Schema.Boolean
|
|
14058
|
+
})
|
|
14059
|
+
});
|
|
14060
|
+
var DailyRecapReadError = class extends Schema.TaggedError()("DailyRecapReadError", {
|
|
14061
|
+
reason: Schema.Literals([
|
|
14062
|
+
"invalid-date",
|
|
14063
|
+
"invalid-time-zone",
|
|
14064
|
+
"query-failed"
|
|
14065
|
+
]),
|
|
14066
|
+
detail: TrimmedNonEmptyString
|
|
14067
|
+
}) {};
|
|
14068
|
+
//#endregion
|
|
12294
14069
|
//#region ../../packages/contracts/src/sessionImport.ts
|
|
12295
14070
|
const SessionImportSource = Schema.Literals(["codex", "claudeAgent"]);
|
|
12296
14071
|
const ImportKey = Schema.String.check(Schema.isPattern(/^[a-f0-9]{64}$/));
|
|
@@ -12478,6 +14253,7 @@ const WS_METHODS = {
|
|
|
12478
14253
|
vcsRefreshStatus: "vcs.refreshStatus",
|
|
12479
14254
|
vcsListRefs: "vcs.listRefs",
|
|
12480
14255
|
vcsReadLineBlame: "vcs.readLineBlame",
|
|
14256
|
+
vcsReadImageBlob: "vcs.readImageBlob",
|
|
12481
14257
|
vcsReadLocalChanges: "vcs.readLocalChanges",
|
|
12482
14258
|
vcsApplyIndexPatch: "vcs.applyIndexPatch",
|
|
12483
14259
|
vcsReadComparison: "vcs.readComparison",
|
|
@@ -12494,10 +14270,18 @@ const WS_METHODS = {
|
|
|
12494
14270
|
gitArchiveWorktree: "git.archiveWorktree",
|
|
12495
14271
|
gitRestoreWorktree: "git.restoreWorktree",
|
|
12496
14272
|
gitDeleteWorktree: "git.deleteWorktree",
|
|
14273
|
+
lifecycleListWorkspaces: "lifecycle.listWorkspaces",
|
|
14274
|
+
lifecyclePreviewWorkspace: "lifecycle.previewWorkspace",
|
|
14275
|
+
lifecycleApplyWorkspace: "lifecycle.applyWorkspace",
|
|
14276
|
+
lifecycleSuggestions: "lifecycle.suggestions",
|
|
14277
|
+
lifecycleListTrash: "lifecycle.listTrash",
|
|
12497
14278
|
threadsSetManualBucket: "threads.setManualBucket",
|
|
12498
14279
|
threadsSetManualPosition: "threads.setManualPosition",
|
|
12499
14280
|
worktreesSetManualPosition: "worktrees.setManualPosition",
|
|
12500
14281
|
projectsInitializeGit: "projects.initializeGit",
|
|
14282
|
+
projectsPromoteChatPreview: "projects.promoteChatPreview",
|
|
14283
|
+
projectsPromoteChat: "projects.promoteChat",
|
|
14284
|
+
projectsDeleteChatFolder: "projects.deleteChatFolder",
|
|
12501
14285
|
searchThreadMessages: "threads.searchMessages",
|
|
12502
14286
|
threadPriorityEnsureCurrent: "threadPriority.ensureCurrent",
|
|
12503
14287
|
terminalOpen: "terminal.open",
|
|
@@ -12515,6 +14299,15 @@ const WS_METHODS = {
|
|
|
12515
14299
|
serverAuthenticateAcpRegistry: "server.authenticateAcpRegistry",
|
|
12516
14300
|
serverReadCodexResetCredits: "server.readCodexResetCredits",
|
|
12517
14301
|
serverConsumeCodexResetCredit: "server.consumeCodexResetCredit",
|
|
14302
|
+
serverListLocalTasks: "server.listLocalTasks",
|
|
14303
|
+
serverGetLocalTask: "server.getLocalTask",
|
|
14304
|
+
serverCreateLocalTask: "server.createLocalTask",
|
|
14305
|
+
serverUpdateLocalTask: "server.updateLocalTask",
|
|
14306
|
+
serverDeleteLocalTask: "server.deleteLocalTask",
|
|
14307
|
+
serverDelegateLocalTask: "server.delegateLocalTask",
|
|
14308
|
+
serverGetDailyRecap: "server.getDailyRecap",
|
|
14309
|
+
notesList: "notes.list",
|
|
14310
|
+
notesCommand: "notes.command",
|
|
12518
14311
|
serverRefreshProviders: "server.refreshProviders",
|
|
12519
14312
|
serverUpdateProvider: "server.updateProvider",
|
|
12520
14313
|
serverUpsertKeybinding: "server.upsertKeybinding",
|
|
@@ -12564,6 +14357,14 @@ const WS_METHODS = {
|
|
|
12564
14357
|
sourceControlGetWorkflowRunJobs: "sourceControl.getWorkflowRunJobs",
|
|
12565
14358
|
sourceControlGetWorkflowJobLog: "sourceControl.getWorkflowJobLog",
|
|
12566
14359
|
sourceControlRerunWorkflow: "sourceControl.rerunWorkflow",
|
|
14360
|
+
sourceControlGetChangeRequestActivity: "sourceControl.getChangeRequestActivity",
|
|
14361
|
+
sourceControlGetChangeRequestFileContents: "sourceControl.getChangeRequestFileContents",
|
|
14362
|
+
sourceControlSubmitChangeRequestReview: "sourceControl.submitChangeRequestReview",
|
|
14363
|
+
sourceControlReplyToReviewThread: "sourceControl.replyToReviewThread",
|
|
14364
|
+
sourceControlSetReviewThreadResolved: "sourceControl.setReviewThreadResolved",
|
|
14365
|
+
sourceControlUpdateChangeRequestComment: "sourceControl.updateChangeRequestComment",
|
|
14366
|
+
sourceControlUpdateChangeRequest: "sourceControl.updateChangeRequest",
|
|
14367
|
+
sourceControlCreateChangeRequest: "sourceControl.createChangeRequest",
|
|
12567
14368
|
textGenerationGenerateIssueContent: "textGeneration.generateIssueContent",
|
|
12568
14369
|
textGenerationAskSideQuestion: "textGeneration.askSideQuestion",
|
|
12569
14370
|
textGenerationCancelSideQuestion: "textGeneration.cancelSideQuestion",
|
|
@@ -12767,6 +14568,55 @@ const WsServerConsumeCodexResetCreditRpc = Rpc.make(WS_METHODS.serverConsumeCode
|
|
|
12767
14568
|
success: Schema.Struct({ outcome: CodexResetCreditOutcome }),
|
|
12768
14569
|
error: Schema.Union([CodexResetCreditError, AuthRpcError])
|
|
12769
14570
|
});
|
|
14571
|
+
const WsServerListLocalTasksRpc = Rpc.make(WS_METHODS.serverListLocalTasks, {
|
|
14572
|
+
payload: LocalTaskListInput,
|
|
14573
|
+
success: LocalTaskListResult,
|
|
14574
|
+
error: Schema.Union([LocalTaskError, AuthRpcError])
|
|
14575
|
+
});
|
|
14576
|
+
const WsServerGetLocalTaskRpc = Rpc.make(WS_METHODS.serverGetLocalTask, {
|
|
14577
|
+
payload: Schema.Struct({ taskId: LocalTaskId }),
|
|
14578
|
+
success: LocalTask,
|
|
14579
|
+
error: Schema.Union([LocalTaskError, AuthRpcError])
|
|
14580
|
+
});
|
|
14581
|
+
const WsServerCreateLocalTaskRpc = Rpc.make(WS_METHODS.serverCreateLocalTask, {
|
|
14582
|
+
payload: LocalTaskCreateInput,
|
|
14583
|
+
success: LocalTask,
|
|
14584
|
+
error: Schema.Union([LocalTaskError, AuthRpcError])
|
|
14585
|
+
});
|
|
14586
|
+
const WsServerUpdateLocalTaskRpc = Rpc.make(WS_METHODS.serverUpdateLocalTask, {
|
|
14587
|
+
payload: LocalTaskUpdateInput,
|
|
14588
|
+
success: LocalTask,
|
|
14589
|
+
error: Schema.Union([LocalTaskError, AuthRpcError])
|
|
14590
|
+
});
|
|
14591
|
+
const WsServerDeleteLocalTaskRpc = Rpc.make(WS_METHODS.serverDeleteLocalTask, {
|
|
14592
|
+
payload: LocalTaskDeleteInput,
|
|
14593
|
+
success: Schema.Struct({ deleted: Schema.Literal(true) }),
|
|
14594
|
+
error: Schema.Union([LocalTaskError, AuthRpcError])
|
|
14595
|
+
});
|
|
14596
|
+
const WsServerDelegateLocalTaskRpc = Rpc.make(WS_METHODS.serverDelegateLocalTask, {
|
|
14597
|
+
payload: LocalTaskDelegateInput,
|
|
14598
|
+
success: LocalTask,
|
|
14599
|
+
error: Schema.Union([
|
|
14600
|
+
LocalTaskError,
|
|
14601
|
+
AuthRpcError,
|
|
14602
|
+
OrchestrationDispatchCommandError
|
|
14603
|
+
])
|
|
14604
|
+
});
|
|
14605
|
+
const WsNotesListRpc = Rpc.make(WS_METHODS.notesList, {
|
|
14606
|
+
payload: NotesListInput,
|
|
14607
|
+
success: NotesSnapshot,
|
|
14608
|
+
error: Schema.Union([NotesError, AuthRpcError])
|
|
14609
|
+
});
|
|
14610
|
+
const WsNotesCommandRpc = Rpc.make(WS_METHODS.notesCommand, {
|
|
14611
|
+
payload: NotesCommand,
|
|
14612
|
+
success: NotesSnapshot,
|
|
14613
|
+
error: Schema.Union([NotesError, AuthRpcError])
|
|
14614
|
+
});
|
|
14615
|
+
const WsServerGetDailyRecapRpc = Rpc.make(WS_METHODS.serverGetDailyRecap, {
|
|
14616
|
+
payload: DailyRecapRequest,
|
|
14617
|
+
success: DailyRecapSnapshot,
|
|
14618
|
+
error: Schema.Union([DailyRecapReadError, AuthRpcError])
|
|
14619
|
+
});
|
|
12770
14620
|
const WsServerRefreshProvidersRpc = Rpc.make(WS_METHODS.serverRefreshProviders, {
|
|
12771
14621
|
payload: Schema.Struct({
|
|
12772
14622
|
/**
|
|
@@ -12945,7 +14795,9 @@ const WsSourceControlListChangeRequestsRpc = Rpc.make(WS_METHODS.sourceControlLi
|
|
|
12945
14795
|
"all"
|
|
12946
14796
|
]),
|
|
12947
14797
|
limit: Schema.optional(Schema.Number),
|
|
12948
|
-
query: Schema.optional(Schema.String)
|
|
14798
|
+
query: Schema.optional(Schema.String),
|
|
14799
|
+
/** Narrow to change requests involving the authenticated viewer. */
|
|
14800
|
+
involvement: Schema.optional(ChangeRequestInvolvement)
|
|
12949
14801
|
}),
|
|
12950
14802
|
success: Schema.Array(ChangeRequest),
|
|
12951
14803
|
error: Schema.Union([SourceControlProviderError, AuthRpcError])
|
|
@@ -12982,7 +14834,9 @@ const WsSourceControlGetChangeRequestDiffRpc = Rpc.make(WS_METHODS.sourceControl
|
|
|
12982
14834
|
payload: Schema.Struct({
|
|
12983
14835
|
cwd: Schema.String,
|
|
12984
14836
|
reference: Schema.String,
|
|
12985
|
-
expectedHeadSha: Schema.optional(TrimmedNonEmptyString)
|
|
14837
|
+
expectedHeadSha: Schema.optional(TrimmedNonEmptyString),
|
|
14838
|
+
/** Scope the diff to a single commit of the change request. */
|
|
14839
|
+
commitSha: Schema.optional(TrimmedNonEmptyString)
|
|
12986
14840
|
}),
|
|
12987
14841
|
success: Schema.String,
|
|
12988
14842
|
error: Schema.Union([SourceControlProviderError, AuthRpcError])
|
|
@@ -13051,6 +14905,46 @@ const WsSourceControlRerunWorkflowRpc = Rpc.make(WS_METHODS.sourceControlRerunWo
|
|
|
13051
14905
|
success: SourceControlWorkflowRerunResult,
|
|
13052
14906
|
error: Schema.Union([SourceControlProviderError, AuthRpcError])
|
|
13053
14907
|
});
|
|
14908
|
+
const WsSourceControlGetChangeRequestActivityRpc = Rpc.make(WS_METHODS.sourceControlGetChangeRequestActivity, {
|
|
14909
|
+
payload: ChangeRequestActivityInput,
|
|
14910
|
+
success: ChangeRequestActivity,
|
|
14911
|
+
error: Schema.Union([SourceControlProviderError, AuthRpcError])
|
|
14912
|
+
});
|
|
14913
|
+
const WsSourceControlGetChangeRequestFileContentsRpc = Rpc.make(WS_METHODS.sourceControlGetChangeRequestFileContents, {
|
|
14914
|
+
payload: ChangeRequestFileContentsInput,
|
|
14915
|
+
success: ChangeRequestFileContents,
|
|
14916
|
+
error: Schema.Union([SourceControlProviderError, AuthRpcError])
|
|
14917
|
+
});
|
|
14918
|
+
const WsSourceControlSubmitChangeRequestReviewRpc = Rpc.make(WS_METHODS.sourceControlSubmitChangeRequestReview, {
|
|
14919
|
+
payload: ChangeRequestSubmitReviewInput,
|
|
14920
|
+
success: ChangeRequestSubmitReviewResult,
|
|
14921
|
+
error: Schema.Union([SourceControlProviderError, AuthRpcError])
|
|
14922
|
+
});
|
|
14923
|
+
const WsSourceControlReplyToReviewThreadRpc = Rpc.make(WS_METHODS.sourceControlReplyToReviewThread, {
|
|
14924
|
+
payload: ChangeRequestReplyToThreadInput,
|
|
14925
|
+
success: ChangeRequestReplyToThreadResult,
|
|
14926
|
+
error: Schema.Union([SourceControlProviderError, AuthRpcError])
|
|
14927
|
+
});
|
|
14928
|
+
const WsSourceControlSetReviewThreadResolvedRpc = Rpc.make(WS_METHODS.sourceControlSetReviewThreadResolved, {
|
|
14929
|
+
payload: ChangeRequestSetThreadResolvedInput,
|
|
14930
|
+
success: ChangeRequestSetThreadResolvedResult,
|
|
14931
|
+
error: Schema.Union([SourceControlProviderError, AuthRpcError])
|
|
14932
|
+
});
|
|
14933
|
+
const WsSourceControlUpdateChangeRequestCommentRpc = Rpc.make(WS_METHODS.sourceControlUpdateChangeRequestComment, {
|
|
14934
|
+
payload: ChangeRequestUpdateCommentInput,
|
|
14935
|
+
success: ChangeRequestUpdateCommentResult,
|
|
14936
|
+
error: Schema.Union([SourceControlProviderError, AuthRpcError])
|
|
14937
|
+
});
|
|
14938
|
+
const WsSourceControlUpdateChangeRequestRpc = Rpc.make(WS_METHODS.sourceControlUpdateChangeRequest, {
|
|
14939
|
+
payload: ChangeRequestUpdateInput,
|
|
14940
|
+
success: ChangeRequestUpdateResult,
|
|
14941
|
+
error: Schema.Union([SourceControlProviderError, AuthRpcError])
|
|
14942
|
+
});
|
|
14943
|
+
const WsSourceControlCreateChangeRequestRpc = Rpc.make(WS_METHODS.sourceControlCreateChangeRequest, {
|
|
14944
|
+
payload: ChangeRequestCreateInput,
|
|
14945
|
+
success: ChangeRequest,
|
|
14946
|
+
error: Schema.Union([SourceControlProviderError, AuthRpcError])
|
|
14947
|
+
});
|
|
13054
14948
|
const WsTextGenerationAskSideQuestionRpc = Rpc.make(WS_METHODS.textGenerationAskSideQuestion, {
|
|
13055
14949
|
payload: SideQuestionInput,
|
|
13056
14950
|
success: SideQuestionResult,
|
|
@@ -13343,6 +15237,31 @@ const WsGitDeleteWorktreeRpc = Rpc.make(WS_METHODS.gitDeleteWorktree, {
|
|
|
13343
15237
|
success: EmptyRpcResult,
|
|
13344
15238
|
error: Schema.Union([GitManagerServiceError, AuthRpcError])
|
|
13345
15239
|
});
|
|
15240
|
+
const WsLifecycleListWorkspacesRpc = Rpc.make(WS_METHODS.lifecycleListWorkspaces, {
|
|
15241
|
+
payload: WorkspaceLifecycleListInput,
|
|
15242
|
+
success: Schema.Array(WorkspaceLifecycleSummary),
|
|
15243
|
+
error: Schema.Union([WorkspaceLifecycleError, AuthRpcError])
|
|
15244
|
+
});
|
|
15245
|
+
const WsLifecyclePreviewWorkspaceRpc = Rpc.make(WS_METHODS.lifecyclePreviewWorkspace, {
|
|
15246
|
+
payload: WorkspaceLifecycleRequest,
|
|
15247
|
+
success: WorkspaceLifecyclePreview,
|
|
15248
|
+
error: Schema.Union([WorkspaceLifecycleError, AuthRpcError])
|
|
15249
|
+
});
|
|
15250
|
+
const WsLifecycleApplyWorkspaceRpc = Rpc.make(WS_METHODS.lifecycleApplyWorkspace, {
|
|
15251
|
+
payload: WorkspaceLifecycleApplyInput,
|
|
15252
|
+
success: WorkspaceLifecycleResult,
|
|
15253
|
+
error: Schema.Union([WorkspaceLifecycleError, AuthRpcError])
|
|
15254
|
+
});
|
|
15255
|
+
const WsLifecycleSuggestionsRpc = Rpc.make(WS_METHODS.lifecycleSuggestions, {
|
|
15256
|
+
payload: Schema.Struct({}),
|
|
15257
|
+
success: LifecycleSuggestions,
|
|
15258
|
+
error: Schema.Union([WorkspaceLifecycleError, AuthRpcError])
|
|
15259
|
+
});
|
|
15260
|
+
const WsLifecycleListTrashRpc = Rpc.make(WS_METHODS.lifecycleListTrash, {
|
|
15261
|
+
payload: Schema.Struct({}),
|
|
15262
|
+
success: TrashListResult,
|
|
15263
|
+
error: Schema.Union([WorkspaceLifecycleError, AuthRpcError])
|
|
15264
|
+
});
|
|
13346
15265
|
const WsThreadsSetManualBucketRpc = Rpc.make(WS_METHODS.threadsSetManualBucket, {
|
|
13347
15266
|
payload: ThreadsSetManualBucketInput,
|
|
13348
15267
|
success: EmptyRpcResult,
|
|
@@ -13373,11 +15292,31 @@ const WsProjectsInitializeGitRpc = Rpc.make(WS_METHODS.projectsInitializeGit, {
|
|
|
13373
15292
|
success: EmptyRpcResult,
|
|
13374
15293
|
error: Schema.Union([GitManagerServiceError, AuthRpcError])
|
|
13375
15294
|
});
|
|
15295
|
+
const WsProjectsPromoteChatPreviewRpc = Rpc.make(WS_METHODS.projectsPromoteChatPreview, {
|
|
15296
|
+
payload: ProjectsPromoteChatPreviewInput,
|
|
15297
|
+
success: ProjectsPromoteChatPreviewResult,
|
|
15298
|
+
error: Schema.Union([ProjectChatError, AuthRpcError])
|
|
15299
|
+
});
|
|
15300
|
+
const WsProjectsPromoteChatRpc = Rpc.make(WS_METHODS.projectsPromoteChat, {
|
|
15301
|
+
payload: ProjectsPromoteChatInput,
|
|
15302
|
+
success: ProjectsPromoteChatResult,
|
|
15303
|
+
error: Schema.Union([ProjectChatError, AuthRpcError])
|
|
15304
|
+
});
|
|
15305
|
+
const WsProjectsDeleteChatFolderRpc = Rpc.make(WS_METHODS.projectsDeleteChatFolder, {
|
|
15306
|
+
payload: ProjectsDeleteChatFolderInput,
|
|
15307
|
+
success: ProjectsDeleteChatFolderResult,
|
|
15308
|
+
error: Schema.Union([ProjectChatError, AuthRpcError])
|
|
15309
|
+
});
|
|
13376
15310
|
const WsVcsReadLineBlameRpc = Rpc.make(WS_METHODS.vcsReadLineBlame, {
|
|
13377
15311
|
payload: GitReadLineBlameInput,
|
|
13378
15312
|
success: GitReadLineBlameResult,
|
|
13379
15313
|
error: Schema.Union([GitCommandError, AuthRpcError])
|
|
13380
15314
|
});
|
|
15315
|
+
const WsVcsReadImageBlobRpc = Rpc.make(WS_METHODS.vcsReadImageBlob, {
|
|
15316
|
+
payload: GitReadImageBlobInput,
|
|
15317
|
+
success: GitReadImageBlobResult,
|
|
15318
|
+
error: Schema.Union([GitCommandError, AuthRpcError])
|
|
15319
|
+
});
|
|
13381
15320
|
const WsVcsReadLocalChangesRpc = Rpc.make(WS_METHODS.vcsReadLocalChanges, {
|
|
13382
15321
|
payload: GitLocalChangesInput,
|
|
13383
15322
|
success: GitLocalChangesResult,
|
|
@@ -13656,7 +15595,7 @@ const WsAgentControlDisconnectMcpInstallationRpc = Rpc.make(AGENT_CONTROL_WS_MET
|
|
|
13656
15595
|
error: Schema.Union([AgentControlExternalRpcError, AuthRpcError])
|
|
13657
15596
|
});
|
|
13658
15597
|
/** Keep declaration emit bounded as shared settings and RPC schemas grow. */
|
|
13659
|
-
const WsRpcGroup = RpcGroup.make(WsSessionImportSourcesRpc, WsSessionImportReconcileRpc, WsSessionImportAdoptRpc, WsSessionImportDiscoverRpc, WsSessionImportRunRpc, WsServerGetConfigRpc, WsServerGetAdvertisedEndpointsRpc, WsServerGetDiagnosticsMetricsRpc, WsServerGetStatisticsRpc, WsServerGetUsageSummaryRpc, WsServerSearchAcpRegistryRpc, WsServerInstallAcpRegistryRpc, WsServerGetAcpRegistryAuthMethodsRpc, WsServerAuthenticateAcpRegistryRpc, WsServerReadCodexResetCreditsRpc, WsServerConsumeCodexResetCreditRpc, WsServerRefreshProvidersRpc, WsServerUpdateProviderRpc, WsServerUpsertKeybindingRpc, WsKeybindingsReplaceCustomRpc, WsServerGetProjectPreferencesRpc, WsServerGetSettingsRpc, WsServerUpdateSettingsRpc, WsServerGetDiagnosticsSnapshotRpc, WsServerSignalDiagnosticProcessRpc, WsServerGetResourceTelemetryHistoryRpc, WsServerRetryResourceTelemetryRpc, WsServerDiscoverSourceControlRpc, WsServerListOpinionatedPluginsRpc, WsServerCheckOpinionatedPluginsRpc, WsServerInstallOpinionatedPluginRpc, WsMcpListWorkspacesRpc, WsMcpListServersRpc, WsMcpUpsertServerRpc, WsMcpSetServerEnabledRpc, WsMcpRemoveServerRpc, WsMcpReloadServersRpc, WsMcpStartOauthLoginRpc, WsSourceControlLookupRepositoryRpc, WsSourceControlSearchRepositoriesRpc, WsSourceControlCloneRepositoryRpc, WsSourceControlPublishRepositoryRpc, WsSourceControlListIssuesRpc, WsSourceControlGetIssueRpc, WsSourceControlSearchIssuesRpc, WsSourceControlListChangeRequestsRpc, WsSourceControlSearchChangeRequestsRpc, WsSourceControlGetChangeRequestDetailRpc, WsSourceControlGetChangeRequestFilesViewedRpc, WsSourceControlSetChangeRequestFileViewedRpc, WsSourceControlGetChangeRequestDiffRpc, WsSourceControlMergeChangeRequestRpc, WsSourceControlCreateIssueRpc, WsSourceControlAddIssueCommentRpc, WsSourceControlAddIssueCommentReactionRpc, WsSourceControlAddChangeRequestCommentRpc, WsSourceControlAddChangeRequestCommentReactionRpc, WsSourceControlListIssueLabelsRpc, WsSourceControlListIssueAssigneesRpc, WsSourceControlListWorkflowRunsRpc, WsSourceControlGetWorkflowRunJobsRpc, WsSourceControlGetWorkflowJobLogRpc, WsSourceControlRerunWorkflowRpc, WsTextGenerationAskSideQuestionRpc, WsTextGenerationCancelSideQuestionRpc, WsTextGenerationGenerateIssueContentRpc, WsTextGenerationGenerateBranchNameRpc, WsAtlassianListConnectionsRpc, WsAtlassianStartOAuthRpc, WsAtlassianDisconnectRpc, WsAtlassianRefreshRpc, WsAtlassianListResourcesRpc, WsAtlassianGetProjectLinkRpc, WsAtlassianSaveProjectLinkRpc, WsAtlassianSaveManualBitbucketTokenRpc, WsAtlassianSaveManualJiraTokenRpc, WsWorkItemsListProjectsRpc, WsWorkItemsListRpc, WsWorkItemsSearchRpc, WsWorkItemsGetRpc, WsWorkItemsAddCommentRpc, WsWorkItemsEditCommentRpc, WsWorkItemsUpdateRpc, WsWorkItemsListTransitionsRpc, WsWorkItemsTransitionRpc, WsProjectsListEntriesRpc, WsProjectsSearchEntriesRpc, WsProjectsReadFileRpc, WsProjectsReadIconRpc, WsProjectsReadFileBinaryRpc, WsProjectsWriteFileRpc, WsProjectsStageFileReferenceRpc, WsChatAttachmentsCreateFileUploadRpc, WsChatAttachmentsReadChunkRpc, WsShellOpenInEditorRpc, WsFilesystemBrowseRpc, WsSubscribeVcsStatusRpc, WsVcsPullRpc, WsVcsRefreshStatusRpc, WsGitRunStackedActionRpc, WsGitResolvePullRequestRpc, WsGitPreparePullRequestThreadRpc, WsStorageScanRpc, WsStoragePreviewRpc, WsStorageExecuteRpc, WsGitCreateWorktreeForProjectRpc, WsGitFindWorktreeForOriginRpc, WsGitArchiveWorktreeRpc, WsGitRestoreWorktreeRpc, WsGitDeleteWorktreeRpc, WsThreadsSetManualBucketRpc, WsThreadsSetManualPositionRpc, WsSearchThreadMessagesRpc, WsThreadPriorityEnsureCurrentRpc, WsWorktreesSetManualPositionRpc, WsProjectsInitializeGitRpc, WsVcsReadLineBlameRpc, WsVcsReadLocalChangesRpc, WsVcsApplyIndexPatchRpc, WsVcsReadComparisonRpc, WsVcsListRefsRpc, WsVcsCreateWorktreeRpc, WsVcsRemoveWorktreeRpc, WsVcsCreateRefRpc, WsVcsSwitchRefRpc, WsVcsInitRpc, WsTerminalOpenRpc, WsTerminalWriteRpc, WsTerminalResizeRpc, WsTerminalClearRpc, WsTerminalRestartRpc, WsTerminalCloseRpc, WsSubscribeTerminalEventsRpc, WsSubscribeServerConfigRpc, WsSubscribeServerLifecycleRpc, WsSubscribeAuthAccessRpc, WsAutomationCentreRpc, WsAutomationCommandRpc, WsAgentControlListProposalsRpc, WsAgentControlGetProposalRpc, WsAgentControlAcceptProposalRpc, WsAgentControlRejectProposalRpc, WsAgentControlSubscribeProposalsRpc, WsAgentControlListIntegrationsRpc, WsAgentControlCreateIntegrationRpc, WsAgentControlUpdateIntegrationRpc, WsAgentControlResumeIntegrationPairingRpc, WsAgentControlRevokeIntegrationRpc, WsAgentControlDeleteIntegrationRpc, WsAgentControlListMcpInstallationsRpc, WsAgentControlConnectMcpInstallationRpc, WsAgentControlRepairMcpInstallationRpc, WsAgentControlDisconnectMcpInstallationRpc, WsOrchestrationDispatchCommandRpc, WsOrchestrationGetWorkflowScriptRpc, WsOrchestrationGetTaskOutputRpc, WsOrchestrationStopBackgroundTaskRpc, WsOrchestrationGetTurnDiffRpc, WsOrchestrationGetFullThreadDiffRpc, WsOrchestrationSearchThreadMessagesRpc, WsOrchestrationGetThreadWindowRpc, WsOrchestrationGetThreadHistoryPageRpc, WsOrchestrationReplayEventsRpc, WsOrchestrationReplayEventsPageRpc, WsOrchestrationSubscribeShellRpc, WsOrchestrationSubscribeThreadRpc, WsOrchestrationSubscribeThreadWindowRpc, WsContextHandoffGetInspectionSummaryRpc, WsContextHandoffListInspectionEntriesRpc, WsContextHandoffReadRawPayloadChunkRpc, WsContextHandoffReadExportChunkRpc);
|
|
15598
|
+
const WsRpcGroup = RpcGroup.make(WsSessionImportSourcesRpc, WsSessionImportReconcileRpc, WsSessionImportAdoptRpc, WsSessionImportDiscoverRpc, WsSessionImportRunRpc, WsServerGetConfigRpc, WsServerGetAdvertisedEndpointsRpc, WsServerGetDiagnosticsMetricsRpc, WsServerGetStatisticsRpc, WsServerGetUsageSummaryRpc, WsServerSearchAcpRegistryRpc, WsServerInstallAcpRegistryRpc, WsServerGetAcpRegistryAuthMethodsRpc, WsServerAuthenticateAcpRegistryRpc, WsServerReadCodexResetCreditsRpc, WsServerConsumeCodexResetCreditRpc, WsServerListLocalTasksRpc, WsServerGetLocalTaskRpc, WsServerCreateLocalTaskRpc, WsServerUpdateLocalTaskRpc, WsServerDeleteLocalTaskRpc, WsServerDelegateLocalTaskRpc, WsNotesListRpc, WsNotesCommandRpc, WsServerGetDailyRecapRpc, WsServerRefreshProvidersRpc, WsServerUpdateProviderRpc, WsServerUpsertKeybindingRpc, WsKeybindingsReplaceCustomRpc, WsServerGetProjectPreferencesRpc, WsServerGetSettingsRpc, WsServerUpdateSettingsRpc, WsServerGetDiagnosticsSnapshotRpc, WsServerSignalDiagnosticProcessRpc, WsServerGetResourceTelemetryHistoryRpc, WsServerRetryResourceTelemetryRpc, WsServerDiscoverSourceControlRpc, WsServerListOpinionatedPluginsRpc, WsServerCheckOpinionatedPluginsRpc, WsServerInstallOpinionatedPluginRpc, WsMcpListWorkspacesRpc, WsMcpListServersRpc, WsMcpUpsertServerRpc, WsMcpSetServerEnabledRpc, WsMcpRemoveServerRpc, WsMcpReloadServersRpc, WsMcpStartOauthLoginRpc, WsSourceControlLookupRepositoryRpc, WsSourceControlSearchRepositoriesRpc, WsSourceControlCloneRepositoryRpc, WsSourceControlPublishRepositoryRpc, WsSourceControlListIssuesRpc, WsSourceControlGetIssueRpc, WsSourceControlSearchIssuesRpc, WsSourceControlListChangeRequestsRpc, WsSourceControlSearchChangeRequestsRpc, WsSourceControlGetChangeRequestDetailRpc, WsSourceControlGetChangeRequestFilesViewedRpc, WsSourceControlSetChangeRequestFileViewedRpc, WsSourceControlGetChangeRequestDiffRpc, WsSourceControlMergeChangeRequestRpc, WsSourceControlCreateIssueRpc, WsSourceControlAddIssueCommentRpc, WsSourceControlAddIssueCommentReactionRpc, WsSourceControlAddChangeRequestCommentRpc, WsSourceControlAddChangeRequestCommentReactionRpc, WsSourceControlListIssueLabelsRpc, WsSourceControlListIssueAssigneesRpc, WsSourceControlListWorkflowRunsRpc, WsSourceControlGetWorkflowRunJobsRpc, WsSourceControlGetWorkflowJobLogRpc, WsSourceControlRerunWorkflowRpc, WsSourceControlGetChangeRequestActivityRpc, WsSourceControlGetChangeRequestFileContentsRpc, WsSourceControlSubmitChangeRequestReviewRpc, WsSourceControlReplyToReviewThreadRpc, WsSourceControlSetReviewThreadResolvedRpc, WsSourceControlUpdateChangeRequestCommentRpc, WsSourceControlUpdateChangeRequestRpc, WsSourceControlCreateChangeRequestRpc, WsTextGenerationAskSideQuestionRpc, WsTextGenerationCancelSideQuestionRpc, WsTextGenerationGenerateIssueContentRpc, WsTextGenerationGenerateBranchNameRpc, WsAtlassianListConnectionsRpc, WsAtlassianStartOAuthRpc, WsAtlassianDisconnectRpc, WsAtlassianRefreshRpc, WsAtlassianListResourcesRpc, WsAtlassianGetProjectLinkRpc, WsAtlassianSaveProjectLinkRpc, WsAtlassianSaveManualBitbucketTokenRpc, WsAtlassianSaveManualJiraTokenRpc, WsWorkItemsListProjectsRpc, WsWorkItemsListRpc, WsWorkItemsSearchRpc, WsWorkItemsGetRpc, WsWorkItemsAddCommentRpc, WsWorkItemsEditCommentRpc, WsWorkItemsUpdateRpc, WsWorkItemsListTransitionsRpc, WsWorkItemsTransitionRpc, WsProjectsListEntriesRpc, WsProjectsSearchEntriesRpc, WsProjectsReadFileRpc, WsProjectsReadIconRpc, WsProjectsReadFileBinaryRpc, WsProjectsWriteFileRpc, WsProjectsStageFileReferenceRpc, WsChatAttachmentsCreateFileUploadRpc, WsChatAttachmentsReadChunkRpc, WsShellOpenInEditorRpc, WsFilesystemBrowseRpc, WsSubscribeVcsStatusRpc, WsVcsPullRpc, WsVcsRefreshStatusRpc, WsGitRunStackedActionRpc, WsGitResolvePullRequestRpc, WsGitPreparePullRequestThreadRpc, WsStorageScanRpc, WsStoragePreviewRpc, WsStorageExecuteRpc, WsGitCreateWorktreeForProjectRpc, WsGitFindWorktreeForOriginRpc, WsGitArchiveWorktreeRpc, WsGitRestoreWorktreeRpc, WsGitDeleteWorktreeRpc, WsLifecycleListWorkspacesRpc, WsLifecyclePreviewWorkspaceRpc, WsLifecycleApplyWorkspaceRpc, WsLifecycleSuggestionsRpc, WsLifecycleListTrashRpc, WsThreadsSetManualBucketRpc, WsThreadsSetManualPositionRpc, WsSearchThreadMessagesRpc, WsThreadPriorityEnsureCurrentRpc, WsWorktreesSetManualPositionRpc, WsProjectsInitializeGitRpc, WsProjectsPromoteChatPreviewRpc, WsProjectsPromoteChatRpc, WsProjectsDeleteChatFolderRpc, WsVcsReadLineBlameRpc, WsVcsReadImageBlobRpc, WsVcsReadLocalChangesRpc, WsVcsApplyIndexPatchRpc, WsVcsReadComparisonRpc, WsVcsListRefsRpc, WsVcsCreateWorktreeRpc, WsVcsRemoveWorktreeRpc, WsVcsCreateRefRpc, WsVcsSwitchRefRpc, WsVcsInitRpc, WsTerminalOpenRpc, WsTerminalWriteRpc, WsTerminalResizeRpc, WsTerminalClearRpc, WsTerminalRestartRpc, WsTerminalCloseRpc, WsSubscribeTerminalEventsRpc, WsSubscribeServerConfigRpc, WsSubscribeServerLifecycleRpc, WsSubscribeAuthAccessRpc, WsAutomationCentreRpc, WsAutomationCommandRpc, WsAgentControlListProposalsRpc, WsAgentControlGetProposalRpc, WsAgentControlAcceptProposalRpc, WsAgentControlRejectProposalRpc, WsAgentControlSubscribeProposalsRpc, WsAgentControlListIntegrationsRpc, WsAgentControlCreateIntegrationRpc, WsAgentControlUpdateIntegrationRpc, WsAgentControlResumeIntegrationPairingRpc, WsAgentControlRevokeIntegrationRpc, WsAgentControlDeleteIntegrationRpc, WsAgentControlListMcpInstallationsRpc, WsAgentControlConnectMcpInstallationRpc, WsAgentControlRepairMcpInstallationRpc, WsAgentControlDisconnectMcpInstallationRpc, WsOrchestrationDispatchCommandRpc, WsOrchestrationGetWorkflowScriptRpc, WsOrchestrationGetTaskOutputRpc, WsOrchestrationStopBackgroundTaskRpc, WsOrchestrationGetTurnDiffRpc, WsOrchestrationGetFullThreadDiffRpc, WsOrchestrationSearchThreadMessagesRpc, WsOrchestrationGetThreadWindowRpc, WsOrchestrationGetThreadHistoryPageRpc, WsOrchestrationReplayEventsRpc, WsOrchestrationReplayEventsPageRpc, WsOrchestrationSubscribeShellRpc, WsOrchestrationSubscribeThreadRpc, WsOrchestrationSubscribeThreadWindowRpc, WsContextHandoffGetInspectionSummaryRpc, WsContextHandoffListInspectionEntriesRpc, WsContextHandoffReadRawPayloadChunkRpc, WsContextHandoffReadExportChunkRpc);
|
|
13660
15599
|
/**
|
|
13661
15600
|
* Hosted relay channels carry both groups through one lifecycle-owned encrypted
|
|
13662
15601
|
* channel. Direct clients keep the device group on its own low-priority socket
|
|
@@ -13839,6 +15778,81 @@ const AgentControlReadThreadFileInput = Schema.Struct({
|
|
|
13839
15778
|
threadId: ThreadId,
|
|
13840
15779
|
relativePath: TrimmedNonEmptyString.check(Schema.isMaxLength(4096))
|
|
13841
15780
|
});
|
|
15781
|
+
//#endregion
|
|
15782
|
+
//#region ../../packages/contracts/src/agentControlDelegation.ts
|
|
15783
|
+
/**
|
|
15784
|
+
* Private-session tools for tasks a chat delegated with `ryco_create_threads` and
|
|
15785
|
+
* `returnToOrigin`. Like the inspection tools, they are not part of
|
|
15786
|
+
* `AGENT_CONTROL_MCP_TOOLS` and never reach the external endpoint.
|
|
15787
|
+
*/
|
|
15788
|
+
const AGENT_CONTROL_DELEGATION_MCP_TOOLS = {
|
|
15789
|
+
taskStatus: "ryco_task_status",
|
|
15790
|
+
taskCancel: "ryco_task_cancel"
|
|
15791
|
+
};
|
|
15792
|
+
const AGENT_CONTROL_TASK_RESULT_MAX_CHARS = 8e3;
|
|
15793
|
+
const AGENT_CONTROL_TASK_NOTICE_MAX_CHARS = 4e3;
|
|
15794
|
+
/** Child-side terminal outcomes a task returns as a server-authored notice instead of a result. */
|
|
15795
|
+
const AgentControlTaskNoticeOutcome = Schema.Literals([
|
|
15796
|
+
"interrupted",
|
|
15797
|
+
"stopped",
|
|
15798
|
+
"start-failed",
|
|
15799
|
+
"advanced",
|
|
15800
|
+
"archived",
|
|
15801
|
+
"request-failed",
|
|
15802
|
+
"expired"
|
|
15803
|
+
]);
|
|
15804
|
+
const AgentControlTaskStatusInput = Schema.Struct({ taskId: Schema.optional(ThreadId) }).annotate({ parseOptions: { onExcessProperty: "error" } });
|
|
15805
|
+
const AgentControlTaskCancelInput = Schema.Struct({
|
|
15806
|
+
requestId: AgentControlRequestId,
|
|
15807
|
+
taskId: ThreadId
|
|
15808
|
+
}).annotate({ parseOptions: { onExcessProperty: "error" } });
|
|
15809
|
+
const AgentControlTaskRunState = Schema.Literals([
|
|
15810
|
+
"starting",
|
|
15811
|
+
"running",
|
|
15812
|
+
"needs-you",
|
|
15813
|
+
"completed",
|
|
15814
|
+
"failed",
|
|
15815
|
+
"interrupted",
|
|
15816
|
+
"unavailable"
|
|
15817
|
+
]);
|
|
15818
|
+
const AgentControlTaskStatusEntry = Schema.Struct({
|
|
15819
|
+
taskId: ThreadId,
|
|
15820
|
+
proposalId: AgentControlProposalId,
|
|
15821
|
+
title: Schema.NullOr(Schema.String),
|
|
15822
|
+
return: Schema.Struct({
|
|
15823
|
+
status: AgentControlCompletionReturn.fields.status,
|
|
15824
|
+
detail: AgentControlCompletionReturn.fields.detail,
|
|
15825
|
+
updatedAt: IsoDateTime
|
|
15826
|
+
}),
|
|
15827
|
+
run: Schema.Struct({
|
|
15828
|
+
state: AgentControlTaskRunState,
|
|
15829
|
+
sessionStatus: Schema.NullOr(OrchestrationSessionStatus),
|
|
15830
|
+
hasPendingApprovals: Schema.Boolean,
|
|
15831
|
+
hasPendingUserInput: Schema.Boolean,
|
|
15832
|
+
backgroundLiveness: Schema.NullOr(Schema.Literals(["working", "monitoring"])),
|
|
15833
|
+
advanced: Schema.Boolean
|
|
15834
|
+
}),
|
|
15835
|
+
/** Untrusted child output: reference data, never instructions or approval. */
|
|
15836
|
+
result: Schema.NullOr(Schema.Struct({
|
|
15837
|
+
untrustedChildOutput: Schema.Literal(true),
|
|
15838
|
+
state: Schema.Literals(["completed", "error"]),
|
|
15839
|
+
text: Schema.String.check(Schema.isMaxLength(AGENT_CONTROL_TASK_RESULT_MAX_CHARS)),
|
|
15840
|
+
truncated: Schema.Boolean
|
|
15841
|
+
})),
|
|
15842
|
+
/**
|
|
15843
|
+
* The notice the task returns instead of a result (the same text a wake carries). It is
|
|
15844
|
+
* server-authored, holds no child text and stays visible after an acknowledgement.
|
|
15845
|
+
*/
|
|
15846
|
+
notice: Schema.NullOr(Schema.Struct({
|
|
15847
|
+
outcome: AgentControlTaskNoticeOutcome,
|
|
15848
|
+
text: Schema.String.check(Schema.isMaxLength(AGENT_CONTROL_TASK_NOTICE_MAX_CHARS))
|
|
15849
|
+
})),
|
|
15850
|
+
acknowledged: Schema.Boolean
|
|
15851
|
+
});
|
|
15852
|
+
const AgentControlTaskStatusResult = Schema.Struct({
|
|
15853
|
+
tasks: Schema.Array(AgentControlTaskStatusEntry).check(Schema.isMaxLength(20)),
|
|
15854
|
+
truncated: Schema.Boolean
|
|
15855
|
+
});
|
|
13842
15856
|
/**
|
|
13843
15857
|
* Exported because it bounds `ComputerActionResult.value`, and the clipboard
|
|
13844
15858
|
* read path must enforce it before putting clipboard text on that field.
|
|
@@ -14889,4 +16903,4 @@ Schema.Struct({
|
|
|
14889
16903
|
])
|
|
14890
16904
|
});
|
|
14891
16905
|
//#endregion
|
|
14892
|
-
export { AGENT_CONTROL_MCP_MESSAGE_TEXT_MAX_CHARS as $, ThreadMetaUpdatedPayload as $a, OrchestrationCheckpointStatus as $i, DeviceHardwareButton as $n, defaultInstanceIdForDriver as $o, OpenCodeSettings as $r, AtlassianResourceId as $s, AgentControlMcpProposeAutomationCreateInput as $t, PROJECT_ICON_MAX_BYTES as A, PROVIDER_SEND_TURN_MAX_IMAGE_BYTES as Aa, CONTEXT_HANDOFF_ERROR_MAX_CHARS as Ai, AgentControlOperationState as An, WorkItemProviderError as Ao, McpInventoryTool as Ar, HubIdentitySummary as As, AgentControlMcpCapabilitiesResult as At, AGENT_CONTROL_ACTION_CAPABILITIES as B, ProviderApprovalDecision as Ba, ContextHandoffDigest as Bi, AgentControlReadWorkspaceInput as Bn, VcsProcessTimeoutError as Bo, McpWorkspace as Br, RelayCapability as Bs, AgentControlMcpListAutomationRunsResult as Bt, WsHostedRpcGroup as C, OrchestrationThreadActivity as Ca, ProviderSessionStartInput as Ci, AgentControlMcpRecentActivityResult as Cn, PullRequestState as Co, GitCommandError as Cr, HUB_DEVICE_GRANT_MAX_BYTES as Cs, AgentControlExternalProjectScope as Ct, AcpRegistryVersion as D, OrchestrationWorktreeShell as Da, AgentTokenMode as Di, AgentControlMcpWaitForControlRequestInput as Dn, ThreadGoal as Do, TextGenerationError as Dr, HubConnectorStatus as Ds, AgentControlExternalWaitForTaskInput as Dt, AcpRegistrySettings as E, OrchestrationThreadHistoryError as Ea, ProviderStopSessionInput as Ei, AgentControlMcpUpdateThreadInput as En, WorktreeId as Eo, GitReadLineBlameInput as Er, NodeE2eeAdmissionPolicy as Es, AgentControlExternalTaskIdInput as Et, ProjectReadFileError as F, ProjectMetaUpdatedPayload as Fa, ChatAttachment as Fi, AgentControlPromptSummary as Fn, truncateSourceControlDetailContent as Fo, McpServer as Fr, RELAY_MAX_DATA_CHUNK_BYTES as Fs, AgentControlMcpDiagnosticsSummaryResult as Ft, AGENT_CONTROL_DEVICE_ACTION_KINDS as G, ThreadArchivedPayload as Ga, DEFAULT_PROVIDER_INTERACTION_MODE as Gi, DEVICE_CAPABILITY_LABELS as Gn, DEFAULT_GIT_TEXT_GENERATION_MODEL as Go, ServerProviderUpdateError as Gr, AuthBootstrapInput as Gs, AgentControlMcpListProjectsInput as Gt, AGENT_CONTROL_AUTOMATION_MIN_INTERVAL_MS as H, ProviderSessionRuntimeStatus as Ha, ContextHandoffInspectionError as Hi, AgentControlResultEnvelope as Hn, ThreadPriorityBatchId as Ho, OpinionatedPluginError as Hr, RelayEffectiveRole as Hs, AgentControlMcpListAutomationsResult as Ht, ProjectReadIconError as I, ProjectMetadataDir as Ia, ChatAttachmentReadError as Ii, AgentControlProposal as In, VcsDriverKind as Io, McpServerConfig as Ir, RELAY_MAX_DATA_FRAME_BYTES as Is, AgentControlMcpInstallation as It, AGENT_CONTROL_EXTERNAL_MCP_TOOLS as J, ThreadDeletedPayload as Ja, ModelSelection as Ji, DEVICE_WS_METHODS as Jn, DEFAULT_MODEL as Jo, CopilotSettings as Jr, AuthRevokeClientSessionInput as Js, AgentControlMcpListThreadsResult as Jt, AGENT_CONTROL_ERROR_CODES as K, ThreadAttachedToWorktreePayload as Ka, FileAttachmentCreateUploadUrlError as Ki, DEVICE_FRAME_MAGIC as Kn, DEFAULT_GIT_TEXT_GENERATION_MODEL_BY_PROVIDER as Ko, ClaudeSettings as Kr, AuthClientMetadataDeviceType as Ks, AgentControlMcpListProjectsResult as Kt, ProjectSearchEntriesError as L, ProjectScript as La, ClientOrchestrationCommand as Li, AgentControlProposalId as Ln, VcsOutputDecodeError as Lo, McpServerName as Lr, RELAY_MAX_RETRY_AFTER_MS as Ls, AgentControlMcpInstallationId as Lt, PROJECT_STAGE_FILE_MAX_BYTES as M, ProjectAvatarSetPayload as Ma, CONTEXT_HANDOFF_INSPECTION_MAX_RESPONSE_BYTES as Mi, AgentControlPlanDigest as Mn, SOURCE_CONTROL_WORKFLOW_LOG_MAX_BYTES as Mo, McpOauthLoginResult as Mr, RELAY_AUTHENTICATION_DEADLINE_MS as Ms, AgentControlMcpControlRequestResult as Mt, ProjectListEntriesError as N, ProjectCreatedPayload as Na, CONTEXT_HANDOFF_MAX_INPUT_CHARS as Ni, AgentControlPlanWorkspaceInput as Nn, SourceControlProviderError as No, McpProviderCapabilities as Nr, RELAY_FRAME_TYPES as Ns, AgentControlMcpCreateThreadsInput as Nt, SessionImportError as O, PROVIDER_SEND_TURN_MAX_ATTACHMENT_TOTAL_BYTES as Oa, CHAT_ATTACHMENT_READ_CHUNK_BYTES as Oi, AgentControlOperation as On, WORK_ITEM_DETAIL_BODY_MAX_BYTES as Oo, McpInventoryResource as Or, HubEnrollmentCeremonyDetail as Os, AgentControlIntegrationId as Ot, ProjectReadFileBinaryError as P, ProjectDeletedPayload as Pa, CONTEXT_HANDOFF_WS_METHODS as Pi, AgentControlPrincipal as Pn, SourceControlRepositoryError as Po, McpProviderSupport as Pr, RELAY_MAX_CONTROL_FRAME_BYTES as Ps, AgentControlMcpDiagnosticsSummaryInput as Pt, AGENT_CONTROL_MCP_AUTOMATION_LIST_PROMPT_MAX_CHARS as Q, ThreadMessageSentPayload as Qa, OrchestrationCheckpointFile as Qi, DeviceDescriptor as Qn, ProviderInstanceId as Qo, GrokSettings as Qr, AtlassianConnectionId as Qs, AgentControlMcpProposeAutomationCancelInput as Qt, ProjectStageFileReferenceError as R, ProjectionPendingApprovalDecision as Ra, ContextHandoffActivityPayload as Ri, AgentControlProposalStatus as Rn, VcsProcessExitError as Ro, McpServerWritableConfig as Rr, RELAY_MAX_RPC_MESSAGE_BYTES as Rs, AgentControlMcpInterruptThreadInput as Rt, WsDeviceRpcGroup as S, OrchestrationThread as Sa, ProviderSendTurnInput as Si, AgentControlMcpReadThreadResult as Sn, WorktreeSourceControlStateUpdatedPayload as So, GitApplyIndexPatchInput as Sr, LocalIntroductionCompleteRequest as Ss, AgentControlExternalOverviewResult as St, AcpRegistryAgentId as T, OrchestrationThreadHistoryCursor as Ta, ProviderStopBackgroundTaskInput as Ti, AgentControlMcpSettingsSummaryResult as Tn, Worktree as To, GitReadComparisonInput as Tr, NATIVE_E2EE_MAX_GRANT_KEYS as Ts, AgentControlExternalTaskId as Tt, AGENT_CONTROL_AUTOMATION_PROPOSAL_TTL_MS as U, RuntimeMode as Ua, ContextHandoffMode as Ui, AgentControlRiskTag as Un, ThreadPriorityCandidateId as Uo, UsageReadError as Ur, RelayFrame as Us, AgentControlMcpListDevicesInput as Ut, AGENT_CONTROL_AUTOMATION_MAX_HORIZON_MS as V, ProviderInteractionMode as Va, ContextHandoffEndpointSnapshot as Vi, AgentControlRequestId as Vn, VcsUnsupportedOperationError as Vo, McpWorkspaceId as Vr, RelayChannelId as Vs, AgentControlMcpListAutomationsInput as Vt, AGENT_CONTROL_CAPABILITIES as W, ThreadActivityAppendedPayload as Wa, DEFAULT_PROJECT_METADATA_DIR as Wi, AgentControlRpcError as Wn, ThreadPriorityFingerprint as Wo, ServerProvider as Wr, RelayProtocolVersion as Ws, AgentControlMcpListDevicesResult as Wt, AGENT_CONTROL_EXTERNAL_PAIRING_CODE_TTL_MS as X, ThreadGoalUpdatedPayload as Xa, OrchestrationActorKind as Xi, DeviceBundleId as Xn, ModelCapabilities as Xo, DEFAULT_SERVER_SETTINGS as Xr, AuthRpcError as Xs, AgentControlMcpOperationalReadInput as Xt, AGENT_CONTROL_EXTERNAL_MCP_TOOL_NAMES as Y, ThreadGoalClearedPayload as Ya, ORCHESTRATION_WS_METHODS as Yi, DeviceAvailability as Yn, MODEL_SLUG_ALIASES_BY_PROVIDER as Yo, CursorSettings as Yr, AuthRevokePairingLinkInput as Ys, AgentControlMcpMutationResult as Yt, AGENT_CONTROL_EXTERNAL_PROPOSAL_TTL_MS as Z, ThreadInteractionModeSetPayload as Za, OrchestrationAggregateKind as Zi, DeviceDescribeUiResult as Zn, ProviderDriverKind as Zo, DEFAULT_WORKTREE_BRANCH_PREFIX as Zr, ApprovalRequestId as Zs, AgentControlMcpOrchestrationEventsResult as Zt, ComputerUseBridgeConfig as _, OrchestrationReplayEventsError as _a, ThreadId as _c, UserInputQuestion as _i, AgentControlMcpReadControlRequestInput as _n, WorktreeCreatedPayload as _o, AtlassianCapability as _r, DesktopNativeNodeClaimSignRequest as _s, AgentControlCapability as _t, COMPUTER_FRAME_MAGIC as a, OrchestrationEventMetadata as aa, EventId as ac, StorageCleanupResult as ai, AgentControlMcpProposeDeviceInstallInput as an, ThreadSettledPayload as ao, DeviceOpenUrlInput as ar, TerminalHistoryError as as, AGENT_CONTROL_MCP_WAIT_TIMEOUT_MS_DEFAULT as at, AcpRegistryOperationError as b, OrchestrationShellSnapshot as ba, ProviderRespondToRequestInput as bi, AgentControlMcpReadDeviceStateResult as bn, WorktreeMetaUpdatedPayload as bo, AtlassianConnectionStatus as br, LOCAL_INTRODUCTION_DESCRIPTOR_PATH as bs, AgentControlExternalCreateTaskInput as bt, COMPUTER_SELECT_TEXT_RANGE_MAX as c, OrchestrationGetSnapshotError as ca, NonNegativeInt as cc, CodexResetCreditError as ci, AgentControlMcpProposeDeviceRecordingInput as cn, ThreadStatusBucketOverriddenPayload as co, DeviceStartRecordingResult as cr, TerminalSessionLookupError as cs, AGENT_CONTROL_TERMINAL_PROPOSAL_STATUSES as ct, AgentControlInspectThreadInput as d, OrchestrationGetTurnDiffResult as da, ProviderItemId as dc, KeybindingsConfigError as di, AgentControlMcpProposeProjectRemoveInput as dn, ThreadTurnInterruptRequestedPayload as do, DeviceTestingInput as dr, OpenError as ds, AgentControlActionPlan as dt, OrchestrationCheckpointSummary as ea, AuthSessionId as ec, ServerSettings as ei, AgentControlMcpProposeAutomationUpdateInput as en, ThreadPriorityProjectedRanking as eo, DeviceInstallAppInput as er, isProviderDriverKind as es, AGENT_CONTROL_MCP_OPERATIONAL_RANGE_MAX_MS as et, AgentControlReadDiffInput as f, OrchestrationGetWorkflowScriptError as fa, RuntimeItemId as fc, MODEL_PICKER_JUMP_KEYBINDING_COMMANDS as fi, AgentControlMcpProposeProjectUpdateInput as fn, ThreadUnarchivedPayload as fo, DeviceTypeTextInput as fr, DESKTOP_NATIVE_NODE_CLAIM_COMMIT_PATH as fs, AgentControlAutomation as ft, AgentControlWaitThreadsInput as g, OrchestrationReadModel as ga, RuntimeTaskId as gc, ToolLifecycleItemType as gi, AgentControlMcpReadAutomationResult as gn, WorktreeArchivedPayload as go, ThreadPriorityRpcError as gr, DesktopNativeNodeClaimCommitRequest as gs, AgentControlAutomationRunId as gt, AgentControlSearchThreadsInput as h, OrchestrationProposedPlanId as ha, RuntimeSubagentId as hc, RuntimeSubagentStatus as hi, AgentControlMcpReadAutomationInput as hn, TurnDispatchMode as ho, ThreadPriorityCandidateRanking as hr, DESKTOP_NATIVE_NODE_CLAIM_SIGN_PATH as hs, AgentControlAutomationRun as ht, COMPUTER_DRAG_MAX_DURATION_MS as i, OrchestrationEvent as ia, EnvironmentId$1 as ic, StorageCleanupPreview as ii, AgentControlMcpProposeDeviceInputInput as in, ThreadSessionSetPayload as io, DeviceLaunchAppResult as ir, TerminalCwdError as is, AGENT_CONTROL_MCP_TOOL_NAMES as it, PROJECT_READ_FILE_BINARY_MAX_BYTES as j, PROVIDER_SEND_TURN_MAX_INPUT_CHARS as ja, CONTEXT_HANDOFF_INSPECTION_CHUNK_MAX_BYTES as ji, AgentControlOperationStatus as jn, WorkItemProviderKind as jo, McpListServersResult as jr, HubGrantVerificationKeyId as js, AgentControlMcpContextResult as jt, FilesystemBrowseError as k, PROVIDER_SEND_TURN_MAX_FILE_BYTES as ka, CONTEXT_HANDOFF_ACTIVITY_KIND as ki, AgentControlOperationId as kn, WORK_ITEM_DETAIL_COMMENT_BODY_MAX_BYTES as ko, McpInventoryResourceTemplate as kr, HubEnrollmentStartResult as ks, AgentControlListWorkspacesInput as kt, COMPUTER_TEXT_MAX_LENGTH as l, OrchestrationGetTaskOutputError as la, PositiveInt as lc, KeybindingRule as li, AgentControlMcpProposeDeviceShutdownInput as ln, ThreadTokenModeSetPayload as lo, DeviceStopRecordingResult as lr, TerminalSubscriptionResyncError as ls, AGENT_CONTROL_WS_METHODS as lt, AgentControlReadThreadFileInput as m, OrchestrationMessageRole as ma, RuntimeSessionId as mc, THREAD_JUMP_KEYBINDING_COMMANDS as mi, AgentControlMcpProviderRuntimeEventsResult as mn, ThreadUnsnoozedPayload as mo, ThreadPriorityBatchSnapshot as mr, DESKTOP_NATIVE_NODE_CLAIM_MAX_BODY_BYTES as ms, AgentControlAutomationId as mt, ComputerSpaceInventory as n, OrchestrationCommandReceiptStatus as na, CommandId as nc, ThreadEnvMode as ni, AgentControlMcpProposeDeviceBootInput as nn, ThreadRevertedPayload as no, DeviceKeyEventInput as nr, ApprovalResponseState as ns, AGENT_CONTROL_MCP_READ_THREAD_TEXT_BUDGET_CHARS as nt, COMPUTER_MESSAGE_MAX_LENGTH as o, OrchestrationEventType as oa, IsoDateTime as oc, StorageError as oi, AgentControlMcpProposeDeviceLaunchInput as on, ThreadSettlementOverride as oo, DeviceRpcError as or, TerminalInputRejectedError as os, AGENT_CONTROL_MCP_WAIT_TIMEOUT_MS_MAX as ot, AgentControlReadProjectInput as p, OrchestrationMessage as pa, RuntimeRequestId as pc, ResolvedKeybindingRule as pi, AgentControlMcpProposeSettingsChangeInput as pn, ThreadUnsettledPayload as po, DeviceUdid as pr, DESKTOP_NATIVE_NODE_CLAIM_DESCRIPTOR_PATH as ps, AgentControlAutomationDefinition as pt, AGENT_CONTROL_EXTERNAL_CREDENTIAL_AUDIENCE as q, ThreadCreatedPayload as qa, ModelContextWindowMetadata as qi, DEVICE_SWIPE_DURATION_MAX_MS as qn, DEFAULT_GIT_TEXT_GENERATION_OPTIONS_BY_PROVIDER as qo, CodexSettings as qr, AuthCreatePairingCredentialInput as qs, AgentControlMcpListThreadsInput as qt, COMPUTER_BROWSER_DRIVER_NAMES as r, OrchestrationDispatchCommandError as ra, ContextHandoffId as rc, WorktreeSubmoduleRepositoryConfig as ri, AgentControlMcpProposeDeviceDetachInput as rn, ThreadRuntimeModeSetPayload as ro, DeviceLaunchAppInput as rr, DEFAULT_TERMINAL_ID as rs, AGENT_CONTROL_MCP_TOOLS as rt, COMPUTER_PROVISION_SUMMARY_MAX_LENGTH as s, OrchestrationGetFullThreadDiffError as sa, MessageId as sc, StorageRetentionPolicy as si, AgentControlMcpProposeDeviceOpenUrlInput as sn, ThreadSnoozedPayload as so, DeviceScreenshotResult as sr, TerminalNotRunningError as ss, AGENT_CONTROL_RISK_TAGS as st, ComputerAuditEffect as t, OrchestrationCommand as ta, CheckpointRef as tc, ServerSettingsError as ti, AgentControlMcpProposeDeviceAttachInput as tn, ThreadProposedPlanUpsertedPayload as to, DeviceInstallAppResult as tr, ApprovalResponseIdentity as ts, AGENT_CONTROL_MCP_OPERATIONAL_RETENTION_MS as tt, COMPUTER_WAIT_MAX_MS as u, OrchestrationGetTurnDiffError as ua, ProjectId as uc, KeybindingsConfig as ui, AgentControlMcpProposeProjectCreateInput as un, ThreadTurnDiffCompletedPayload as uo, DeviceSwipeInput as ur, EDITORS as us, AgentControlActionKind as ut, ComputerUseRequest as v, OrchestrationSession as va, TrimmedNonEmptyString as vc, isToolLifecycleItemType as vi, AgentControlMcpReadDeviceContentInput as vn, WorktreeDeletedPayload as vo, AtlassianConnectionError as vr, LOCAL_INTRODUCTION_COMPLETE_PATH as vs, AgentControlCompletionReturn as vt, WsRpcGroup as w, OrchestrationThreadActivityTone as wa, ProviderSteerTurnInput as wi, AgentControlMcpSendMessageInput as wn, StatusBucket as wo, GitManagerError as wr, HubDeviceGrantClaims as ws, AgentControlExternalRpcError as wt, WS_METHODS as x, OrchestrationStopBackgroundTaskError as xa, ProviderRespondToUserInputInput as xi, AgentControlMcpReadThreadInput as xn, WorktreeRestoredPayload as xo, AtlassianProduct as xr, LOCAL_INTRODUCTION_MAX_BODY_BYTES as xs, AgentControlExternalIntegration as xt, ComputerUseResult as y, OrchestrationSessionStatus as ya, TurnId as yc, ProviderInterruptTurnInput as yi, AgentControlMcpReadDeviceStateInput as yn, WorktreeManualPositionSetPayload as yo, AtlassianConnectionKind as yr, LOCAL_INTRODUCTION_CONTROL_HEADER as ys, AgentControlExternalCapabilitiesResult as yt, ProjectWriteFileError as z, ProjectionPendingApprovalStatus as za, ContextHandoffAppliedBudget as zi, AgentControlProposeWorkspaceInput as zn, VcsProcessSpawnError as zo, McpSettingsError as zr, RELAY_SUPPORTED_VERSION_RANGE as zs, AgentControlMcpListAutomationRunsInput as zt };
|
|
16906
|
+
export { ProjectChatError as $, OrchestrationReadModel as $a, NativeHandoffStartRequest as $c, ProviderRespondToUserInputInput as $i, NativeIdentityPasswordStartResponse as $l, AgentControlPlanDigest as $n, ThreadUnsettledPayload as $o, GitReadLineBlameInput as $r, TerminalCwdError as $s, AgentControlMcpControlRequestResult as $t, RELAY_MAX_DATA_CHUNK_BYTES as $u, WsHostedRpcGroup as A, ModelContextWindowMetadata as Aa, NATIVE_E2EE_GRANT_KEYS_PATH as Ac, ProviderItemId as Ad, ServerSettingsError as Ai, NATIVE_IDENTITY_PASSWORD_RESET_VERIFY_PATH as Al, AgentControlMcpProposeDeviceShutdownInput as An, ThreadArchivedPayload as Ao, DeviceStopRecordingResult as Ar, VcsDriverKind as As, AGENT_CONTROL_WS_METHODS as At, PasswordResetRequest as Au, NotesError as B, OrchestrationDispatchCommandError as Ba, NATIVE_HANDOFF_PRESENTATION_PATH_PREFIX as Bc, KeybindingRule as Bi, NativeIdentityAttemptCancelResponse as Bl, AgentControlMcpReadDeviceStateInput as Bn, ThreadProposedPlanUpsertedPayload as Bo, AtlassianConnectionKind as Br, DEFAULT_GIT_TEXT_GENERATION_MODEL_BY_PROVIDER as Bs, AgentControlExternalCapabilitiesResult as Bt, PublicSignupStartRequest as Bu, AgentControlWaitThreadsInput as C, ContextHandoffEndpointSnapshot as Ca, AccountE2eeDeviceRenameRequest as Cc, EnvironmentId$1 as Cd, CopilotSettings as Ci, HubSpaceId as Cl, AgentControlMcpProposeDeviceBootInput as Cn, ProjectionPendingApprovalDecision as Co, DeviceKeyEventInput as Cr, WorkItemProviderError as Cs, AGENT_CONTROL_MCP_READ_THREAD_TEXT_BUDGET_CHARS as Ct, PUBLIC_SIGNUP_START_PATH as Cu, AcpRegistryOperationError as D, DEFAULT_PROJECT_METADATA_DIR as Da, HubGrantVerificationKeysetResponse as Dc, NonNegativeInt as Dd, GrokSettings as Di, NATIVE_IDENTITY_PASSWORD_FINISH_PATH as Dl, AgentControlMcpProposeDeviceLaunchInput as Dn, ProviderSessionRuntimeStatus as Do, DeviceRpcError as Dr, SourceControlProviderError as Ds, AGENT_CONTROL_MCP_WAIT_TIMEOUT_MS_MAX as Dt, PasswordLoginStartResponse as Du, ComputerUseResult as E, DEFAULT_PROJECT_KIND as Ea, HubDeviceGrantClaims as Ec, MessageId as Ed, DEFAULT_WORKTREE_BRANCH_PREFIX as Ei, NATIVE_IDENTITY_EMAIL_VERIFY_PATH as El, AgentControlMcpProposeDeviceInstallInput as En, ProviderInteractionMode as Eo, DeviceOpenUrlInput as Er, SourceControlChangeRequestReviewer as Es, AGENT_CONTROL_MCP_WAIT_TIMEOUT_MS_DEFAULT as Et, PasswordLoginStartRequest as Eu, SessionImportError as F, OrchestrationCheckpointFile as Fa, NativeE2eeEnrollmentUpsertResponse as Fc, RuntimeTaskId as Fd, StorageCleanupPreview as Fi, NATIVE_IDENTITY_SIGNUP_PASSWORD_FINISH_PATH as Fl, AgentControlMcpProviderRuntimeEventsResult as Fn, ThreadGoalUpdatedPayload as Fo, ThreadPriorityBatchSnapshot as Fr, VcsUnsupportedOperationError as Fs, AgentControlAutomationId as Ft, PublicSignupFinishResponse as Fu, LocalTaskDeleteInput as G, OrchestrationGetSnapshotError as Ga, NativeHandoffCallbackUri as Gc, THREAD_JUMP_KEYBINDING_COMMANDS as Gi, NativeIdentityPasswordFinishRequest as Gl, AgentControlMcpSendMessageInput as Gn, ThreadSettlementOverride as Go, ChangeRequestReviewThread as Gr, PROVIDER_DISPLAY_NAMES as Gs, AgentControlExternalRpcError as Gt, HubEnrollmentCeremonyDetail as Gu, LocalTask as H, OrchestrationEventMetadata as Ha, NATIVE_HANDOFF_START_PATH as Hc, KeybindingsConfigError as Hi, NativeIdentityEmailStartResponse as Hl, AgentControlMcpReadThreadInput as Hn, ThreadRuntimeModeSetPayload as Ho, AtlassianProduct as Hr, DEFAULT_MODEL as Hs, AgentControlExternalIntegration as Ht, PublicSignupVerifyRequest as Hu, DailyRecapReadError as I, OrchestrationCheckpointStatus as Ia, NodeE2eeAdmissionPolicy as Ic, ThreadId as Id, StorageCleanupResult as Ii, NATIVE_IDENTITY_SIGNUP_USERNAME_PATH as Il, AgentControlMcpReadAutomationInput as In, ThreadInteractionModeSetPayload as Io, ThreadPriorityCandidateRanking as Ir, ThreadPriorityBatchId as Is, AgentControlAutomationRun as It, PublicSignupPasskeyFinishRequest as Iu, LocalTaskUpdateInput as J, OrchestrationGetTurnDiffResult as Ja, NativeHandoffConnectRedeemResponse as Jc, UserInputQuestion as Ji, NativeIdentityPasswordResetRequest as Jl, AgentControlMcpWaitForControlRequestInput as Jn, ThreadTokenModeSetPayload as Jo, GitApplyIndexPatchInput as Jr, defaultInstanceIdForDriver as Js, AgentControlExternalWaitForTaskInput as Jt, HubGrantVerificationKeyId as Ju, LocalTaskError as K, OrchestrationGetTaskOutputError as Ka, NativeHandoffCancelResponse as Kc, RuntimeSubagentStatus as Ki, NativeIdentityPasswordResetFinishRequest as Kl, AgentControlMcpSettingsSummaryResult as Kn, ThreadSnoozedPayload as Ko, ChangeRequestTimelineItem as Kr, ProviderDriverKind as Ks, AgentControlExternalTaskId as Kt, HubEnrollmentStartResult as Ku, DailyRecapThread as L, OrchestrationCheckpointSummary as La, NATIVE_HANDOFF_APPROVE_PATH_SUFFIX as Lc, TrimmedNonEmptyString as Ld, StorageError as Li, NATIVE_NODE_CLAIM_FINISH_PATH as Ll, AgentControlMcpReadAutomationResult as Ln, ThreadMessageSentPayload as Lo, ThreadPriorityRpcError as Lr, ThreadPriorityCandidateId as Ls, AgentControlAutomationRunId as Lt, PublicSignupPasskeyOptionsRequest as Lu, AcpRegistryAgentId as M, ORCHESTRATION_WS_METHODS as Ma, NativeAccountGrantRelayTicketRequest as Mc, RuntimeRequestId as Md, WorktreeSubmoduleRepositoryConfig as Mi, NATIVE_IDENTITY_RECOVERY_CODE_PATH as Ml, AgentControlMcpProposeProjectRemoveInput as Mn, ThreadCreatedPayload as Mo, DeviceTestingInput as Mr, VcsProcessExitError as Ms, AgentControlActionPlan as Mt, PasswordResetVerifyRequest as Mu, AcpRegistrySettings as N, OrchestrationActorKind as Na, NativeAccountGrantRelayTicketResponse as Nc, RuntimeSessionId as Nd, DEFAULT_LIFECYCLE_SUGGESTION_POLICY as Ni, NATIVE_IDENTITY_SIGNUP_PASSKEY_FINISH_PATH as Nl, AgentControlMcpProposeProjectUpdateInput as Nn, ThreadDeletedPayload as No, DeviceTypeTextInput as Nr, VcsProcessSpawnError as Ns, AgentControlAutomation as Nt, PasswordResetVerifyResponse as Nu, WS_METHODS as O, DEFAULT_PROVIDER_INTERACTION_MODE as Oa, NATIVE_ACCOUNT_GRANT_RELAY_TICKET_PATH as Oc, PositiveInt as Od, OpenCodeSettings as Oi, NATIVE_IDENTITY_PASSWORD_RESET_FINISH_PATH as Ol, AgentControlMcpProposeDeviceOpenUrlInput as On, RuntimeMode as Oo, DeviceScreenshotResult as Or, SourceControlRepositoryError as Os, AGENT_CONTROL_RISK_TAGS as Ot, PasswordResetFinishRequest as Ou, AcpRegistryVersion as P, OrchestrationAggregateKind as Pa, NativeE2eeEnrollmentUpsertRequest as Pc, RuntimeSubagentId as Pd, WorkspaceLifecycleError as Pi, NATIVE_IDENTITY_SIGNUP_PASSKEY_OPTIONS_PATH as Pl, AgentControlMcpProposeSettingsChangeInput as Pn, ThreadGoalClearedPayload as Po, DeviceUdid as Pr, VcsProcessTimeoutError as Ps, AgentControlAutomationDefinition as Pt, PublicSignupConfigResponse as Pu, PROJECT_STAGE_FILE_MAX_BYTES as Q, OrchestrationProposedPlanId as Qa, NativeHandoffRedeemResponse as Qc, ProviderRespondToRequestInput as Qi, NativeIdentityPasswordStartRequest as Ql, AgentControlOperationStatus as Qn, ThreadUnarchivedPayload as Qo, GitReadImageBlobInput as Qr, DEFAULT_TERMINAL_ID as Qs, AgentControlMcpContextResult as Qt, RELAY_MAX_CONTROL_FRAME_BYTES as Qu, NotesCommand as R, OrchestrationCommand as Ra, NATIVE_HANDOFF_CANCEL_PATH_SUFFIX as Rc, TurnId as Rd, StorageRetentionPolicy as Ri, NATIVE_NODE_CLAIM_START_PATH as Rl, AgentControlMcpReadControlRequestInput as Rn, ThreadMetaUpdatedPayload as Ro, AtlassianCapability as Rr, ThreadPriorityFingerprint as Rs, AgentControlCapability as Rt, PublicSignupPasskeyOptionsResponse as Ru, AgentControlSearchThreadsInput as S, ContextHandoffDigest as Sa, AccountE2eeDeviceMutationResponse as Sc, ContextHandoffId as Sd, CodexSettings as Si, HubBrowserSessionResponse as Sl, AgentControlMcpProposeDeviceAttachInput as Sn, ProjectScript as So, DeviceInstallAppResult as Sr, WORK_ITEM_DETAIL_COMMENT_BODY_MAX_BYTES as Ss, AGENT_CONTROL_MCP_OPERATIONAL_RETENTION_MS as St, PUBLIC_SIGNUP_PASSWORD_FINISH_PATH as Su, ComputerUseRequest as T, ContextHandoffMode as Ta, HUB_DEVICE_GRANT_MAX_BYTES as Tc, IsoDateTime as Td, DEFAULT_SERVER_SETTINGS as Ti, NATIVE_IDENTITY_EMAIL_START_PATH as Tl, AgentControlMcpProposeDeviceInputInput as Tn, ProviderApprovalDecision as To, DeviceLaunchAppResult as Tr, SOURCE_CONTROL_WORKFLOW_LOG_MAX_BYTES as Ts, AGENT_CONTROL_MCP_TOOL_NAMES as Tt, PasswordLoginFinishRequest as Tu, LocalTaskCreateInput as U, OrchestrationEventType as Ua, NATIVE_HANDOFF_TRANSACTION_LIFETIME_MS as Uc, MODEL_PICKER_JUMP_KEYBINDING_COMMANDS as Ui, NativeIdentityEmailVerifyRequest as Ul, AgentControlMcpReadThreadResult as Un, ThreadSessionSetPayload as Uo, CHANGE_REQUEST_FILE_CONTENTS_MAX_BYTES as Ur, MODEL_SLUG_ALIASES_BY_PROVIDER as Us, AgentControlExternalOverviewResult as Ut, PublicSignupVerifyResponse as Uu, NotesListInput as V, OrchestrationEvent as Va, NATIVE_HANDOFF_REDEEM_PATH as Vc, KeybindingsConfig as Vi, NativeIdentityEmailStartRequest as Vl, AgentControlMcpReadDeviceStateResult as Vn, ThreadRevertedPayload as Vo, AtlassianConnectionStatus as Vr, DEFAULT_GIT_TEXT_GENERATION_OPTIONS_BY_PROVIDER as Vs, AgentControlExternalCreateTaskInput as Vt, PublicSignupStartResponse as Vu, LocalTaskDelegateInput as W, OrchestrationGetFullThreadDiffError as Wa, NativeHandoffApproveResponse as Wc, ResolvedKeybindingRule as Wi, NativeIdentityEmailVerifyResponse as Wl, AgentControlMcpRecentActivityResult as Wn, ThreadSettledPayload as Wo, ChangeRequestReviewComment as Wr, ModelCapabilities as Ws, AgentControlExternalProjectScope as Wt, HubConnectorStatus as Wu, PROJECT_ICON_MAX_BYTES as X, OrchestrationMessage as Xa, NativeHandoffPresentation as Xc, ClaudeCacheObservation as Xi, NativeIdentityPasswordResetVerifyRequest as Xl, AgentControlOperationId as Xn, ThreadTurnDiffCompletedPayload as Xo, GitManagerError as Xr, ApprovalResponseIdentity as Xs, AgentControlListWorkspacesInput as Xt, RELAY_AUTHENTICATION_DEADLINE_MS as Xu, FilesystemBrowseError as Y, OrchestrationGetWorkflowScriptError as Ya, NativeHandoffId as Yc, isToolLifecycleItemType as Yi, NativeIdentityPasswordResetResponse as Yl, AgentControlOperation as Yn, ThreadTrashedPayload as Yo, GitCommandError as Yr, isProviderDriverKind as Ys, AgentControlIntegrationId as Yt, NativeE2eeEnrollmentId as Yu, PROJECT_READ_FILE_BINARY_MAX_BYTES as Z, OrchestrationMessageRole as Za, NativeHandoffRedeemRequest as Zc, ProviderInterruptTurnInput as Zi, NativeIdentityPasswordResetVerifyResponse as Zl, AgentControlOperationState as Zn, ThreadTurnInterruptRequestedPayload as Zo, GitReadComparisonInput as Zr, ApprovalResponseState as Zs, AgentControlMcpCapabilitiesResult as Zt, RELAY_FRAME_TYPES as Zu, AgentControlTaskStatusResult as _, CheckpointRevertActivityPayload as _a, LOCAL_INTRODUCTION_MAX_BODY_BYTES as _c, AtlassianConnectionId as _d, ServerProvider as _i, ExternalIdentitySignupFinishRequest as _l, AgentControlMcpOperationalReadInput as _n, ProjectCreatedPayload as _o, DeviceBundleId as _r, StatusBucket as _s, AGENT_CONTROL_EXTERNAL_PAIRING_CODE_TTL_MS as _t, PASSWORD_RESET_REQUEST_PATH as _u, COMPUTER_FRAME_MAGIC as a, AgentTokenMode as aa, EDITORS as ac, RelayChannelId as ad, McpOauthLoginResult as ai, BrowserExternalIdentityConnectResponse as al, AgentControlMcpInterruptThreadInput as an, OrchestrationThread as ao, AgentControlProposalStatus as ar, TurnDispatchMode as as, ProjectStageFileReferenceError as at, NativeIdentitySignupPasskeyOptionsRequest as au, AgentControlReadProjectInput as b, ContextHandoffActivityPayload as ba, ACCOUNT_E2EE_DEVICE_PATH_PREFIX as bc, CheckpointRef as bd, isProviderAvailable as bi, GITHUB_EXTERNAL_IDENTITY_DISCONNECT_PATH as bl, AgentControlMcpProposeAutomationCreateInput as bn, ProjectMetaUpdatedPayload as bo, DeviceHardwareButton as br, ThreadGoal as bs, AGENT_CONTROL_MCP_MESSAGE_TEXT_MAX_CHARS as bt, PUBLIC_SIGNUP_PASSKEY_FINISH_PATH as bu, COMPUTER_SELECT_TEXT_RANGE_MAX as c, CONTEXT_HANDOFF_ACTIVITY_KIND as ca, DESKTOP_NATIVE_NODE_CLAIM_COMMIT_PATH as cc, RelayNodeId as cd, McpServer as ci, EXTERNAL_IDENTITY_SIGNUP_FINISH_PATH as cl, AgentControlMcpListAutomationsInput as cn, OrchestrationThreadHistoryCursor as co, AgentControlRequestId as cr, WorktreeCheckoutRestoredPayload as cs, AGENT_CONTROL_AUTOMATION_MAX_HORIZON_MS as ct, NativeIdentitySignupUsernameRequest as cu, AGENT_CONTROL_DELEGATION_MCP_TOOLS as d, CONTEXT_HANDOFF_INSPECTION_MAX_RESPONSE_BYTES as da, DESKTOP_NATIVE_NODE_CLAIM_SIGN_PATH as dc, AuthClientMetadataDeviceType as dd, McpServerWritableConfig as di, ExternalIdentityAuthorizationStartResponse as dl, AgentControlMcpListDevicesResult as dn, PROJECT_RELOCATION_PENDING_MESSAGE as do, AgentControlRpcError as dr, WorktreeManualPositionSetPayload as ds, AGENT_CONTROL_CAPABILITIES as dt, NativeNodeClaimFinishResponse as du, ProviderSendTurnInput as ea, TerminalHistoryError as ec, RELAY_MAX_DATA_FRAME_BYTES as ed, TextGenerationError as ei, NativeHandoffStartResponse as el, AgentControlMcpCreateThreadsInput as en, OrchestrationReplayEventsError as eo, AgentControlPlanWorkspaceInput as er, ThreadUnsnoozedPayload as es, ProjectListEntriesError as et, NativeIdentityRecoveryCodeRequest as eu, AGENT_CONTROL_TASK_NOTICE_MAX_CHARS as f, CONTEXT_HANDOFF_MAX_INPUT_CHARS as fa, DesktopNativeNodeClaimCommitRequest as fc, AuthCreatePairingCredentialInput as fd, McpSettingsError as fi, ExternalIdentityConfigResponse as fl, AgentControlMcpListProjectsInput as fn, PROVIDER_SEND_TURN_MAX_ATTACHMENT_TOTAL_BYTES as fo, DEVICE_CAPABILITY_LABELS as fr, WorktreeMetaUpdatedPayload as fs, AGENT_CONTROL_DEVICE_ACTION_KINDS as ft, NativeNodeClaimStartRequest as fu, AgentControlTaskStatusInput as g, ChatFileAttachment as ga, LOCAL_INTRODUCTION_DESCRIPTOR_PATH as gc, ApprovalRequestId as gd, UsageReadError as gi, ExternalIdentityProvider as gl, AgentControlMcpMutationResult as gn, ProjectAvatarSetPayload as go, DeviceAvailability as gr, PullRequestState as gs, AGENT_CONTROL_EXTERNAL_MCP_TOOL_NAMES as gt, PASSWORD_RESET_FINISH_PATH as gu, AgentControlTaskNoticeOutcome as h, ChatAttachmentReadError as ha, LOCAL_INTRODUCTION_CONTROL_HEADER as hc, AuthRpcError as hd, OpinionatedPluginError as hi, ExternalIdentityPendingResponse as hl, AgentControlMcpListThreadsResult as hn, PROVIDER_SEND_TURN_MAX_INPUT_CHARS as ho, DEVICE_WS_METHODS as hr, WorktreeSourceControlStateUpdatedPayload as hs, AGENT_CONTROL_EXTERNAL_MCP_TOOLS as ht, PASSWORD_LOGIN_START_PATH as hu, COMPUTER_DRAG_MAX_DURATION_MS as i, ProviderStopSessionInput as ia, TerminalSubscriptionResyncError as ic, RelayCapability as id, McpListServersResult as ii, BrowserExternalIdentityConnectRequest as il, AgentControlMcpInstallationId as in, OrchestrationStopBackgroundTaskError as io, AgentControlProposalId as ir, ThreadUsageLimitSetPayload as is, ProjectSearchEntriesError as it, NativeIdentitySignupPasskeyFinishRequest as iu, WsRpcGroup as j, ModelSelection as ja, NATIVE_E2EE_MAX_GRANT_KEYS as jc, RuntimeItemId as jd, ThreadEnvMode as ji, NATIVE_IDENTITY_PASSWORD_START_PATH as jl, AgentControlMcpProposeProjectCreateInput as jn, ThreadAttachedToWorktreePayload as jo, DeviceSwipeInput as jr, VcsOutputDecodeError as js, AgentControlActionKind as jt, PasswordResetRequestResponse as ju, WsDeviceRpcGroup as k, FileAttachmentCreateUploadUrlError as ka, NATIVE_E2EE_CURRENT_DEVICE_PATH as kc, ProjectId as kd, ServerSettings as ki, NATIVE_IDENTITY_PASSWORD_RESET_REQUEST_PATH as kl, AgentControlMcpProposeDeviceRecordingInput as kn, ThreadActivityAppendedPayload as ko, DeviceStartRecordingResult as kr, truncateSourceControlDetailContent as ks, AGENT_CONTROL_TERMINAL_PROPOSAL_STATUSES as kt, PasswordResetFinishResponse as ku, COMPUTER_TEXT_MAX_LENGTH as l, CONTEXT_HANDOFF_ERROR_MAX_CHARS as la, DESKTOP_NATIVE_NODE_CLAIM_DESCRIPTOR_PATH as lc, RelayProtocolVersion as ld, McpServerConfig as li, EXTERNAL_IDENTITY_START_PATH as ll, AgentControlMcpListAutomationsResult as ln, OrchestrationThreadHistoryError as lo, AgentControlResultEnvelope as lr, WorktreeCreatedPayload as ls, AGENT_CONTROL_AUTOMATION_MIN_INTERVAL_MS as lt, NativeIdentitySignupUsernameResponse as lu, AgentControlTaskCancelInput as m, ChatAttachment as ma, LOCAL_INTRODUCTION_COMPLETE_PATH as mc, AuthRevokePairingLinkInput as md, McpWorkspaceId as mi, ExternalIdentityDisconnectResponse as ml, AgentControlMcpListThreadsInput as mn, PROVIDER_SEND_TURN_MAX_IMAGE_BYTES as mo, DEVICE_SWIPE_DURATION_MAX_MS as mr, WorktreeRestoredPayload as ms, AGENT_CONTROL_EXTERNAL_CREDENTIAL_AUDIENCE as mt, PASSWORD_LOGIN_FINISH_PATH as mu, ComputerSpaceInventory as n, ProviderSteerTurnInput as na, TerminalNotRunningError as nc, RELAY_MAX_RPC_MESSAGE_BYTES as nd, McpInventoryResourceTemplate as ni, ActiveSpaceSwitchRequest as nl, AgentControlMcpDiagnosticsSummaryResult as nn, OrchestrationSessionStatus as no, AgentControlPromptSummary as nr, ThreadUsageLimit as ns, ProjectReadFileError as nt, NativeIdentitySessionResponse as nu, COMPUTER_MESSAGE_MAX_LENGTH as o, CHAT_ATTACHMENT_READ_CHUNK_BYTES as oa, OpenError as oc, RelayEffectiveRole as od, McpProviderCapabilities as oi, EXTERNAL_IDENTITY_CONFIG_PATH as ol, AgentControlMcpListAutomationRunsInput as on, OrchestrationThreadActivity as oo, AgentControlProposeWorkspaceInput as or, WorktreeArchivedPayload as os, ProjectWriteFileError as ot, NativeIdentitySignupPasskeyOptionsResponse as ou, AGENT_CONTROL_TASK_RESULT_MAX_CHARS as p, CONTEXT_HANDOFF_WS_METHODS as pa, DesktopNativeNodeClaimSignRequest as pc, AuthRevokeClientSessionInput as pd, McpWorkspace as pi, ExternalIdentityDisconnectRequest as pl, AgentControlMcpListProjectsResult as pn, PROVIDER_SEND_TURN_MAX_FILE_BYTES as po, DEVICE_FRAME_MAGIC as pr, WorktreeRelocatedPayload as ps, AGENT_CONTROL_ERROR_CODES as pt, NativeNodeClaimStartResponse as pu, LocalTaskListInput as q, OrchestrationGetTurnDiffError as qa, NativeHandoffConnectRedeemRequest as qc, ToolLifecycleItemType as qi, NativeIdentityPasswordResetFinishResponse as ql, AgentControlMcpUpdateThreadInput as qn, ThreadStatusBucketOverriddenPayload as qo, ChangeRequestViewerCapabilities as qr, ProviderInstanceId as qs, AgentControlExternalTaskIdInput as qt, HubIdentitySummary as qu, COMPUTER_BROWSER_DRIVER_NAMES as r, ProviderStopBackgroundTaskInput as ra, TerminalSessionLookupError as rc, RELAY_SUPPORTED_VERSION_RANGE as rd, McpInventoryTool as ri, ActiveSpaceSwitchResponse as rl, AgentControlMcpInstallation as rn, OrchestrationShellSnapshot as ro, AgentControlProposal as rr, ThreadUsageLimitClearedPayload as rs, ProjectReadIconError as rt, NativeIdentitySignupFinishResponse as ru, COMPUTER_PROVISION_SUMMARY_MAX_LENGTH as s, CHECKPOINT_REVERT_ACTIVITY_KIND as sa, DESKTOP_HUB_REACHABILITY_PATH as sc, RelayFrame as sd, McpProviderSupport as si, EXTERNAL_IDENTITY_PENDING_PATH as sl, AgentControlMcpListAutomationRunsResult as sn, OrchestrationThreadActivityTone as so, AgentControlReadWorkspaceInput as sr, WorktreeCheckoutRemovedPayload as ss, AGENT_CONTROL_ACTION_CAPABILITIES as st, NativeIdentitySignupPasswordFinishRequest as su, ComputerAuditEffect as t, ProviderSessionStartInput as ta, TerminalInputRejectedError as tc, RELAY_MAX_RETRY_AFTER_MS as td, McpInventoryResource as ti, ACTIVE_SPACE_SWITCH_PATH as tl, AgentControlMcpDiagnosticsSummaryInput as tn, OrchestrationSession as to, AgentControlPrincipal as tr, ThreadUntrashedPayload as ts, ProjectReadFileBinaryError as tt, NativeIdentityRecoveryResponse as tu, COMPUTER_WAIT_MAX_MS as u, CONTEXT_HANDOFF_INSPECTION_CHUNK_MAX_BYTES as ua, DESKTOP_NATIVE_NODE_CLAIM_MAX_BODY_BYTES as uc, AuthBootstrapInput as ud, McpServerName as ui, ExternalIdentityAuthorizationStartRequest as ul, AgentControlMcpListDevicesInput as un, OrchestrationWorktreeShell as uo, AgentControlRiskTag as ur, WorktreeDeletedPayload as us, AGENT_CONTROL_AUTOMATION_PROPOSAL_TTL_MS as ut, NativeNodeClaimFinishRequest as uu, AgentControlInspectThreadInput as v, ClientOrchestrationCommand as va, LocalIntroductionCompleteRequest as vc, AtlassianResourceId as vd, ServerProviderCompatibilityStatus as vi, ExternalIdentitySignupFinishResponse as vl, AgentControlMcpOrchestrationEventsResult as vn, ProjectDeletedPayload as vo, DeviceDescribeUiResult as vr, Worktree as vs, AGENT_CONTROL_EXTERNAL_PROPOSAL_TTL_MS as vt, PASSWORD_RESET_VERIFY_PATH as vu, ComputerUseBridgeConfig as w, ContextHandoffInspectionError as wa, AccountE2eeDeviceRevokeRequest as wc, EventId as wd, CursorSettings as wi, NATIVE_IDENTITY_ATTEMPT_CANCEL_PATH as wl, AgentControlMcpProposeDeviceDetachInput as wn, ProjectionPendingApprovalStatus as wo, DeviceLaunchAppInput as wr, WorkItemProviderKind as ws, AGENT_CONTROL_MCP_TOOLS as wt, PUBLIC_SIGNUP_VERIFY_PATH as wu, AgentControlReadThreadFileInput as x, ContextHandoffAppliedBudget as xa, AccountE2eeDeviceListResponse as xc, CommandId as xd, ClaudeSettings as xi, HostedAccountSecurityResponse as xl, AgentControlMcpProposeAutomationUpdateInput as xn, ProjectMetadataDir as xo, DeviceInstallAppInput as xr, WORK_ITEM_DETAIL_BODY_MAX_BYTES as xs, AGENT_CONTROL_MCP_OPERATIONAL_RANGE_MAX_MS as xt, PUBLIC_SIGNUP_PASSKEY_OPTIONS_PATH as xu, AgentControlReadDiffInput as y, ClientThreadTurnStartCommand as ya, ACCOUNT_E2EE_DEVICES_PATH as yc, AuthSessionId as yd, ServerProviderUpdateError as yi, GITHUB_EXTERNAL_IDENTITY_CONNECT_PATH as yl, AgentControlMcpProposeAutomationCancelInput as yn, ProjectKind as yo, DeviceDescriptor as yr, WorktreeId as ys, AGENT_CONTROL_MCP_AUTOMATION_LIST_PROMPT_MAX_CHARS as yt, PUBLIC_SIGNUP_CONFIG_PATH as yu, NotesDocument as z, OrchestrationCommandReceiptStatus as za, NATIVE_HANDOFF_CODE_LIFETIME_MS as zc, CodexResetCreditError as zi, NativeIdentityAttemptCancelRequest as zl, AgentControlMcpReadDeviceContentInput as zn, ThreadPriorityProjectedRanking as zo, AtlassianConnectionError as zr, DEFAULT_GIT_TEXT_GENERATION_MODEL as zs, AgentControlCompletionReturn as zt, PublicSignupPasswordFinishRequest as zu };
|