openmeld 0.3.213 → 0.3.214
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/{add-me-membership-GbaxKxz-.js → add-me-membership-BaqG9F5c.js} +2 -2
- package/dist/{add-me-membership-GbaxKxz-.js.map → add-me-membership-BaqG9F5c.js.map} +1 -1
- package/dist/{agents-BNoz9DA5.js → agents-y9C8FCyv.js} +8 -8
- package/dist/{agents-BNoz9DA5.js.map → agents-y9C8FCyv.js.map} +1 -1
- package/dist/{api-client-foundation-TEBOwWl1.js → api-client-foundation-BYnU1pbS.js} +1 -1
- package/dist/{api-client-foundation-km8Ol1P4.js → api-client-foundation-CKRP7Ymg.js} +3 -3
- package/dist/{api-client-foundation-km8Ol1P4.js.map → api-client-foundation-CKRP7Ymg.js.map} +1 -1
- package/dist/auth-session-BWKfXWxl.js +4 -0
- package/dist/{auth-session-DgHvRt5i.js → auth-session-gaLjWIKR.js} +8 -6
- package/dist/auth-session-gaLjWIKR.js.map +1 -0
- package/dist/{base-url-C6sHRNGu.js → base-url-BczddvzH.js} +2 -2
- package/dist/{base-url-C6sHRNGu.js.map → base-url-BczddvzH.js.map} +1 -1
- package/dist/{base-url-BE3pFiOZ.js → base-url-CfyKRz89.js} +1 -1
- package/dist/{command-Dsa8gaFe.js → command-C72QNhjP.js} +12 -12
- package/dist/{command-Dsa8gaFe.js.map → command-C72QNhjP.js.map} +1 -1
- package/dist/{computer-connection-D8tX14R_.js → computer-connection-Dv9kex7h.js} +2 -2
- package/dist/{computer-connection-D8tX14R_.js.map → computer-connection-Dv9kex7h.js.map} +1 -1
- package/dist/{computer-connection-review-CjOXBWiV.js → computer-connection-review-_ZLPsdE_.js} +6 -6
- package/dist/{computer-connection-review-CjOXBWiV.js.map → computer-connection-review-_ZLPsdE_.js.map} +1 -1
- package/dist/{computer-disconnect-k6UVCsVF.js → computer-disconnect-BJ-Tl-7q.js} +9 -9
- package/dist/{computer-disconnect-k6UVCsVF.js.map → computer-disconnect-BJ-Tl-7q.js.map} +1 -1
- package/dist/{computer-setup-continuation-DhY_sJis.js → computer-setup-continuation-CN383Vvy.js} +4 -4
- package/dist/{computer-setup-continuation-DhY_sJis.js.map → computer-setup-continuation-CN383Vvy.js.map} +1 -1
- package/dist/{daemon-runtime-lease-Dd4hdHNo.js → daemon-runtime-lease-CIzOT1zx.js} +2 -2
- package/dist/{daemon-runtime-lease-Dd4hdHNo.js.map → daemon-runtime-lease-CIzOT1zx.js.map} +1 -1
- package/dist/{daemon-runtime-lease-y3n1K0-C.js → daemon-runtime-lease-_M6hW8Mg.js} +1 -1
- package/dist/{daemon-service-manager-GiMCiTmu.js → daemon-service-manager-DxS5eH_N.js} +4 -4
- package/dist/{daemon-service-manager-GiMCiTmu.js.map → daemon-service-manager-DxS5eH_N.js.map} +1 -1
- package/dist/{daemon-service-manager-Bh0LoLed.js → daemon-service-manager-fPpyIyrU.js} +1 -1
- package/dist/{daemon-service-runtime-CY6wdBe1.js → daemon-service-runtime-CGT3yVOs.js} +22 -16
- package/dist/{daemon-service-runtime-CY6wdBe1.js.map → daemon-service-runtime-CGT3yVOs.js.map} +1 -1
- package/dist/{daemon-service-update-coordinator-BcbbIDzC.js → daemon-service-update-coordinator--xLHNqDT.js} +625 -55
- package/dist/daemon-service-update-coordinator--xLHNqDT.js.map +1 -0
- package/dist/{daemon-state-C37ZtIZK.js → daemon-state-CoAZLwpi.js} +3 -3
- package/dist/{daemon-state-C37ZtIZK.js.map → daemon-state-CoAZLwpi.js.map} +1 -1
- package/dist/dist-CABuqfdH.js +4 -0
- package/dist/{dist-CAx_kxvt.js → dist-Dj3TOx03.js} +481 -195
- package/dist/dist-Dj3TOx03.js.map +1 -0
- package/dist/distribution-BDQT2ilb.js +20 -0
- package/dist/distribution-BDQT2ilb.js.map +1 -0
- package/dist/{elapsed-time-Do3uIV__.js → elapsed-time-CCFWbCC8.js} +5 -5
- package/dist/{elapsed-time-Do3uIV__.js.map → elapsed-time-CCFWbCC8.js.map} +1 -1
- package/dist/{installation-inventory-C92AkQkA.js → installation-inventory-C4WKcVEj.js} +6 -6
- package/dist/{installation-inventory-C92AkQkA.js.map → installation-inventory-C4WKcVEj.js.map} +1 -1
- package/dist/{lock-Dxp6o_t_.js → lock-CAt9uTnZ.js} +5 -48
- package/dist/lock-CAt9uTnZ.js.map +1 -0
- package/dist/{openmeld-I4pLxQsY.js → openmeld-DpV9lAF-.js} +312 -188
- package/dist/openmeld-DpV9lAF-.js.map +1 -0
- package/dist/openmeld-dev.js +1 -1
- package/dist/{openmeld-environment-target-NtJYJe1D.js → openmeld-environment-target-BWI2adGw.js} +3 -3
- package/dist/{openmeld-environment-target-NtJYJe1D.js.map → openmeld-environment-target-BWI2adGw.js.map} +1 -1
- package/dist/{openmeld-maintenance-worker-D5VAO9GD.js → openmeld-maintenance-worker-Blfu_oOo.js} +9 -9
- package/dist/{openmeld-maintenance-worker-D5VAO9GD.js.map → openmeld-maintenance-worker-Blfu_oOo.js.map} +1 -1
- package/dist/{openmeld-tools-update-join-DsQdgYNw.js → openmeld-tools-update-join-BpLwmowQ.js} +4 -4
- package/dist/{openmeld-tools-update-join-DsQdgYNw.js.map → openmeld-tools-update-join-BpLwmowQ.js.map} +1 -1
- package/dist/openmeld.js +3 -3
- package/dist/{prepare-session-executor-BEzlM0hJ.js → prepare-session-executor-Cfm3EvXl.js} +16 -16
- package/dist/{prepare-session-executor-BEzlM0hJ.js.map → prepare-session-executor-Cfm3EvXl.js.map} +1 -1
- package/dist/process-identity-Clby123a.js +145 -0
- package/dist/process-identity-Clby123a.js.map +1 -0
- package/dist/{runtime-transport-DxISZdzf.js → runtime-transport-D8G8sANa.js} +92 -6
- package/dist/runtime-transport-D8G8sANa.js.map +1 -0
- package/dist/{service-Cev-7yAJ.js → service-Cl_Ge6oJ.js} +720 -35
- package/dist/service-Cl_Ge6oJ.js.map +1 -0
- package/dist/{distribution-DY2fBeSW.js → service-account-admission-Dy2W3n3_.js} +9 -19
- package/dist/service-account-admission-Dy2W3n3_.js.map +1 -0
- package/dist/{service-account-authorization-AbowIr6n.js → service-account-authorization-4oZuo8sT.js} +6 -6
- package/dist/{service-account-authorization-AbowIr6n.js.map → service-account-authorization-4oZuo8sT.js.map} +1 -1
- package/dist/{service-account-control-BV_tBiio.js → service-account-control-CTXv3924.js} +11 -12
- package/dist/service-account-control-CTXv3924.js.map +1 -0
- package/dist/{service-control-capabilities-BGXPenm1.js → service-control-capabilities-B-vCQoBV.js} +1 -1
- package/dist/service-control-capabilities-ptf0u8n5.js +70 -0
- package/dist/service-control-capabilities-ptf0u8n5.js.map +1 -0
- package/dist/service-control-carrier-capability-hvpD7hGf.js +24 -0
- package/dist/service-control-carrier-capability-hvpD7hGf.js.map +1 -0
- package/dist/upgrade-EWdIdoHm.js +4 -0
- package/dist/{upgrade-9h70HCQP.js → upgrade-vuPM1iX3.js} +7 -7
- package/dist/{upgrade-9h70HCQP.js.map → upgrade-vuPM1iX3.js.map} +1 -1
- package/dist/{windows-user-task-DxPN7TzK.js → windows-user-task-FdycoSb4.js} +1 -1
- package/dist/{windows-user-task-DqJWtlAm.js → windows-user-task-i0oHCBc0.js} +49 -19
- package/dist/windows-user-task-i0oHCBc0.js.map +1 -0
- package/package.json +2 -2
- package/dist/auth-session-D6UDl3r3.js +0 -4
- package/dist/auth-session-DgHvRt5i.js.map +0 -1
- package/dist/daemon-service-update-coordinator-BcbbIDzC.js.map +0 -1
- package/dist/dist-Bsz_wafH.js +0 -4
- package/dist/dist-CAx_kxvt.js.map +0 -1
- package/dist/distribution-DY2fBeSW.js.map +0 -1
- package/dist/lock-Dxp6o_t_.js.map +0 -1
- package/dist/openmeld-I4pLxQsY.js.map +0 -1
- package/dist/runtime-transport-DxISZdzf.js.map +0 -1
- package/dist/service-Cev-7yAJ.js.map +0 -1
- package/dist/service-account-control-BV_tBiio.js.map +0 -1
- package/dist/service-control-capabilities-DUudAKoj.js +0 -54
- package/dist/service-control-capabilities-DUudAKoj.js.map +0 -1
- package/dist/upgrade-CXgHeEKK.js +0 -4
- package/dist/windows-user-task-DqJWtlAm.js.map +0 -1
|
@@ -1,33 +1,33 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
import { c as toSpaceDispatchLookupUrl, h as toSpaceResultUrl, i as toSpaceContractUrl, l as toSpaceDispatchTraceUrl, r as toSpaceBoardUrl, t as normalizeBaseUrl } from "./urls-CY2uzH2-.js";
|
|
4
|
-
import {
|
|
5
|
-
import { $
|
|
4
|
+
import { D as isLocalMachineFailureError, F as accountsDir, M as accountProfileSpaceCacheDir, N as accountProfileViewPath, O as toRecognizedLocalMachineFailureError, Q as openMeldManagedVersionBinaryPath, S as LocalMachineFailureError, T as createOrphanedSetupConcurrencyIssue, Y as openMeldBackupsDir, Z as openMeldManagedBinaryPath, _ as resolveCliContext, a as isOpenMeldOrphanedLockError, b as formatLaneScopeSentence, c as releaseLockSync, ct as resolveOpenMeldEnvPreset, d as runWithHeldLock, et as openMeldRootDir, gt as systemDir, ht as spacesDir, i as isOpenMeldLockError, it as profileViewPath, k as formatLocalMachineIssueMessage, l as repairOrphanedLegacyLocks, lt as resolveOpenMeldRootDir, m as OPENMELD_CLI_CONTEXT_ENV_KEY, mt as skillsDir, p as LEGACY_OPENMELD_AGENT_SESSION_ENV_KEY, q as normalizeAccountKey, r as buildOpenMeldOrphanedLockAction, rt as profileDir, st as resolveOpenMeldCliEntryNameFromArgv, t as acquireLock, u as resolveOpenMeldOrphanedLockIssue, w as createActiveSetupConcurrencyIssue, x as resolveOpenMeldLaneDescriptor } from "./lock-CAt9uTnZ.js";
|
|
5
|
+
import { $t as createPrepareReadinessApi, Ar as createAgentProfileCreationRequestBodySchema, Cn as postSpaceWorkHandoff, Ft as createCenterAgentApi, Gr as submitFeedbackIssueRequestSchema, Jt as createOrganizationApi, Lt as createComputerFileAccessApi, Mt as createAgentProfileBindingApi, Nn as toStructuredApiClientFailure, Nt as createAgentProfileExecutionModeApi, Oi as signalTextEnvelopeSchema, Or as DEFAULT_AGENT_PROFILE_CREATION_CONFIGURATION, Qt as createPluginsApi, Vt as createFeedbackApi, Xn as OPENMELD_HEADER_SPACE_ADDRESSING_VERSION, Xt as createOrganizationSkillsApi, _i as agentActivityInventorySessionStatusSchema, ai as agentActivitySnapshotQuerySchema, ar as spaceEntryTargetSchema, bi as localAgentSessionProviderSchema, br as summarizeComputerFileAccessPolicy, cr as SPACE_DISPATCH_TRACE_RESPONSE_CONTRACT_VERSION_HEADER, dr as resolveSpaceDispatchTraceRootCause, er as createSpaceTaskBodySchema, fr as spaceDispatchTraceAttemptStatusSchema, gi as agentActivityInventorySessionOriginSchema, gr as projectObservabilityWakeCorrelation, hr as observabilityWakeTraceSelectorSchema, ii as agentActivitySessionStatusSchema, in as createRoutinesApi, ir as spaceTaskMutationReceiptSchema, jt as createAgentActivityApi, kr as agentProfileCreationConfigurationSchema, lr as projectSpaceDispatchTraceFinalVisibleOutcome, mr as spaceDispatchTraceResponseSchema, nn as createProjectsApi, nr as mutateSpaceTaskBodySchema, or as pluginActionRequestSchema, pr as spaceDispatchTraceDispatchStatusSchema, qn as OPENMELD_HEADER_PROFILE_ID, ri as agentActivityProviderSchema, rr as spaceTaskIdSchema, sn as createSpaceApi, tr as listSpaceTasksResponseSchema, ui as resolvedSpaceMemberProfileSchema, ur as resolveRuntimeCoordinatorHeadStatusRootCause, vi as agentActivitySessionInventoryQuerySchema, vr as ownerComputerDiagnosticsSchema, yr as projectOwnerComputerLocalRuntimes, zt as createCurrentDeviceApi } from "./dist-Dj3TOx03.js";
|
|
6
6
|
import { c as agentControllerConversationRefSchema } from "./controller-contract-pe3_Re-c.js";
|
|
7
|
-
import { $t as resolveCurrentDaemonExpectedVersion, A as formatDeviceReplyReadinessLabel, B as resolveGatewayChainReadiness, Ba as resolveViewProfileKey, Ci as resolveAgentExecutionStatus, Cn as listAgentTargetStates, Ei as resolveNativeAgentControllerPermissionModeForController, Ga as createOpenMeldHumanProfile, Ha as requireOpenMeldProfile, J as getSetupFlowCopy, Ja as listOpenMeldProfiles, K as buildDaemonRouteObservationPresentation$1, Ka as deleteOpenMeldProfile, Ki as resolveDispatchSpaceActionMcpServer, N as mapAgentReplyReadinessToLegacyAutoReply, O as resolveCurrentReplyReadinessSnapshot, Qi as assessServerRequiredVersion, Qt as classifyDaemonServiceWakeability, Ra as parseCliViewMode, Si as resolveAgentControllerPermissionModeForController, T as resolveDaemonServiceFreshnessWarning, Ti as resolveEvidenceSyncHealth, U as resolveOpenClawLocalDiagnosticsValue, Ua as resolveOpenMeldProfileOrNull, Va as isSelectedOpenMeldProfileRequiredError, Vn as listBuiltinAgentsRegistryEntries, Wa as createOpenMeldAgentProfile, Xa as resolveOpenMeldProfile, Ya as primeOpenMeldProfilesSessionCache, Za as updateOpenMeldProfile, Zn as notifyDaemonRouteCatalogChanged, Zt as classifyDaemonServiceRunStartability, _ as resolveServiceReadinessFromServiceStatus, _a as isCliUpdateCheckApplicable, _i as parseAgentControllerRef, _n as validateCustomProfileWorkspacePath, _t as syncDeviceRuntimeStateProjection, ao as buildAgentAuthenticationGuide, bt as resolveLocalRegistryAgentIdFromAgentControllerRef, cn as resolveProfileWorkspaceRuntime, co as buildHumanAuthenticationCard, di as createAgentExecutionStatusDisplayRows, dn as readProfileWorkspaceConfig, do as resolveAuthenticationGuidance, dr as unbindProject, eo as alignSelectedOpenMeldProfileStorage, er as bindProject, fo as resolveAuthenticationGuidanceFromError, fr as canonicalizeLocalProjectPath, ga as assessCliUpdate, gi as listAgentControllerPermissionModeOptions, gn as setOpenMeldManagedProfileWorkspace, go as setProfileDefaultView, hn as setCustomProfileWorkspace, ho as getProfileDefaultView, io as setSelectedOpenMeldProfileId, ir as migrateProjectBindingStore, j as formatHumanReplyReadinessReason$1, jt as inspectDaemonServiceInventory, k as formatAgentReplyReadinessLabel, ln as ensureOpenMeldManagedProfileWorkspace, lo as createAuthenticationError, lr as runIfAgentActivityBindingGenerationIsCurrent, mi as getAgentControllerPermissionModeFieldLabel, mt as createModelCatalogReadSession, no as clearSelectedOpenMeldProfileId, nr as listProjectBindings, pi as getAgentControllerPermissionModeDisplayMetadata, pn as resolveConfiguredProfileWorkspacePath, po as resolveAuthenticationGuidanceFromMessage, pt as syncProfileWorkspaceState, q as buildOnboardingPlan, ro as getSelectedOpenMeldProfileId, rr as listProjectConnectionsWithStatus, sr as removeProjectConnection, t as runPendingDaemonServiceUpdate, ta as readCurrentLocalDeviceId, un as normalizeCustomProfileWorkspacePath, ur as setDefaultProjectConnection, vi as peopleComputerContainsDevice, vn as describeProfileWorkspacePathValidationFailure, vo as compareAgentControllerRefsForDisplay, vt as createPrimaryBindingReadSession, wi as resolveAgentProfileEditCapabilities, yi as projectPeopleComputersToLegacyLocalRuntimes, yt as resolveAgentProfilePrimaryAgentControllerReport, za as resolveRuntimeContext } from "./daemon-service-update-coordinator
|
|
8
|
-
import { Ft as spaceStatusSchema, It as centerAgentInteractionSourceSchema,
|
|
9
|
-
import { C as updateAuthSessionActiveOrganization, T as runMacOsNativeKeychainHelperIfRequested, a as beginAuthSessionTransition, d as getAuthSessionState, f as getCurrentAuthOwnerUserId, g as normalizeStoredActiveOrganization, n as AuthSessionRecoveryInProgressError, o as buildStoredAuthSessionIdentity, s as clearAuthSession, t as AuthSessionChangedBeforeTransitionError, u as getAuthSessionMetadata } from "./auth-session-
|
|
7
|
+
import { $t as resolveCurrentDaemonExpectedVersion, A as formatDeviceReplyReadinessLabel, B as resolveGatewayChainReadiness, Ba as resolveViewProfileKey, Ci as resolveAgentExecutionStatus, Cn as listAgentTargetStates, Ei as resolveNativeAgentControllerPermissionModeForController, Ga as createOpenMeldHumanProfile, Ha as requireOpenMeldProfile, J as getSetupFlowCopy, Ja as listOpenMeldProfiles, K as buildDaemonRouteObservationPresentation$1, Ka as deleteOpenMeldProfile, Ki as resolveDispatchSpaceActionMcpServer, N as mapAgentReplyReadinessToLegacyAutoReply, O as resolveCurrentReplyReadinessSnapshot, Qi as assessServerRequiredVersion, Qt as classifyDaemonServiceWakeability, Ra as parseCliViewMode, Si as resolveAgentControllerPermissionModeForController, T as resolveDaemonServiceFreshnessWarning, Ti as resolveEvidenceSyncHealth, U as resolveOpenClawLocalDiagnosticsValue, Ua as resolveOpenMeldProfileOrNull, Va as isSelectedOpenMeldProfileRequiredError, Vn as listBuiltinAgentsRegistryEntries, Wa as createOpenMeldAgentProfile, Xa as resolveOpenMeldProfile, Ya as primeOpenMeldProfilesSessionCache, Za as updateOpenMeldProfile, Zn as notifyDaemonRouteCatalogChanged, Zt as classifyDaemonServiceRunStartability, _ as resolveServiceReadinessFromServiceStatus, _a as isCliUpdateCheckApplicable, _i as parseAgentControllerRef, _n as validateCustomProfileWorkspacePath, _t as syncDeviceRuntimeStateProjection, ao as buildAgentAuthenticationGuide, bt as resolveLocalRegistryAgentIdFromAgentControllerRef, cn as resolveProfileWorkspaceRuntime, co as buildHumanAuthenticationCard, di as createAgentExecutionStatusDisplayRows, dn as readProfileWorkspaceConfig, do as resolveAuthenticationGuidance, dr as unbindProject, eo as alignSelectedOpenMeldProfileStorage, er as bindProject, fo as resolveAuthenticationGuidanceFromError, fr as canonicalizeLocalProjectPath, ga as assessCliUpdate, gi as listAgentControllerPermissionModeOptions, gn as setOpenMeldManagedProfileWorkspace, go as setProfileDefaultView, hn as setCustomProfileWorkspace, ho as getProfileDefaultView, io as setSelectedOpenMeldProfileId, ir as migrateProjectBindingStore, j as formatHumanReplyReadinessReason$1, jt as inspectDaemonServiceInventory, k as formatAgentReplyReadinessLabel, ln as ensureOpenMeldManagedProfileWorkspace, lo as createAuthenticationError, lr as runIfAgentActivityBindingGenerationIsCurrent, mi as getAgentControllerPermissionModeFieldLabel, mt as createModelCatalogReadSession, no as clearSelectedOpenMeldProfileId, nr as listProjectBindings, pi as getAgentControllerPermissionModeDisplayMetadata, pn as resolveConfiguredProfileWorkspacePath, po as resolveAuthenticationGuidanceFromMessage, pt as syncProfileWorkspaceState, q as buildOnboardingPlan, ro as getSelectedOpenMeldProfileId, rr as listProjectConnectionsWithStatus, sr as removeProjectConnection, t as runPendingDaemonServiceUpdate, ta as readCurrentLocalDeviceId, un as normalizeCustomProfileWorkspacePath, ur as setDefaultProjectConnection, vi as peopleComputerContainsDevice, vn as describeProfileWorkspacePathValidationFailure, vo as compareAgentControllerRefsForDisplay, vt as createPrimaryBindingReadSession, wi as resolveAgentProfileEditCapabilities, yi as projectPeopleComputersToLegacyLocalRuntimes, yt as resolveAgentProfilePrimaryAgentControllerReport, za as resolveRuntimeContext } from "./daemon-service-update-coordinator--xLHNqDT.js";
|
|
8
|
+
import { $t as readSpaceFileTextResponseSchema, Cn as spaceContractSchema, Ft as spaceStatusSchema, Ht as spaceWorkingCopyResultSchema, In as messageEnvelopeSchema, It as centerAgentInteractionSourceSchema, Rr as START_BOUNDED_ID_SCHEMA, Sn as spaceContractFieldsSchema, Vr as START_TRIMMED_NON_EMPTY_STRING_SCHEMA, Vt as spaceWorkSelectionSchema, Yt as isSpaceFileTextEditable, ar as clientMessageIdSchema, cn as spaceFileEntryIdSchema, dn as spaceFileRevisionNumberSchema, en as resolveSpaceFileMimeType, fn as spaceMessageFileReferenceSchema, ni as openMeldProfileIdSchema, ri as openMeldRequestContextSchema, vn as spaceThreadContextSchema, zt as spaceWorkHandoffSchema } from "./runtime-transport-D8G8sANa.js";
|
|
9
|
+
import { C as updateAuthSessionActiveOrganization, T as runMacOsNativeKeychainHelperIfRequested, a as beginAuthSessionTransition, d as getAuthSessionState, f as getCurrentAuthOwnerUserId, g as normalizeStoredActiveOrganization, n as AuthSessionRecoveryInProgressError, o as buildStoredAuthSessionIdentity, s as clearAuthSession, t as AuthSessionChangedBeforeTransitionError, u as getAuthSessionMetadata } from "./auth-session-gaLjWIKR.js";
|
|
10
10
|
import { F as trimmedStringFromUnknown, N as nonEmptyTrimmedStringFromUnknown, b as dispatchExecutionSchema, w as openMeldRuntimeProfileIdSchema } from "./control-plane-Bpu7g9Av.js";
|
|
11
|
-
import { t as computerConnectionIntentSchema } from "./computer-connection-
|
|
12
|
-
import { _ as readSelectedSkillDocument, f as ensureLocalSkills, n as collectSkillsReadinessSnapshot } from "./installation-inventory-
|
|
13
|
-
import { $ as
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import { A as getDaemonStatus } from "./daemon-state-
|
|
20
|
-
import { a as formatOpenMeldCliCommand, c as formatOpenMeldCliTextBlock, d as resolveSetupFollowUpCliEntryCommand, f as resolveUserFacingCliEntryCommand, i as formatInlineOpenMeldCliCommands, o as formatOpenMeldCliCommands, r as resolveAuthBaseUrl, s as formatOpenMeldCliLine, t as resolveOpenMeldEnvironmentTarget, u as formatProfileAwareOpenMeldCliCommands } from "./openmeld-environment-target-
|
|
21
|
-
import { r as runServiceAccountCarrier } from "./service-account-authorization-
|
|
22
|
-
import { c as buildRequestAuthHeaders, d as buildOpenMeldRequestContextFromProfile, n as fetchSpaceRequestWithTimeout, p as deriveAuthBaseUrlFromGatewayUrl, s as buildOpenMeldRequestContextHeadersWithAuth, t as createCliApiClientFoundation } from "./api-client-foundation-
|
|
23
|
-
import { t as runServiceAccountControl } from "./service-account-control-
|
|
24
|
-
import { C as buildNoLocalAgentsNoticeLines, D as recoverInterruptedComputerAuthHandoff, E as formatComputerAuthCleanupFailureSuffix, O as exchangeComputerAuthorizationGrant, S as buildLocalAgentsGuideUrl, T as emitUnusedSetupSessionCleanupWarning, _ as runStartLocalAgentsEnable, a as assertSetupServiceUpdateComplete, b as submitSelectedAgentControllerReports, c as collectObservedDeviceMetadata, d as collectStartLocalReadiness, f as runSkillsCheck$1, g as runSkillsUpdate, h as runSkillsUninstall, i as runPrepareSessionExecutor, j as writePrepareSessionSetupBootstrapResult, k as revokePreparedAuthSession, l as createSetupProgressReporter, m as runSkillsInstall, n as reportPrepareHandoffStopped, o as shouldForceSetupServiceRefresh, p as runSkillsEnsure, r as resolvePrepareSessionForHandoff, s as syncLocalSetupCurrentDeviceTargetFromServiceContract, t as connectPrepareSessionStream, u as resolveControllingTerminalSession, v as isCliOutputHandledError, w as confirmContinueWithoutLocalAgents, x as appendLocalAgentsGuideUrl, y as assertSelectedAgentControllerReportSubmissionsAccepted } from "./prepare-session-executor-
|
|
25
|
-
import { C as resolveGatewayWebOrigin, T as runDaemonServiceParticipationGate, _ as promptSearchSelect, a as runAgentsCustomRemove, c as runAgentsDisable, d as runAgentsManage, f as runAgentsRepair, h as promptSearchMultiselect, i as runAgentsCustomList, l as runAgentsEnable, m as formatTransportModeDisplay, n as runAgentsConfig, o as runAgentsCustomUpdate, p as runAgentsShow, r as runAgentsCustomAdd, s as runAgentsDetect, t as runAgents, u as runAgentsList, w as resolveSpaceWebGatewayOrigin } from "./agents-
|
|
26
|
-
import { a as runUpgrade, c as OPENMELD_UPGRADE_FAILURE_HINTS, l as OPENMELD_UPGRADE_METADATA_RECOVERY_HINTS, n as isUpgradeOutputHandledError, o as emitTopLevelAgentOverview, s as emitTopLevelCliAgentOverview, t as UPGRADE_INTERNAL_ALIGN_SERVICE_FLAG$1 } from "./upgrade-
|
|
11
|
+
import { t as computerConnectionIntentSchema } from "./computer-connection-Dv9kex7h.js";
|
|
12
|
+
import { _ as readSelectedSkillDocument, f as ensureLocalSkills, n as collectSkillsReadinessSnapshot } from "./installation-inventory-C4WKcVEj.js";
|
|
13
|
+
import { $ as toStructuredGatewayFailure, An as registerAgentActivityRoute, B as resolveDaemonServiceParticipationStatus, Bn as ensureCommandAuthenticationOrCancel, Bt as buildSignalMessageReadProjection, C as buildProfileWorkspaceRows, Cn as enqueueAgentActivityHookEvent, Cr as revokeOrganizationJoinLinkResponseSchema, Dn as enqueueControllerTaskLifecycleEventWhileLocked, E as emitDaemonAgentOverview, En as removeProjectOutbox, F as emitCliJsonEnvelope, Fn as installAgentActivityIntegrations, G as materializeOrganizationSkillRelease, Gn as runAuthStatus, H as createCliSpaceApi, Hn as runAuthLogin, I as runDaemonStartupPreflight, In as readAgentActivityIntegrationStatus, It as buildDispatchResultMessageReadProjection, Jn as buildAuthStatusSnapshot, K as fetchSpaceMeta, Kn as exchangeOneTimeTokenAuthSession, Kt as buildSpaceRoundReadProjection, Ln as resolveAgentActivityDispatcherCommand, Lt as buildDispatchResultReplyWorkflowProjection, M as buildHumanErrorCopy, Mn as unregisterAgentActivityRoute, Mt as upsertSpaceConfig, N as renderHumanErrorCard, O as shouldEmitAgentOverview, On as readControllerTaskLifecycleOutboxHealth, P as renderHumanTextErrorCard, Pn as defaultManagedIntegrationPaths, Q as readGatewayTextResponse, Qn as renderTextInfoCard, R as resolveLocalComponentsStatus, Rn as uninstallAgentActivityIntegrations, Rt as buildPublicSpaceEntryUrl, S as buildProfileWorkspacePresentation, Sn as removeAgentActivityContextCache, Sr as organizationJoinLinkManagementQuerySchema, Tn as readAgentActivityOutboxHealth, U as createSpaceWorkingCopies, Un as runAuthLogout, V as fetchSpaceUpdates, Vn as evaluateCommandAuthentication, W as downloadWorkingCopyFile, Wn as runAuthMenu, Xt as createSpaceMemberIdentityIndex, Yn as formatActiveOrganizationLabel, Z as readGatewayJsonResponse, Zn as renderInfoCard, _n as buildAgentActivityEvent, _r as cliJsonSkillsLoadEnvelopeSchema, a as runDaemonBackgroundStartForDecision, ar as isCurrentCommandCheckScopeActive, at as readDispatchSpaceActionContextForReceiptFromEnv, bn as readCodexSessionTitles, br as getOrganizationJoinLinkResponseSchema, c as runDaemonInterrupt, ct as LocalProjectConnectionError, dt as submitProfileRuntimeAgentControllerReport, en as formatRemovedCcRelationMessage, er as promptTextEntry, et as parseJsonResponse, f as runDaemonSnapshot, ft as submitRuntimeAgentControllerReport, g as runDaemonUninstall, gn as syncLocalAgentActivity, gr as cliJsonSkillsListEnvelopeSchema, h as runDaemonTeardownStrict, hr as cliJsonOutputEnvelopeSchema, i as runDaemonAutostart, ir as getCurrentCommandCheckState, j as runDaemonStartDecisionPrompt, jn as resolveAgentActivityRouteForPath, kn as isAgentActivityRouteRegistered, l as runDaemonReinstall, lt as validateLocalProjectConnectionPath, m as runDaemonStop, mn as readRecentDaemonDispatchJournalEvents, mr as cliJsonErrorEnvelopeSchema, n as isManagedSystemServiceBootstrapRun, nr as runInteractivePrompt, nt as readDispatchOwnedRuntimeGuard, o as runDaemonCancel, or as resetCurrentCommandCheckState, ot as readDispatchSpaceActionContextFromEnv, p as runDaemonStatusFlow, q as updateSpaceMeta, qn as buildAuthStatusRows, qt as buildUpdatesReplyWorkflowProjection, r as runDaemon, rr as finishCurrentCommandCheckScope, rt as DispatchSpaceActionClosedError, s as runDaemonInstall, sr as startCurrentCommandCheckScope, st as writeDispatchSpaceActionRecord, t as bestEffortStopCurrentLaneDaemonService, tr as isReturnKeypress, tt as assertDispatchOwnedRuntimePublicWriteAllowed, u as runDaemonRunAfterEntryChecks, ut as readRuntimeReportingHealthState, vn as resolveObservedAgentActivityBinding, vr as cliJsonSkillsShowEnvelopeSchema, w as reconcileCliVersionView, wn as removeProjectInbox, x as resolveServiceParticipationReadiness, xn as readAgentActivityContextForPath, xr as organizationJoinLinkErrorResponseSchema, xt as inspectSpaceCacheFile, y as formatServiceParticipationReadinessLabel, yn as normalizeSharedSessionTitle, yr as acceptOrganizationJoinLinkBodySchema, z as writeInstalledLocalComponentsSnapshot, zn as buildCommandAuthenticationPromptMessage, zt as buildSignalIndex } from "./service-Cl_Ge6oJ.js";
|
|
14
|
+
import { Mt as LocalDaemonControlPlaneClientError, Nt as requestLocalAgentActivitySync, Vt as readDaemonServiceContract, X as buildInstallSelfJsonPayload, Z as performManagedInstall, lt as compareSemver, nt as OPENMELD_VERSION, r as readCurrentDaemonRuntimeContext, ut as ensureVersionStateReady } from "./daemon-service-runtime-CGT3yVOs.js";
|
|
15
|
+
import { $ as resolveCreateProfileKind, A as parseEnvelope, B as resolveHumanControllerDisplayName, C as toSpaceMetaUpsertInput, D as formatHumanReadTargetList, E as buildHumanReplyContextSummary, F as resolveOpenMeldProfileForSpaceCommand, G as printOpenMeldBanner, H as resolveAgentProfileSetup, I as emitSpaceAgentOverview, J as renderOpenMeldLogo, K as renderOpenMeldBrandBlockLines, L as emitSpaceCliAgentOverview, M as assertFullSignalIdArgument, N as assertValidSpaceIdTarget, O as resolveLinkAccessLabel, P as prepareAuthenticatedSpaceCommandContext, Q as createProfileByKind, R as prepareLocalAgentReadiness, S as loadSpaceSignalIndexOrNull, T as buildFormalSignalReadPayload, U as colorizeAgentLabel, V as persistAgentTransportSelection, W as colorizeDisplayProfileLabel, X as resolveSpaceSendText, Y as renderOpenMeldTagline, Z as resolveSpaceTaskSelection, _ as runSpaceWriteWithPasswordRetry, a as runSpaceDelete, b as buildIdentityOnlyMembersSnapshotForReadProjection, c as runSpaceLeave, d as runSpaceRemoveMembers, et as resolveCreateProfileName, f as runSpaceSend, g as runSpaceReadWithPasswordRetry, h as uploadPreparedSpaceFiles, i as runSpaceCreate, j as isSpaceCommandOutputHandledError, k as resolveOrganizationVisibilityLabel, l as runSpaceList, m as prepareRequestedSpaceSendFiles, n as promptAndConfirmSpacePassword, nt as assessActionParticipationCandidate, o as runSpaceHistory, p as runSpaceWatch, q as renderOpenMeldHeader, r as runSpaceAddMembers, s as runSpaceJoin, t as buildCreateSpacePasswordPromptConfig, tt as ensureAgentProfileRuntimeBinding, u as runSpacePassword, v as buildHumanReadSignalsTranscriptItems, w as buildFormalDispatchResultReadPayload, x as loadSpaceIdentityDirectoryOrNull, y as emitHumanReadSignalsTextProjection, z as buildReplyReadinessGuidance } from "./command-C72QNhjP.js";
|
|
16
|
+
import { At as getCliVersionInfo, D as createSpaceContractSetGuideError, Dt as registerSkillsTargetSelectionOptions, E as createSpaceAliasTargetGuideError, Gt as createPresenter, Ht as formatDualViewGuideForDisplay, J as createStartAuthenticationGuideError, Jt as errLine, K as createSpaceUpdatesGuideError, Kt as sanitizeTerminalDisplayText, L as createSpaceRemoveMembersGuideError, M as createSpaceMenuGuideError, Nt as registerAuthLoginRequestOptions, P as createSpacePublicationSetGuideError, Q as SPACE_CONTRACT_ALLOWED_ACTION_ORDER, R as createSpaceResultGuideError, Rt as registerBuiltinAgentSelectionOptions, S as createResetConfirmationGuideError, St as SPACE_ADD_MEMBERS_PROGRESS_HEARTBEAT_MS, T as createSpaceAddMembersGuideError, U as createSpaceSubcommandTargetGuideError, Ut as buildDualViewGuideMessage, Vt as DualViewGuideError, W as createSpaceTargetGuideError, Wt as formatAgentOverviewPayload, X as OPENMELD_AGENT_MENTAL_MODEL_LINES, Xt as outLine, Yt as outJsonLine, b as createProfileCreateGuideError, ct as canonicalizeAllowedActions, et as areAllowedActionsEquivalent, g as canUseInteractivePrompts, gt as getCommandHintsFromContract, j as createSpaceLeaveGuideError, jt as registerDaemonControlTargetOptions, nt as buildAgentFacingPublicationModeGuideLines, q as createStartAgentIdentityGuideError, qt as formatMessage, v as createDoctorFailedGuideError, x as createProfileMenuGuideError, y as createProfileActionGuideError, yt as registerSpaceMemberSelectionOptions } from "./elapsed-time-CCFWbCC8.js";
|
|
17
|
+
import { E as updateConfiguredStartV1OnboardingState, S as setConfiguredSkillsConfig, a as resolveBaseUrl, b as setConfiguredBaseUrl, c as resolveExplicitGatewayUrlOrThrow, g as getConfiguredSkillsConfig, m as getConfiguredOnboardingDisclaimerAcceptedAt, o as resolveBaseUrlOrNull, u as alignRuntimeConfigStorage, w as updateConfiguredOnboardingConfig } from "./base-url-BczddvzH.js";
|
|
18
|
+
import { n as resolveOpenMeldDistribution, t as isBinaryDistribution } from "./distribution-BDQT2ilb.js";
|
|
19
|
+
import { A as getDaemonStatus } from "./daemon-state-CoAZLwpi.js";
|
|
20
|
+
import { a as formatOpenMeldCliCommand, c as formatOpenMeldCliTextBlock, d as resolveSetupFollowUpCliEntryCommand, f as resolveUserFacingCliEntryCommand, i as formatInlineOpenMeldCliCommands, o as formatOpenMeldCliCommands, r as resolveAuthBaseUrl, s as formatOpenMeldCliLine, t as resolveOpenMeldEnvironmentTarget, u as formatProfileAwareOpenMeldCliCommands } from "./openmeld-environment-target-BWI2adGw.js";
|
|
21
|
+
import { r as runServiceAccountCarrier } from "./service-account-authorization-4oZuo8sT.js";
|
|
22
|
+
import { c as buildRequestAuthHeaders, d as buildOpenMeldRequestContextFromProfile, n as fetchSpaceRequestWithTimeout, p as deriveAuthBaseUrlFromGatewayUrl, s as buildOpenMeldRequestContextHeadersWithAuth, t as createCliApiClientFoundation } from "./api-client-foundation-CKRP7Ymg.js";
|
|
23
|
+
import { t as runServiceAccountControl } from "./service-account-control-CTXv3924.js";
|
|
24
|
+
import { C as buildNoLocalAgentsNoticeLines, D as recoverInterruptedComputerAuthHandoff, E as formatComputerAuthCleanupFailureSuffix, O as exchangeComputerAuthorizationGrant, S as buildLocalAgentsGuideUrl, T as emitUnusedSetupSessionCleanupWarning, _ as runStartLocalAgentsEnable, a as assertSetupServiceUpdateComplete, b as submitSelectedAgentControllerReports, c as collectObservedDeviceMetadata, d as collectStartLocalReadiness, f as runSkillsCheck$1, g as runSkillsUpdate, h as runSkillsUninstall, i as runPrepareSessionExecutor, j as writePrepareSessionSetupBootstrapResult, k as revokePreparedAuthSession, l as createSetupProgressReporter, m as runSkillsInstall, n as reportPrepareHandoffStopped, o as shouldForceSetupServiceRefresh, p as runSkillsEnsure, r as resolvePrepareSessionForHandoff, s as syncLocalSetupCurrentDeviceTargetFromServiceContract, t as connectPrepareSessionStream, u as resolveControllingTerminalSession, v as isCliOutputHandledError, w as confirmContinueWithoutLocalAgents, x as appendLocalAgentsGuideUrl, y as assertSelectedAgentControllerReportSubmissionsAccepted } from "./prepare-session-executor-Cfm3EvXl.js";
|
|
25
|
+
import { C as resolveGatewayWebOrigin, T as runDaemonServiceParticipationGate, _ as promptSearchSelect, a as runAgentsCustomRemove, c as runAgentsDisable, d as runAgentsManage, f as runAgentsRepair, h as promptSearchMultiselect, i as runAgentsCustomList, l as runAgentsEnable, m as formatTransportModeDisplay, n as runAgentsConfig, o as runAgentsCustomUpdate, p as runAgentsShow, r as runAgentsCustomAdd, s as runAgentsDetect, t as runAgents, u as runAgentsList, w as resolveSpaceWebGatewayOrigin } from "./agents-y9C8FCyv.js";
|
|
26
|
+
import { a as runUpgrade, c as OPENMELD_UPGRADE_FAILURE_HINTS, l as OPENMELD_UPGRADE_METADATA_RECOVERY_HINTS, n as isUpgradeOutputHandledError, o as emitTopLevelAgentOverview, s as emitTopLevelCliAgentOverview, t as UPGRADE_INTERNAL_ALIGN_SERVICE_FLAG$1 } from "./upgrade-vuPM1iX3.js";
|
|
27
27
|
import { createHash, randomUUID } from "node:crypto";
|
|
28
28
|
import { homedir, tmpdir } from "node:os";
|
|
29
29
|
import { basename, dirname, isAbsolute, join, relative, resolve } from "node:path";
|
|
30
|
-
import { access, appendFile,
|
|
30
|
+
import { access, appendFile, mkdir, open, readFile, readdir, realpath, rename, rm, stat, writeFile } from "node:fs/promises";
|
|
31
31
|
import * as z$1 from "zod/v4";
|
|
32
32
|
import { z } from "zod/v4";
|
|
33
33
|
import { constants, openAsBlob, readFileSync, realpathSync } from "node:fs";
|
|
@@ -1954,6 +1954,8 @@ const COMMAND_CHECK_REQUIREMENTS = Object.freeze({
|
|
|
1954
1954
|
"space.add-members": buildCommandChecks(REQUIRED_DISCLAIMER, OPTIONAL_CLI_UPDATE, REQUIRED_SIGN_IN, CONFIRM_SELECTED_PROFILE),
|
|
1955
1955
|
"space.remove-members": buildCommandChecks(REQUIRED_DISCLAIMER, OPTIONAL_CLI_UPDATE, AUTO_FIX_LOCAL_RUNTIME, REQUIRED_SIGN_IN, CONFIRM_SELECTED_PROFILE),
|
|
1956
1956
|
"space.leave": buildCommandChecks(REQUIRED_DISCLAIMER, OPTIONAL_CLI_UPDATE, AUTO_FIX_LOCAL_RUNTIME, REQUIRED_SIGN_IN, CONFIRM_SELECTED_PROFILE),
|
|
1957
|
+
"space.files.handoff": buildCommandChecks(REQUIRED_DISCLAIMER, OPTIONAL_CLI_UPDATE, REQUIRED_SIGN_IN, CONFIRM_SELECTED_PROFILE),
|
|
1958
|
+
"space.files.working-copy": buildCommandChecks(REQUIRED_DISCLAIMER, OPTIONAL_CLI_UPDATE, REQUIRED_SIGN_IN, CONFIRM_SELECTED_PROFILE),
|
|
1957
1959
|
"space.files.list": buildCommandChecks(REQUIRED_DISCLAIMER, OPTIONAL_CLI_UPDATE, REQUIRED_SIGN_IN, CONFIRM_SELECTED_PROFILE),
|
|
1958
1960
|
"space.files.read": buildCommandChecks(REQUIRED_DISCLAIMER, OPTIONAL_CLI_UPDATE, REQUIRED_SIGN_IN, CONFIRM_SELECTED_PROFILE),
|
|
1959
1961
|
"space.files.upload": buildCommandChecks(REQUIRED_DISCLAIMER, OPTIONAL_CLI_UPDATE, REQUIRED_SIGN_IN, CONFIRM_SELECTED_PROFILE),
|
|
@@ -2153,6 +2155,10 @@ const COMMAND_ENTRY_NAME_BY_ROUTE = {
|
|
|
2153
2155
|
"spaces remove-members": "space.remove-members",
|
|
2154
2156
|
"space leave": "space.leave",
|
|
2155
2157
|
"spaces leave": "space.leave",
|
|
2158
|
+
"space files handoff": "space.files.handoff",
|
|
2159
|
+
"spaces files handoff": "space.files.handoff",
|
|
2160
|
+
"space files working-copy": "space.files.working-copy",
|
|
2161
|
+
"spaces files working-copy": "space.files.working-copy",
|
|
2156
2162
|
"space files list": "space.files.list",
|
|
2157
2163
|
"spaces files list": "space.files.list",
|
|
2158
2164
|
"space files read": "space.files.read",
|
|
@@ -2889,6 +2895,18 @@ const COMMAND_ENTRY_COPY_BY_NAME = Object.freeze({
|
|
|
2889
2895
|
cliUpdateAction: "leaving a space",
|
|
2890
2896
|
serviceAction: null
|
|
2891
2897
|
},
|
|
2898
|
+
"space.files.handoff": {
|
|
2899
|
+
signInAction: "handing off Space files",
|
|
2900
|
+
profileAction: "handing off Space files",
|
|
2901
|
+
cliUpdateAction: "handing off Space files",
|
|
2902
|
+
serviceAction: null
|
|
2903
|
+
},
|
|
2904
|
+
"space.files.working-copy": {
|
|
2905
|
+
signInAction: "working on Space files locally",
|
|
2906
|
+
profileAction: "working on Space files locally",
|
|
2907
|
+
cliUpdateAction: "working on Space files locally",
|
|
2908
|
+
serviceAction: null
|
|
2909
|
+
},
|
|
2892
2910
|
"space.files.list": {
|
|
2893
2911
|
signInAction: "listing Space files",
|
|
2894
2912
|
profileAction: "listing Space files",
|
|
@@ -3876,8 +3894,8 @@ async function moveDirectoryFilesIfMissing(input) {
|
|
|
3876
3894
|
};
|
|
3877
3895
|
}
|
|
3878
3896
|
async function moveFileIfMissing(input) {
|
|
3879
|
-
if (!await pathExists
|
|
3880
|
-
if (await pathExists
|
|
3897
|
+
if (!await pathExists(input.sourcePath)) return false;
|
|
3898
|
+
if (await pathExists(input.targetPath)) return false;
|
|
3881
3899
|
await mkdir(dirname(input.targetPath), { recursive: true });
|
|
3882
3900
|
await rename(input.sourcePath, input.targetPath);
|
|
3883
3901
|
return true;
|
|
@@ -3907,7 +3925,7 @@ async function removeDirectoryIfEmpty(path) {
|
|
|
3907
3925
|
});
|
|
3908
3926
|
return true;
|
|
3909
3927
|
}
|
|
3910
|
-
async function pathExists
|
|
3928
|
+
async function pathExists(path) {
|
|
3911
3929
|
return await stat(path).then(() => true).catch(() => false);
|
|
3912
3930
|
}
|
|
3913
3931
|
async function readDirectoryEntriesIfExists(path) {
|
|
@@ -20037,151 +20055,6 @@ async function runOrganizationInvitationRequests(input) {
|
|
|
20037
20055
|
}
|
|
20038
20056
|
}
|
|
20039
20057
|
//#endregion
|
|
20040
|
-
//#region src/organization-skills/cache.ts
|
|
20041
|
-
const CACHE_MARKER_FILENAME = ".openmeld-organization-skill.json";
|
|
20042
|
-
const DIRECTORY_READ_ONLY_MODE = 365;
|
|
20043
|
-
const FILE_READ_ONLY_MODE = 292;
|
|
20044
|
-
const PRIVATE_DIRECTORY_MODE = 448;
|
|
20045
|
-
const PRIVATE_FILE_MODE = 384;
|
|
20046
|
-
async function materializeOrganizationSkillRelease(input) {
|
|
20047
|
-
const bundle = organizationSkillBundleSchema.parse(input.bundle);
|
|
20048
|
-
if (sha256(stringifyOrganizationSkillBundleCanonicalJson(bundle)) !== input.digest) throw new Error("The Organization Skill release digest does not match its downloaded bundle.");
|
|
20049
|
-
const releaseDir = organizationSkillReleaseDir(input.organizationId, input.skillId, input.releaseId);
|
|
20050
|
-
const skillMarkdown = serializePortableSkillMarkdown(bundle);
|
|
20051
|
-
const expectedFiles = buildExpectedCacheFiles({
|
|
20052
|
-
bundle,
|
|
20053
|
-
marker: {
|
|
20054
|
-
digest: input.digest,
|
|
20055
|
-
organizationId: input.organizationId,
|
|
20056
|
-
releaseId: input.releaseId,
|
|
20057
|
-
schemaVersion: 1,
|
|
20058
|
-
skillId: input.skillId
|
|
20059
|
-
},
|
|
20060
|
-
skillMarkdown
|
|
20061
|
-
});
|
|
20062
|
-
if (await cacheMatches(releaseDir, expectedFiles)) return buildResult({
|
|
20063
|
-
bundle,
|
|
20064
|
-
releaseDir,
|
|
20065
|
-
reused: true
|
|
20066
|
-
});
|
|
20067
|
-
const skillDir = dirname(releaseDir);
|
|
20068
|
-
await mkdir(skillDir, {
|
|
20069
|
-
mode: PRIVATE_DIRECTORY_MODE,
|
|
20070
|
-
recursive: true
|
|
20071
|
-
});
|
|
20072
|
-
await chmod(skillDir, PRIVATE_DIRECTORY_MODE);
|
|
20073
|
-
const temporaryDir = await mkdtemp(join(skillDir, `.load-${randomUUID()}-`));
|
|
20074
|
-
try {
|
|
20075
|
-
await writeCacheFiles(temporaryDir, expectedFiles);
|
|
20076
|
-
await makeCacheReadOnly(temporaryDir, bundle);
|
|
20077
|
-
if (await pathExists(releaseDir)) throw new Error(`The existing Organization Skill cache is not valid. Remove "${releaseDir}" and run the load command again.`);
|
|
20078
|
-
await rename(temporaryDir, releaseDir);
|
|
20079
|
-
} catch (error) {
|
|
20080
|
-
await rm(temporaryDir, {
|
|
20081
|
-
force: true,
|
|
20082
|
-
recursive: true
|
|
20083
|
-
}).catch(() => {});
|
|
20084
|
-
throw error;
|
|
20085
|
-
}
|
|
20086
|
-
return buildResult({
|
|
20087
|
-
bundle,
|
|
20088
|
-
releaseDir,
|
|
20089
|
-
reused: false
|
|
20090
|
-
});
|
|
20091
|
-
}
|
|
20092
|
-
function serializePortableSkillMarkdown(bundle) {
|
|
20093
|
-
const portable = bundle.portable;
|
|
20094
|
-
return `${[
|
|
20095
|
-
"---",
|
|
20096
|
-
`name: ${toYamlString(portable.name)}`,
|
|
20097
|
-
`description: ${toYamlString(portable.description)}`,
|
|
20098
|
-
...portable.license === null ? [] : [`license: ${toYamlString(portable.license)}`],
|
|
20099
|
-
...portable.compatibility === null ? [] : [`compatibility: ${toYamlString(portable.compatibility)}`],
|
|
20100
|
-
...portable.allowedTools === null ? [] : [`allowed-tools: ${toYamlString(portable.allowedTools)}`],
|
|
20101
|
-
...serializeMetadata(portable.metadata),
|
|
20102
|
-
"---",
|
|
20103
|
-
""
|
|
20104
|
-
].join("\n")}${bundle.instructions}${bundle.instructions.endsWith("\n") ? "" : "\n"}`;
|
|
20105
|
-
}
|
|
20106
|
-
function buildExpectedCacheFiles(input) {
|
|
20107
|
-
const files = /* @__PURE__ */ new Map();
|
|
20108
|
-
files.set("SKILL.md", Buffer.from(input.skillMarkdown, "utf8"));
|
|
20109
|
-
for (const file of input.bundle.files) files.set(file.path, decodeSkillFile(file));
|
|
20110
|
-
files.set(CACHE_MARKER_FILENAME, Buffer.from(`${JSON.stringify(input.marker, null, 2)}\n`, "utf8"));
|
|
20111
|
-
return files;
|
|
20112
|
-
}
|
|
20113
|
-
async function writeCacheFiles(rootDir, files) {
|
|
20114
|
-
for (const [relativePath, bytes] of files) {
|
|
20115
|
-
const absolutePath = join(rootDir, relativePath);
|
|
20116
|
-
await mkdir(dirname(absolutePath), {
|
|
20117
|
-
mode: PRIVATE_DIRECTORY_MODE,
|
|
20118
|
-
recursive: true
|
|
20119
|
-
});
|
|
20120
|
-
await writeFile(absolutePath, bytes, { mode: PRIVATE_FILE_MODE });
|
|
20121
|
-
}
|
|
20122
|
-
}
|
|
20123
|
-
async function cacheMatches(rootDir, expectedFiles) {
|
|
20124
|
-
if (!await pathExists(rootDir)) return false;
|
|
20125
|
-
try {
|
|
20126
|
-
for (const [relativePath, expected] of expectedFiles) if (!(await readFile(join(rootDir, relativePath))).equals(expected)) return false;
|
|
20127
|
-
return true;
|
|
20128
|
-
} catch {
|
|
20129
|
-
return false;
|
|
20130
|
-
}
|
|
20131
|
-
}
|
|
20132
|
-
async function makeCacheReadOnly(rootDir, bundle) {
|
|
20133
|
-
const directories = /* @__PURE__ */ new Set([rootDir]);
|
|
20134
|
-
for (const relativePath of [
|
|
20135
|
-
"SKILL.md",
|
|
20136
|
-
CACHE_MARKER_FILENAME,
|
|
20137
|
-
...bundle.files.map((file) => file.path)
|
|
20138
|
-
]) {
|
|
20139
|
-
const absolutePath = join(rootDir, relativePath);
|
|
20140
|
-
await chmod(absolutePath, FILE_READ_ONLY_MODE);
|
|
20141
|
-
let current = dirname(absolutePath);
|
|
20142
|
-
while (current !== rootDir && current.startsWith(`${rootDir}/`)) {
|
|
20143
|
-
directories.add(current);
|
|
20144
|
-
current = dirname(current);
|
|
20145
|
-
}
|
|
20146
|
-
}
|
|
20147
|
-
const deepestFirst = [...directories].sort((left, right) => right.length - left.length);
|
|
20148
|
-
for (const directory of deepestFirst) await chmod(directory, DIRECTORY_READ_ONLY_MODE);
|
|
20149
|
-
}
|
|
20150
|
-
function buildResult(input) {
|
|
20151
|
-
return {
|
|
20152
|
-
cachePath: input.releaseDir,
|
|
20153
|
-
resourcePaths: input.bundle.files.map((file) => join(input.releaseDir, file.path)),
|
|
20154
|
-
reused: input.reused,
|
|
20155
|
-
skillMarkdownPath: join(input.releaseDir, "SKILL.md")
|
|
20156
|
-
};
|
|
20157
|
-
}
|
|
20158
|
-
function decodeSkillFile(file) {
|
|
20159
|
-
return Buffer.from(file.content, file.encoding === "base64" ? "base64" : "utf8");
|
|
20160
|
-
}
|
|
20161
|
-
function serializeMetadata(metadata) {
|
|
20162
|
-
const entries = Object.entries(metadata).sort(([left], [right]) => {
|
|
20163
|
-
if (left < right) return -1;
|
|
20164
|
-
if (left > right) return 1;
|
|
20165
|
-
return 0;
|
|
20166
|
-
});
|
|
20167
|
-
if (entries.length === 0) return [];
|
|
20168
|
-
return ["metadata:", ...entries.map(([key, value]) => ` ${toYamlString(key)}: ${toYamlString(value)}`)];
|
|
20169
|
-
}
|
|
20170
|
-
function toYamlString(value) {
|
|
20171
|
-
return JSON.stringify(value);
|
|
20172
|
-
}
|
|
20173
|
-
function sha256(value) {
|
|
20174
|
-
return createHash("sha256").update(value).digest("hex");
|
|
20175
|
-
}
|
|
20176
|
-
async function pathExists(path) {
|
|
20177
|
-
try {
|
|
20178
|
-
await stat(path);
|
|
20179
|
-
return true;
|
|
20180
|
-
} catch {
|
|
20181
|
-
return false;
|
|
20182
|
-
}
|
|
20183
|
-
}
|
|
20184
|
-
//#endregion
|
|
20185
20058
|
//#region src/organization-skills/command.ts
|
|
20186
20059
|
const defaultDependencies = {
|
|
20187
20060
|
getAuthState: getAuthSessionState,
|
|
@@ -20236,13 +20109,20 @@ async function runOrganizationSkillsLoad(input, dependencyOverrides = {}) {
|
|
|
20236
20109
|
await runOrganizationSkillsCommand(input, dependencyOverrides, async (context, dependencies) => {
|
|
20237
20110
|
const skill = await getSkillByNameOrId(context, input.skill);
|
|
20238
20111
|
if (!skill.enabled) throw new Error(`Organization Skill "${skill.name}" is disabled. Ask an Organization owner or admin to enable it before loading.`);
|
|
20239
|
-
const
|
|
20112
|
+
const selected = input.releaseId === void 0 ? {
|
|
20240
20113
|
bundle: skill.bundle,
|
|
20241
20114
|
digest: skill.activeRelease.digest,
|
|
20242
|
-
organizationId: context.organization.id,
|
|
20243
20115
|
releaseId: skill.activeRelease.id,
|
|
20244
20116
|
skillId: skill.id
|
|
20245
|
-
})
|
|
20117
|
+
} : await readSelectedRelease(context, skill.id, input.releaseId);
|
|
20118
|
+
if (!selected || selected.skillId !== skill.id || input.releaseId !== void 0 && selected.releaseId !== input.releaseId) throw new Error("The requested Skill release was not returned. Update the server before loading an exact release.");
|
|
20119
|
+
const payload = buildLoadPayload(context, skill, await dependencies.materialize({
|
|
20120
|
+
bundle: selected.bundle,
|
|
20121
|
+
digest: selected.digest,
|
|
20122
|
+
organizationId: context.organization.id,
|
|
20123
|
+
releaseId: selected.releaseId,
|
|
20124
|
+
skillId: skill.id
|
|
20125
|
+
}), selected);
|
|
20246
20126
|
if (context.json) {
|
|
20247
20127
|
emitCliJsonEnvelope(cliJsonSkillsLoadEnvelopeSchema.parse({
|
|
20248
20128
|
schemaVersion: 1,
|
|
@@ -20261,6 +20141,16 @@ async function runOrganizationSkillsLoad(input, dependencyOverrides = {}) {
|
|
|
20261
20141
|
renderLoadedSkill(context, payload);
|
|
20262
20142
|
});
|
|
20263
20143
|
}
|
|
20144
|
+
async function readSelectedRelease(context, skillId, releaseId) {
|
|
20145
|
+
const response = await context.api.get({
|
|
20146
|
+
requestContext: context.requestContext,
|
|
20147
|
+
skillId,
|
|
20148
|
+
releaseId
|
|
20149
|
+
});
|
|
20150
|
+
requireOrganizationIdentity(context, response.skill.organizationId);
|
|
20151
|
+
if (!response.skill.enabled) throw new Error("This Organization Skill is disabled.");
|
|
20152
|
+
return response.selectedRelease;
|
|
20153
|
+
}
|
|
20264
20154
|
async function runOrganizationSkillsCommand(input, dependencyOverrides, run) {
|
|
20265
20155
|
const dependencies = {
|
|
20266
20156
|
...defaultDependencies,
|
|
@@ -20428,12 +20318,12 @@ function renderSkill(context, skill) {
|
|
|
20428
20318
|
});
|
|
20429
20319
|
}
|
|
20430
20320
|
}
|
|
20431
|
-
function buildLoadPayload(context, skill, materialized) {
|
|
20321
|
+
function buildLoadPayload(context, skill, materialized, selected) {
|
|
20432
20322
|
return {
|
|
20433
20323
|
cachePath: materialized.cachePath,
|
|
20434
|
-
digest:
|
|
20324
|
+
digest: selected.digest,
|
|
20435
20325
|
organizationId: context.organization.id,
|
|
20436
|
-
releaseId:
|
|
20326
|
+
releaseId: selected.releaseId,
|
|
20437
20327
|
resourcePaths: materialized.resourcePaths,
|
|
20438
20328
|
reused: materialized.reused,
|
|
20439
20329
|
skillId: skill.id,
|
|
@@ -23245,6 +23135,7 @@ function recordDispatchSpaceReply(input) {
|
|
|
23245
23135
|
wakeTargetCount: input.wakeTargets?.length ?? 0
|
|
23246
23136
|
});
|
|
23247
23137
|
const filePaths = input.filePaths ?? [];
|
|
23138
|
+
if (filePaths.length && input.files?.length) throw new Error("Choose uploaded paths or saved file revisions for this reply.");
|
|
23248
23139
|
const context = filePaths.length > 0 ? readDispatchSpaceActionContextFromEnv() : readDispatchSpaceActionContextForReceiptFromEnv();
|
|
23249
23140
|
timing.emit("context_ready", context);
|
|
23250
23141
|
assertAllowedAction(context, "post_message");
|
|
@@ -23263,7 +23154,7 @@ function recordDispatchSpaceReply(input) {
|
|
|
23263
23154
|
});
|
|
23264
23155
|
if (filePaths.length === 0) return writeSpaceActionReplyRecord({
|
|
23265
23156
|
context,
|
|
23266
|
-
files: [],
|
|
23157
|
+
files: input.files ? [...input.files] : [],
|
|
23267
23158
|
targetIds,
|
|
23268
23159
|
text,
|
|
23269
23160
|
timing
|
|
@@ -23690,6 +23581,49 @@ async function withDispatchTaskContext(operation) {
|
|
|
23690
23581
|
return result;
|
|
23691
23582
|
}
|
|
23692
23583
|
//#endregion
|
|
23584
|
+
//#region src/space/dispatch-working-copy.ts
|
|
23585
|
+
const run = promisify(execFile);
|
|
23586
|
+
async function runDispatchWorkingCopy(action, resolution) {
|
|
23587
|
+
const context = readDispatchSpaceActionContextFromEnv();
|
|
23588
|
+
const command = resolveDispatchSpaceActionMcpServer(process.env);
|
|
23589
|
+
if (!(command && context.workingCopyId)) throw new Error("This Wake has no prepared working copy.");
|
|
23590
|
+
const { stdout } = await run(command.commandPath, [
|
|
23591
|
+
"space",
|
|
23592
|
+
"files",
|
|
23593
|
+
"working-copy",
|
|
23594
|
+
action,
|
|
23595
|
+
"--profile",
|
|
23596
|
+
context.targetProfileId,
|
|
23597
|
+
"--json",
|
|
23598
|
+
"--view",
|
|
23599
|
+
"agent",
|
|
23600
|
+
...action === "resolve" ? [
|
|
23601
|
+
"--file-id",
|
|
23602
|
+
resolution?.fileId ?? "",
|
|
23603
|
+
"--revision",
|
|
23604
|
+
String(resolution?.revision ?? 0)
|
|
23605
|
+
] : [],
|
|
23606
|
+
"--",
|
|
23607
|
+
context.spaceId,
|
|
23608
|
+
context.workingCopyId
|
|
23609
|
+
], {
|
|
23610
|
+
encoding: "utf8",
|
|
23611
|
+
maxBuffer: 1024 * 1024,
|
|
23612
|
+
timeout: 12e4
|
|
23613
|
+
}).catch((error) => {
|
|
23614
|
+
if (error && typeof error === "object" && "stdout" in error && typeof error.stdout === "string") {
|
|
23615
|
+
let value;
|
|
23616
|
+
try {
|
|
23617
|
+
value = JSON.parse(error.stdout);
|
|
23618
|
+
} catch {}
|
|
23619
|
+
const parsed = cliJsonErrorEnvelopeSchema.safeParse(value);
|
|
23620
|
+
if (parsed.success) throw new Error(JSON.stringify(parsed.data), { cause: error });
|
|
23621
|
+
}
|
|
23622
|
+
throw error;
|
|
23623
|
+
});
|
|
23624
|
+
return spaceWorkingCopyResultSchema.parse(JSON.parse(stdout));
|
|
23625
|
+
}
|
|
23626
|
+
//#endregion
|
|
23693
23627
|
//#region src/space/action-mcp-server.ts
|
|
23694
23628
|
const FINAL_STATUS_SCHEMA = z.enum([
|
|
23695
23629
|
"done",
|
|
@@ -23702,6 +23636,39 @@ function createSpaceActionMcpServer() {
|
|
|
23702
23636
|
name: "openmeld-dispatch-space-action",
|
|
23703
23637
|
version: "1.0.0"
|
|
23704
23638
|
}, { instructions: "Use read_history for the bounded text history around the current Wake, and read_file for shared text files in the current Space. Use Space Task tools only when a clear deliverable needs durable ownership, progress, review, or later closure; questions and tiny same-turn actions stay in Messages. Task operations are non-final. Then choose exactly one final OpenMeld Space Action: reply for the exact public message, status for a final visible status, or stay_silent when no public message is needed. Private assistant output is not posted to the Space." });
|
|
23639
|
+
server.registerTool("working_copy", {
|
|
23640
|
+
title: "Save or inspect this handoff's files",
|
|
23641
|
+
description: "Inspect or commit this handoff's files; reconcile retries an unknown save. On conflict, refresh downloads the shared version, then status shows its path and revision. Merge it into the original working file, then resolve with fileId and incoming revision before committing again. No automatic merge or overwrite. Does not deliver or close the Wake. No Space, profile or path overrides.",
|
|
23642
|
+
inputSchema: {
|
|
23643
|
+
action: z.enum([
|
|
23644
|
+
"status",
|
|
23645
|
+
"commit",
|
|
23646
|
+
"reconcile",
|
|
23647
|
+
"refresh",
|
|
23648
|
+
"resolve"
|
|
23649
|
+
]),
|
|
23650
|
+
fileId: z.string().optional(),
|
|
23651
|
+
revision: z.number().int().positive().optional()
|
|
23652
|
+
}
|
|
23653
|
+
}, async ({ action, fileId, revision }) => {
|
|
23654
|
+
try {
|
|
23655
|
+
return { content: [{
|
|
23656
|
+
type: "text",
|
|
23657
|
+
text: JSON.stringify(await runDispatchWorkingCopy(action, {
|
|
23658
|
+
fileId,
|
|
23659
|
+
revision
|
|
23660
|
+
}))
|
|
23661
|
+
}] };
|
|
23662
|
+
} catch (error) {
|
|
23663
|
+
return {
|
|
23664
|
+
isError: true,
|
|
23665
|
+
content: [{
|
|
23666
|
+
type: "text",
|
|
23667
|
+
text: error instanceof Error ? error.message : String(error)
|
|
23668
|
+
}]
|
|
23669
|
+
};
|
|
23670
|
+
}
|
|
23671
|
+
});
|
|
23705
23672
|
server.registerTool("read_history", {
|
|
23706
23673
|
title: "Read the current Wake's Space history",
|
|
23707
23674
|
description: "Read up to 20 text messages before the current Wake, plus its source message. Space, Agent identity and source are fixed by the active dispatch. Use this instead of terminal CLI history. This read does not submit a reply or close the Wake.",
|
|
@@ -23896,6 +23863,7 @@ function createSpaceActionMcpServer() {
|
|
|
23896
23863
|
description: "Record the exact final public reply for the active OpenMeld Wake. Use real newline characters for paragraph breaks. Optionally wake or reference an Agent, or mention a person, by mention label or profile ID.",
|
|
23897
23864
|
inputSchema: {
|
|
23898
23865
|
message: z.string().min(1),
|
|
23866
|
+
files: z.array(spaceMessageFileReferenceSchema).max(10).optional(),
|
|
23899
23867
|
mentionTargets: z.array(z.string().min(1)).optional(),
|
|
23900
23868
|
referenceTargets: z.array(z.string().min(1)).optional(),
|
|
23901
23869
|
wakeTargets: z.array(z.string().min(1)).optional()
|
|
@@ -23907,7 +23875,8 @@ function createSpaceActionMcpServer() {
|
|
|
23907
23875
|
openWorldHint: false,
|
|
23908
23876
|
readOnlyHint: false
|
|
23909
23877
|
}
|
|
23910
|
-
}, async ({ mentionTargets, message, referenceTargets, wakeTargets }) => executeSpaceAction(() => recordDispatchSpaceReply({
|
|
23878
|
+
}, async ({ files, mentionTargets, message, referenceTargets, wakeTargets }) => executeSpaceAction(() => recordDispatchSpaceReply({
|
|
23879
|
+
files,
|
|
23911
23880
|
mentionTargets,
|
|
23912
23881
|
referenceTargets,
|
|
23913
23882
|
text: message,
|
|
@@ -24643,7 +24612,7 @@ function normalizeOptionalString(value) {
|
|
|
24643
24612
|
return normalized.length > 0 ? normalized : null;
|
|
24644
24613
|
}
|
|
24645
24614
|
async function runDefaultSpaceAddMeMembership(input) {
|
|
24646
|
-
const { runSpaceAddMeMembership } = await import("./add-me-membership-
|
|
24615
|
+
const { runSpaceAddMeMembership } = await import("./add-me-membership-BaqG9F5c.js");
|
|
24647
24616
|
return await runSpaceAddMeMembership(input);
|
|
24648
24617
|
}
|
|
24649
24618
|
//#endregion
|
|
@@ -25675,9 +25644,165 @@ function isInteractiveHumanOutput(context, json) {
|
|
|
25675
25644
|
return context.interactive && context.runtime.resolvedView === "human" && !json;
|
|
25676
25645
|
}
|
|
25677
25646
|
//#endregion
|
|
25647
|
+
//#region src/space/work-handoff-command.ts
|
|
25648
|
+
async function runSpaceWorkHandoff(input) {
|
|
25649
|
+
const context = await prepareSpaceFilesContext(input, "handing off selected work");
|
|
25650
|
+
if (!context) return;
|
|
25651
|
+
if ((await stat(input.manifest)).size > 128 * 1024) throw new Error("The handoff manifest is too large.");
|
|
25652
|
+
const handoff = spaceWorkHandoffSchema.parse(JSON.parse(await readFile(input.manifest, "utf8")));
|
|
25653
|
+
const result = await postSpaceWorkHandoff(context.spaceApi, {
|
|
25654
|
+
spaceId: input.space,
|
|
25655
|
+
requestContext: context.requestContext,
|
|
25656
|
+
spacePassword: input.password,
|
|
25657
|
+
handoff,
|
|
25658
|
+
targetProfileId: input.target,
|
|
25659
|
+
clientMessageId: input.clientMessageId,
|
|
25660
|
+
threadId: input.thread
|
|
25661
|
+
});
|
|
25662
|
+
emitMutationOutput({
|
|
25663
|
+
presenter: context.presenter,
|
|
25664
|
+
json: input.json,
|
|
25665
|
+
code: "space.files.handoff",
|
|
25666
|
+
text: "Handoff posted. Check the message for the Agent's actual Wake status.",
|
|
25667
|
+
payload: result
|
|
25668
|
+
});
|
|
25669
|
+
}
|
|
25670
|
+
//#endregion
|
|
25671
|
+
//#region src/space/working-copy-command.ts
|
|
25672
|
+
async function runSpaceWorkingCopy(input) {
|
|
25673
|
+
const context = await prepareSpaceFilesContext(input, "working with selected Space files");
|
|
25674
|
+
if (!context) return;
|
|
25675
|
+
const initial = await getAuthSessionState({ validateRemote: false });
|
|
25676
|
+
const accountId = initial.session?.user?.id;
|
|
25677
|
+
const organizationId = initial.session?.activeOrganization?.id;
|
|
25678
|
+
const profileId = context.requestContext.actorContext?.openMeldProfileId;
|
|
25679
|
+
if (!(accountId && organizationId && profileId)) throw new Error("Sign in and select an Organization before preparing a working copy.");
|
|
25680
|
+
const api = createSpaceApi(createCliApiClientFoundation(context.baseUrl, {
|
|
25681
|
+
expectedOwnerUserId: accountId,
|
|
25682
|
+
organizationId
|
|
25683
|
+
}));
|
|
25684
|
+
const common = {
|
|
25685
|
+
spaceId: input.space,
|
|
25686
|
+
requestContext: context.requestContext,
|
|
25687
|
+
...input.password === void 0 ? {} : { spacePassword: input.password }
|
|
25688
|
+
};
|
|
25689
|
+
const copies = createSpaceWorkingCopies({
|
|
25690
|
+
laneRoot: resolveOpenMeldRootDir(),
|
|
25691
|
+
scope: {
|
|
25692
|
+
accountId,
|
|
25693
|
+
organizationId,
|
|
25694
|
+
profileId,
|
|
25695
|
+
spaceId: input.space,
|
|
25696
|
+
baseUrl: context.baseUrl
|
|
25697
|
+
},
|
|
25698
|
+
assertCurrentIdentity: async () => {
|
|
25699
|
+
if (process.env["OPENMELD_DISPATCH_RUNTIME_MODE"] === "dispatch-owned-runtime") {
|
|
25700
|
+
const dispatch = readDispatchSpaceActionContextFromEnv();
|
|
25701
|
+
if (dispatch.workingCopyId !== input.copyId || dispatch.spaceId !== input.space || dispatch.targetProfileId !== profileId) throw new Error("The working copy does not belong to this active Wake.");
|
|
25702
|
+
}
|
|
25703
|
+
const current = await getAuthSessionState({ validateRemote: false });
|
|
25704
|
+
if (current.session?.user?.id !== accountId || current.session?.activeOrganization?.id !== organizationId) throw new Error("Your account or Organization changed. Return to the original account to submit these changes.");
|
|
25705
|
+
},
|
|
25706
|
+
transport: {
|
|
25707
|
+
read: (fileId, revision) => downloadWorkingCopyFile(api, {
|
|
25708
|
+
...common,
|
|
25709
|
+
fileId,
|
|
25710
|
+
revision
|
|
25711
|
+
}),
|
|
25712
|
+
get: async (fileId) => (await api.getFile({
|
|
25713
|
+
...common,
|
|
25714
|
+
fileId
|
|
25715
|
+
})).file,
|
|
25716
|
+
write: async (write) => await api.updateFileContent({
|
|
25717
|
+
...common,
|
|
25718
|
+
...write
|
|
25719
|
+
})
|
|
25720
|
+
}
|
|
25721
|
+
});
|
|
25722
|
+
let result;
|
|
25723
|
+
if (input.action === "prepare") {
|
|
25724
|
+
const selection = input.selection ?? "";
|
|
25725
|
+
const info = await stat(selection);
|
|
25726
|
+
if (!info.isFile() || info.size > 128 * 1024) throw new Error("The selection must be a JSON file no larger than 128 KB.");
|
|
25727
|
+
result = await copies.prepare(spaceWorkSelectionSchema.parse(JSON.parse(await readFile(selection, "utf8"))), input.directory ?? "");
|
|
25728
|
+
} else if (input.action === "resolve") result = await copies.resolve(input.copyId ?? "", input.fileId ?? "", input.revision ?? 0);
|
|
25729
|
+
else if (input.action === "incoming") result = await copies.incoming(input.copyId ?? "", input.directory ?? "");
|
|
25730
|
+
else result = await copies[input.action](input.copyId ?? "");
|
|
25731
|
+
emitMutationOutput({
|
|
25732
|
+
presenter: context.presenter,
|
|
25733
|
+
json: input.json,
|
|
25734
|
+
code: `space.files.working_copy.${input.action}`,
|
|
25735
|
+
text: JSON.stringify(result, null, 2),
|
|
25736
|
+
payload: spaceWorkingCopyResultSchema.parse(result)
|
|
25737
|
+
});
|
|
25738
|
+
}
|
|
25739
|
+
//#endregion
|
|
25678
25740
|
//#region src/space/files-registration.ts
|
|
25679
25741
|
function registerSpaceFilesCommands(spaceCommand) {
|
|
25680
25742
|
const filesCommand = spaceCommand.command("files").description("Share and collaborate on files in a Space.");
|
|
25743
|
+
withSpaceProfileOption(withCommonOptions(filesCommand.command("handoff").argument("<space>", "Space ID").requiredOption("--manifest <path>", "Selected file and Skill revisions, progress, and next steps").requiredOption("--target <profile-id>", "Agent Profile to Wake").requiredOption("--client-message-id <id>", "Stable identity; reuse for an unchanged retry").option("--thread <id>", "Continue in the originating thread"))).action(async (space, opts, command) => {
|
|
25744
|
+
await runFilesCommand(command, opts, "handoff", async (common) => {
|
|
25745
|
+
await runSpaceWorkHandoff({
|
|
25746
|
+
...common,
|
|
25747
|
+
space: String(space),
|
|
25748
|
+
manifest: opts.manifest,
|
|
25749
|
+
target: opts.target,
|
|
25750
|
+
clientMessageId: opts.clientMessageId,
|
|
25751
|
+
thread: opts.thread
|
|
25752
|
+
});
|
|
25753
|
+
});
|
|
25754
|
+
});
|
|
25755
|
+
const workingCopy = filesCommand.command("working-copy").description("Prepare and submit selected local working files.");
|
|
25756
|
+
withSpaceProfileOption(withCommonOptions(workingCopy.command("prepare").argument("<space>", "Space ID").requiredOption("--selection <path>", "JSON file containing exact file revisions and relative paths").requiredOption("--directory <path>", "New empty working directory"))).action(async (space, opts, command) => {
|
|
25757
|
+
await runFilesCommand(command, opts, "working-copy", async (common) => {
|
|
25758
|
+
await runSpaceWorkingCopy({
|
|
25759
|
+
...common,
|
|
25760
|
+
action: "prepare",
|
|
25761
|
+
space: String(space),
|
|
25762
|
+
selection: opts.selection,
|
|
25763
|
+
directory: opts.directory
|
|
25764
|
+
});
|
|
25765
|
+
});
|
|
25766
|
+
});
|
|
25767
|
+
for (const action of [
|
|
25768
|
+
"resume",
|
|
25769
|
+
"status",
|
|
25770
|
+
"commit",
|
|
25771
|
+
"reconcile",
|
|
25772
|
+
"refresh"
|
|
25773
|
+
]) withSpaceProfileOption(withCommonOptions(workingCopy.command(action).argument("<space>", "Space ID").argument("<copy-id>", "Working copy ID returned by prepare"))).action(async (space, copyId, opts, command) => {
|
|
25774
|
+
await runFilesCommand(command, opts, "working-copy", async (common) => {
|
|
25775
|
+
await runSpaceWorkingCopy({
|
|
25776
|
+
...common,
|
|
25777
|
+
action,
|
|
25778
|
+
space: String(space),
|
|
25779
|
+
copyId: String(copyId)
|
|
25780
|
+
});
|
|
25781
|
+
});
|
|
25782
|
+
});
|
|
25783
|
+
withSpaceProfileOption(withCommonOptions(workingCopy.command("resolve").argument("<space>", "Space ID").argument("<copy-id>", "Working copy ID").requiredOption("--file-id <id>", "Conflicted file to resolve after merging").requiredOption("--revision <number>", "Incoming revision used for the merge"))).action(async (space, copyId, opts, command) => {
|
|
25784
|
+
await runFilesCommand(command, opts, "working-copy", async (common) => {
|
|
25785
|
+
await runSpaceWorkingCopy({
|
|
25786
|
+
...common,
|
|
25787
|
+
action: "resolve",
|
|
25788
|
+
space: String(space),
|
|
25789
|
+
copyId: String(copyId),
|
|
25790
|
+
fileId: opts.fileId,
|
|
25791
|
+
revision: Number(opts.revision)
|
|
25792
|
+
});
|
|
25793
|
+
});
|
|
25794
|
+
});
|
|
25795
|
+
withSpaceProfileOption(withCommonOptions(workingCopy.command("incoming").argument("<space>", "Space ID").argument("<copy-id>", "Original working copy to preserve").requiredOption("--directory <path>", "New directory for current shared versions"))).action(async (space, copyId, opts, command) => {
|
|
25796
|
+
await runFilesCommand(command, opts, "working-copy", async (common) => {
|
|
25797
|
+
await runSpaceWorkingCopy({
|
|
25798
|
+
...common,
|
|
25799
|
+
space: String(space),
|
|
25800
|
+
copyId: String(copyId),
|
|
25801
|
+
action: "incoming",
|
|
25802
|
+
directory: opts.directory
|
|
25803
|
+
});
|
|
25804
|
+
});
|
|
25805
|
+
});
|
|
25681
25806
|
withSpaceProfileOption(withCommonOptions(filesCommand.command("list").description("List files and folders in a Space.").argument("<space>", "Space ID (64-character hex)").option("--folder <folder-id>", "Folder ID, or root", "root").option("--trash", "List items in Trash", false))).action(async (space, opts, command) => {
|
|
25682
25807
|
await runFilesCommand(command, opts, "list", async (common) => {
|
|
25683
25808
|
await runSpaceFilesList({
|
|
@@ -29352,7 +29477,7 @@ computerCmd.command("disconnect").description("Disconnect this computer from its
|
|
|
29352
29477
|
routeTokens: ["computer", "disconnect"],
|
|
29353
29478
|
view,
|
|
29354
29479
|
run: async () => {
|
|
29355
|
-
const { runComputerDisconnect } = await import("./computer-disconnect-
|
|
29480
|
+
const { runComputerDisconnect } = await import("./computer-disconnect-BJ-Tl-7q.js");
|
|
29356
29481
|
await runComputerDisconnect(computerConnectionIntentSchema.parse(JSON.parse(opts.connectionIntent)), view);
|
|
29357
29482
|
}
|
|
29358
29483
|
});
|
|
@@ -29508,7 +29633,7 @@ skillsCmd.command("show").description("Show one Skill in the active Organization
|
|
|
29508
29633
|
}
|
|
29509
29634
|
});
|
|
29510
29635
|
});
|
|
29511
|
-
skillsCmd.command("load").description("Load one enabled Skill into the private OpenMeld cache.").argument("<skill>", "Organization Skill name or id").option("--json", "Print one machine-readable JSON envelope.", false).action(async (skill, opts) => {
|
|
29636
|
+
skillsCmd.command("load").description("Load one enabled Skill into the private OpenMeld cache.").argument("<skill>", "Organization Skill name or id").option("--release <release-id>", "Load this exact release instead of the active release").option("--json", "Print one machine-readable JSON envelope.", false).action(async (skill, opts) => {
|
|
29512
29637
|
const view = getGlobalViewOption();
|
|
29513
29638
|
await runCommandWithEntryChecks({
|
|
29514
29639
|
routeTokens: ["skills", "load"],
|
|
@@ -29516,6 +29641,7 @@ skillsCmd.command("load").description("Load one enabled Skill into the private O
|
|
|
29516
29641
|
run: async () => {
|
|
29517
29642
|
await runOrganizationSkillsLoad({
|
|
29518
29643
|
json: opts.json === true,
|
|
29644
|
+
releaseId: opts.release,
|
|
29519
29645
|
skill,
|
|
29520
29646
|
view
|
|
29521
29647
|
});
|
|
@@ -31545,20 +31671,18 @@ async function main() {
|
|
|
31545
31671
|
if (await runMacOsNativeKeychainHelperIfRequested()) return;
|
|
31546
31672
|
const argv = process.argv.map((arg) => arg === "--h" ? "--help" : arg);
|
|
31547
31673
|
if (argv.length === 5 && argv[2] === "computer" && argv[3] === "connection-review" && argv[4] === "--json") {
|
|
31548
|
-
const { readComputerConnectionReview } = await import("./computer-connection-review-
|
|
31674
|
+
const { readComputerConnectionReview } = await import("./computer-connection-review-_ZLPsdE_.js");
|
|
31549
31675
|
outLine(JSON.stringify(await readComputerConnectionReview()));
|
|
31550
31676
|
return;
|
|
31551
31677
|
}
|
|
31552
31678
|
if (argv.length === 5 && argv[2] === "service" && argv[4] === "--json") {
|
|
31553
31679
|
if (argv[3] === "control-carrier-capability") {
|
|
31554
|
-
|
|
31555
|
-
|
|
31556
|
-
executable: process.execPath
|
|
31557
|
-
}));
|
|
31680
|
+
const { readServiceControlCarrierCapability } = await import("./service-control-carrier-capability-hvpD7hGf.js");
|
|
31681
|
+
outLine(JSON.stringify(readServiceControlCarrierCapability()));
|
|
31558
31682
|
return;
|
|
31559
31683
|
}
|
|
31560
31684
|
if (argv[3] === "control-capabilities") {
|
|
31561
|
-
const { readServiceControlCapabilities } = await import("./service-control-capabilities-
|
|
31685
|
+
const { readServiceControlCapabilities } = await import("./service-control-capabilities-B-vCQoBV.js");
|
|
31562
31686
|
emitCliJsonEnvelope({
|
|
31563
31687
|
schemaVersion: 1,
|
|
31564
31688
|
type: "service.control_capabilities",
|
|
@@ -31741,4 +31865,4 @@ main().catch((error) => {
|
|
|
31741
31865
|
//#endregion
|
|
31742
31866
|
export {};
|
|
31743
31867
|
|
|
31744
|
-
//# sourceMappingURL=openmeld-
|
|
31868
|
+
//# sourceMappingURL=openmeld-DpV9lAF-.js.map
|