openmeld 0.3.210 → 0.3.212
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-BgDujS4W.js → add-me-membership-BwPpVKtA.js} +2 -2
- package/dist/{add-me-membership-BgDujS4W.js.map → add-me-membership-BwPpVKtA.js.map} +1 -1
- package/dist/agents-Y-UJ74By.js +4153 -0
- package/dist/agents-Y-UJ74By.js.map +1 -0
- package/dist/{api-client-foundation--H_ib5Vh.js → api-client-foundation-CrQN8_-N.js} +1 -1
- package/dist/{api-client-foundation-CQsXMqnr.js → api-client-foundation-DjbtuE52.js} +3 -3
- package/dist/{api-client-foundation-CQsXMqnr.js.map → api-client-foundation-DjbtuE52.js.map} +1 -1
- package/dist/{auth-session-CVxflepT.js → auth-session-Dqz9X4F0.js} +42 -21
- package/dist/auth-session-Dqz9X4F0.js.map +1 -0
- package/dist/auth-session-bRzDGlXy.js +4 -0
- package/dist/{command-DNIZzJuu.js → command-jgHbP21v.js} +10 -9
- package/dist/{command-DNIZzJuu.js.map → command-jgHbP21v.js.map} +1 -1
- package/dist/{computer-connection-TgsnU0K9.js → computer-connection-DvqsgYls.js} +30 -3
- package/dist/computer-connection-DvqsgYls.js.map +1 -0
- package/dist/{computer-connection-review-DqJTijzX.js → computer-connection-review-CzSpaHE0.js} +6 -6
- package/dist/{computer-connection-review-DqJTijzX.js.map → computer-connection-review-CzSpaHE0.js.map} +1 -1
- package/dist/computer-disconnect-DNM7jvda.js +47 -0
- package/dist/computer-disconnect-DNM7jvda.js.map +1 -0
- package/dist/{computer-setup-continuation-DFUxl9kf.js → computer-setup-continuation-BqdhIAjT.js} +4 -4
- package/dist/{computer-setup-continuation-DFUxl9kf.js.map → computer-setup-continuation-BqdhIAjT.js.map} +1 -1
- package/dist/{control-plane-D9jDcbMZ.js → control-plane-PxntAyDq.js} +3 -547
- package/dist/control-plane-PxntAyDq.js.map +1 -0
- package/dist/{daemon-service-runtime-D7cb3-Ov.js → daemon-service-runtime-CWTlAhZY.js} +291 -45
- package/dist/daemon-service-runtime-CWTlAhZY.js.map +1 -0
- package/dist/{openmeld-tools-update-coordinator-i1zATb9g.js → daemon-service-update-coordinator-DcjOzGu1.js} +23099 -22988
- package/dist/daemon-service-update-coordinator-DcjOzGu1.js.map +1 -0
- package/dist/dist--pb6JxqG.js +4 -0
- package/dist/{dist-Ccbpt6rT.js → dist-jsWwS864.js} +1435 -1206
- package/dist/dist-jsWwS864.js.map +1 -0
- package/dist/{elapsed-time-B2UGqUlR.js → elapsed-time-iFOSSUJo.js} +45 -78
- package/dist/elapsed-time-iFOSSUJo.js.map +1 -0
- package/dist/{installation-inventory-DJiJh9nP.js → installation-inventory-B0cbVLun.js} +3 -3
- package/dist/{installation-inventory-DJiJh9nP.js.map → installation-inventory-B0cbVLun.js.map} +1 -1
- package/dist/local-components-H3SkJMC1.js +567 -0
- package/dist/local-components-H3SkJMC1.js.map +1 -0
- package/dist/{openmeld-BqTI30JS.js → openmeld-B4gQCCex.js} +244 -154
- package/dist/openmeld-B4gQCCex.js.map +1 -0
- package/dist/{openmeld-maintenance-worker-DeOu5U2Q.js → openmeld-maintenance-worker-DtY_H7Bv.js} +5 -5
- package/dist/{openmeld-maintenance-worker-DeOu5U2Q.js.map → openmeld-maintenance-worker-DtY_H7Bv.js.map} +1 -1
- package/dist/openmeld-tools-update-join-DS_EIL5q.js +54 -0
- package/dist/openmeld-tools-update-join-DS_EIL5q.js.map +1 -0
- package/dist/openmeld-tools-update-process-frame-CbZPpc7D.js +93 -0
- package/dist/openmeld-tools-update-process-frame-CbZPpc7D.js.map +1 -0
- package/dist/openmeld-tools-update-process-frame-CcPLrSsw.js +4 -0
- package/dist/openmeld.js +7 -3
- package/dist/openmeld.js.map +1 -1
- package/dist/{prepare-session-executor-BSTToACx.js → prepare-session-executor-CWKqfuse.js} +11 -9
- package/dist/{prepare-session-executor-BSTToACx.js.map → prepare-session-executor-CWKqfuse.js.map} +1 -1
- package/dist/{runtime-transport-BrzIQru0.js → runtime-transport-BQAmcHwF.js} +16 -2
- package/dist/runtime-transport-BQAmcHwF.js.map +1 -0
- package/dist/{agents-DdYL--Rj.js → service-CTG3_X0o.js} +476 -4582
- package/dist/service-CTG3_X0o.js.map +1 -0
- package/dist/{service-account-authorization-BM7a5V4I.js → service-account-authorization-Dq4LcAVa.js} +3 -3
- package/dist/{service-account-authorization-BM7a5V4I.js.map → service-account-authorization-Dq4LcAVa.js.map} +1 -1
- package/dist/service-account-control-BTR_X7QM.js +145 -0
- package/dist/service-account-control-BTR_X7QM.js.map +1 -0
- package/dist/{service-control-capabilities-BL8hTCE6.js → service-control-capabilities-C5SxnBg2.js} +2 -2
- package/dist/{service-control-capabilities-BL8hTCE6.js.map → service-control-capabilities-C5SxnBg2.js.map} +1 -1
- package/dist/{service-control-capabilities--ktpSDhp.js → service-control-capabilities-ChRe8hkw.js} +1 -1
- package/dist/{upgrade-JMsVlRjL.js → upgrade-DAVEeo8B.js} +36 -17
- package/dist/upgrade-DAVEeo8B.js.map +1 -0
- package/dist/upgrade-DKXu-1wO.js +4 -0
- package/package.json +1 -1
- package/dist/agents-DdYL--Rj.js.map +0 -1
- package/dist/auth-session-CVxflepT.js.map +0 -1
- package/dist/auth-session-LTSqq_Tb.js +0 -4
- package/dist/computer-connection-TgsnU0K9.js.map +0 -1
- package/dist/control-plane-D9jDcbMZ.js.map +0 -1
- package/dist/daemon-service-runtime-D7cb3-Ov.js.map +0 -1
- package/dist/dist-Ccbpt6rT.js.map +0 -1
- package/dist/dist-Cs3dH2Of.js +0 -4
- package/dist/elapsed-time-B2UGqUlR.js.map +0 -1
- package/dist/openmeld-BqTI30JS.js.map +0 -1
- package/dist/openmeld-tools-update-coordinator-i1zATb9g.js.map +0 -1
- package/dist/runtime-transport-BrzIQru0.js.map +0 -1
- package/dist/upgrade-C5r5IT_8.js +0 -4
- package/dist/upgrade-JMsVlRjL.js.map +0 -1
|
@@ -1,29 +1,29 @@
|
|
|
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 { A as isLocalMachineFailureError, D as createActiveSetupConcurrencyIssue, F as accountProfileSpaceCacheDir, I as accountProfileViewPath, M as formatLocalMachineIssueMessage, O as createOrphanedSetupConcurrencyIssue, Q as openMeldBackupsDir, R as accountsDir, T as LocalMachineFailureError, X as normalizeAccountKey, _ as resolveCliContext, _t as skillsDir, a as isOpenMeldOrphanedLockError, at as organizationSkillReleaseDir, b as formatLaneScopeSentence, c as releaseLockSync, d as runWithHeldLock, dt as resolveOpenMeldEnvPreset, et as openMeldManagedBinaryPath, ft as resolveOpenMeldRootDir, i as isOpenMeldLockError, j as toRecognizedLocalMachineFailureError, l as repairOrphanedLegacyLocks, m as OPENMELD_CLI_CONTEXT_ENV_KEY, ot as profileDir, p as LEGACY_OPENMELD_AGENT_SESSION_ENV_KEY, r as buildOpenMeldOrphanedLockAction, rt as openMeldRootDir, st as profileViewPath, t as acquireLock, tt as openMeldManagedVersionBinaryPath, u as resolveOpenMeldOrphanedLockIssue, ut as resolveOpenMeldCliEntryNameFromArgv, vt as spacesDir,
|
|
5
|
-
import { $n as
|
|
4
|
+
import { A as isLocalMachineFailureError, D as createActiveSetupConcurrencyIssue, F as accountProfileSpaceCacheDir, I as accountProfileViewPath, M as formatLocalMachineIssueMessage, O as createOrphanedSetupConcurrencyIssue, Q as openMeldBackupsDir, R as accountsDir, T as LocalMachineFailureError, X as normalizeAccountKey, _ as resolveCliContext, _t as skillsDir, a as isOpenMeldOrphanedLockError, at as organizationSkillReleaseDir, b as formatLaneScopeSentence, c as releaseLockSync, d as runWithHeldLock, dt as resolveOpenMeldEnvPreset, et as openMeldManagedBinaryPath, ft as resolveOpenMeldRootDir, i as isOpenMeldLockError, j as toRecognizedLocalMachineFailureError, l as repairOrphanedLegacyLocks, m as OPENMELD_CLI_CONTEXT_ENV_KEY, ot as profileDir, p as LEGACY_OPENMELD_AGENT_SESSION_ENV_KEY, r as buildOpenMeldOrphanedLockAction, rt as openMeldRootDir, st as profileViewPath, t as acquireLock, tt as openMeldManagedVersionBinaryPath, u as resolveOpenMeldOrphanedLockIssue, ut as resolveOpenMeldCliEntryNameFromArgv, vt as spacesDir, x as resolveOpenMeldLaneDescriptor, yt as systemDir } from "./lock-Dxp6o_t_.js";
|
|
5
|
+
import { $n as listSpaceTasksResponseSchema, $t as createPrepareReadinessApi, Br as stringifyOrganizationSkillBundleCanonicalJson, Dr as agentProfileCreationConfigurationSchema, Ei as signalTextEnvelopeSchema, Er as DEFAULT_AGENT_PROFILE_CREATION_CONFIGURATION, Ft as createCenterAgentApi, Gn as OPENMELD_HEADER_PROFILE_ID, Jn as OPENMELD_HEADER_SPACE_ADDRESSING_VERSION, Jt as createOrganizationApi, Lr as organizationSkillBundleSchema, Lt as createComputerFileAccessApi, Mt as createAgentProfileBindingApi, Nt as createAgentProfileExecutionModeApi, Or as createAgentProfileCreationRequestBodySchema, Qn as createSpaceTaskBodySchema, Qt as createPluginsApi, Ur as submitFeedbackIssueRequestSchema, Vt as createFeedbackApi, Xt as createOrganizationSkillsApi, _r as projectOwnerComputerLocalRuntimes, ci as resolvedSpaceMemberProfileSchema, cr as resolveRuntimeCoordinatorHeadStatusRootCause, dr as spaceDispatchTraceDispatchStatusSchema, er as mutateSpaceTaskBodySchema, fr as spaceDispatchTraceResponseSchema, gi as agentActivitySessionInventoryQuerySchema, gr as ownerComputerDiagnosticsSchema, hi as agentActivityInventorySessionStatusSchema, in as createRoutinesApi, ir as pluginActionRequestSchema, jn as toStructuredApiClientFailure, jt as createAgentActivityApi, lr as resolveSpaceDispatchTraceRootCause, mi as agentActivityInventorySessionOriginSchema, mr as projectObservabilityWakeCorrelation, ni as agentActivitySessionStatusSchema, nn as createProjectsApi, nr as spaceTaskMutationReceiptSchema, or as SPACE_DISPATCH_TRACE_RESPONSE_CONTRACT_VERSION_HEADER, pr as observabilityWakeTraceSelectorSchema, ri as agentActivitySnapshotQuerySchema, rr as spaceEntryTargetSchema, sr as projectSpaceDispatchTraceFinalVisibleOutcome, ti as agentActivityProviderSchema, tr as spaceTaskIdSchema, ur as spaceDispatchTraceAttemptStatusSchema, vi as localAgentSessionProviderSchema, vr as summarizeComputerFileAccessPolicy, zt as createCurrentDeviceApi } from "./dist-jsWwS864.js";
|
|
6
6
|
import { c as agentControllerConversationRefSchema } from "./controller-contract-pe3_Re-c.js";
|
|
7
|
-
import { $ as
|
|
8
|
-
import { Ft as spaceStatusSchema, It as centerAgentInteractionSourceSchema, Jt as resolveSpaceFileMimeType, Pr as START_TRIMMED_NON_EMPTY_STRING_SCHEMA, Qn as clientMessageIdSchema, Ut as isSpaceFileTextEditable, Xr as openMeldRequestContextSchema, Yr as openMeldProfileIdSchema, an as spaceFileRevisionNumberSchema, dn as spaceThreadContextSchema, gn as spaceContractSchema, hn as spaceContractFieldsSchema, jr as START_BOUNDED_ID_SCHEMA, kn as messageEnvelopeSchema, nn as spaceFileEntryIdSchema, qt as readSpaceFileTextResponseSchema } from "./runtime-transport-
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
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 { r as
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import { A as createSpaceMenuGuideError, Bt as formatDualViewGuideForDisplay, C as createSpaceAddMembersGuideError, F as createSpaceRemoveMembersGuideError, G as createStartAgentIdentityGuideError, H as createSpaceTargetGuideError, Ht as formatAgentOverviewPayload, I as createSpaceResultGuideError, It as registerBuiltinAgentSelectionOptions, J as OPENMELD_AGENT_MENTAL_MODEL_LINES, Jt as sanitizeTerminalDisplayText, K as createStartAuthenticationGuideError, M as createSpacePublicationSetGuideError, Ot as getCliVersionInfo, Q as areAllowedActionsEquivalent, Qt as outLine, T as createSpaceContractSetGuideError, Tt as registerSkillsTargetSelectionOptions, V as createSpaceSubcommandTargetGuideError, Vt as buildDualViewGuideMessage, W as createSpaceUpdatesGuideError, X as SPACE_CONTRACT_ALLOWED_ACTION_ORDER, Xt as errLine, Yt as formatMessage, Zt as outJsonLine, _ as createProfileActionGuideError, _t as registerSpaceMemberSelectionOptions, b as createResetConfirmationGuideError, bt as SPACE_ADD_MEMBERS_PROGRESS_HEARTBEAT_MS, et as buildAgentFacingPublicationModeGuideLines, g as createDoctorFailedGuideError, jt as registerAuthLoginRequestOptions, k as createSpaceLeaveGuideError, kt as registerDaemonControlTargetOptions, m as canUseInteractivePrompts, mt as getCommandHintsFromContract, ot as canonicalizeAllowedActions, qt as createPresenter, v as createProfileCreateGuideError, w as createSpaceAliasTargetGuideError, y as createProfileMenuGuideError, zt as DualViewGuideError } from "./elapsed-time-B2UGqUlR.js";
|
|
7
|
+
import { $a as alignSelectedOpenMeldProfileStorage, $t as resolveCurrentDaemonExpectedVersion, A as formatDeviceReplyReadinessLabel, B as resolveGatewayChainReadiness, Ba as isSelectedOpenMeldProfileRequiredError, Ci as resolveAgentExecutionStatus, Cn as listAgentTargetStates, Ei as resolveNativeAgentControllerPermissionModeForController, Ga as deleteOpenMeldProfile, Gi as resolveDispatchSpaceActionMcpServer, Ha as resolveOpenMeldProfileOrNull, J as getSetupFlowCopy, Ja as primeOpenMeldProfilesSessionCache, K as buildDaemonRouteObservationPresentation$1, La as parseCliViewMode, N as mapAgentReplyReadinessToLegacyAutoReply, O as resolveCurrentReplyReadinessSnapshot, Qt as classifyDaemonServiceWakeability, Ra as resolveRuntimeContext, Si as resolveAgentControllerPermissionModeForController, T as resolveDaemonServiceFreshnessWarning, Ti as resolveEvidenceSyncHealth, U as resolveOpenClawLocalDiagnosticsValue, Ua as createOpenMeldAgentProfile, Va as requireOpenMeldProfile, Vn as listBuiltinAgentsRegistryEntries, Wa as createOpenMeldHumanProfile, Xa as updateOpenMeldProfile, Ya as resolveOpenMeldProfile, Zi as assessServerRequiredVersion, Zn as notifyDaemonRouteCatalogChanged, Zt as classifyDaemonServiceRunStartability, _ as resolveServiceReadinessFromServiceStatus, _i as parseAgentControllerRef, _n as validateCustomProfileWorkspacePath, _o as compareAgentControllerRefsForDisplay, _t as syncDeviceRuntimeStateProjection, bt as resolveLocalRegistryAgentIdFromAgentControllerRef, cn as resolveProfileWorkspaceRuntime, co as createAuthenticationError, di as createAgentExecutionStatusDisplayRows, dn as readProfileWorkspaceConfig, do as resolveAuthenticationGuidanceFromError, dr as unbindProject, ea as readCurrentLocalDeviceId, er as bindProject, fo as resolveAuthenticationGuidanceFromMessage, fr as canonicalizeLocalProjectPath, ga as isCliUpdateCheckApplicable, gi as listAgentControllerPermissionModeOptions, gn as setOpenMeldManagedProfileWorkspace, ha as assessCliUpdate, hn as setCustomProfileWorkspace, ho as setProfileDefaultView, io as buildAgentAuthenticationGuide, ir as migrateProjectBindingStore, j as formatHumanReplyReadinessReason$1, jt as inspectDaemonServiceInventory, k as formatAgentReplyReadinessLabel, ln as ensureOpenMeldManagedProfileWorkspace, lr as runIfAgentActivityBindingGenerationIsCurrent, mi as getAgentControllerPermissionModeFieldLabel, mo as getProfileDefaultView, mt as createModelCatalogReadSession, no as getSelectedOpenMeldProfileId, nr as listProjectBindings, pi as getAgentControllerPermissionModeDisplayMetadata, pn as resolveConfiguredProfileWorkspacePath, pt as syncProfileWorkspaceState, q as buildOnboardingPlan, qa as listOpenMeldProfiles, ro as setSelectedOpenMeldProfileId, rr as listProjectConnectionsWithStatus, so as buildHumanAuthenticationCard, sr as removeProjectConnection, t as runPendingDaemonServiceUpdate, to as clearSelectedOpenMeldProfileId, un as normalizeCustomProfileWorkspacePath, uo as resolveAuthenticationGuidance, ur as setDefaultProjectConnection, vi as peopleComputerContainsDevice, vn as describeProfileWorkspacePathValidationFailure, vt as createPrimaryBindingReadSession, wi as resolveAgentProfileEditCapabilities, yi as projectPeopleComputersToLegacyLocalRuntimes, yt as resolveAgentProfilePrimaryAgentControllerReport, za as resolveViewProfileKey } from "./daemon-service-update-coordinator-DcjOzGu1.js";
|
|
8
|
+
import { Ft as spaceStatusSchema, It as centerAgentInteractionSourceSchema, Jt as resolveSpaceFileMimeType, Pr as START_TRIMMED_NON_EMPTY_STRING_SCHEMA, Qn as clientMessageIdSchema, Ut as isSpaceFileTextEditable, Xr as openMeldRequestContextSchema, Yr as openMeldProfileIdSchema, an as spaceFileRevisionNumberSchema, dn as spaceThreadContextSchema, gn as spaceContractSchema, hn as spaceContractFieldsSchema, jr as START_BOUNDED_ID_SCHEMA, kn as messageEnvelopeSchema, nn as spaceFileEntryIdSchema, qt as readSpaceFileTextResponseSchema } from "./runtime-transport-BQAmcHwF.js";
|
|
9
|
+
import { F as trimmedStringFromUnknown, N as nonEmptyTrimmedStringFromUnknown, b as dispatchExecutionSchema, w as openMeldRuntimeProfileIdSchema } from "./control-plane-PxntAyDq.js";
|
|
10
|
+
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-Dqz9X4F0.js";
|
|
11
|
+
import { t as computerConnectionIntentSchema } from "./computer-connection-DvqsgYls.js";
|
|
12
|
+
import { _ as readSelectedSkillDocument, f as ensureLocalSkills, n as collectSkillsReadinessSnapshot } from "./installation-inventory-B0cbVLun.js";
|
|
13
|
+
import { $ as readDispatchOwnedRuntimeGuard, $n as runInteractivePrompt, B as resolveDaemonServiceParticipationStatus, Bn as runAuthLogout, C as buildProfileWorkspaceRows, Cn as removeProjectOutbox, Dn as registerAgentActivityRoute, E as emitDaemonAgentOverview, En as isAgentActivityRouteRegistered, F as emitCliJsonEnvelope, Fn as uninstallAgentActivityIntegrations, Ft as buildPublicSpaceEntryUrl, Gn as buildAuthStatusSnapshot, H as createCliSpaceApi, Hn as runAuthStatus, I as runDaemonStartupPreflight, In as buildCommandAuthenticationPromptMessage, It as buildSignalIndex, J as readGatewayJsonResponse, Jn as renderInfoCard, Kn as formatActiveOrganizationLabel, Ln as ensureCommandAuthenticationOrCancel, Lt as buildSignalMessageReadProjection, M as buildHumanErrorCopy, Mn as installAgentActivityIntegrations, N as renderHumanErrorCard, Nn as readAgentActivityIntegrationStatus, Nt as buildDispatchResultMessageReadProjection, O as shouldEmitAgentOverview, On as resolveAgentActivityRouteForPath, P as renderHumanTextErrorCard, Pn as resolveAgentActivityDispatcherCommand, Pt as buildDispatchResultReplyWorkflowProjection, Q as assertDispatchOwnedRuntimePublicWriteAllowed, Qn as isReturnKeypress, R as resolveLocalComponentsStatus, Rn as evaluateCommandAuthentication, S as buildProfileWorkspacePresentation, Sn as readAgentActivityOutboxHealth, Tn as readControllerTaskLifecycleOutboxHealth, U as fetchSpaceMeta, Un as exchangeOneTimeTokenAuthSession, Ut as buildSpaceRoundReadProjection, V as fetchSpaceUpdates, Vn as runAuthMenu, W as updateSpaceMeta, Wn as buildAuthStatusRows, Wt as buildUpdatesReplyWorkflowProjection, X as toStructuredGatewayFailure, Y as readGatewayTextResponse, Yn as renderTextInfoCard, Z as parseJsonResponse, Zn as promptTextEntry, Zt as formatRemovedCcRelationMessage, _n as readCodexSessionTitles, _r as getOrganizationJoinLinkResponseSchema, a as runDaemonBackgroundStartForDecision, at as LocalProjectConnectionError, bn as enqueueAgentActivityHookEvent, br as revokeOrganizationJoinLinkResponseSchema, c as runDaemonInterrupt, ct as submitProfileRuntimeAgentControllerReport, dn as readRecentDaemonDispatchJournalEvents, dr as cliJsonErrorEnvelopeSchema, er as finishCurrentCommandCheckScope, et as DispatchSpaceActionClosedError, f as runDaemonSnapshot, fr as cliJsonOutputEnvelopeSchema, g as runDaemonUninstall, gn as normalizeSharedSessionTitle, gr as acceptOrganizationJoinLinkBodySchema, h as runDaemonTeardownStrict, hn as resolveObservedAgentActivityBinding, hr as cliJsonSkillsShowEnvelopeSchema, i as runDaemonAutostart, ir as startCurrentCommandCheckScope, it as writeDispatchSpaceActionRecord, j as runDaemonStartDecisionPrompt, jn as defaultManagedIntegrationPaths, kn as unregisterAgentActivityRoute, kt as upsertSpaceConfig, l as runDaemonReinstall, lt as submitRuntimeAgentControllerReport, m as runDaemonStop, mn as buildAgentActivityEvent, mr as cliJsonSkillsLoadEnvelopeSchema, n as isManagedSystemServiceBootstrapRun, nr as isCurrentCommandCheckScopeActive, nt as readDispatchSpaceActionContextForReceiptFromEnv, o as runDaemonCancel, ot as validateLocalProjectConnectionPath, p as runDaemonStatusFlow, pn as syncLocalAgentActivity, pr as cliJsonSkillsListEnvelopeSchema, qt as createSpaceMemberIdentityIndex, r as runDaemon, rr as resetCurrentCommandCheckState, rt as readDispatchSpaceActionContextFromEnv, s as runDaemonInstall, st as readRuntimeReportingHealthState, t as bestEffortStopCurrentLaneDaemonService, tr as getCurrentCommandCheckState, u as runDaemonRunAfterEntryChecks, vn as readAgentActivityContextForPath, vr as organizationJoinLinkErrorResponseSchema, vt as inspectSpaceCacheFile, w as reconcileCliVersionView, wn as enqueueControllerTaskLifecycleEventWhileLocked, x as resolveServiceParticipationReadiness, xn as removeProjectInbox, y as formatServiceParticipationReadinessLabel, yn as removeAgentActivityContextCache, yr as organizationJoinLinkManagementQuerySchema, z as writeInstalledLocalComponentsSnapshot, zn as runAuthLogin } from "./service-CTG3_X0o.js";
|
|
14
|
+
import { n as resolveOpenMeldDistribution, t as isBinaryDistribution } from "./distribution-DY2fBeSW.js";
|
|
15
|
+
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-CWTlAhZY.js";
|
|
16
|
+
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-jgHbP21v.js";
|
|
17
|
+
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-iFOSSUJo.js";
|
|
19
18
|
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-C6sHRNGu.js";
|
|
20
|
-
import { A as getDaemonStatus
|
|
21
|
-
import { S as resolveDaemonServiceManager } from "./daemon-service-manager-GiMCiTmu.js";
|
|
19
|
+
import { A as getDaemonStatus } from "./daemon-state-C37ZtIZK.js";
|
|
22
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-NtJYJe1D.js";
|
|
23
|
-
import {
|
|
24
|
-
import { c as buildRequestAuthHeaders, d as buildOpenMeldRequestContextFromProfile, n as fetchSpaceRequestWithTimeout, p as deriveAuthBaseUrlFromGatewayUrl, s as buildOpenMeldRequestContextHeadersWithAuth, t as createCliApiClientFoundation } from "./api-client-foundation-
|
|
25
|
-
import {
|
|
26
|
-
import { a as
|
|
21
|
+
import { r as runServiceAccountCarrier } from "./service-account-authorization-Dq4LcAVa.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-DjbtuE52.js";
|
|
23
|
+
import { t as runServiceAccountControl } from "./service-account-control-BTR_X7QM.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-CWKqfuse.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-Y-UJ74By.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-DAVEeo8B.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";
|
|
@@ -1929,6 +1929,7 @@ const COMMAND_CHECK_REQUIREMENTS = Object.freeze({
|
|
|
1929
1929
|
"agents.custom.remove": buildCommandChecks(REQUIRED_DISCLAIMER, OPTIONAL_CLI_UPDATE, AUTO_FIX_LOCAL_RUNTIME),
|
|
1930
1930
|
"agents.config": buildCommandChecks(REQUIRED_DISCLAIMER, OPTIONAL_CLI_UPDATE, AUTO_FIX_LOCAL_RUNTIME),
|
|
1931
1931
|
"computer.list": buildCommandChecks(REQUIRED_DISCLAIMER, OPTIONAL_CLI_UPDATE, REQUIRED_SIGN_IN),
|
|
1932
|
+
"computer.disconnect": buildCommandChecks(),
|
|
1932
1933
|
"computer.current": buildCommandChecks(REQUIRED_DISCLAIMER, OPTIONAL_CLI_UPDATE, AUTO_FIX_LOCAL_RUNTIME, REQUIRED_SIGN_IN),
|
|
1933
1934
|
"computer.rename": buildCommandChecks(REQUIRED_DISCLAIMER, OPTIONAL_CLI_UPDATE, AUTO_FIX_LOCAL_RUNTIME, REQUIRED_SIGN_IN),
|
|
1934
1935
|
"service.menu": buildCommandChecks(REQUIRED_DISCLAIMER, OPTIONAL_CLI_UPDATE),
|
|
@@ -2099,6 +2100,7 @@ const COMMAND_ENTRY_NAME_BY_ROUTE = {
|
|
|
2099
2100
|
"computer list": "computer.list",
|
|
2100
2101
|
"computer current": "computer.current",
|
|
2101
2102
|
"computer rename": "computer.rename",
|
|
2103
|
+
"computer disconnect": "computer.disconnect",
|
|
2102
2104
|
service: "service.menu",
|
|
2103
2105
|
daemon: "service.menu",
|
|
2104
2106
|
"service run": "service.run",
|
|
@@ -2746,6 +2748,12 @@ const COMMAND_ENTRY_COPY_BY_NAME = Object.freeze({
|
|
|
2746
2748
|
cliUpdateAction: "listing computers",
|
|
2747
2749
|
serviceAction: null
|
|
2748
2750
|
},
|
|
2751
|
+
"computer.disconnect": {
|
|
2752
|
+
signInAction: "disconnecting this computer",
|
|
2753
|
+
profileAction: null,
|
|
2754
|
+
cliUpdateAction: "disconnecting this computer",
|
|
2755
|
+
serviceAction: null
|
|
2756
|
+
},
|
|
2749
2757
|
"computer.current": {
|
|
2750
2758
|
signInAction: "showing this computer",
|
|
2751
2759
|
profileAction: null,
|
|
@@ -11698,135 +11706,6 @@ function resolveRealPathOrNull$1(path) {
|
|
|
11698
11706
|
}
|
|
11699
11707
|
}
|
|
11700
11708
|
//#endregion
|
|
11701
|
-
//#region src/commands/service-account-control.ts
|
|
11702
|
-
function refused(reason, message) {
|
|
11703
|
-
throw new ServiceAccountAdmissionError(reason, message);
|
|
11704
|
-
}
|
|
11705
|
-
async function runServiceAccountControl(request) {
|
|
11706
|
-
const parsed = serviceAccountControlRequestSchema.safeParse(request);
|
|
11707
|
-
if (!parsed.success) refused("missing_account", "Choose a signed-in account before controlling this Service.");
|
|
11708
|
-
const input = parsed.data;
|
|
11709
|
-
if (process.platform === "win32") refused("unsupported_platform", "Account-checked Service control is not available on Windows yet.");
|
|
11710
|
-
const auth = await getAuthSessionState();
|
|
11711
|
-
if (auth.state !== "valid" || !auth.session) refused("authentication_required", "Sign in to the CLI with the matching account and try again.");
|
|
11712
|
-
const preparedSession = auth.session;
|
|
11713
|
-
if (preparedSession.user?.id !== input.expectedAccount) refused("account_mismatch", "The CLI is signed in to a different account. Sign in with the matching account and try again.");
|
|
11714
|
-
if ((await fetchAuthUserSnapshot({
|
|
11715
|
-
authBaseUrl: preparedSession.authBaseUrl,
|
|
11716
|
-
accessToken: preparedSession.accessToken
|
|
11717
|
-
})).id !== input.expectedAccount) refused("account_mismatch", "The CLI session belongs to a different account. Sign in again and retry.");
|
|
11718
|
-
await withDaemonServiceRunLock(async () => {
|
|
11719
|
-
const contract = await readDaemonServiceContract();
|
|
11720
|
-
if (!contract) refused("ownership_unknown", "Connect this computer through OpenMeld setup before controlling its Service.");
|
|
11721
|
-
const observed = await readCurrentDaemonRuntimeContext();
|
|
11722
|
-
const lease = await readDaemonRuntimeLease();
|
|
11723
|
-
if (input.operation === "start" && observed.effectiveRuntimeStatus !== "not_running") refused("busy", "The Service is already running or its state is uncertain. Check Service status before trying again.");
|
|
11724
|
-
if (input.operation === "stop" && (observed.effectiveRuntimeStatus !== "running" || !lease || lease.generation !== contract.generation)) refused("ownership_unknown", "OpenMeld could not verify the running Service. Check Service status before trying again.");
|
|
11725
|
-
let boundSession = preparedSession;
|
|
11726
|
-
const reservation = await withAuthSessionTransitionMutationLock(async () => {
|
|
11727
|
-
boundSession = await readServiceAdmissionSessionWithOwnership();
|
|
11728
|
-
if (boundSession.accessToken !== preparedSession.accessToken || boundSession.createdAt !== preparedSession.createdAt || boundSession.user?.id !== input.expectedAccount) refused("account_changed", "The CLI sign-in changed before this action was accepted. Check the account and try again.");
|
|
11729
|
-
const current = await readDaemonServiceContract();
|
|
11730
|
-
if (!current || JSON.stringify(current) !== JSON.stringify(contract)) refused("ownership_changed", "The Service changed before this action was accepted. Check its status and try again.");
|
|
11731
|
-
const identity = await resolveServiceAccountIdentity(boundSession, contract);
|
|
11732
|
-
if (input.operation === "start" && contract.desiredState !== "background") identity.contractGeneration += 1;
|
|
11733
|
-
return await reserveServiceAccountAdmission({
|
|
11734
|
-
operation: input.operation,
|
|
11735
|
-
identity,
|
|
11736
|
-
...input.operation === "stop" && lease ? { target: {
|
|
11737
|
-
ownerPid: lease.pid,
|
|
11738
|
-
ownerProcessStartedAt: readProcessStartIdentity(lease.pid) ?? refused("ownership_unknown", "OpenMeld could not identify the Service process. Check its status and try again.")
|
|
11739
|
-
} } : {}
|
|
11740
|
-
});
|
|
11741
|
-
});
|
|
11742
|
-
try {
|
|
11743
|
-
await withAdmittedServiceSession(boundSession, async () => {
|
|
11744
|
-
if (input.operation === "stop") {
|
|
11745
|
-
await stopReservedService(contract, reservation.id, lease?.pid ?? 0);
|
|
11746
|
-
return;
|
|
11747
|
-
}
|
|
11748
|
-
const manager = contract.serviceController === "legacy-detached" ? null : await resolveDaemonServiceManager(contract.serviceController);
|
|
11749
|
-
if (contract.serviceController !== "legacy-detached" && !(manager && (await manager.status()).installed)) refused("installation_required", "This Service needs setup before it can start. Run OpenMeld setup and try again.");
|
|
11750
|
-
await upsertDaemonServiceContract({
|
|
11751
|
-
...contract,
|
|
11752
|
-
desiredState: "background"
|
|
11753
|
-
});
|
|
11754
|
-
if (contract.serviceController === "legacy-detached") {
|
|
11755
|
-
const runtime = await resolveRuntimeContext({ view: "agent" });
|
|
11756
|
-
await runDaemonServiceDetached({
|
|
11757
|
-
accountAdmissionId: reservation.id,
|
|
11758
|
-
deviceId: contract.deviceId,
|
|
11759
|
-
gatewayUrl: contract.gatewayUrl,
|
|
11760
|
-
heartbeatMs: contract.heartbeatMs,
|
|
11761
|
-
runtime,
|
|
11762
|
-
presenter: createQuietPresenter(runtime),
|
|
11763
|
-
mode: "background"
|
|
11764
|
-
});
|
|
11765
|
-
} else if (manager) {
|
|
11766
|
-
await manager.deactivate();
|
|
11767
|
-
await manager.install(buildDaemonSystemServiceCommandSpec({
|
|
11768
|
-
controller: manager.controller,
|
|
11769
|
-
accountAdmissionId: reservation.id
|
|
11770
|
-
}));
|
|
11771
|
-
await manager.start();
|
|
11772
|
-
}
|
|
11773
|
-
await waitForAdmittedService(reservation.id);
|
|
11774
|
-
});
|
|
11775
|
-
} finally {
|
|
11776
|
-
await cancelServiceAccountAdmission(reservation.id);
|
|
11777
|
-
}
|
|
11778
|
-
});
|
|
11779
|
-
}
|
|
11780
|
-
async function waitForAdmittedService(id) {
|
|
11781
|
-
const deadline = Date.now() + 15e3;
|
|
11782
|
-
while (Date.now() < deadline) {
|
|
11783
|
-
const current = await readServiceAccountAdmission();
|
|
11784
|
-
const runtime = await readCurrentDaemonRuntimeContext();
|
|
11785
|
-
if (current?.id === id && current.state === "admitted" && current.carrier?.ownerPid === runtime.runtimeStatus.pid && runtime.effectiveRuntimeStatus === "running") return;
|
|
11786
|
-
await setTimeout$1(50);
|
|
11787
|
-
}
|
|
11788
|
-
refused("startup_unconfirmed", "OpenMeld could not confirm that this Service started. Check Service status before trying again.");
|
|
11789
|
-
}
|
|
11790
|
-
async function stopReservedService(contract, id, pid) {
|
|
11791
|
-
await requestAccountCheckedServiceStop({
|
|
11792
|
-
id,
|
|
11793
|
-
manager: contract.serviceController === "legacy-detached" ? null : await resolveDaemonServiceManager(contract.serviceController)
|
|
11794
|
-
});
|
|
11795
|
-
const admitted = await readServiceAccountAdmission();
|
|
11796
|
-
if (admitted?.id !== id || admitted.state !== "admitted" || admitted.carrier?.ownerPid !== pid) refused("admission_unconfirmed", "OpenMeld could not verify that the matching Service accepted Stop. Check Service status before trying again.");
|
|
11797
|
-
const current = await readCurrentDaemonRuntimeContext();
|
|
11798
|
-
if (current.runtimeStatus.pid !== null && current.runtimeStatus.pid !== pid) refused("ownership_changed", "Another Service instance is now running. Its state was left unchanged.");
|
|
11799
|
-
await runDaemonStop({
|
|
11800
|
-
json: true,
|
|
11801
|
-
view: "agent"
|
|
11802
|
-
}, { completedControlledShutdownOwnerPid: pid });
|
|
11803
|
-
}
|
|
11804
|
-
async function requestAccountCheckedServiceStop({ id, manager }) {
|
|
11805
|
-
const wasEnabled = manager ? (await manager.status()).enabled : false;
|
|
11806
|
-
if (manager) await manager.disableAutostart();
|
|
11807
|
-
try {
|
|
11808
|
-
if (!(await requestLocalDaemonShutdown({
|
|
11809
|
-
payload: {
|
|
11810
|
-
accountAdmissionId: id,
|
|
11811
|
-
mode: "graceful",
|
|
11812
|
-
gracePeriodMs: 2e3
|
|
11813
|
-
},
|
|
11814
|
-
timeoutMs: 15e3
|
|
11815
|
-
})).accepted) throw new Error("The Service did not confirm controlled shutdown.");
|
|
11816
|
-
} catch (error) {
|
|
11817
|
-
if (manager && wasEnabled && error instanceof LocalDaemonControlPlaneClientError && error.code === "service.account_admission.stop_refused") try {
|
|
11818
|
-
await manager.enableAutostart();
|
|
11819
|
-
} catch (restoreError) {
|
|
11820
|
-
throw new AggregateError([error, restoreError], "Stop was refused and its previous autostart setting could not be restored.");
|
|
11821
|
-
}
|
|
11822
|
-
if (!(error instanceof LocalDaemonControlPlaneClientError && error.code === "service.account_admission.stop_refused")) {
|
|
11823
|
-
const detail = error instanceof Error ? error.message : String(error);
|
|
11824
|
-
refused("stop_unconfirmed", `Stop may already be in progress. ${manager ? "Autostart remains disabled. " : ""}Check Service status before trying again. ${detail}`);
|
|
11825
|
-
}
|
|
11826
|
-
throw error;
|
|
11827
|
-
}
|
|
11828
|
-
}
|
|
11829
|
-
//#endregion
|
|
11830
11709
|
//#region src/config/space-dispatch-lookup-api.ts
|
|
11831
11710
|
async function fetchSpaceDispatchLookup(input) {
|
|
11832
11711
|
const endpoint = new URL(toSpaceDispatchLookupUrl(input.baseUrl, input.space));
|
|
@@ -23748,6 +23627,58 @@ async function readDispatchSpaceHistory() {
|
|
|
23748
23627
|
};
|
|
23749
23628
|
}
|
|
23750
23629
|
//#endregion
|
|
23630
|
+
//#region src/space/dispatch-task.ts
|
|
23631
|
+
async function listDispatchSpaceTasks(phase) {
|
|
23632
|
+
return await withDispatchTaskContext(async ({ actionContext, api, requestContext }) => await api.listTasks({
|
|
23633
|
+
spaceId: actionContext.spaceId,
|
|
23634
|
+
requestContext,
|
|
23635
|
+
...phase ? { phase } : {}
|
|
23636
|
+
}));
|
|
23637
|
+
}
|
|
23638
|
+
async function createDispatchSpaceTask(body) {
|
|
23639
|
+
return await withDispatchTaskContext(async ({ actionContext, api, requestContext }) => await api.createTask({
|
|
23640
|
+
spaceId: actionContext.spaceId,
|
|
23641
|
+
requestContext,
|
|
23642
|
+
body: createSpaceTaskBodySchema.parse({
|
|
23643
|
+
...body,
|
|
23644
|
+
operationId: crypto.randomUUID(),
|
|
23645
|
+
sourceSignalId: actionContext.sourceEventId,
|
|
23646
|
+
assigneeProfileId: body.assigneeProfileId === void 0 ? actionContext.targetProfileId : body.assigneeProfileId
|
|
23647
|
+
})
|
|
23648
|
+
}));
|
|
23649
|
+
}
|
|
23650
|
+
async function mutateDispatchSpaceTask(input) {
|
|
23651
|
+
const taskId = spaceTaskIdSchema.parse(input.taskId);
|
|
23652
|
+
const body = mutateSpaceTaskBodySchema.parse({
|
|
23653
|
+
...input.body,
|
|
23654
|
+
operationId: crypto.randomUUID()
|
|
23655
|
+
});
|
|
23656
|
+
return await withDispatchTaskContext(async ({ actionContext, api, requestContext }) => await api.mutateTask({
|
|
23657
|
+
spaceId: actionContext.spaceId,
|
|
23658
|
+
requestContext,
|
|
23659
|
+
taskId,
|
|
23660
|
+
body
|
|
23661
|
+
}));
|
|
23662
|
+
}
|
|
23663
|
+
async function withDispatchTaskContext(operation) {
|
|
23664
|
+
if (process.env["OPENMELD_DISPATCH_RUNTIME_MODE"] !== "dispatch-owned-runtime") throw new Error("Space Task tools require an active OpenMeld dispatch runtime.");
|
|
23665
|
+
const actionContext = readDispatchSpaceActionContextFromEnv();
|
|
23666
|
+
const profile = await requireOpenMeldProfile({
|
|
23667
|
+
openMeldProfileId: actionContext.targetProfileId,
|
|
23668
|
+
persistSelection: false,
|
|
23669
|
+
authAction: "working with Tasks in the current OpenMeld Space"
|
|
23670
|
+
});
|
|
23671
|
+
if (profile.openMeldProfileId !== actionContext.targetProfileId || profile.profileKind !== "agent") throw new Error("The Space Task actor does not match the current Agent.");
|
|
23672
|
+
const result = await operation({
|
|
23673
|
+
actionContext,
|
|
23674
|
+
api: createCliSpaceApi(await resolveBaseUrl()),
|
|
23675
|
+
requestContext: buildOpenMeldRequestContextFromProfile({ openMeldProfile: profile })
|
|
23676
|
+
});
|
|
23677
|
+
const current = readDispatchSpaceActionContextFromEnv();
|
|
23678
|
+
if (current.contextId !== actionContext.contextId || current.nonce !== actionContext.nonce || current.spaceId !== actionContext.spaceId || current.sourceEventId !== actionContext.sourceEventId || current.targetProfileId !== actionContext.targetProfileId) throw new Error("The dispatch context changed during the Space Task action.");
|
|
23679
|
+
return result;
|
|
23680
|
+
}
|
|
23681
|
+
//#endregion
|
|
23751
23682
|
//#region src/space/action-mcp-server.ts
|
|
23752
23683
|
const FINAL_STATUS_SCHEMA = z.enum([
|
|
23753
23684
|
"done",
|
|
@@ -23759,7 +23690,7 @@ function createSpaceActionMcpServer() {
|
|
|
23759
23690
|
const server = new McpServer({
|
|
23760
23691
|
name: "openmeld-dispatch-space-action",
|
|
23761
23692
|
version: "1.0.0"
|
|
23762
|
-
}, { instructions: "Use read_history for the bounded text history around the current Wake, and read_file for shared text files in the current Space. 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." });
|
|
23693
|
+
}, { 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." });
|
|
23763
23694
|
server.registerTool("read_history", {
|
|
23764
23695
|
title: "Read the current Wake's Space history",
|
|
23765
23696
|
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.",
|
|
@@ -23821,6 +23752,134 @@ function createSpaceActionMcpServer() {
|
|
|
23821
23752
|
};
|
|
23822
23753
|
}
|
|
23823
23754
|
});
|
|
23755
|
+
server.registerTool("list_tasks", {
|
|
23756
|
+
title: "List Tasks in the current OpenMeld Space",
|
|
23757
|
+
description: "Read durable collaboration Tasks for this Space. Use the returned revision before changing a Task. Task phase is collaboration state, not Agent execution truth.",
|
|
23758
|
+
inputSchema: { phase: z.enum([
|
|
23759
|
+
"to_do",
|
|
23760
|
+
"in_progress",
|
|
23761
|
+
"in_review",
|
|
23762
|
+
"done",
|
|
23763
|
+
"canceled"
|
|
23764
|
+
]).optional() },
|
|
23765
|
+
outputSchema: listSpaceTasksResponseSchema,
|
|
23766
|
+
annotations: {
|
|
23767
|
+
readOnlyHint: true,
|
|
23768
|
+
destructiveHint: false,
|
|
23769
|
+
idempotentHint: true,
|
|
23770
|
+
openWorldHint: false
|
|
23771
|
+
}
|
|
23772
|
+
}, async ({ phase }) => executeTaskAction(() => listDispatchSpaceTasks(phase)));
|
|
23773
|
+
server.registerTool("create_task", {
|
|
23774
|
+
title: "Create a Task from the current Space message",
|
|
23775
|
+
description: "Create a durable Task only for a clear deliverable that needs ownership, progress, review, or later closure. The source message and Space are fixed by this Wake. The Task is assigned to the current Agent by default and remains To do until start_task is called.",
|
|
23776
|
+
inputSchema: {
|
|
23777
|
+
title: z.string().trim().min(1).max(200),
|
|
23778
|
+
description: z.string().trim().min(1).max(8e3).nullable().optional(),
|
|
23779
|
+
completionConditions: z.array(z.string().trim().min(1).max(500)).max(12).optional(),
|
|
23780
|
+
assigneeProfileId: openMeldRuntimeProfileIdSchema.nullable().optional(),
|
|
23781
|
+
reviewerProfileId: openMeldRuntimeProfileIdSchema.nullable().optional()
|
|
23782
|
+
},
|
|
23783
|
+
outputSchema: spaceTaskMutationReceiptSchema,
|
|
23784
|
+
annotations: {
|
|
23785
|
+
readOnlyHint: false,
|
|
23786
|
+
destructiveHint: false,
|
|
23787
|
+
idempotentHint: false,
|
|
23788
|
+
openWorldHint: false
|
|
23789
|
+
}
|
|
23790
|
+
}, async (body) => executeTaskAction(() => createDispatchSpaceTask(body)));
|
|
23791
|
+
server.registerTool("start_task", {
|
|
23792
|
+
title: "Mark a Space Task in progress",
|
|
23793
|
+
description: "Record that the current assigned Agent has begun advancing this Task. This changes collaboration state and does not start a separate Agent execution.",
|
|
23794
|
+
inputSchema: {
|
|
23795
|
+
taskId: spaceTaskIdSchema,
|
|
23796
|
+
expectedRevision: z.number().int().min(1)
|
|
23797
|
+
},
|
|
23798
|
+
outputSchema: spaceTaskMutationReceiptSchema,
|
|
23799
|
+
annotations: {
|
|
23800
|
+
readOnlyHint: false,
|
|
23801
|
+
destructiveHint: false,
|
|
23802
|
+
idempotentHint: false,
|
|
23803
|
+
openWorldHint: false
|
|
23804
|
+
}
|
|
23805
|
+
}, async ({ expectedRevision, taskId }) => executeTaskAction(() => mutateDispatchSpaceTask({
|
|
23806
|
+
taskId,
|
|
23807
|
+
body: {
|
|
23808
|
+
action: "mark_in_progress",
|
|
23809
|
+
expectedRevision
|
|
23810
|
+
}
|
|
23811
|
+
})));
|
|
23812
|
+
server.registerTool("submit_task_result", {
|
|
23813
|
+
title: "Submit a result for a Space Task",
|
|
23814
|
+
description: "Submit the concrete result and verification for an in-progress Task. A Task with a reviewer moves to In review; otherwise the stated completion boundary moves it to Done. If the reviewer is an Agent, use your one final reply to wake that reviewer.",
|
|
23815
|
+
inputSchema: {
|
|
23816
|
+
taskId: spaceTaskIdSchema,
|
|
23817
|
+
expectedRevision: z.number().int().min(1),
|
|
23818
|
+
summary: z.string().trim().min(1).max(8e3)
|
|
23819
|
+
},
|
|
23820
|
+
outputSchema: spaceTaskMutationReceiptSchema,
|
|
23821
|
+
annotations: {
|
|
23822
|
+
readOnlyHint: false,
|
|
23823
|
+
destructiveHint: false,
|
|
23824
|
+
idempotentHint: false,
|
|
23825
|
+
openWorldHint: false
|
|
23826
|
+
}
|
|
23827
|
+
}, async ({ expectedRevision, summary, taskId }) => executeTaskAction(() => mutateDispatchSpaceTask({
|
|
23828
|
+
taskId,
|
|
23829
|
+
body: {
|
|
23830
|
+
action: "submit_result",
|
|
23831
|
+
expectedRevision,
|
|
23832
|
+
summary
|
|
23833
|
+
}
|
|
23834
|
+
})));
|
|
23835
|
+
server.registerTool("review_task", {
|
|
23836
|
+
title: "Review a Space Task result",
|
|
23837
|
+
description: "Accept the current result or request specific changes as this Task's reviewer. Change requests require feedback. If the assignee is an Agent and the Task returns to In progress, use your one final reply to wake that assignee with the feedback. Do not wake more work when needsHumanDecision is true. Agent-to-Agent rework stops for a human decision after two automatic rounds.",
|
|
23838
|
+
inputSchema: {
|
|
23839
|
+
taskId: spaceTaskIdSchema,
|
|
23840
|
+
expectedRevision: z.number().int().min(1),
|
|
23841
|
+
decision: z.enum(["accepted", "changes_requested"]),
|
|
23842
|
+
feedback: z.string().trim().min(1).max(8e3).nullable().optional()
|
|
23843
|
+
},
|
|
23844
|
+
outputSchema: spaceTaskMutationReceiptSchema,
|
|
23845
|
+
annotations: {
|
|
23846
|
+
readOnlyHint: false,
|
|
23847
|
+
destructiveHint: false,
|
|
23848
|
+
idempotentHint: false,
|
|
23849
|
+
openWorldHint: false
|
|
23850
|
+
}
|
|
23851
|
+
}, async ({ decision, expectedRevision, feedback, taskId }) => executeTaskAction(() => mutateDispatchSpaceTask({
|
|
23852
|
+
taskId,
|
|
23853
|
+
body: {
|
|
23854
|
+
action: "review",
|
|
23855
|
+
expectedRevision,
|
|
23856
|
+
decision,
|
|
23857
|
+
...feedback === void 0 ? {} : { feedback }
|
|
23858
|
+
}
|
|
23859
|
+
})));
|
|
23860
|
+
server.registerTool("cancel_task", {
|
|
23861
|
+
title: "Cancel a Space Task",
|
|
23862
|
+
description: "Cancel a Task when its accepted commitment should no longer be done. Cancellation fences later Task progress; it does not by itself prove that an Agent execution stopped.",
|
|
23863
|
+
inputSchema: {
|
|
23864
|
+
taskId: spaceTaskIdSchema,
|
|
23865
|
+
expectedRevision: z.number().int().min(1),
|
|
23866
|
+
reason: z.string().trim().min(1).max(1e3)
|
|
23867
|
+
},
|
|
23868
|
+
outputSchema: spaceTaskMutationReceiptSchema,
|
|
23869
|
+
annotations: {
|
|
23870
|
+
readOnlyHint: false,
|
|
23871
|
+
destructiveHint: false,
|
|
23872
|
+
idempotentHint: false,
|
|
23873
|
+
openWorldHint: false
|
|
23874
|
+
}
|
|
23875
|
+
}, async ({ expectedRevision, reason, taskId }) => executeTaskAction(() => mutateDispatchSpaceTask({
|
|
23876
|
+
taskId,
|
|
23877
|
+
body: {
|
|
23878
|
+
action: "cancel",
|
|
23879
|
+
expectedRevision,
|
|
23880
|
+
reason
|
|
23881
|
+
}
|
|
23882
|
+
})));
|
|
23824
23883
|
server.registerTool("reply", {
|
|
23825
23884
|
title: "Reply in the current OpenMeld Space",
|
|
23826
23885
|
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.",
|
|
@@ -23931,6 +23990,26 @@ async function executeSpaceAction(action) {
|
|
|
23931
23990
|
};
|
|
23932
23991
|
}
|
|
23933
23992
|
}
|
|
23993
|
+
async function executeTaskAction(action) {
|
|
23994
|
+
try {
|
|
23995
|
+
const result = await action();
|
|
23996
|
+
return {
|
|
23997
|
+
structuredContent: result,
|
|
23998
|
+
content: [{
|
|
23999
|
+
type: "text",
|
|
24000
|
+
text: JSON.stringify(result)
|
|
24001
|
+
}]
|
|
24002
|
+
};
|
|
24003
|
+
} catch (error) {
|
|
24004
|
+
return {
|
|
24005
|
+
isError: true,
|
|
24006
|
+
content: [{
|
|
24007
|
+
type: "text",
|
|
24008
|
+
text: error instanceof Error ? error.message : String(error)
|
|
24009
|
+
}]
|
|
24010
|
+
};
|
|
24011
|
+
}
|
|
24012
|
+
}
|
|
23934
24013
|
//#endregion
|
|
23935
24014
|
//#region src/space/space-target.ts
|
|
23936
24015
|
const SPACE_ID_HEX_REGEX = /^[0-9a-f]{64}$/i;
|
|
@@ -24553,7 +24632,7 @@ function normalizeOptionalString(value) {
|
|
|
24553
24632
|
return normalized.length > 0 ? normalized : null;
|
|
24554
24633
|
}
|
|
24555
24634
|
async function runDefaultSpaceAddMeMembership(input) {
|
|
24556
|
-
const { runSpaceAddMeMembership } = await import("./add-me-membership-
|
|
24635
|
+
const { runSpaceAddMeMembership } = await import("./add-me-membership-BwPpVKtA.js");
|
|
24557
24636
|
return await runSpaceAddMeMembership(input);
|
|
24558
24637
|
}
|
|
24559
24638
|
//#endregion
|
|
@@ -29256,6 +29335,17 @@ program.command("logout").description("Alias for `openmeld auth logout`.").actio
|
|
|
29256
29335
|
});
|
|
29257
29336
|
});
|
|
29258
29337
|
const computerCmd = program.command("computer").description("Inspect and name computers in OpenMeld.");
|
|
29338
|
+
computerCmd.command("disconnect").description("Disconnect this computer from its reviewed account without forgetting its record.").requiredOption("--connection-intent <json>", "Account and exact Computer session reviewed for disconnection").action(async (opts) => {
|
|
29339
|
+
const view = getGlobalViewOption();
|
|
29340
|
+
await runCommandWithEntryChecks({
|
|
29341
|
+
routeTokens: ["computer", "disconnect"],
|
|
29342
|
+
view,
|
|
29343
|
+
run: async () => {
|
|
29344
|
+
const { runComputerDisconnect } = await import("./computer-disconnect-DNM7jvda.js");
|
|
29345
|
+
await runComputerDisconnect(computerConnectionIntentSchema.parse(JSON.parse(opts.connectionIntent)), view);
|
|
29346
|
+
}
|
|
29347
|
+
});
|
|
29348
|
+
});
|
|
29259
29349
|
computerCmd.addHelpText("after", buildCommandHelpExamples("Examples", [
|
|
29260
29350
|
"openmeld computer list",
|
|
29261
29351
|
"openmeld computer current",
|
|
@@ -31444,7 +31534,7 @@ async function main() {
|
|
|
31444
31534
|
if (await runMacOsNativeKeychainHelperIfRequested()) return;
|
|
31445
31535
|
const argv = process.argv.map((arg) => arg === "--h" ? "--help" : arg);
|
|
31446
31536
|
if (argv.length === 5 && argv[2] === "computer" && argv[3] === "connection-review" && argv[4] === "--json") {
|
|
31447
|
-
const { readComputerConnectionReview } = await import("./computer-connection-review-
|
|
31537
|
+
const { readComputerConnectionReview } = await import("./computer-connection-review-CzSpaHE0.js");
|
|
31448
31538
|
outLine(JSON.stringify(await readComputerConnectionReview()));
|
|
31449
31539
|
return;
|
|
31450
31540
|
}
|
|
@@ -31457,7 +31547,7 @@ async function main() {
|
|
|
31457
31547
|
return;
|
|
31458
31548
|
}
|
|
31459
31549
|
if (argv[3] === "control-capabilities") {
|
|
31460
|
-
const { readServiceControlCapabilities } = await import("./service-control-capabilities
|
|
31550
|
+
const { readServiceControlCapabilities } = await import("./service-control-capabilities-ChRe8hkw.js");
|
|
31461
31551
|
emitCliJsonEnvelope({
|
|
31462
31552
|
schemaVersion: 1,
|
|
31463
31553
|
type: "service.control_capabilities",
|
|
@@ -31640,4 +31730,4 @@ main().catch((error) => {
|
|
|
31640
31730
|
//#endregion
|
|
31641
31731
|
export {};
|
|
31642
31732
|
|
|
31643
|
-
//# sourceMappingURL=openmeld-
|
|
31733
|
+
//# sourceMappingURL=openmeld-B4gQCCex.js.map
|