ryco-cli 0.1.24 → 0.1.25
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/dist/{AcpNativeLogging-COepku4a.cjs → AcpNativeLogging-CA6XYzIS.cjs} +1 -1
- package/dist/{AcpNativeLogging-D7e1dn7s.mjs → AcpNativeLogging-D4-VoHrq.mjs} +1 -1
- package/dist/{AzureDevOpsSourceControlProvider-BNGEg1R8.mjs → AzureDevOpsSourceControlProvider-B_E0XXfD.mjs} +2 -2
- package/dist/{AzureDevOpsSourceControlProvider-CrvgKNf2.cjs → AzureDevOpsSourceControlProvider-COmd21c-.cjs} +2 -2
- package/dist/{BitbucketSourceControlProvider-BzhsQwH-.cjs → BitbucketSourceControlProvider-CD8IvXQK.cjs} +2 -2
- package/dist/{BitbucketSourceControlProvider-Bt21jw68.mjs → BitbucketSourceControlProvider-pUKsNXcg.mjs} +2 -2
- package/dist/{ClaudeDriver-C4yu7Jit.mjs → ClaudeDriver-CGifBixr.mjs} +2 -2
- package/dist/{ClaudeDriver-B7mbf51W.cjs → ClaudeDriver-Dry5uJfX.cjs} +2 -2
- package/dist/{CodexDriver-CR0S17Lb.cjs → CodexDriver-BzR8gA8w.cjs} +3 -3
- package/dist/{CodexDriver-DnnqkGoY.mjs → CodexDriver-V4CL9APE.mjs} +3 -3
- package/dist/{CodexTextGeneration-tlfe1S5W.cjs → CodexTextGeneration-DTrSzY-I.cjs} +1 -1
- package/dist/{CodexTextGeneration-Cw-FZbSS.mjs → CodexTextGeneration-DoCidwvI.mjs} +1 -1
- package/dist/{CopilotDriver-GxKLX5pL.mjs → CopilotDriver-Dt13X60f.mjs} +3 -3
- package/dist/{CopilotDriver-IBd27Ji2.cjs → CopilotDriver-rLcA8PSN.cjs} +3 -3
- package/dist/{CursorDriver-C4Enoe9N.cjs → CursorDriver-C3s-8s9F.cjs} +3 -3
- package/dist/{CursorDriver-CNo9Uzo8.mjs → CursorDriver-HIPUs7cz.mjs} +3 -3
- package/dist/{ForgejoSourceControlProvider-BGXysSX6.mjs → ForgejoSourceControlProvider-CmvOAzEG.mjs} +2 -2
- package/dist/{ForgejoSourceControlProvider-Dh6DOoc8.cjs → ForgejoSourceControlProvider-JgiyrMqp.cjs} +2 -2
- package/dist/{GitHubSourceControlProvider-CPCYV8Xo.mjs → GitHubSourceControlProvider-BYuvbcBf.mjs} +2 -2
- package/dist/{GitHubSourceControlProvider-8hsv_kCE.cjs → GitHubSourceControlProvider-CItCpOcC.cjs} +2 -2
- package/dist/{GitLabSourceControlProvider-B0ZbF9Zx.cjs → GitLabSourceControlProvider-CMce22nU.cjs} +2 -2
- package/dist/{GitLabSourceControlProvider-Bvknpaon.mjs → GitLabSourceControlProvider-DZzEaVSi.mjs} +2 -2
- package/dist/{GrokDriver-DSPEmiwq.mjs → GrokDriver-CduUwiOH.mjs} +3 -3
- package/dist/{GrokDriver-RyyFeh_q.cjs → GrokDriver-D0jraOC_.cjs} +3 -3
- package/dist/{OpenCodeDriver-0q44rSQX.mjs → OpenCodeDriver-Bz_uJdMA.mjs} +2 -2
- package/dist/{OpenCodeDriver-CDcvPT9v.cjs → OpenCodeDriver-DxGpgtDS.cjs} +2 -2
- package/dist/{SourceControlProviderDiscoveryCatalog-DreaAH1H.cjs → SourceControlProviderDiscoveryCatalog-Dm_lhrhv.cjs} +1 -1
- package/dist/{SourceControlProviderDiscoveryCatalog-B37RHe2u.mjs → SourceControlProviderDiscoveryCatalog-ZtwPWoxE.mjs} +1 -1
- package/dist/bin.cjs +291 -176
- package/dist/bin.mjs +291 -176
- package/dist/client/assets/AccountSettings-Bv57-JYy.js +1 -0
- package/dist/client/assets/{AiFocusSettings-CNmGHEcA.js → AiFocusSettings-DCPHmJpA.js} +1 -1
- package/dist/client/assets/{AnimatedHeight-i0YhvlGD.js → AnimatedHeight-DPqb09B0.js} +1 -1
- package/dist/client/assets/{AppearanceSettings-BG8W4DP0.js → AppearanceSettings-EmTrtb_U.js} +1 -1
- package/dist/client/assets/{BranchToolbar.logic-AgPy06Mx.js → BranchToolbar.logic-CHRK3hDt.js} +1 -1
- package/dist/client/assets/{BrowserPanel-BWztlNuL.js → BrowserPanel-2Xu08il5.js} +1 -1
- package/dist/client/assets/ChatRightPanel-C1VD6GCV.js +194 -0
- package/dist/client/assets/{ChatThreadRouteView-CWoBLzR_.js → ChatThreadRouteView-CNww3i2J.js} +1 -1
- package/dist/client/assets/CommandPaletteDialog-B_f3fKp7.js +1 -0
- package/dist/client/assets/{CompositeRoot-C1G-Ejus.js → CompositeRoot-B40iitmH.js} +1 -1
- package/dist/client/assets/ComputerUseSettings-BJs7jqR0.js +1 -0
- package/dist/client/assets/ConnectionsSettings-B9nfvgLG.js +7 -0
- package/dist/client/assets/ContextHandoffEndpointLabel-BSQOArMR.js +4 -0
- package/dist/client/assets/{DiagnosticsSettings-DvnNz2AZ.js → DiagnosticsSettings-BmrqOKMe.js} +1 -1
- package/dist/client/assets/{DialogHandle-8o3kfoiI.js → DialogHandle-pelzaaiH.js} +1 -1
- package/dist/client/assets/{DialogPopup-CLw6NCkW.js → DialogPopup-BLM0vN4N.js} +1 -1
- package/dist/client/assets/DialogRoot-CY6ZzEUS.js +1 -0
- package/dist/client/assets/{DialogTitle-DCHX74Tz.js → DialogTitle-BvIjMtMm.js} +1 -1
- package/dist/client/assets/{DialogTrigger-Bl_fcIV2.js → DialogTrigger-CIeVAA-a.js} +1 -1
- package/dist/client/assets/{DialogViewport-DVDl03yd.js → DialogViewport-Cz0OadGI.js} +1 -1
- package/dist/client/assets/{DraftChatThreadRouteView-CEDYjbKq.js → DraftChatThreadRouteView-DMIGMESb.js} +1 -1
- package/dist/client/assets/{ExternalIdentityWeb.logic-arHvT6AX.js → ExternalIdentityWeb.logic-3rlDV7lT.js} +1 -1
- package/dist/client/assets/{GlassSurface-GY6owikG.js → GlassSurface-CEVIdyfP.js} +1 -1
- package/dist/client/assets/{HostedConnectionControls-COUhSe9x.js → HostedConnectionControls-r9cyZPyF.js} +1 -1
- package/dist/client/assets/HostedHubRoot-BkfafJ5x.js +2 -0
- package/dist/client/assets/{HostedNativeAuthorizationRoute-DZhYxv--.js → HostedNativeAuthorizationRoute-CqHuW853.js} +2 -2
- package/dist/client/assets/HostedNodeRenameDialog-C7m-nvTj.js +1 -0
- package/dist/client/assets/{HostedRelayTrustNotice-Bl6On0Yi.js → HostedRelayTrustNotice-DNZQyAX0.js} +1 -1
- package/dist/client/assets/IntegrationsSettingsPanel-hul3ysgL.js +2 -0
- package/dist/client/assets/{KeybindingsSettings-CPtXx-W2.js → KeybindingsSettings-Cme6omBM.js} +1 -1
- package/dist/client/assets/{LazyBrowserPanel-SUIBB7B4.js → LazyBrowserPanel-COJFwNK7.js} +2 -2
- package/dist/client/assets/{McpServersSettings-BWIUud0Z.js → McpServersSettings-CPeNF8_u.js} +4 -4
- package/dist/client/assets/{MobileSheet-NTayGHF6.js → MobileSheet-BZo-RAfm.js} +1 -1
- package/dist/client/assets/{NodeSecuritySettings-BFifrshE.js → NodeSecuritySettings-CwT5nEW9.js} +1 -1
- package/dist/client/assets/{OpinionatedPluginsSettings-D7WuuNWZ.js → OpinionatedPluginsSettings-D8A1CbMG.js} +1 -1
- package/dist/client/assets/{PhoneGetAppInterstitial-R0cqI17q.js → PhoneGetAppInterstitial-BBnGXVkR.js} +1 -1
- package/dist/client/assets/PhoneHome-BTKOPVjw.js +1 -0
- package/dist/client/assets/PhoneSettingsSurface-DdVCndyt.js +2 -0
- package/dist/client/assets/{ProviderModelPicker-dwWhl7Uf.js → ProviderModelPicker-DoYEUZrn.js} +1 -1
- package/dist/client/assets/ProvidersSettingsPanel-ldDCPVIY.js +1 -0
- package/dist/client/assets/{QuitShortcutFeedback-CklL3jMd.js → QuitShortcutFeedback-mF7X0WMD.js} +1 -1
- package/dist/client/assets/{RedactedSensitiveText-CLPBtvH1.js → RedactedSensitiveText-DovqFcmM.js} +1 -1
- package/dist/client/assets/RootAppShell-CzmEWO9w.js +7 -0
- package/dist/client/assets/{Separator-CpYBhf-I.js → Separator-BhAVTIOc.js} +1 -1
- package/dist/client/assets/SettingsDialog-ByXgBN0U.js +2 -0
- package/dist/client/assets/SettingsPanels-Bgf4vkrJ.js +3 -0
- package/dist/client/assets/{SettingsPanels.editor-9pSZP875.js → SettingsPanels.editor-d-rVlbeN.js} +1 -1
- package/dist/client/assets/SourceControlSettings-dKw0FaN1.js +1 -0
- package/dist/client/assets/{StatisticsPage-C7v-6CTr.js → StatisticsPage-C2RuqDIK.js} +1 -1
- package/dist/client/assets/{StatisticsPanel-CeIjiBm8.js → StatisticsPanel-DqoXnrhQ.js} +1 -1
- package/dist/client/assets/{StatisticsSettingsLink-5s_violW.js → StatisticsSettingsLink-C_f31sb4.js} +1 -1
- package/dist/client/assets/{ThreadTerminalDrawer-CHZ60lPI.js → ThreadTerminalDrawer-DaLrSTn9.js} +11 -11
- package/dist/client/assets/{ThreadWorkspacePanel-Ct5kMcuY.js → ThreadWorkspacePanel-BvRZIxZQ.js} +17 -17
- package/dist/client/assets/{activity-BMBx2Fu0.js → activity-bn_fBQGf.js} +1 -1
- package/dist/client/assets/{alert-CXnC_RJc.js → alert-BmLJh6DH.js} +1 -1
- package/dist/client/assets/{appChrome-BzM66lXM.js → appChrome-Dy57Ve9N.js} +1 -1
- package/dist/client/assets/{arrow-left-CymyVbCi.js → arrow-left-pzj1cbX3.js} +1 -1
- package/dist/client/assets/{arrow-right-9wyq4YVq.js → arrow-right-BW5jU-vo.js} +1 -1
- package/dist/client/assets/{arrow-up-right-mfU38K6p.js → arrow-up-right-AfC5AaSO.js} +1 -1
- package/dist/client/assets/authorization-7xVVtCBu.js +1 -0
- package/dist/client/assets/{badge-Dg7mXiOh.js → badge-DnBuGHGL.js} +1 -1
- package/dist/client/assets/{bot-BR3RyOWP.js → bot-CsKkSRlb.js} +1 -1
- package/dist/client/assets/{capabilities-C8sxDbKT.js → capabilities-DskyVNd2.js} +1 -1
- package/dist/client/assets/{chart-column-CcRi3pAd.js → chart-column-DhvWXIiH.js} +1 -1
- package/dist/client/assets/chevron-right-CITtTwME.js +1 -0
- package/dist/client/assets/{clipboard-copy-ezz8rnaT.js → clipboard-copy-fJnfdl4H.js} +1 -1
- package/dist/client/assets/{data-list-ZLhzdlED.js → data-list-_E-Al1sf.js} +1 -1
- package/dist/client/assets/{desktopWorkspace-P28r2lN2.js → desktopWorkspace-DycXKuMm.js} +1 -1
- package/dist/client/assets/{download-BA9L9tK9.js → download-CLQzE1di.js} +1 -1
- package/dist/client/assets/{editorPreferences-DeKdSV3s.js → editorPreferences-Bg624RVT.js} +1 -1
- package/dist/client/assets/{empty-3NpXLnAM.js → empty-YXFtCUDN.js} +1 -1
- package/dist/client/assets/{group-D5qBdsaB.js → group-DOCkUmuY.js} +1 -1
- package/dist/client/assets/{hostedConnectionCoordinator-CLV-JD1S.js → hostedConnectionCoordinator-JZ1dLx4v.js} +1 -1
- package/dist/client/assets/{hubRoutes-EWJ3Gdod.js → hubRoutes-C2S5of9_.js} +1 -1
- package/dist/client/assets/{index-DxCd1PgA.js → index-CvRFRkBK.js} +2 -2
- package/dist/client/assets/{input-DrOL1KPS.js → input-C2xv8mMt.js} +1 -1
- package/dist/client/assets/{kbd-rWDjJnWX.js → kbd-4-4mGdIa.js} +1 -1
- package/dist/client/assets/{key-round-D2DtQ7aS.js → key-round-CYcb9lAa.js} +1 -1
- package/dist/client/assets/{layers-DtSJWmwy.js → layers-CGlOWYxu.js} +1 -1
- package/dist/client/assets/{log-out-YAp9fsOg.js → log-out-CZW2EpNJ.js} +1 -1
- package/dist/client/assets/{logging-BuUPX1SP.js → logging-BpmZOfmu.js} +1 -1
- package/dist/client/assets/main-CC-U8LrA.css +2 -0
- package/dist/client/assets/main-CzDOnLFw.js +9 -0
- package/dist/client/assets/{palette-D18VboLH.js → palette-CQOuNfSO.js} +1 -1
- package/dist/client/assets/{play-d3KUi4G6.js → play-CPVy9wwV.js} +1 -1
- package/dist/client/assets/primary-CjhRI8fe.js +2 -0
- package/dist/client/assets/providerDriverMeta-BVHpFupf.js +1 -0
- package/dist/client/assets/providerModels-BsybzP4P.js +1 -0
- package/dist/client/assets/{qr-code-Bk1kdf_k.js → qr-code-BPqDlVMn.js} +1 -1
- package/dist/client/assets/{qr-code-MAZkoKtL.js → qr-code-C6BVTc4V.js} +1 -1
- package/dist/client/assets/{radio-group-D-VCGinX.js → radio-group-C8qudOQH.js} +2 -2
- package/dist/client/assets/{refresh-cw-DY3_Ph-S.js → refresh-cw-B5Cz1z3e.js} +1 -1
- package/dist/client/assets/runtime-Bxg7k81u.js +17 -0
- package/dist/client/assets/{save-ugJXuJRM.js → save-C7zM6ey6.js} +1 -1
- package/dist/client/assets/{scroll-area-BMnGzd2a.js → scroll-area-5OU_pvTW.js} +1 -1
- package/dist/client/assets/{scrollEdges-QLSFwGSQ.js → scrollEdges-qnEXfIOg.js} +1 -1
- package/dist/client/assets/{separator-BwUYkCkX.js → separator-B5HfRiaO.js} +1 -1
- package/dist/client/assets/{settingsLayout-C6SUmJVB.js → settingsLayout-CfKq88KD.js} +1 -1
- package/dist/client/assets/{sheet-DLy4aeVa.js → sheet-B9gQDy_I.js} +1 -1
- package/dist/client/assets/{shield-alert-DfUhTI4-.js → shield-alert-7yBlEyOs.js} +1 -1
- package/dist/client/assets/{shield-check-CO4SMhAs.js → shield-check-CnKgVJ0F.js} +1 -1
- package/dist/client/assets/{shield-Zq_ygsnJ.js → shield-rdjnBE2Q.js} +1 -1
- package/dist/client/assets/{sidebar-DNnW-a2V.js → sidebar-BdvL1Pbj.js} +1 -1
- package/dist/client/assets/sidebarProjectFolders-BH8XBqNe.js +4 -0
- package/dist/client/assets/{sidebarStatusText-CawrXnx0.js → sidebarStatusText-CZKsUFBD.js} +1 -1
- package/dist/client/assets/{skeleton-DRm4_OvB.js → skeleton-CoyLqyaB.js} +1 -1
- package/dist/client/assets/{smartphone-O2VACDhU.js → smartphone-CBgpMHXR.js} +1 -1
- package/dist/client/assets/{sparkles-isHutYWU.js → sparkles-w-UZXQx1.js} +1 -1
- package/dist/client/assets/src-Bi-5Nw9C.js +14 -0
- package/dist/client/assets/{star-7UHEnC3x.js → star-BZ-RtSFD.js} +1 -1
- package/dist/client/assets/switch-CEJEmLe7.js +48 -0
- package/dist/client/assets/{toggle-CaKBNe6W.js → toggle-DVGrNHjq.js} +1 -1
- package/dist/client/assets/{toggle-group-UeFeTI3u.js → toggle-group-CNDOfNhH.js} +1 -1
- package/dist/client/assets/{tokenModePresentation-DV56ekA4.js → tokenModePresentation-CQNdC9CW.js} +1 -1
- package/dist/client/assets/{tooltip-DXvXxL37.js → tooltip-B7Z4qomY.js} +1 -1
- package/dist/client/assets/{unplug-DisTpujT.js → unplug-CRUwFNFw.js} +1 -1
- package/dist/client/assets/useAppSidebarCollapsed-wq6czkNJ.js +1 -0
- package/dist/client/assets/useBaseUiId-OYaGjnkh.js +1 -0
- package/dist/client/assets/{useLabelableId-BsDFG9Oj.js → useLabelableId-VMc-yITe.js} +1 -1
- package/dist/client/assets/{useNavigate-cLfxn_9L.js → useNavigate-DVi0rBlf.js} +1 -1
- package/dist/client/assets/{usePhoneThreadActions-rekHL1Mi.js → usePhoneThreadActions-CwwHikjB.js} +1 -1
- package/dist/client/assets/{usePopupViewport-kXU31P6l.js → usePopupViewport-BcSIK_ph.js} +1 -1
- package/dist/client/assets/{useScrollLock-DjMxrUJe.js → useScrollLock-BQf9VYJT.js} +1 -1
- package/dist/client/assets/{useStatistics-BYP-9CmW.js → useStatistics-DczKdEfy.js} +1 -1
- package/dist/client/assets/{useTriggerFocusGuards-DuAm2B8C.js → useTriggerFocusGuards-DjP-D0_a.js} +1 -1
- package/dist/client/assets/{useValueChanged-DreFjrMK.js → useValueChanged-CRwCkFdy.js} +1 -1
- package/dist/client/assets/{user-round-DctamWV6.js → user-round-DStbWN3z.js} +1 -1
- package/dist/client/assets/{vscode-icons-Dw-LGJAv.js → vscode-icons-BihBo3tb.js} +1 -1
- package/dist/client/assets/{workspaceMetadataProjection-BL4sEIL2.js → workspaceMetadataProjection-j3BGlVOB.js} +1 -1
- package/dist/client/assets/{wrench-Ds8eZerZ.js → wrench-BBIgGxy9.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/{collectUint8StreamText-C_VNyArd.mjs → collectUint8StreamText-CE1Re5Ij.mjs} +41 -3
- package/dist/{collectUint8StreamText-DStwNTTK.cjs → collectUint8StreamText-whblCEfg.cjs} +52 -2
- package/dist/{makeManagedServerProvider-GZcpSLrW.mjs → makeManagedServerProvider-CwYhl_P-.mjs} +1 -1
- package/dist/{makeManagedServerProvider-VzxWN-04.cjs → makeManagedServerProvider-Dy2Ny9tk.cjs} +1 -1
- 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/package.json +1 -1
- package/dist/client/assets/AccountSettings-ApnDA1f-.js +0 -1
- package/dist/client/assets/ChatRightPanel-a6UOHNMm.js +0 -194
- package/dist/client/assets/CommandPaletteDialog-B2iKWCUi.js +0 -1
- package/dist/client/assets/ComputerUseSettings-CPwWoHWj.js +0 -1
- package/dist/client/assets/ConnectionsSettings-CPMkuxza.js +0 -7
- package/dist/client/assets/ContextHandoffEndpointLabel-BildLLDY.js +0 -4
- package/dist/client/assets/DialogRoot-SKkIuQHA.js +0 -1
- package/dist/client/assets/HostedHubRoot-BTWc0XoQ.js +0 -2
- package/dist/client/assets/IntegrationsSettingsPanel-n9owMZf-.js +0 -2
- package/dist/client/assets/PhoneHome-FqWvnJP_.js +0 -1
- package/dist/client/assets/PhoneSettingsSurface-w5PJnoBc.js +0 -2
- package/dist/client/assets/ProvidersSettingsPanel-Ww1ch3xA.js +0 -1
- package/dist/client/assets/RootAppShell-BdQCs2XJ.js +0 -7
- package/dist/client/assets/SettingsDialog-DeMzEeCP.js +0 -2
- package/dist/client/assets/SettingsPanels-ZxNz9ZfL.js +0 -3
- package/dist/client/assets/SourceControlSettings-C1F3Brcn.js +0 -1
- package/dist/client/assets/authorization-CjOFkg7b.js +0 -1
- package/dist/client/assets/chevron-right-CuUjBsQV.js +0 -1
- package/dist/client/assets/main-BbtLAX7M.js +0 -9
- package/dist/client/assets/main-D4CtFNPY.css +0 -2
- package/dist/client/assets/monitor-OyD484tI.js +0 -1
- package/dist/client/assets/primary-D_D7eLwT.js +0 -2
- package/dist/client/assets/providerDriverMeta-DNTocCcU.js +0 -1
- package/dist/client/assets/providerModels-bFbEIfL9.js +0 -1
- package/dist/client/assets/runtime-Djy96GJd.js +0 -17
- package/dist/client/assets/sidebarProjectFolders-ygpaKZM6.js +0 -4
- package/dist/client/assets/src-BSuAGqhK.js +0 -14
- package/dist/client/assets/switch-DD1qVLgN.js +0 -48
- package/dist/client/assets/useAppSidebarCollapsed-CaAsLi1q.js +0 -1
- package/dist/client/assets/useBaseUiId-CJN4MvrU.js +0 -1
package/dist/bin.cjs
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
4
4
|
const require_rolldown_runtime = require("./rolldown-runtime-LGfotAqq.cjs");
|
|
5
|
-
const require_collectUint8StreamText = require("./collectUint8StreamText-
|
|
5
|
+
const require_collectUint8StreamText = require("./collectUint8StreamText-whblCEfg.cjs");
|
|
6
6
|
const require_Metrics = require("./Metrics-Bcb9vCAe.cjs");
|
|
7
|
-
const require_SourceControlProviderDiscoveryCatalog = require("./SourceControlProviderDiscoveryCatalog-
|
|
7
|
+
const require_SourceControlProviderDiscoveryCatalog = require("./SourceControlProviderDiscoveryCatalog-Dm_lhrhv.cjs");
|
|
8
8
|
const require_sourceControl = require("./sourceControl-B0D1Op29.cjs");
|
|
9
9
|
let _effect_platform_node_NodeRuntime = require("@effect/platform-node/NodeRuntime");
|
|
10
10
|
_effect_platform_node_NodeRuntime = require_rolldown_runtime.__toESM(_effect_platform_node_NodeRuntime, 1);
|
|
@@ -1408,6 +1408,7 @@ function logPathHydrationWarning(message, error) {
|
|
|
1408
1408
|
console.warn(`[server] ${message}`, error instanceof Error ? error.message : error ?? "");
|
|
1409
1409
|
}
|
|
1410
1410
|
function fixPath(options = {}) {
|
|
1411
|
+
if (options.inheritedFromDesktop) return;
|
|
1411
1412
|
const platform = options.platform ?? process.platform;
|
|
1412
1413
|
const env = options.env ?? process.env;
|
|
1413
1414
|
const logWarning = options.logWarning ?? logPathHydrationWarning;
|
|
@@ -6576,8 +6577,35 @@ const repairProjectionThreadSubagentNestingColumns = effect_Effect.fn("repairPro
|
|
|
6576
6577
|
const repairContextHandoffRuntimeSessions = effect_Effect.fn("repairContextHandoffRuntimeSessions")(function* () {
|
|
6577
6578
|
yield* _042_ContextHandoffRuntimeSessions_default;
|
|
6578
6579
|
});
|
|
6580
|
+
const repairProjectionThreadSummaryState = effect_Effect.gen(function* () {
|
|
6581
|
+
const sql = yield* effect_unstable_sql_SqlClient.SqlClient;
|
|
6582
|
+
yield* sql`
|
|
6583
|
+
CREATE TABLE IF NOT EXISTS ryco_compatibility_repairs (
|
|
6584
|
+
repair_key TEXT PRIMARY KEY
|
|
6585
|
+
)
|
|
6586
|
+
`;
|
|
6587
|
+
yield* sql.withTransaction(effect_Effect.gen(function* () {
|
|
6588
|
+
const completed = yield* sql`
|
|
6589
|
+
SELECT repair_key FROM ryco_compatibility_repairs
|
|
6590
|
+
WHERE repair_key = 'projection-thread-summary-v1'
|
|
6591
|
+
`;
|
|
6592
|
+
const objects = yield* sql`
|
|
6593
|
+
SELECT name FROM sqlite_master WHERE name IN (
|
|
6594
|
+
'projection_thread_user_input_requests',
|
|
6595
|
+
'idx_projection_thread_user_input_requests_thread_pending',
|
|
6596
|
+
'idx_projection_thread_proposed_plans_thread_turn_updated'
|
|
6597
|
+
)
|
|
6598
|
+
`;
|
|
6599
|
+
if (completed.length > 0 && objects.length === 3) return;
|
|
6600
|
+
yield* _044_ProjectionThreadSummaryState_default;
|
|
6601
|
+
yield* sql`
|
|
6602
|
+
INSERT OR IGNORE INTO ryco_compatibility_repairs (repair_key)
|
|
6603
|
+
VALUES ('projection-thread-summary-v1')
|
|
6604
|
+
`;
|
|
6605
|
+
}));
|
|
6606
|
+
});
|
|
6579
6607
|
const repairProjectionThreadReadModelMigrations = effect_Effect.fn("repairProjectionThreadReadModelMigrations")(function* (toMigrationInclusive) {
|
|
6580
|
-
if (toMigrationInclusive >= 44) yield*
|
|
6608
|
+
if (toMigrationInclusive >= 44) yield* repairProjectionThreadSummaryState;
|
|
6581
6609
|
if (toMigrationInclusive >= 45) yield* _045_ProjectionThreadHistoryPaginationIndexes_default;
|
|
6582
6610
|
if (toMigrationInclusive >= 46) yield* _046_ProjectionThreadMessageDispatchMode_default;
|
|
6583
6611
|
if (toMigrationInclusive >= 47) yield* _047_ProjectionThreadsGoal_default;
|
|
@@ -13507,26 +13535,26 @@ const make$13 = effect.Effect.fn("makeSourceControlProviderRegistry")(function*
|
|
|
13507
13535
|
const azureDevOpsCli = yield* AzureDevOpsCli;
|
|
13508
13536
|
const fileSystem = yield* effect.FileSystem.FileSystem;
|
|
13509
13537
|
const github = yield* makeLazyProvider("github", effect.Effect.tryPromise({
|
|
13510
|
-
try: () => Promise.resolve().then(() => require("./GitHubSourceControlProvider-
|
|
13538
|
+
try: () => Promise.resolve().then(() => require("./GitHubSourceControlProvider-CItCpOcC.cjs")),
|
|
13511
13539
|
catch: (cause) => providerLoadError("github", cause)
|
|
13512
13540
|
}).pipe(effect.Effect.flatMap((module) => module.make()), effect.Effect.provideService(GitHubCli, githubCli), effect.Effect.provideService(effect.FileSystem.FileSystem, fileSystem)));
|
|
13513
13541
|
const gitlab = yield* makeLazyProvider("gitlab", effect.Effect.tryPromise({
|
|
13514
|
-
try: () => Promise.resolve().then(() => require("./GitLabSourceControlProvider-
|
|
13542
|
+
try: () => Promise.resolve().then(() => require("./GitLabSourceControlProvider-CMce22nU.cjs")),
|
|
13515
13543
|
catch: (cause) => providerLoadError("gitlab", cause)
|
|
13516
13544
|
}).pipe(effect.Effect.flatMap((module) => module.make()), effect.Effect.provideService(GitLabCli, gitlabCli)));
|
|
13517
13545
|
const bitbucket = yield* makeLazyProvider("bitbucket", effect.Effect.tryPromise({
|
|
13518
|
-
try: () => Promise.resolve().then(() => require("./BitbucketSourceControlProvider-
|
|
13546
|
+
try: () => Promise.resolve().then(() => require("./BitbucketSourceControlProvider-CD8IvXQK.cjs")),
|
|
13519
13547
|
catch: (cause) => providerLoadError("bitbucket", cause)
|
|
13520
13548
|
}).pipe(effect.Effect.flatMap((module) => module.make()), effect.Effect.provideService(BitbucketApi, bitbucketApi)), {
|
|
13521
13549
|
searchRepositories: true,
|
|
13522
13550
|
cloneAuthentication: true
|
|
13523
13551
|
});
|
|
13524
13552
|
const forgejo = yield* makeLazyProvider("forgejo", effect.Effect.tryPromise({
|
|
13525
|
-
try: () => Promise.resolve().then(() => require("./ForgejoSourceControlProvider-
|
|
13553
|
+
try: () => Promise.resolve().then(() => require("./ForgejoSourceControlProvider-JgiyrMqp.cjs")),
|
|
13526
13554
|
catch: (cause) => providerLoadError("forgejo", cause)
|
|
13527
13555
|
}).pipe(effect.Effect.flatMap((module) => module.make()), effect.Effect.provideService(ForgejoApi, forgejoApi)));
|
|
13528
13556
|
const azureDevOps = yield* makeLazyProvider("azure-devops", effect.Effect.tryPromise({
|
|
13529
|
-
try: () => Promise.resolve().then(() => require("./AzureDevOpsSourceControlProvider-
|
|
13557
|
+
try: () => Promise.resolve().then(() => require("./AzureDevOpsSourceControlProvider-COmd21c-.cjs")),
|
|
13530
13558
|
catch: (cause) => providerLoadError("azure-devops", cause)
|
|
13531
13559
|
}).pipe(effect.Effect.flatMap((module) => module.make()), effect.Effect.provideService(AzureDevOpsCli, azureDevOpsCli)));
|
|
13532
13560
|
const bitbucketDiscovery = require_SourceControlProviderDiscoveryCatalog.makeBitbucketDiscovery(bitbucketApi);
|
|
@@ -34015,7 +34043,7 @@ const BUILT_IN_DRIVERS = [
|
|
|
34015
34043
|
configSchema: require_collectUint8StreamText.CodexSettings,
|
|
34016
34044
|
defaultConfig: () => effect.Schema.decodeSync(require_collectUint8StreamText.CodexSettings)({}),
|
|
34017
34045
|
create: (input) => effect.Effect.tryPromise({
|
|
34018
|
-
try: () => Promise.resolve().then(() => require("./CodexDriver-
|
|
34046
|
+
try: () => Promise.resolve().then(() => require("./CodexDriver-BzR8gA8w.cjs")),
|
|
34019
34047
|
catch: (cause) => driverImportError(codexDriverKind, input, cause)
|
|
34020
34048
|
}).pipe(effect.Effect.flatMap(({ CodexDriver }) => CodexDriver.create(input)))
|
|
34021
34049
|
},
|
|
@@ -34029,7 +34057,7 @@ const BUILT_IN_DRIVERS = [
|
|
|
34029
34057
|
configSchema: require_collectUint8StreamText.ClaudeSettings,
|
|
34030
34058
|
defaultConfig: () => effect.Schema.decodeSync(require_collectUint8StreamText.ClaudeSettings)({}),
|
|
34031
34059
|
create: (input) => effect.Effect.tryPromise({
|
|
34032
|
-
try: () => Promise.resolve().then(() => require("./ClaudeDriver-
|
|
34060
|
+
try: () => Promise.resolve().then(() => require("./ClaudeDriver-Dry5uJfX.cjs")),
|
|
34033
34061
|
catch: (cause) => driverImportError(claudeDriverKind, input, cause)
|
|
34034
34062
|
}).pipe(effect.Effect.flatMap(({ ClaudeDriver }) => ClaudeDriver.create(input)))
|
|
34035
34063
|
},
|
|
@@ -34043,7 +34071,7 @@ const BUILT_IN_DRIVERS = [
|
|
|
34043
34071
|
configSchema: require_collectUint8StreamText.CopilotSettings,
|
|
34044
34072
|
defaultConfig: () => effect.Schema.decodeSync(require_collectUint8StreamText.CopilotSettings)({}),
|
|
34045
34073
|
create: (input) => effect.Effect.tryPromise({
|
|
34046
|
-
try: () => Promise.resolve().then(() => require("./CopilotDriver-
|
|
34074
|
+
try: () => Promise.resolve().then(() => require("./CopilotDriver-rLcA8PSN.cjs")),
|
|
34047
34075
|
catch: (cause) => driverImportError(copilotDriverKind, input, cause)
|
|
34048
34076
|
}).pipe(effect.Effect.flatMap(({ CopilotDriver }) => CopilotDriver.create(input)))
|
|
34049
34077
|
},
|
|
@@ -34057,7 +34085,7 @@ const BUILT_IN_DRIVERS = [
|
|
|
34057
34085
|
configSchema: require_collectUint8StreamText.CursorSettings,
|
|
34058
34086
|
defaultConfig: () => effect.Schema.decodeSync(require_collectUint8StreamText.CursorSettings)({}),
|
|
34059
34087
|
create: (input) => effect.Effect.tryPromise({
|
|
34060
|
-
try: () => Promise.resolve().then(() => require("./CursorDriver-
|
|
34088
|
+
try: () => Promise.resolve().then(() => require("./CursorDriver-C3s-8s9F.cjs")),
|
|
34061
34089
|
catch: (cause) => driverImportError(cursorDriverKind, input, cause)
|
|
34062
34090
|
}).pipe(effect.Effect.flatMap(({ CursorDriver }) => CursorDriver.create(input)))
|
|
34063
34091
|
},
|
|
@@ -34071,7 +34099,7 @@ const BUILT_IN_DRIVERS = [
|
|
|
34071
34099
|
configSchema: require_collectUint8StreamText.GrokSettings,
|
|
34072
34100
|
defaultConfig: () => effect.Schema.decodeSync(require_collectUint8StreamText.GrokSettings)({}),
|
|
34073
34101
|
create: (input) => effect.Effect.tryPromise({
|
|
34074
|
-
try: () => Promise.resolve().then(() => require("./GrokDriver-
|
|
34102
|
+
try: () => Promise.resolve().then(() => require("./GrokDriver-D0jraOC_.cjs")),
|
|
34075
34103
|
catch: (cause) => driverImportError(grokDriverKind, input, cause)
|
|
34076
34104
|
}).pipe(effect.Effect.flatMap(({ GrokDriver }) => GrokDriver.create(input)))
|
|
34077
34105
|
},
|
|
@@ -34085,7 +34113,7 @@ const BUILT_IN_DRIVERS = [
|
|
|
34085
34113
|
configSchema: require_collectUint8StreamText.OpenCodeSettings,
|
|
34086
34114
|
defaultConfig: () => effect.Schema.decodeSync(require_collectUint8StreamText.OpenCodeSettings)({}),
|
|
34087
34115
|
create: (input) => effect.Effect.tryPromise({
|
|
34088
|
-
try: () => Promise.resolve().then(() => require("./OpenCodeDriver-
|
|
34116
|
+
try: () => Promise.resolve().then(() => require("./OpenCodeDriver-DxGpgtDS.cjs")),
|
|
34089
34117
|
catch: (cause) => driverImportError(openCodeDriverKind, input, cause)
|
|
34090
34118
|
}).pipe(effect.Effect.flatMap(({ OpenCodeDriver }) => OpenCodeDriver.create(input)))
|
|
34091
34119
|
}
|
|
@@ -34800,7 +34828,7 @@ const scopedSafeTeardown = (label) => (effect$28) => effect.Effect.gen(function*
|
|
|
34800
34828
|
});
|
|
34801
34829
|
//#endregion
|
|
34802
34830
|
//#region package.json
|
|
34803
|
-
var version$1 = "0.1.
|
|
34831
|
+
var version$1 = "0.1.25";
|
|
34804
34832
|
//#endregion
|
|
34805
34833
|
//#region src/provider/Layers/CodexProvider.ts
|
|
34806
34834
|
const PROVIDER_PROBE_TIMEOUT_MS = 8e3;
|
|
@@ -43385,6 +43413,36 @@ function resolveWorktreeCheckoutPath(input) {
|
|
|
43385
43413
|
return resolveAppManagedWorktreeCheckoutPath(input.appWorktreesRoot, input.projectId, input.branchName);
|
|
43386
43414
|
}
|
|
43387
43415
|
//#endregion
|
|
43416
|
+
//#region src/persistence/Services/ProjectionProjects.ts
|
|
43417
|
+
/**
|
|
43418
|
+
* ProjectionProjectRepository - Projection repository interface for projects.
|
|
43419
|
+
*
|
|
43420
|
+
* Owns persistence operations for project rows in the orchestration projection
|
|
43421
|
+
* read model.
|
|
43422
|
+
*
|
|
43423
|
+
* @module ProjectionProjectRepository
|
|
43424
|
+
*/
|
|
43425
|
+
const ProjectionProject = effect.Schema.Struct({
|
|
43426
|
+
projectId: require_collectUint8StreamText.ProjectId,
|
|
43427
|
+
title: effect.Schema.String,
|
|
43428
|
+
workspaceRoot: effect.Schema.String,
|
|
43429
|
+
projectMetadataDir: require_collectUint8StreamText.ProjectMetadataDir,
|
|
43430
|
+
defaultModelSelection: effect.Schema.NullOr(require_collectUint8StreamText.ModelSelection),
|
|
43431
|
+
customSystemPrompt: effect.Schema.optional(effect.Schema.NullOr(effect.Schema.String)),
|
|
43432
|
+
customAvatarContentHash: effect.Schema.NullOr(effect.Schema.String),
|
|
43433
|
+
preferredRemoteName: effect.Schema.NullOr(effect.Schema.String),
|
|
43434
|
+
scripts: effect.Schema.Array(require_collectUint8StreamText.ProjectScript),
|
|
43435
|
+
createdAt: require_collectUint8StreamText.IsoDateTime,
|
|
43436
|
+
updatedAt: require_collectUint8StreamText.IsoDateTime,
|
|
43437
|
+
deletedAt: effect.Schema.NullOr(require_collectUint8StreamText.IsoDateTime)
|
|
43438
|
+
});
|
|
43439
|
+
const GetProjectionProjectInput = effect.Schema.Struct({ projectId: require_collectUint8StreamText.ProjectId });
|
|
43440
|
+
const DeleteProjectionProjectInput = effect.Schema.Struct({ projectId: require_collectUint8StreamText.ProjectId });
|
|
43441
|
+
/**
|
|
43442
|
+
* ProjectionProjectRepository - Service tag for project projection persistence.
|
|
43443
|
+
*/
|
|
43444
|
+
var ProjectionProjectRepository = class extends effect.Context.Service()("ryco/persistence/Services/ProjectionProjects/ProjectionProjectRepository") {};
|
|
43445
|
+
//#endregion
|
|
43388
43446
|
//#region src/persistence/Services/ProjectionWorktrees.ts
|
|
43389
43447
|
/**
|
|
43390
43448
|
* ProjectionWorktreeRepository - Projection repository interface for worktrees.
|
|
@@ -44681,6 +44739,7 @@ const RPC_ACCESS_POLICY = {
|
|
|
44681
44739
|
[require_collectUint8StreamText.WS_METHODS.projectsList]: "viewer",
|
|
44682
44740
|
[require_collectUint8StreamText.WS_METHODS.projectsListEntries]: "operator",
|
|
44683
44741
|
[require_collectUint8StreamText.WS_METHODS.projectsReadFile]: "operator",
|
|
44742
|
+
[require_collectUint8StreamText.WS_METHODS.projectsReadIcon]: "viewer",
|
|
44684
44743
|
[require_collectUint8StreamText.WS_METHODS.projectsReadFileBinary]: "operator",
|
|
44685
44744
|
[require_collectUint8StreamText.WS_METHODS.projectsRemove]: "operator",
|
|
44686
44745
|
[require_collectUint8StreamText.WS_METHODS.projectsSearchEntries]: "operator",
|
|
@@ -46596,6 +46655,9 @@ const makeWsRpcContext = (principal) => effect.Effect.gen(function* () {
|
|
|
46596
46655
|
openCodeMcp
|
|
46597
46656
|
]);
|
|
46598
46657
|
const startup = yield* ServerRuntimeStartup;
|
|
46658
|
+
const projectionProjects = yield* effect.Effect.serviceOption(ProjectionProjectRepository);
|
|
46659
|
+
const projectFaviconResolver = yield* effect.Effect.serviceOption(ProjectFaviconResolver);
|
|
46660
|
+
const projectAvatarStore = yield* effect.Effect.serviceOption(ProjectAvatarStore);
|
|
46599
46661
|
const workspaceEntries = yield* WorkspaceEntries;
|
|
46600
46662
|
const workspaceFileSystem = yield* WorkspaceFileSystem;
|
|
46601
46663
|
const workspaceAccessPolicy = yield* WorkspaceAccessPolicy;
|
|
@@ -46971,6 +47033,9 @@ const makeWsRpcContext = (principal) => effect.Effect.gen(function* () {
|
|
|
46971
47033
|
lifecycleEvents,
|
|
46972
47034
|
serverSettings,
|
|
46973
47035
|
mcpRegistry,
|
|
47036
|
+
projectionProjects,
|
|
47037
|
+
projectFaviconResolver,
|
|
47038
|
+
projectAvatarStore,
|
|
46974
47039
|
workspaceEntries,
|
|
46975
47040
|
workspaceFileSystem,
|
|
46976
47041
|
sourceControlDiscovery,
|
|
@@ -48118,10 +48183,51 @@ const makeTerminalHandlers = (ctx) => {
|
|
|
48118
48183
|
});
|
|
48119
48184
|
};
|
|
48120
48185
|
//#endregion
|
|
48186
|
+
//#region src/project/readProjectIcon.ts
|
|
48187
|
+
const iconTypes = {
|
|
48188
|
+
".png": "image/png",
|
|
48189
|
+
".jpg": "image/jpeg",
|
|
48190
|
+
".jpeg": "image/jpeg",
|
|
48191
|
+
".webp": "image/webp",
|
|
48192
|
+
".svg": "image/svg+xml",
|
|
48193
|
+
".ico": "image/x-icon"
|
|
48194
|
+
};
|
|
48195
|
+
/** Resolve only the registered project's artwork; callers cannot supply filesystem paths. */
|
|
48196
|
+
function readProjectIcon(project, services) {
|
|
48197
|
+
return effect.Effect.gen(function* () {
|
|
48198
|
+
if (project.customAvatarContentHash && services.avatar) {
|
|
48199
|
+
const avatar = yield* services.avatar.read(project.id);
|
|
48200
|
+
if (avatar && avatar.bytes.length <= 524288) return {
|
|
48201
|
+
mimeType: "image/png",
|
|
48202
|
+
dataBase64: avatar.bytes.toString("base64")
|
|
48203
|
+
};
|
|
48204
|
+
}
|
|
48205
|
+
const icon = services.favicon ? yield* services.favicon.readIcon(project.workspaceRoot) : null;
|
|
48206
|
+
if (!icon || icon.bytes.length > 524288) return null;
|
|
48207
|
+
const mimeType = iconTypes[(0, node_path.extname)(icon.path).toLowerCase()];
|
|
48208
|
+
return mimeType ? {
|
|
48209
|
+
mimeType,
|
|
48210
|
+
dataBase64: Buffer.from(icon.bytes).toString("base64")
|
|
48211
|
+
} : null;
|
|
48212
|
+
});
|
|
48213
|
+
}
|
|
48214
|
+
//#endregion
|
|
48121
48215
|
//#region src/ws/projectRpc.ts
|
|
48122
48216
|
const makeProjectHandlers = (ctx) => {
|
|
48123
48217
|
const { ownerEffect, workspaceEntries, workspaceFileSystem, open } = ctx;
|
|
48124
48218
|
return defineWsHandlers({
|
|
48219
|
+
[require_collectUint8StreamText.WS_METHODS.projectsReadIcon]: (input) => ctx.withAccess("viewer", require_collectUint8StreamText.WS_METHODS.projectsReadIcon, effect.Effect.gen(function* () {
|
|
48220
|
+
if (effect.Option.isNone(ctx.projectionProjects)) return null;
|
|
48221
|
+
const project = yield* ctx.projectionProjects.value.getById(input).pipe(effect.Effect.mapError(() => new require_collectUint8StreamText.ProjectReadIconError({ message: "Could not load project artwork." })));
|
|
48222
|
+
if (effect.Option.isNone(project) || project.value.deletedAt !== null) return null;
|
|
48223
|
+
return yield* readProjectIcon({
|
|
48224
|
+
...project.value,
|
|
48225
|
+
id: project.value.projectId
|
|
48226
|
+
}, {
|
|
48227
|
+
favicon: effect.Option.getOrNull(ctx.projectFaviconResolver),
|
|
48228
|
+
avatar: effect.Option.getOrNull(ctx.projectAvatarStore)
|
|
48229
|
+
});
|
|
48230
|
+
})),
|
|
48125
48231
|
[require_collectUint8StreamText.WS_METHODS.projectsSearchEntries]: (input) => observeRpcEffect(require_collectUint8StreamText.WS_METHODS.projectsSearchEntries, ownerEffect(require_collectUint8StreamText.WS_METHODS.projectsSearchEntries, workspaceEntries.search(input).pipe(effect.Effect.mapError((cause) => new require_collectUint8StreamText.ProjectSearchEntriesError({
|
|
48126
48232
|
message: `Failed to search workspace entries: ${cause.detail}`,
|
|
48127
48233
|
cause
|
|
@@ -69830,7 +69936,7 @@ function makeNodeNativeClaimService(options) {
|
|
|
69830
69936
|
claim: input.claim,
|
|
69831
69937
|
requireCurrent: true
|
|
69832
69938
|
});
|
|
69833
|
-
if (input.result.status !== "claimed" || input.result.node.environmentId !== input.claim.environmentId || input.result.node.fingerprint !== input.claim.nodeFingerprint || input.result.node.label !== expectedLabel || input.result.node.effectiveRole !== "owner") return claimError("native_node_claim_conflict");
|
|
69939
|
+
if (input.result.status !== "claimed" || input.result.node.environmentId !== input.claim.environmentId || input.result.node.fingerprint !== input.claim.nodeFingerprint || input.result.node.label !== expectedLabel && !(validated.descriptor.state === "active" && input.result.disposition === "reconnected") || input.result.node.effectiveRole !== "owner") return claimError("native_node_claim_conflict");
|
|
69834
69940
|
const active = {
|
|
69835
69941
|
hubOrigin: validated.descriptor.hubOrigin,
|
|
69836
69942
|
nodeId: input.result.node.id,
|
|
@@ -89993,22 +90099,25 @@ function buildRepositoryIdentity(input) {
|
|
|
89993
90099
|
const DEFAULT_REPOSITORY_IDENTITY_CACHE_CAPACITY = 512;
|
|
89994
90100
|
const DEFAULT_POSITIVE_CACHE_TTL = effect.Duration.minutes(1);
|
|
89995
90101
|
const DEFAULT_NEGATIVE_CACHE_TTL = effect.Duration.minutes(1);
|
|
90102
|
+
const GIT_IDENTITY_PROBE_TIMEOUT_MS = 1e3;
|
|
89996
90103
|
async function resolveRepositoryIdentityCacheKey(cwd) {
|
|
89997
|
-
let cacheKey = cwd;
|
|
89998
90104
|
try {
|
|
89999
90105
|
const topLevelResult = await runProcess("git", [
|
|
90000
90106
|
"-C",
|
|
90001
90107
|
cwd,
|
|
90002
90108
|
"rev-parse",
|
|
90003
90109
|
"--show-toplevel"
|
|
90004
|
-
], {
|
|
90005
|
-
|
|
90110
|
+
], {
|
|
90111
|
+
allowNonZeroExit: true,
|
|
90112
|
+
timeoutMs: GIT_IDENTITY_PROBE_TIMEOUT_MS
|
|
90113
|
+
});
|
|
90114
|
+
if (topLevelResult.timedOut || topLevelResult.code !== 0) return null;
|
|
90006
90115
|
const candidate = topLevelResult.stdout.trim();
|
|
90007
|
-
if (candidate.length > 0)
|
|
90116
|
+
if (candidate.length > 0) return candidate;
|
|
90008
90117
|
} catch {
|
|
90009
|
-
return
|
|
90118
|
+
return null;
|
|
90010
90119
|
}
|
|
90011
|
-
return
|
|
90120
|
+
return null;
|
|
90012
90121
|
}
|
|
90013
90122
|
async function resolveRepositoryIdentityFromCacheKey(cacheKey) {
|
|
90014
90123
|
try {
|
|
@@ -90017,8 +90126,11 @@ async function resolveRepositoryIdentityFromCacheKey(cacheKey) {
|
|
|
90017
90126
|
cacheKey,
|
|
90018
90127
|
"remote",
|
|
90019
90128
|
"-v"
|
|
90020
|
-
], {
|
|
90021
|
-
|
|
90129
|
+
], {
|
|
90130
|
+
allowNonZeroExit: true,
|
|
90131
|
+
timeoutMs: GIT_IDENTITY_PROBE_TIMEOUT_MS
|
|
90132
|
+
});
|
|
90133
|
+
if (remoteResult.timedOut || remoteResult.code !== 0) return null;
|
|
90022
90134
|
const allRemotes = parseRemoteFetchUrls(remoteResult.stdout);
|
|
90023
90135
|
const remote = pickPrimaryRemote(allRemotes);
|
|
90024
90136
|
return remote ? buildRepositoryIdentity({
|
|
@@ -90031,6 +90143,13 @@ async function resolveRepositoryIdentityFromCacheKey(cacheKey) {
|
|
|
90031
90143
|
}
|
|
90032
90144
|
}
|
|
90033
90145
|
const makeRepositoryIdentityResolver = effect.Effect.fn("makeRepositoryIdentityResolver")(function* (options = {}) {
|
|
90146
|
+
const workspaceRootCache = yield* effect.Cache.makeWith((cwd) => effect.Effect.promise(() => resolveRepositoryIdentityCacheKey(cwd)), {
|
|
90147
|
+
capacity: options.cacheCapacity ?? DEFAULT_REPOSITORY_IDENTITY_CACHE_CAPACITY,
|
|
90148
|
+
timeToLive: effect.Exit.match({
|
|
90149
|
+
onSuccess: (value) => value === null ? options.negativeCacheTtl ?? DEFAULT_NEGATIVE_CACHE_TTL : options.positiveCacheTtl ?? DEFAULT_POSITIVE_CACHE_TTL,
|
|
90150
|
+
onFailure: () => effect.Duration.zero
|
|
90151
|
+
})
|
|
90152
|
+
});
|
|
90034
90153
|
const repositoryIdentityCache = yield* effect.Cache.makeWith((cacheKey) => effect.Effect.promise(() => resolveRepositoryIdentityFromCacheKey(cacheKey)), {
|
|
90035
90154
|
capacity: options.cacheCapacity ?? DEFAULT_REPOSITORY_IDENTITY_CACHE_CAPACITY,
|
|
90036
90155
|
timeToLive: effect.Exit.match({
|
|
@@ -90039,7 +90158,8 @@ const makeRepositoryIdentityResolver = effect.Effect.fn("makeRepositoryIdentityR
|
|
|
90039
90158
|
})
|
|
90040
90159
|
});
|
|
90041
90160
|
return { resolve: effect.Effect.fn("RepositoryIdentityResolver.resolve")(function* (cwd) {
|
|
90042
|
-
const cacheKey = yield* effect.
|
|
90161
|
+
const cacheKey = yield* effect.Cache.get(workspaceRootCache, cwd);
|
|
90162
|
+
if (cacheKey === null) return null;
|
|
90043
90163
|
return yield* effect.Cache.get(repositoryIdentityCache, cacheKey);
|
|
90044
90164
|
}) };
|
|
90045
90165
|
});
|
|
@@ -92380,6 +92500,20 @@ const resolveServerEnvironmentLabel = effect.Effect.fn("resolveServerEnvironment
|
|
|
92380
92500
|
return normalizeLabel(input.cwdBaseName) ?? "Ryco environment";
|
|
92381
92501
|
});
|
|
92382
92502
|
//#endregion
|
|
92503
|
+
//#region ../../packages/shared/src/environmentIcon.ts
|
|
92504
|
+
/** Reuse existing platform/name metadata; icon selection must never probe permissions or delay startup. */
|
|
92505
|
+
function inferEnvironmentMachineKind(platform, label = "") {
|
|
92506
|
+
const name = label.toLowerCase().replaceAll(/[\s_-]+/g, "");
|
|
92507
|
+
if (/macmini|minipc/.test(name)) return "mini-pc";
|
|
92508
|
+
if (/macstudio|workstation/.test(name)) return "workstation";
|
|
92509
|
+
if (/macbook|notebook|laptop/.test(name)) return "laptop";
|
|
92510
|
+
if (/imac|macpro|desktop/.test(name)) return "desktop";
|
|
92511
|
+
if (platform === "windows" || platform === "win32") return "windows";
|
|
92512
|
+
if (platform === "linux") return "linux";
|
|
92513
|
+
if (platform === "darwin") return "desktop";
|
|
92514
|
+
return "server";
|
|
92515
|
+
}
|
|
92516
|
+
//#endregion
|
|
92383
92517
|
//#region src/environment/Layers/ServerEnvironment.ts
|
|
92384
92518
|
function platformOs() {
|
|
92385
92519
|
switch (process.platform) {
|
|
@@ -92415,18 +92549,22 @@ const makeServerEnvironment = effect.Effect.fn("makeServerEnvironment")(function
|
|
|
92415
92549
|
});
|
|
92416
92550
|
const environmentId = require_collectUint8StreamText.EnvironmentId.make(environmentIdRaw);
|
|
92417
92551
|
const cwdBaseName = path.basename(serverConfig.cwd).trim();
|
|
92552
|
+
const label = yield* resolveServerEnvironmentLabel({ cwdBaseName });
|
|
92418
92553
|
const descriptor = {
|
|
92419
92554
|
environmentId,
|
|
92420
|
-
label
|
|
92555
|
+
label,
|
|
92421
92556
|
platform: {
|
|
92422
92557
|
os: platformOs(),
|
|
92423
|
-
arch: platformArch()
|
|
92558
|
+
arch: platformArch(),
|
|
92559
|
+
machine: inferEnvironmentMachineKind(platformOs(), label)
|
|
92424
92560
|
},
|
|
92425
92561
|
serverVersion: version$1,
|
|
92426
92562
|
capabilities: {
|
|
92427
92563
|
repositoryIdentity: true,
|
|
92428
92564
|
threadSettlement: true,
|
|
92429
92565
|
threadSnooze: true,
|
|
92566
|
+
projectIcons: true,
|
|
92567
|
+
environmentIcon: true,
|
|
92430
92568
|
threadPriorityRanking: true,
|
|
92431
92569
|
fileAttachments: { maxUploadBytes: require_collectUint8StreamText.PROVIDER_SEND_TURN_MAX_FILE_BYTES }
|
|
92432
92570
|
}
|
|
@@ -94168,6 +94306,121 @@ const makeProjectAtlassianLinkRepository = effect.Effect.gen(function* () {
|
|
|
94168
94306
|
});
|
|
94169
94307
|
const ProjectAtlassianLinkRepositoryLive = effect.Layer.effect(ProjectAtlassianLinkRepository, makeProjectAtlassianLinkRepository);
|
|
94170
94308
|
//#endregion
|
|
94309
|
+
//#region src/persistence/Layers/ProjectionProjects.ts
|
|
94310
|
+
const ProjectionProjectDbRow = ProjectionProject.mapFields(effect.Struct.assign({
|
|
94311
|
+
defaultModelSelection: effect.Schema.NullOr(effect.Schema.fromJsonString(require_collectUint8StreamText.ModelSelection)),
|
|
94312
|
+
scripts: effect.Schema.fromJsonString(effect.Schema.Array(require_collectUint8StreamText.ProjectScript))
|
|
94313
|
+
}));
|
|
94314
|
+
const makeProjectionProjectRepository = effect.Effect.gen(function* () {
|
|
94315
|
+
const sql = yield* effect_unstable_sql_SqlClient.SqlClient;
|
|
94316
|
+
const upsertProjectionProjectRow = effect_unstable_sql_SqlSchema.void({
|
|
94317
|
+
Request: ProjectionProject,
|
|
94318
|
+
execute: (row) => sql`
|
|
94319
|
+
INSERT INTO projection_projects (
|
|
94320
|
+
project_id,
|
|
94321
|
+
title,
|
|
94322
|
+
workspace_root,
|
|
94323
|
+
project_metadata_dir,
|
|
94324
|
+
default_model_selection_json,
|
|
94325
|
+
custom_system_prompt,
|
|
94326
|
+
custom_avatar_content_hash,
|
|
94327
|
+
preferred_remote_name,
|
|
94328
|
+
scripts_json,
|
|
94329
|
+
created_at,
|
|
94330
|
+
updated_at,
|
|
94331
|
+
deleted_at
|
|
94332
|
+
)
|
|
94333
|
+
VALUES (
|
|
94334
|
+
${row.projectId},
|
|
94335
|
+
${row.title},
|
|
94336
|
+
${row.workspaceRoot},
|
|
94337
|
+
${row.projectMetadataDir},
|
|
94338
|
+
${row.defaultModelSelection !== null ? JSON.stringify(row.defaultModelSelection) : null},
|
|
94339
|
+
${row.customSystemPrompt ?? null},
|
|
94340
|
+
${row.customAvatarContentHash ?? null},
|
|
94341
|
+
${row.preferredRemoteName ?? null},
|
|
94342
|
+
${JSON.stringify(row.scripts)},
|
|
94343
|
+
${row.createdAt},
|
|
94344
|
+
${row.updatedAt},
|
|
94345
|
+
${row.deletedAt}
|
|
94346
|
+
)
|
|
94347
|
+
ON CONFLICT (project_id)
|
|
94348
|
+
DO UPDATE SET
|
|
94349
|
+
title = excluded.title,
|
|
94350
|
+
workspace_root = excluded.workspace_root,
|
|
94351
|
+
project_metadata_dir = excluded.project_metadata_dir,
|
|
94352
|
+
default_model_selection_json = excluded.default_model_selection_json,
|
|
94353
|
+
custom_system_prompt = excluded.custom_system_prompt,
|
|
94354
|
+
custom_avatar_content_hash = excluded.custom_avatar_content_hash,
|
|
94355
|
+
preferred_remote_name = excluded.preferred_remote_name,
|
|
94356
|
+
scripts_json = excluded.scripts_json,
|
|
94357
|
+
created_at = excluded.created_at,
|
|
94358
|
+
updated_at = excluded.updated_at,
|
|
94359
|
+
deleted_at = excluded.deleted_at
|
|
94360
|
+
`
|
|
94361
|
+
});
|
|
94362
|
+
const getProjectionProjectRow = effect_unstable_sql_SqlSchema.findOneOption({
|
|
94363
|
+
Request: GetProjectionProjectInput,
|
|
94364
|
+
Result: ProjectionProjectDbRow,
|
|
94365
|
+
execute: ({ projectId }) => sql`
|
|
94366
|
+
SELECT
|
|
94367
|
+
project_id AS "projectId",
|
|
94368
|
+
title,
|
|
94369
|
+
workspace_root AS "workspaceRoot",
|
|
94370
|
+
project_metadata_dir AS "projectMetadataDir",
|
|
94371
|
+
default_model_selection_json AS "defaultModelSelection",
|
|
94372
|
+
custom_system_prompt AS "customSystemPrompt",
|
|
94373
|
+
custom_avatar_content_hash AS "customAvatarContentHash",
|
|
94374
|
+
preferred_remote_name AS "preferredRemoteName",
|
|
94375
|
+
scripts_json AS "scripts",
|
|
94376
|
+
created_at AS "createdAt",
|
|
94377
|
+
updated_at AS "updatedAt",
|
|
94378
|
+
deleted_at AS "deletedAt"
|
|
94379
|
+
FROM projection_projects
|
|
94380
|
+
WHERE project_id = ${projectId}
|
|
94381
|
+
`
|
|
94382
|
+
});
|
|
94383
|
+
const listProjectionProjectRows = effect_unstable_sql_SqlSchema.findAll({
|
|
94384
|
+
Request: effect.Schema.Void,
|
|
94385
|
+
Result: ProjectionProjectDbRow,
|
|
94386
|
+
execute: () => sql`
|
|
94387
|
+
SELECT
|
|
94388
|
+
project_id AS "projectId",
|
|
94389
|
+
title,
|
|
94390
|
+
workspace_root AS "workspaceRoot",
|
|
94391
|
+
project_metadata_dir AS "projectMetadataDir",
|
|
94392
|
+
default_model_selection_json AS "defaultModelSelection",
|
|
94393
|
+
custom_system_prompt AS "customSystemPrompt",
|
|
94394
|
+
custom_avatar_content_hash AS "customAvatarContentHash",
|
|
94395
|
+
preferred_remote_name AS "preferredRemoteName",
|
|
94396
|
+
scripts_json AS "scripts",
|
|
94397
|
+
created_at AS "createdAt",
|
|
94398
|
+
updated_at AS "updatedAt",
|
|
94399
|
+
deleted_at AS "deletedAt"
|
|
94400
|
+
FROM projection_projects
|
|
94401
|
+
ORDER BY created_at ASC, project_id ASC
|
|
94402
|
+
`
|
|
94403
|
+
});
|
|
94404
|
+
const deleteProjectionProjectRow = effect_unstable_sql_SqlSchema.void({
|
|
94405
|
+
Request: DeleteProjectionProjectInput,
|
|
94406
|
+
execute: ({ projectId }) => sql`
|
|
94407
|
+
DELETE FROM projection_projects
|
|
94408
|
+
WHERE project_id = ${projectId}
|
|
94409
|
+
`
|
|
94410
|
+
});
|
|
94411
|
+
const upsert = (row) => upsertProjectionProjectRow(row).pipe(effect.Effect.mapError(toPersistenceSqlError("ProjectionProjectRepository.upsert:query")));
|
|
94412
|
+
const getById = (input) => getProjectionProjectRow(input).pipe(effect.Effect.mapError(toPersistenceSqlError("ProjectionProjectRepository.getById:query")));
|
|
94413
|
+
const listAll = () => listProjectionProjectRows().pipe(effect.Effect.mapError(toPersistenceSqlError("ProjectionProjectRepository.listAll:query")));
|
|
94414
|
+
const deleteById = (input) => deleteProjectionProjectRow(input).pipe(effect.Effect.mapError(toPersistenceSqlError("ProjectionProjectRepository.deleteById:query")));
|
|
94415
|
+
return {
|
|
94416
|
+
upsert,
|
|
94417
|
+
getById,
|
|
94418
|
+
listAll,
|
|
94419
|
+
deleteById
|
|
94420
|
+
};
|
|
94421
|
+
});
|
|
94422
|
+
const ProjectionProjectRepositoryLive = effect.Layer.effect(ProjectionProjectRepository, makeProjectionProjectRepository);
|
|
94423
|
+
//#endregion
|
|
94171
94424
|
//#region src/persistence/Layers/ProjectionWorktrees.ts
|
|
94172
94425
|
const ProjectionWorktreeDbRowSchema$1 = ProjectionWorktree.mapFields(effect.Struct.assign({ prIsDraft: effect.Schema.NullOr(effect.Schema.Number) }));
|
|
94173
94426
|
function toProjectionWorktree(row) {
|
|
@@ -107091,36 +107344,6 @@ const DeleteProjectionPendingApprovalInput = effect.Schema.Struct({ requestId: r
|
|
|
107091
107344
|
*/
|
|
107092
107345
|
var ProjectionPendingApprovalRepository = class extends effect.Context.Service()("ryco/persistence/Services/ProjectionPendingApprovals/ProjectionPendingApprovalRepository") {};
|
|
107093
107346
|
//#endregion
|
|
107094
|
-
//#region src/persistence/Services/ProjectionProjects.ts
|
|
107095
|
-
/**
|
|
107096
|
-
* ProjectionProjectRepository - Projection repository interface for projects.
|
|
107097
|
-
*
|
|
107098
|
-
* Owns persistence operations for project rows in the orchestration projection
|
|
107099
|
-
* read model.
|
|
107100
|
-
*
|
|
107101
|
-
* @module ProjectionProjectRepository
|
|
107102
|
-
*/
|
|
107103
|
-
const ProjectionProject = effect.Schema.Struct({
|
|
107104
|
-
projectId: require_collectUint8StreamText.ProjectId,
|
|
107105
|
-
title: effect.Schema.String,
|
|
107106
|
-
workspaceRoot: effect.Schema.String,
|
|
107107
|
-
projectMetadataDir: require_collectUint8StreamText.ProjectMetadataDir,
|
|
107108
|
-
defaultModelSelection: effect.Schema.NullOr(require_collectUint8StreamText.ModelSelection),
|
|
107109
|
-
customSystemPrompt: effect.Schema.optional(effect.Schema.NullOr(effect.Schema.String)),
|
|
107110
|
-
customAvatarContentHash: effect.Schema.NullOr(effect.Schema.String),
|
|
107111
|
-
preferredRemoteName: effect.Schema.NullOr(effect.Schema.String),
|
|
107112
|
-
scripts: effect.Schema.Array(require_collectUint8StreamText.ProjectScript),
|
|
107113
|
-
createdAt: require_collectUint8StreamText.IsoDateTime,
|
|
107114
|
-
updatedAt: require_collectUint8StreamText.IsoDateTime,
|
|
107115
|
-
deletedAt: effect.Schema.NullOr(require_collectUint8StreamText.IsoDateTime)
|
|
107116
|
-
});
|
|
107117
|
-
const GetProjectionProjectInput = effect.Schema.Struct({ projectId: require_collectUint8StreamText.ProjectId });
|
|
107118
|
-
const DeleteProjectionProjectInput = effect.Schema.Struct({ projectId: require_collectUint8StreamText.ProjectId });
|
|
107119
|
-
/**
|
|
107120
|
-
* ProjectionProjectRepository - Service tag for project projection persistence.
|
|
107121
|
-
*/
|
|
107122
|
-
var ProjectionProjectRepository = class extends effect.Context.Service()("ryco/persistence/Services/ProjectionProjects/ProjectionProjectRepository") {};
|
|
107123
|
-
//#endregion
|
|
107124
107347
|
//#region src/persistence/Services/ProjectionState.ts
|
|
107125
107348
|
/**
|
|
107126
107349
|
* ProjectionStateRepository - Projection repository interface for projector cursors.
|
|
@@ -107407,121 +107630,6 @@ const makeProjectionPendingApprovalRepository = effect.Effect.gen(function* () {
|
|
|
107407
107630
|
});
|
|
107408
107631
|
const ProjectionPendingApprovalRepositoryLive = effect.Layer.effect(ProjectionPendingApprovalRepository, makeProjectionPendingApprovalRepository);
|
|
107409
107632
|
//#endregion
|
|
107410
|
-
//#region src/persistence/Layers/ProjectionProjects.ts
|
|
107411
|
-
const ProjectionProjectDbRow = ProjectionProject.mapFields(effect.Struct.assign({
|
|
107412
|
-
defaultModelSelection: effect.Schema.NullOr(effect.Schema.fromJsonString(require_collectUint8StreamText.ModelSelection)),
|
|
107413
|
-
scripts: effect.Schema.fromJsonString(effect.Schema.Array(require_collectUint8StreamText.ProjectScript))
|
|
107414
|
-
}));
|
|
107415
|
-
const makeProjectionProjectRepository = effect.Effect.gen(function* () {
|
|
107416
|
-
const sql = yield* effect_unstable_sql_SqlClient.SqlClient;
|
|
107417
|
-
const upsertProjectionProjectRow = effect_unstable_sql_SqlSchema.void({
|
|
107418
|
-
Request: ProjectionProject,
|
|
107419
|
-
execute: (row) => sql`
|
|
107420
|
-
INSERT INTO projection_projects (
|
|
107421
|
-
project_id,
|
|
107422
|
-
title,
|
|
107423
|
-
workspace_root,
|
|
107424
|
-
project_metadata_dir,
|
|
107425
|
-
default_model_selection_json,
|
|
107426
|
-
custom_system_prompt,
|
|
107427
|
-
custom_avatar_content_hash,
|
|
107428
|
-
preferred_remote_name,
|
|
107429
|
-
scripts_json,
|
|
107430
|
-
created_at,
|
|
107431
|
-
updated_at,
|
|
107432
|
-
deleted_at
|
|
107433
|
-
)
|
|
107434
|
-
VALUES (
|
|
107435
|
-
${row.projectId},
|
|
107436
|
-
${row.title},
|
|
107437
|
-
${row.workspaceRoot},
|
|
107438
|
-
${row.projectMetadataDir},
|
|
107439
|
-
${row.defaultModelSelection !== null ? JSON.stringify(row.defaultModelSelection) : null},
|
|
107440
|
-
${row.customSystemPrompt ?? null},
|
|
107441
|
-
${row.customAvatarContentHash ?? null},
|
|
107442
|
-
${row.preferredRemoteName ?? null},
|
|
107443
|
-
${JSON.stringify(row.scripts)},
|
|
107444
|
-
${row.createdAt},
|
|
107445
|
-
${row.updatedAt},
|
|
107446
|
-
${row.deletedAt}
|
|
107447
|
-
)
|
|
107448
|
-
ON CONFLICT (project_id)
|
|
107449
|
-
DO UPDATE SET
|
|
107450
|
-
title = excluded.title,
|
|
107451
|
-
workspace_root = excluded.workspace_root,
|
|
107452
|
-
project_metadata_dir = excluded.project_metadata_dir,
|
|
107453
|
-
default_model_selection_json = excluded.default_model_selection_json,
|
|
107454
|
-
custom_system_prompt = excluded.custom_system_prompt,
|
|
107455
|
-
custom_avatar_content_hash = excluded.custom_avatar_content_hash,
|
|
107456
|
-
preferred_remote_name = excluded.preferred_remote_name,
|
|
107457
|
-
scripts_json = excluded.scripts_json,
|
|
107458
|
-
created_at = excluded.created_at,
|
|
107459
|
-
updated_at = excluded.updated_at,
|
|
107460
|
-
deleted_at = excluded.deleted_at
|
|
107461
|
-
`
|
|
107462
|
-
});
|
|
107463
|
-
const getProjectionProjectRow = effect_unstable_sql_SqlSchema.findOneOption({
|
|
107464
|
-
Request: GetProjectionProjectInput,
|
|
107465
|
-
Result: ProjectionProjectDbRow,
|
|
107466
|
-
execute: ({ projectId }) => sql`
|
|
107467
|
-
SELECT
|
|
107468
|
-
project_id AS "projectId",
|
|
107469
|
-
title,
|
|
107470
|
-
workspace_root AS "workspaceRoot",
|
|
107471
|
-
project_metadata_dir AS "projectMetadataDir",
|
|
107472
|
-
default_model_selection_json AS "defaultModelSelection",
|
|
107473
|
-
custom_system_prompt AS "customSystemPrompt",
|
|
107474
|
-
custom_avatar_content_hash AS "customAvatarContentHash",
|
|
107475
|
-
preferred_remote_name AS "preferredRemoteName",
|
|
107476
|
-
scripts_json AS "scripts",
|
|
107477
|
-
created_at AS "createdAt",
|
|
107478
|
-
updated_at AS "updatedAt",
|
|
107479
|
-
deleted_at AS "deletedAt"
|
|
107480
|
-
FROM projection_projects
|
|
107481
|
-
WHERE project_id = ${projectId}
|
|
107482
|
-
`
|
|
107483
|
-
});
|
|
107484
|
-
const listProjectionProjectRows = effect_unstable_sql_SqlSchema.findAll({
|
|
107485
|
-
Request: effect.Schema.Void,
|
|
107486
|
-
Result: ProjectionProjectDbRow,
|
|
107487
|
-
execute: () => sql`
|
|
107488
|
-
SELECT
|
|
107489
|
-
project_id AS "projectId",
|
|
107490
|
-
title,
|
|
107491
|
-
workspace_root AS "workspaceRoot",
|
|
107492
|
-
project_metadata_dir AS "projectMetadataDir",
|
|
107493
|
-
default_model_selection_json AS "defaultModelSelection",
|
|
107494
|
-
custom_system_prompt AS "customSystemPrompt",
|
|
107495
|
-
custom_avatar_content_hash AS "customAvatarContentHash",
|
|
107496
|
-
preferred_remote_name AS "preferredRemoteName",
|
|
107497
|
-
scripts_json AS "scripts",
|
|
107498
|
-
created_at AS "createdAt",
|
|
107499
|
-
updated_at AS "updatedAt",
|
|
107500
|
-
deleted_at AS "deletedAt"
|
|
107501
|
-
FROM projection_projects
|
|
107502
|
-
ORDER BY created_at ASC, project_id ASC
|
|
107503
|
-
`
|
|
107504
|
-
});
|
|
107505
|
-
const deleteProjectionProjectRow = effect_unstable_sql_SqlSchema.void({
|
|
107506
|
-
Request: DeleteProjectionProjectInput,
|
|
107507
|
-
execute: ({ projectId }) => sql`
|
|
107508
|
-
DELETE FROM projection_projects
|
|
107509
|
-
WHERE project_id = ${projectId}
|
|
107510
|
-
`
|
|
107511
|
-
});
|
|
107512
|
-
const upsert = (row) => upsertProjectionProjectRow(row).pipe(effect.Effect.mapError(toPersistenceSqlError("ProjectionProjectRepository.upsert:query")));
|
|
107513
|
-
const getById = (input) => getProjectionProjectRow(input).pipe(effect.Effect.mapError(toPersistenceSqlError("ProjectionProjectRepository.getById:query")));
|
|
107514
|
-
const listAll = () => listProjectionProjectRows().pipe(effect.Effect.mapError(toPersistenceSqlError("ProjectionProjectRepository.listAll:query")));
|
|
107515
|
-
const deleteById = (input) => deleteProjectionProjectRow(input).pipe(effect.Effect.mapError(toPersistenceSqlError("ProjectionProjectRepository.deleteById:query")));
|
|
107516
|
-
return {
|
|
107517
|
-
upsert,
|
|
107518
|
-
getById,
|
|
107519
|
-
listAll,
|
|
107520
|
-
deleteById
|
|
107521
|
-
};
|
|
107522
|
-
});
|
|
107523
|
-
const ProjectionProjectRepositoryLive = effect.Layer.effect(ProjectionProjectRepository, makeProjectionProjectRepository);
|
|
107524
|
-
//#endregion
|
|
107525
107633
|
//#region src/persistence/Layers/ProjectionState.ts
|
|
107526
107634
|
const MinLastAppliedSequenceRowSchema = effect.Schema.Struct({ minLastAppliedSequence: effect.Schema.NullOr(require_collectUint8StreamText.NonNegativeInt) });
|
|
107527
107635
|
const makeProjectionStateRepository = effect.Effect.gen(function* () {
|
|
@@ -109994,7 +110102,14 @@ const makeProjectionSnapshotQuery = effect.Effect.gen(function* () {
|
|
|
109994
110102
|
const resolveRepositoryIdentitiesForProjects = effect.Effect.fn("ProjectionSnapshotQuery.resolveRepositoryIdentitiesForProjects")(function* (projectRows, options) {
|
|
109995
110103
|
const filteredProjectRows = options?.includeDeleted === true ? projectRows : projectRows.filter((row) => row.deletedAt === null);
|
|
109996
110104
|
const uniqueWorkspaceRoots = [...new Set(filteredProjectRows.map((row) => row.workspaceRoot))];
|
|
109997
|
-
const repositoryIdentityByWorkspaceRoot =
|
|
110105
|
+
const repositoryIdentityByWorkspaceRoot = /* @__PURE__ */ new Map();
|
|
110106
|
+
const resolveIdentities = effect.Effect.forEach(uniqueWorkspaceRoots, (workspaceRoot) => repositoryIdentityResolver.resolve(workspaceRoot).pipe(effect.Effect.tap((identity) => effect.Effect.sync(() => {
|
|
110107
|
+
repositoryIdentityByWorkspaceRoot.set(workspaceRoot, identity);
|
|
110108
|
+
}))), {
|
|
110109
|
+
concurrency: repositoryIdentityResolutionConcurrency,
|
|
110110
|
+
discard: true
|
|
110111
|
+
});
|
|
110112
|
+
yield* options?.timeoutMs === void 0 ? resolveIdentities : resolveIdentities.pipe(effect.Effect.timeoutOption(options.timeoutMs));
|
|
109998
110113
|
return new Map(filteredProjectRows.map((row) => [row.projectId, repositoryIdentityByWorkspaceRoot.get(row.workspaceRoot) ?? null]));
|
|
109999
110114
|
});
|
|
110000
110115
|
const listProjectRows = effect_unstable_sql_SqlSchema.findAll({
|
|
@@ -111384,7 +111499,7 @@ const makeProjectionSnapshotQuery = effect.Effect.gen(function* () {
|
|
|
111384
111499
|
if (row.completedAt !== null) updatedAt = maxIso(updatedAt, row.completedAt);
|
|
111385
111500
|
}
|
|
111386
111501
|
for (const row of stateRows) updatedAt = maxIso(updatedAt, row.updatedAt);
|
|
111387
|
-
const repositoryIdentities = yield* resolveRepositoryIdentitiesForProjects(projectRows);
|
|
111502
|
+
const repositoryIdentities = yield* resolveRepositoryIdentitiesForProjects(projectRows, { timeoutMs: 1e3 });
|
|
111388
111503
|
const latestTurnByThread = new Map(latestTurnRows.map((row) => [row.threadId, mapLatestTurn(row)]));
|
|
111389
111504
|
const sessionByThread = new Map(sessionRows.map((row) => [row.threadId, mapSessionRow(row)]));
|
|
111390
111505
|
const activeProjectIds = new Set(projectRows.filter((row) => row.deletedAt === null).map((row) => row.projectId));
|
|
@@ -112072,7 +112187,7 @@ const WorkspaceLayerLive = effect.Layer.mergeAll(WorkspaceAccessPolicyLive, Work
|
|
|
112072
112187
|
const AuthLayerLive = ServerAuthLive.pipe(effect.Layer.provideMerge(PersistenceLayerLive), effect.Layer.provide(ServerSecretStoreLive));
|
|
112073
112188
|
const AtlassianLayerLive = effect.Layer.mergeAll(layer$18, layer$2).pipe(effect.Layer.provideMerge(AtlassianConnectionRepositoryLive), effect.Layer.provideMerge(AtlassianResourceRepositoryLive), effect.Layer.provideMerge(ProjectAtlassianLinkRepositoryLive), effect.Layer.provideMerge(PersistenceLayerLive), effect.Layer.provide(ServerSecretStoreLive));
|
|
112074
112189
|
const ProviderRuntimeLayerLive = ProviderSessionReaperLive.pipe(effect.Layer.provideMerge(ProviderLayerLive), effect.Layer.provideMerge(OrchestrationLayerLive));
|
|
112075
|
-
const RuntimeCoreBaseDependenciesLive = RuntimeFeatureLayerLive.pipe(effect.Layer.provideMerge(CheckpointingLayerLive), effect.Layer.provideMerge(SourceControlProviderRegistryLayerLive), effect.Layer.provideMerge(GitLayerLive), effect.Layer.provideMerge(VcsLayerLive), effect.Layer.provideMerge(ProviderRuntimeLayerLive), effect.Layer.provideMerge(TerminalLayerLive), effect.Layer.provideMerge(AgentControlLayerLive), effect.Layer.provideMerge(PersistenceLayerLive), effect.Layer.provideMerge(ProjectionWorktreeRepositoryLive), effect.Layer.provideMerge(KeybindingsLive), effect.Layer.provideMerge(ProviderRegistryLive), effect.Layer.provideMerge(ProviderInstanceRegistryHydrationLive), effect.Layer.provideMerge(AgentControlSessionRegistryLayerLive), effect.Layer.provideMerge(ProviderEventLoggersLive), effect.Layer.provideMerge(layer$1), effect.Layer.provideMerge(OpenCodeRuntimeLive), effect.Layer.provideMerge(WorkspaceLayerLive), effect.Layer.provideMerge(ProjectFaviconResolverLive), effect.Layer.provideMerge(ProjectAvatarStoreLayerLive));
|
|
112190
|
+
const RuntimeCoreBaseDependenciesLive = RuntimeFeatureLayerLive.pipe(effect.Layer.provideMerge(CheckpointingLayerLive), effect.Layer.provideMerge(SourceControlProviderRegistryLayerLive), effect.Layer.provideMerge(GitLayerLive), effect.Layer.provideMerge(VcsLayerLive), effect.Layer.provideMerge(ProviderRuntimeLayerLive), effect.Layer.provideMerge(TerminalLayerLive), effect.Layer.provideMerge(AgentControlLayerLive), effect.Layer.provideMerge(PersistenceLayerLive), effect.Layer.provideMerge(ProjectionWorktreeRepositoryLive), effect.Layer.provideMerge(ProjectionProjectRepositoryLive), effect.Layer.provideMerge(KeybindingsLive), effect.Layer.provideMerge(ProviderRegistryLive), effect.Layer.provideMerge(ProviderInstanceRegistryHydrationLive), effect.Layer.provideMerge(AgentControlSessionRegistryLayerLive), effect.Layer.provideMerge(ProviderEventLoggersLive), effect.Layer.provideMerge(layer$1), effect.Layer.provideMerge(OpenCodeRuntimeLive), effect.Layer.provideMerge(WorkspaceLayerLive), effect.Layer.provideMerge(ProjectFaviconResolverLive), effect.Layer.provideMerge(ProjectAvatarStoreLayerLive));
|
|
112076
112191
|
const RuntimeDependenciesLive = effect.Layer.mergeAll(RuntimeCoreBaseDependenciesLive, UsageServiceLive).pipe(effect.Layer.provideMerge(ServerSettingsLive)).pipe(effect.Layer.provideMerge(RepositoryIdentityResolverLive), effect.Layer.provideMerge(ServerEnvironmentLive), effect.Layer.provideMerge(AdvertisedEndpointRegistryLive), effect.Layer.provideMerge(AuthLayerLive), effect.Layer.provideMerge(AtlassianLayerLive)).pipe(effect.Layer.provideMerge(AnalyticsServiceLayerLive), effect.Layer.provideMerge(OpenLive), effect.Layer.provideMerge(ServerLifecycleEventsLive), effect.Layer.provideMerge(ChatAttachmentUploadsLive), effect.Layer.provide(NetService.layer));
|
|
112077
112192
|
const RuntimeServicesLive = effect.Layer.mergeAll(ServerRuntimeStartupLive, AgentControlMcpServerLive.pipe(effect.Layer.provideMerge(AgentControlDiagnosticsServiceLive), effect.Layer.provideMerge(AgentControlActionValidatorLive), effect.Layer.provideMerge(AgentControlProjectPlansLive)), AgentControlExternalMcpServerLive.pipe(effect.Layer.provideMerge(AgentControlDiagnosticsServiceLive), effect.Layer.provideMerge(AgentControlActionValidatorLive), effect.Layer.provideMerge(AgentControlProjectPlansLive), effect.Layer.provideMerge(AgentControlExternalTaskServiceLive.pipe(effect.Layer.provideMerge(AgentControlActionValidatorLive), effect.Layer.provideMerge(AgentControlProjectPlansLive)))), AgentControlExecutionLive.pipe(effect.Layer.provideMerge(ServerRuntimeStartupLive), effect.Layer.provideMerge(AgentControlActionValidatorLive), effect.Layer.provideMerge(AgentControlProjectPlansLive), effect.Layer.provideMerge(OrchestrationCommandApplicationLive))).pipe(effect.Layer.provideMerge(RuntimeDependenciesLive), effect.Layer.provideMerge(DeviceServiceLive));
|
|
112078
112193
|
const authRoutesLayer = effect.Layer.mergeAll(authBearerBootstrapRouteLayer, authBootstrapRouteLayer, authClientsRevokeOthersRouteLayer, authClientsRevokeRouteLayer, authClientsRouteLayer, authPairingLinksRevokeRouteLayer, authPairingLinksRouteLayer, authPairingCredentialRouteLayer, authSessionRouteLayer, authWebSocketTokenRouteLayer);
|
|
@@ -112080,7 +112195,7 @@ const projectAssetRoutesLayer = effect.Layer.mergeAll(projectFaviconRouteLayer,
|
|
|
112080
112195
|
const makeRoutesLayer = effect.Layer.mergeAll(authRoutesLayer, attachmentsRouteLayer, attachmentUploadRouteLayer, orchestrationDispatchRouteLayer, orchestrationSnapshotRouteLayer, otlpTracesProxyRouteLayer, projectAssetRoutesLayer, serverEnvironmentRouteLayer, legacyServerEnvironmentRouteLayer, staticAndDevRouteLayer, websocketRpcRouteLayer, deviceWebsocketRpcRouteLayer, deviceFrameRouteLayer, hubConnectorRoutesLayer, desktopLocalIntroductionRoutesLayer, desktopNativeNodeClaimRoutesLayer).pipe(effect.Layer.provide(browserApiCorsLayer));
|
|
112081
112196
|
const makeServerLayer = effect.Layer.unwrap(effect.Effect.gen(function* () {
|
|
112082
112197
|
const config = yield* require_Metrics.ServerConfig;
|
|
112083
|
-
fixPath();
|
|
112198
|
+
fixPath({ inheritedFromDesktop: config.mode === "desktop" });
|
|
112084
112199
|
const httpListeningLayer = effect.Layer.effectDiscard(effect.Effect.gen(function* () {
|
|
112085
112200
|
yield* effect_unstable_http.HttpServer.HttpServer;
|
|
112086
112201
|
yield* (yield* ServerRuntimeStartup).markHttpListening;
|