openmeld 0.3.82 → 0.3.84

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.
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { A as toSpaceCursorUrl, At as openMeldManagedBinaryPath, B as toSpaceUpdatesUrl, C as updateConfiguredSkillsConfig, Ct as deviceOpenClawProfileWorkspaceDir, Dt as normalizeOpenMeldProfileId, E as toDaemonRouteObservationUrl, Et as normalizeAccountKey, F as toSpaceMembersUrl, G as isOpenMeldOrphanedLockError, Gt as runtimeLogsDir, H as acquireLock, Ht as resolveOpenMeldPresetOwnedPathInput, I as toSpaceMetaUrl, Jt as systemDir, Kt as skillsDir, L as toSpacePasswordUrl, Mt as openMeldManagedVersionDir, Nt as openMeldRootDir, Ot as openMeldBackupsDir, P as toSpaceLeaveUrl, Pt as openMeldVersionsDir, Qt as runtimeAgentControllerLaunchContractSchema, R as toSpaceRemoveMembersUrl, Rt as resolveDefaultOpenMeldHomeDirname, St as deviceOpenClawProfileDir, T as normalizeBaseUrl, Tt as legacyAccountProfileSpacesDir, Ut as resolveOpenMeldRootDir, V as toSpaceWsUrl, Vt as resolveOpenMeldEnvPreset, W as isOpenMeldLockError, Wt as runtimeDir, X as resolveOpenMeldOrphanedLockIssue, Yt as formatLocalMachineIssueMessage, Z as runWithHeldLock, Zt as runtimeAgentControllerConversationIdMappingSpecSchema, _ as getRuntimeConfigReadHealth, _t as accountProfileSpaceCacheDir, a as resolveBaseUrl, an as resolveBuiltinAgentControllerConversationKind, at as writeCliContextState, b as setConfiguredSkillsConfig, bt as accountsDir, c as resolveExplicitGatewayUrlOrThrow, d as createDefaultRuntimeAgentControllerSettings, dn as canonicalizeBuiltinAgentControllerRef, dt as createBackgroundExecutionBlockedIssue, en as runtimeStreamingModeSchema, f as getConfiguredDaemonDispatchLimits, fn as normalizeBuiltinAgentControllerId, g as getConfiguredViewCustomization, gt as accountProfileLocalMetaPath, h as getConfiguredSkillsConfig, ht as OPENMELD_HOME_ENV_KEY, i as normalizeGatewayBaseUrlOrNull, in as conversationPolicySchema, it as resolveCliContextId, j as toSpaceDeleteUrl, jt as openMeldManagedVersionBinaryPath, k as toSpaceCreateUrl, kt as openMeldBinDir, l as DEFAULT_RUNTIME_AGENT_TRANSPORT_MODE, ln as buildAgentControllerRoutingKey, lt as assessLocalMachineFailure, mn as parseAgentControllerRef$1, nt as readCliContextState, o as resolveBaseUrlOrNull, on as HOSTED_CENTER_AGENT_CONTROLLER_REF, p as getConfiguredDeviceRuntimeState, pn as normalizeKnownBuiltinAgentControllerId, r as normalizeGatewayBaseUrl, rn as buildAgentControllerConversationRef, rt as resolveCliContext, s as resolveDefaultGatewayBaseUrl, sn as HOSTED_CENTER_AGENT_CONTROLLER_REF_ID, st as resolveOpenMeldLaneDescriptor, tn as runtimeTransportModeSchema, tt as listCliContextStates, un as canonicalizeAgentControllerRef, v as resolveRuntimeSkillsCustomTargetId, vt as accountProfileViewPath, wt as isPublishedOpenMeldHome, x as updateConfiguredDeviceRuntimeState, xt as deviceOpenClawProfileBootstrapPath, yt as accountProfileWorkspacePath, zt as resolveExplicitOpenMeldEnvPreset } from "./base-url-Cv9x5Es9.js";
4
- import { A as MAX_TEXT_LENGTH, At as deleteCenterAgentRoutineResponseSchema, B as sleep, C as createSpaceApi, Ct as authProfileManagedRoleSchema, D as toStructuredApiClientFailure, Dt as submitFeedbackIssueRequestSchema, E as resolveProfileSpaceHistoryGatewayHost, Et as organizationComputersResponseSchema, F as OPENMELD_HEADER_PROFILE_ID, Ft as updateCenterAgentRoutineResponseSchema, Gt as localProjectControlDiscoverProjectsResponseSchema, H as getSpaceUpdatesResponseSchema, Ht as agentActivitySnapshotResponseSchema, Jt as removeSpaceMembersResponseSchema, Kt as leaveSpaceResponseSchema, L as OPENMELD_HEADER_REQUEST_ID, Lt as AGENT_ACTIVITY_PRESENCE_TTL_MAX_MS, M as parseIncoming$1, Mt as listCenterAgentRoutinesResponseSchema, N as parseServerErrorFrame$1, Nt as pauseCenterAgentRoutineResponseSchema, O as DAEMON_STREAM_KEEPALIVE_PING, Ot as submitFeedbackIssueResponseSchema, P as resolveCustomMentionAliasOverride, Pt as resumeCenterAgentRoutineResponseSchema, Rt as agentActivityEventSchema, S as createRuntimeReportingApi, T as resolveAccountSpaceIndexGatewayHost, Tt as profileErrorResponseSchema, U as SPACE_DISPATCH_TRACE_PROMPT_PREVIEW_MAX_CHARS, Ut as localProjectControlConnectionSchema, V as toErrorMessage$41, Wt as localProjectControlDaemonFrameSchema, Xt as spaceMemberDirectorySchema, Yt as spaceMemberDirectoryEntrySchema, Z as submitAgentControllerTaskLifecycleEventItemSchema, _n as agentControllerCollaborationModeSchema, _t as organizationSkillSummarySchema, a as buildSpaceAttachmentDownloadPath, an as listProjectsResponseSchema, at as OPENMELD_RUNTIME_CAPABILITIES_HEADER, bt as ADDITIONAL_HUMAN_PROFILE_CREATION_DISABLED_CODE, c as createAgentProfileBindingApi, cn as centerAgentToolSpeakerSchema, ct as computerFileAccessPolicySchema, d as createCurrentDeviceApi, dt as spaceCreatorSchema, en as agentActivitySessionInventoryResponseSchema, ft as spaceMetaSchema, g as createOrganizationApi, gn as agentControllerPermissionModeSchema, gt as organizationSkillReleaseSummarySchema, h as createOpenMeldApiClient, i as buildProfileSpaceHistoryUpsertPath, in as createProjectResponseSchema, it as COMPUTER_FILE_ACCESS_RUNTIME_CAPABILITY, j as parseEnvelope$1, jt as listCenterAgentRoutineRunsResponseSchema, kt as createCenterAgentRoutineResponseSchema, ln as openCodePermissionConfigSchema, lt as modelCatalogSchema, m as createLocalRuntimeExpectedRoutesApi, mt as listOrganizationSkillsResponseSchema, n as OpenMeldApiClientInvalidResponseError, nn as observedLocalAgentSessionSchema, o as createAccountSpaceIndexApi, on as projectSchema, ot as computerFileAccessDaemonFrameSchema, p as createFetchTransport, pt as getOrganizationSkillResponseSchema, qt as postSpaceMembersResponseSchema, r as buildProfileSpaceHistoryStatusPath, rn as archiveProjectResponseSchema, rt as gatewayErrorEnvelopeSchema, s as createAgentActivityApi, sn as updateProjectResponseSchema, st as computerFileAccessPolicyInputSchema, t as OpenMeldApiClientHttpError, ut as organizationSpaceDirectoryWithMemberCountsResponseSchema, vn as toLegacySpaceAddressingWireValue, wt as profileCapabilitiesResponseSchema, xt as ADDITIONAL_HUMAN_PROFILE_CREATION_DISABLED_MESSAGE, y as createProfileSpaceHistoryApi, yt as organizationDirectoryResponseSchema, z as toErrorMessage$42 } from "./dist-D9smLL6A.js";
5
- import { A as runtimeTransportResumeControllerConversationFramePayloadSchema, B as openMeldSpaceEgressActionSchema, Bt as conversationExecutionStateSchema, C as runtimeTransportLocalAgentControlRefreshCatalogFramePayloadSchema, Cn as formatLocalSetupActionLabel, Cr as resolveCommandAgentWorkActivity, Ct as projectSpaceMessageAttachment, D as runtimeTransportRegisterSessionRequestSchema, E as runtimeTransportLookupRouteOwnerServiceEvidenceSchema, Et as spaceAttachmentFileNameSchema, Ft as openMeldDaemonControlPlaneRequestSchema, G as localFolderPickerHelperResultSchema, H as OPENMELD_LOCAL_FOLDER_PICKER_CAPABILITY_HEADER, I as openMeldDaemonTaskResultEnvelopeWriteSchema, It as openMeldDaemonControlPlaneResponseSchema, L as openMeldDaemonTaskResultOpenClawGatewayVisibilityStatusSchema, Ln as runtimeCoordinatorExecutionTokenEnvelopeSchema, M as runtimeTransportRouteCatalogChangedFramePayloadSchema, Nn as parseOptionalClientMessageId, O as runtimeTransportRegisterSessionResponseSchema, P as runtimeTransportSubmitTaskResultRequestSchema, R as openMeldDaemonTaskResultPayloadSchema, Rn as runtimeTransportDeliveryExecutionIdentitySchema, Rt as skippedDaemonProfileSchema, S as runtimeTransportLocalAgentControlManageInstallationFramePayloadSchema, Sn as formatLocalSetupActionDescription, St as detectSpaceAttachmentMimeType, T as runtimeTransportLocalAgentControlSetProfileWorkspaceFramePayloadSchema, Tn as localCliComponentUpdateProjectionSchema, U as localFolderPickerDaemonFrameSchema, Un as resolveSingleSpaceMentionLabels, V as LOCAL_FOLDER_PICKER_RUNTIME_CAPABILITY, Vn as normalizeSpacePasswordText, W as localFolderPickerHelperProtocolResultSchema, Wn as resolveSpaceMentionLabels, _ as runtimeTransportHeartbeatRequestSchema, _n as agentInteractionRequestSchema, _r as resolvePublicAgentAvailabilityCopy, a as runtimeTransportCapabilitiesSchema, b as runtimeTransportLocalAgentControlForkSessionFramePayloadSchema, bn as formatLocalComponentsSummaryDescription, c as runtimeTransportDispatchInteractionRequestSchema, cr as profileWorkspaceModeSchema, ct as CONVERSATION_CONTINUITY_WARNING_PURPOSE, d as runtimeTransportDispatchPreviewEndRequestSchema, er as openMeldRequestContextSchema, f as runtimeTransportDispatchPreviewRequestSchema, ft as SPACE_MEMBER_JOIN_NOTICE_PURPOSE, g as runtimeTransportForkAgentSessionResultSchema, gr as resolveMappedPublicAgentFailureReason, gt as sanitizeSignalTextPreview, h as runtimeTransportErrorCodeSchema, hn as AGENT_INTERACTION_DEFAULT_TIMEOUT_MS, hr as resolveDetailedPublicAgentFailureReason$1, i as localWakeRouteReportSchema, in as getSpaceMessageAddressingRelationSupportForTargetKind, ir as openMeldRuntimeProfileIdSchema, j as runtimeTransportResumeControllerConversationResultFramePayloadSchema, k as runtimeTransportRejectedProfileRegistrationSchema, kn as localServiceComponentUpdateProjectionSchema, l as runtimeTransportDispatchInteractionResponseFramePayloadSchema, m as runtimeTransportDispatchToolActivityRequestSchema, mr as MAX_TEXT_LENGTH$1, mt as SPACE_MENTION_REJECT_NOTICE_PURPOSE, n as daemonExecutionCompatibilitySchema, nn as collectCanonicalMentionTextFragments, nr as agentProfileIdSchema, o as runtimeTransportDeliverDispatchRequestSchema, on as normalizeMessageEnvelope, p as runtimeTransportDispatchRuntimeEvidenceRequestSchema, pr as trimmedStringFromUnknown, pt as SPACE_MEMBER_REMOVE_NOTICE_PURPOSE, r as daemonStreamFrameSchema, rn as formatCanonicalMentionLiteral, rr as normalizeOptionalWorkingDirectory, s as runtimeTransportDispatchInteractionDeliveredRequestSchema, sn as resolveMessageEnvelopeTargetField, t as CURRENT_DAEMON_EXECUTION_CONTRACT_EPOCH, tn as MESSAGE_MENTION_TYPE_VALUES, tr as MAX_PROFILE_WORKING_DIRECTORY_LENGTH, u as runtimeTransportDispatchLifecycleRequestSchema, v as runtimeTransportHeartbeatResponseSchema, vn as agentInteractionResolutionSchema, vr as resolvePublicAgentFailureRecovery, w as runtimeTransportLocalAgentControlSetEnabledFramePayloadSchema, wn as installedLocalComponentsSnapshotSchema, x as runtimeTransportLocalAgentControlInterruptFramePayloadSchema, xn as formatLocalComponentsSummaryLabel, xt as SPACE_ATTACHMENT_MAX_SIZE_BYTES, y as runtimeTransportLocalAgentControlCancelFramePayloadSchema, yr as shouldPreferMappedPublicAgentFailureReason, zt as providerDispatchRuntimeContextSchema } from "./runtime-transport-DI97Fndy.js";
4
+ import { A as MAX_TEXT_LENGTH, At as createCenterAgentRoutineResponseSchema, B as sleep, C as createSpaceApi, D as toStructuredApiClientFailure, Dt as organizationComputersResponseSchema, E as resolveProfileSpaceHistoryGatewayHost, Et as profileErrorResponseSchema, F as OPENMELD_HEADER_PROFILE_ID, Ft as resumeCenterAgentRoutineResponseSchema, Gt as localProjectControlDaemonFrameSchema, H as getSpaceUpdatesResponseSchema, It as updateCenterAgentRoutineResponseSchema, Jt as postSpaceMembersResponseSchema, Kt as localProjectControlDiscoverProjectsResponseSchema, L as OPENMELD_HEADER_REQUEST_ID, M as parseIncoming$1, Mt as listCenterAgentRoutineRunsResponseSchema, N as parseServerErrorFrame$1, Nt as listCenterAgentRoutinesResponseSchema, O as DAEMON_STREAM_KEEPALIVE_PING, Ot as submitFeedbackIssueRequestSchema, P as resolveCustomMentionAliasOverride, Pt as pauseCenterAgentRoutineResponseSchema, Q as submitAgentControllerTaskLifecycleEventItemSchema, Rt as AGENT_ACTIVITY_PRESENCE_TTL_MAX_MS, S as createRuntimeReportingApi, St as ADDITIONAL_HUMAN_PROFILE_CREATION_DISABLED_MESSAGE, T as resolveAccountSpaceIndexGatewayHost, Tt as profileCapabilitiesResponseSchema, U as SPACE_DISPATCH_TRACE_PROMPT_PREVIEW_MAX_CHARS, Ut as agentActivitySnapshotResponseSchema, V as toErrorMessage$41, Wt as localProjectControlConnectionSchema, Xt as spaceMemberDirectoryEntrySchema, Yt as removeSpaceMembersResponseSchema, Zt as spaceMemberDirectorySchema, _n as agentControllerPermissionModeSchema, _t as organizationSkillReleaseSummarySchema, a as buildSpaceAttachmentDownloadPath, an as createProjectResponseSchema, at as COMPUTER_FILE_ACCESS_RUNTIME_CAPABILITY, bt as organizationDirectoryResponseSchema, c as createAgentProfileBindingApi, cn as updateProjectResponseSchema, ct as computerFileAccessPolicyInputSchema, d as createCurrentDeviceApi, dt as organizationSpaceDirectoryWithMemberCountsResponseSchema, ft as spaceCreatorSchema, g as createOrganizationApi, h as createOpenMeldApiClient, ht as listOrganizationSkillsResponseSchema, i as buildProfileSpaceHistoryUpsertPath, in as archiveProjectResponseSchema, it as gatewayErrorEnvelopeSchema, j as parseEnvelope$1, jt as deleteCenterAgentRoutineResponseSchema, kt as submitFeedbackIssueResponseSchema, ln as centerAgentToolSpeakerSchema, lt as computerFileAccessPolicySchema, m as createLocalRuntimeExpectedRoutesApi, mt as getOrganizationSkillResponseSchema, n as OpenMeldApiClientInvalidResponseError, o as createAccountSpaceIndexApi, on as listProjectsResponseSchema, ot as OPENMELD_RUNTIME_CAPABILITIES_HEADER, p as createFetchTransport, pt as spaceMetaSchema, qt as leaveSpaceResponseSchema, r as buildProfileSpaceHistoryStatusPath, rn as observedLocalAgentSessionSchema, s as createAgentActivityApi, sn as projectSchema, st as computerFileAccessDaemonFrameSchema, t as OpenMeldApiClientHttpError, tn as agentActivitySessionInventoryResponseSchema, un as openCodePermissionConfigSchema, ut as modelCatalogSchema, vn as agentControllerCollaborationModeSchema, vt as organizationSkillSummarySchema, wt as authProfileManagedRoleSchema, xt as ADDITIONAL_HUMAN_PROFILE_CREATION_DISABLED_CODE, y as createProfileSpaceHistoryApi, yn as toLegacySpaceAddressingWireValue, z as toErrorMessage$42, zt as agentActivityEventSchema } from "./dist-CJnq8AgJ.js";
5
+ import { $t as conversationExecutionStateSchema, A as runtimeTransportResumeControllerConversationFramePayloadSchema, An as agentInteractionRequestSchema, Ar as resolvePublicAgentAvailabilityCopy, B as openMeldSpaceEgressActionSchema, C as runtimeTransportLocalAgentControlRefreshCatalogFramePayloadSchema, D as runtimeTransportRegisterSessionRequestSchema, Dr as MAX_TEXT_LENGTH$1, E as runtimeTransportLookupRouteOwnerServiceEvidenceSchema, Er as trimmedStringFromUnknown, Fn as formatLocalSetupActionDescription, G as localFolderPickerHelperResultSchema, H as OPENMELD_LOCAL_FOLDER_PICKER_CAPABILITY_HEADER, Hn as localServiceComponentUpdateProjectionSchema, Ht as spaceFileNameSchema, I as openMeldDaemonTaskResultEnvelopeWriteSchema, In as formatLocalSetupActionLabel, Ir as resolveCommandAgentWorkActivity, Jt as openMeldDaemonControlPlaneRequestSchema, Kn as parseOptionalClientMessageId, L as openMeldDaemonTaskResultOpenClawGatewayVisibilityStatusSchema, Ln as installedLocalComponentsSnapshotSchema, M as runtimeTransportRouteCatalogChangedFramePayloadSchema, Mr as shouldPreferMappedPublicAgentFailureReason, Mt as SPACE_FILE_MAX_SIZE_BYTES, Nn as formatLocalComponentsSummaryDescription, O as runtimeTransportRegisterSessionResponseSchema, On as AGENT_INTERACTION_DEFAULT_TIMEOUT_MS, Or as resolveDetailedPublicAgentFailureReason$1, P as runtimeTransportSubmitTaskResultRequestSchema, Pn as formatLocalComponentsSummaryLabel, Qt as providerDispatchRuntimeContextSchema, R as openMeldDaemonTaskResultPayloadSchema, Rn as localCliComponentUpdateProjectionSchema, Rt as resolveSpaceFileMimeType, S as runtimeTransportLocalAgentControlManageInstallationFramePayloadSchema, T as runtimeTransportLocalAgentControlSetProfileWorkspaceFramePayloadSchema, U as localFolderPickerDaemonFrameSchema, V as LOCAL_FOLDER_PICKER_RUNTIME_CAPABILITY, W as localFolderPickerHelperProtocolResultSchema, Xn as runtimeCoordinatorExecutionTokenEnvelopeSchema, Yt as openMeldDaemonControlPlaneResponseSchema, Zn as runtimeTransportDeliveryExecutionIdentitySchema, Zt as skippedDaemonProfileSchema, _ as runtimeTransportHeartbeatRequestSchema, _n as getSpaceMessageAddressingRelationSupportForTargetKind, _r as openMeldRuntimeProfileIdSchema, a as runtimeTransportCapabilitiesSchema, b as runtimeTransportLocalAgentControlForkSessionFramePayloadSchema, bn as resolveMessageEnvelopeTargetField, c as runtimeTransportDispatchInteractionRequestSchema, ct as CONVERSATION_CONTINUITY_WARNING_PURPOSE, d as runtimeTransportDispatchPreviewEndRequestSchema, er as normalizeSpacePasswordText, f as runtimeTransportDispatchPreviewRequestSchema, ft as SPACE_MEMBER_JOIN_NOTICE_PURPOSE, g as runtimeTransportForkAgentSessionResultSchema, gn as formatCanonicalMentionLiteral, gr as normalizeOptionalWorkingDirectory, gt as sanitizeSignalTextPreview, h as runtimeTransportErrorCodeSchema, hn as collectCanonicalMentionTextFragments, hr as agentProfileIdSchema, i as localWakeRouteReportSchema, j as runtimeTransportResumeControllerConversationResultFramePayloadSchema, jn as agentInteractionResolutionSchema, jr as resolvePublicAgentFailureRecovery, k as runtimeTransportRejectedProfileRegistrationSchema, kr as resolveMappedPublicAgentFailureReason, l as runtimeTransportDispatchInteractionResponseFramePayloadSchema, m as runtimeTransportDispatchToolActivityRequestSchema, mn as MESSAGE_MENTION_TYPE_VALUES, mr as MAX_PROFILE_WORKING_DIRECTORY_LENGTH, mt as SPACE_MENTION_REJECT_NOTICE_PURPOSE, n as daemonExecutionCompatibilitySchema, nr as resolveSingleSpaceMentionLabels, o as runtimeTransportDeliverDispatchRequestSchema, p as runtimeTransportDispatchRuntimeEvidenceRequestSchema, pr as openMeldRequestContextSchema, pt as SPACE_MEMBER_REMOVE_NOTICE_PURPOSE, r as daemonStreamFrameSchema, rr as resolveSpaceMentionLabels, s as runtimeTransportDispatchInteractionDeliveredRequestSchema, t as CURRENT_DAEMON_EXECUTION_CONTRACT_EPOCH, u as runtimeTransportDispatchLifecycleRequestSchema, v as runtimeTransportHeartbeatResponseSchema, w as runtimeTransportLocalAgentControlSetEnabledFramePayloadSchema, x as runtimeTransportLocalAgentControlInterruptFramePayloadSchema, xr as profileWorkspaceModeSchema, y as runtimeTransportLocalAgentControlCancelFramePayloadSchema, yn as normalizeMessageEnvelope } from "./runtime-transport-DEj52An9.js";
6
6
  import { r as daemonServiceLaneSchema, t as daemonServiceContractSchema } from "./service-contract-DZWQdPz5.js";
7
- import { A as isDaemonServiceRuntimeHeartbeatStale, B as uninstallDaemon, C as daemonServiceStableExecutableWrapperPath, D as getDaemonRuntimeStatus, E as ensureDaemonControlPlaneToken, F as releaseDaemonServiceLifecycleLock, G as readDaemonLocalStateFile, H as withDaemonServiceRegistrationMutationLock, I as resolveDaemonControlPlaneEndpoint, K as writeDaemonLocalStateFile, L as resolveDaemonServiceRuntimeMetadata, M as readDaemonServiceLifecycleLockMeta, N as readDaemonServiceLifecycleLockMetaWithCleanup, O as getDaemonStatus, P as readDaemonServiceRuntimeSnapshot, R as restoreDaemonInstallStateSnapshot, S as daemonServiceRepairJournalPath, T as daemonStatePath, U as withDaemonServiceRunLock, V as withDaemonServiceReconcileLock, W as withDaemonServiceStopLock, _ as daemonRuntimeServiceManagerPath, a as DAEMON_SERVICE_RUNTIME_CONTROLLER_ENV, b as daemonServiceLegacyExecutableWrapperPath, c as DAEMON_SERVICE_RUNTIME_STATE_SCHEMA, d as clearDaemonServiceRuntimeState, f as daemonDispatchJournalPath, g as daemonRuntimeRootPath, h as daemonRuntimeDataPath, i as DAEMON_SERVICE_RUNTIME_AUTO_START_ENV, j as readDaemonControlPlaneToken, k as installDaemon, l as DAEMON_SERVICE_RUNTIME_SYSTEM_SERVICE_ENV, m as daemonRuntimeBundlesPath, n as writeDaemonRuntimeLease, o as DAEMON_SERVICE_RUNTIME_DETACHED_ENV, p as daemonLifecycleJournalPath, r as DAEMON_HEARTBEAT_STALE_MS, s as DAEMON_SERVICE_RUNTIME_MODE_ENV, t as readDaemonRuntimeLease, u as acquireDaemonServiceLifecycleLock, v as daemonRuntimeStateRootPath, w as daemonServiceStableLauncherPath, x as daemonServiceRecognizedExecutableWrapperPaths, y as daemonServiceActiveBundleStatePath, z as setDaemonServiceRuntimeState } from "./daemon-runtime-lease-CKQef0lp.js";
8
- import { A as RUNTIME_AGENT_CONTROLLER_REPORT_SYNC_RETRY_INTERVAL_MS$1, D as REGISTER_RESPONSE_TIMEOUT_MS$1, E as PROVIDER_CONVERSATION_PROOF_SYNC_RETRY_INTERVAL_MS$1, S as MIN_HEARTBEAT_INTERVAL_MS$2, T as PROVIDER_CONVERSATION_PROOF_SYNC_INTERVAL_MS$1, _ as DEFAULT_HEARTBEAT_INTERVAL_MS$1, a as getAuthSessionState, b as MAX_HEARTBEAT_INTERVAL_MS$2, c as setAuthSession, d as CATALOG_SYNC_SIGNAL_POLL_INTERVAL_MS$1, f as DAEMON_RUNTIME_CONTRACT_EPOCH$1, g as DEFAULT_GATEWAY_CHAIN_TIMEOUT_MS$1, h as DAEMON_STREAM_KEEPALIVE_PONG_TIMEOUT_MS$1, j as RUNTIME_STATE_PERSIST_MIN_INTERVAL_MS$1, k as RUNTIME_AGENT_CONTROLLER_REPORT_SYNC_INTERVAL_MS$1, m as DAEMON_STREAM_KEEPALIVE_INTERVAL_MS$1, n as clearAuthSession, p as DAEMON_STREAM_CONNECT_TIMEOUT_MS$1, r as getAuthSession, u as CATALOG_SYNC_RETRY_INTERVAL_MS$1, w as OPENCLAW_CLI_TIMEOUT_MS$1, y as HEARTBEAT_RESPONSE_TIMEOUT_MS$1 } from "./auth-session-BJZuJ2bM.js";
9
- import { a as buildOpenMeldProfileIdentityRequestHeadersWithAuth, c as buildRequestAuthHeaders, d as buildOpenMeldRequestContextFromProfile, f as buildOpenMeldRequestContextFromProfileIdentity, i as resolveSpaceRequestTimeoutMsForDiagnostics, l as canAttachAuthTokenToRequest, m as resolveAuthRequestCompatibility, n as createCliApiClientFoundation, o as buildOpenMeldProfileRequestHeadersWithAuth, p as deriveAuthBaseUrlFromGatewayUrl, r as fetchSpaceRequestWithTimeout, s as buildOpenMeldRequestContextHeadersWithAuth, u as resolveAuthTokenAttachment } from "./api-client-foundation-CFHEblaZ.js";
7
+ import { A as isDaemonServiceRuntimeHeartbeatStale, B as setDaemonServiceRuntimeState, C as daemonServiceStableExecutableWrapperPath, D as getDaemonRuntimeStatus, E as ensureDaemonControlPlaneToken, F as releaseDaemonServiceLifecycleLock, G as withDaemonServiceStopLock, H as withDaemonServiceReconcileLock, I as resolveDaemonControlPlaneEndpoint, K as readDaemonLocalStateFile, L as resolveDaemonServiceRuntimeMetadata, M as readDaemonServiceLifecycleLockMeta, N as readDaemonServiceLifecycleLockMetaWithCleanup, O as getDaemonStatus, P as readDaemonServiceRuntimeSnapshot, R as restoreDaemonInstallStateSnapshot, S as daemonServiceRepairJournalPath, T as daemonStatePath, U as withDaemonServiceRegistrationMutationLock, V as uninstallDaemon, W as withDaemonServiceRunLock, _ as daemonRuntimeServiceManagerPath, a as DAEMON_SERVICE_RUNTIME_CONTROLLER_ENV, b as daemonServiceLegacyExecutableWrapperPath, c as DAEMON_SERVICE_RUNTIME_STATE_SCHEMA, d as clearDaemonServiceRuntimeState, f as daemonDispatchJournalPath, g as daemonRuntimeRootPath, h as daemonRuntimeDataPath, i as DAEMON_SERVICE_RUNTIME_AUTO_START_ENV, j as readDaemonControlPlaneToken, k as installDaemon, l as DAEMON_SERVICE_RUNTIME_SYSTEM_SERVICE_ENV, m as daemonRuntimeBundlesPath, n as writeDaemonRuntimeLease, o as DAEMON_SERVICE_RUNTIME_DETACHED_ENV, p as daemonLifecycleJournalPath, q as writeDaemonLocalStateFile, r as DAEMON_HEARTBEAT_STALE_MS, s as DAEMON_SERVICE_RUNTIME_MODE_ENV, t as readDaemonRuntimeLease, u as acquireDaemonServiceLifecycleLock, v as daemonRuntimeStateRootPath, w as daemonServiceStableLauncherPath, x as daemonServiceRecognizedExecutableWrapperPaths, y as daemonServiceActiveBundleStatePath, z as rotateDaemonControlPlaneTokenIfExpired } from "./daemon-runtime-lease-DiRoGxhm.js";
8
+ import { A as RUNTIME_AGENT_CONTROLLER_REPORT_SYNC_RETRY_INTERVAL_MS$1, D as REGISTER_RESPONSE_TIMEOUT_MS$1, E as PROVIDER_CONVERSATION_PROOF_SYNC_RETRY_INTERVAL_MS$1, S as MIN_HEARTBEAT_INTERVAL_MS$2, T as PROVIDER_CONVERSATION_PROOF_SYNC_INTERVAL_MS$1, _ as DEFAULT_HEARTBEAT_INTERVAL_MS$1, a as getAuthSessionState, b as MAX_HEARTBEAT_INTERVAL_MS$2, c as setAuthSession, d as CATALOG_SYNC_SIGNAL_POLL_INTERVAL_MS$1, f as DAEMON_RUNTIME_CONTRACT_EPOCH$1, g as DEFAULT_GATEWAY_CHAIN_TIMEOUT_MS$1, h as DAEMON_STREAM_KEEPALIVE_PONG_TIMEOUT_MS$1, j as RUNTIME_STATE_PERSIST_MIN_INTERVAL_MS$1, k as RUNTIME_AGENT_CONTROLLER_REPORT_SYNC_INTERVAL_MS$1, m as DAEMON_STREAM_KEEPALIVE_INTERVAL_MS$1, n as clearAuthSession, p as DAEMON_STREAM_CONNECT_TIMEOUT_MS$1, r as getAuthSession, u as CATALOG_SYNC_RETRY_INTERVAL_MS$1, w as OPENCLAW_CLI_TIMEOUT_MS$1, y as HEARTBEAT_RESPONSE_TIMEOUT_MS$1 } from "./auth-session-vFtLpWjB.js";
9
+ import { a as buildOpenMeldProfileIdentityRequestHeadersWithAuth, c as buildRequestAuthHeaders, d as buildOpenMeldRequestContextFromProfile, f as buildOpenMeldRequestContextFromProfileIdentity, i as resolveSpaceRequestTimeoutMsForDiagnostics, l as canAttachAuthTokenToRequest, m as resolveAuthRequestCompatibility, n as createCliApiClientFoundation, o as buildOpenMeldProfileRequestHeadersWithAuth, p as deriveAuthBaseUrlFromGatewayUrl, r as fetchSpaceRequestWithTimeout, s as buildOpenMeldRequestContextHeadersWithAuth, u as resolveAuthTokenAttachment } from "./api-client-foundation-9MJAKRpy.js";
10
10
  import { createRequire } from "node:module";
11
11
  import { homedir, tmpdir, userInfo } from "node:os";
12
12
  import { z } from "zod/v4";
@@ -34,8 +34,8 @@ import { Box, Container, Editor, Key, ProcessTerminal, TUI, Text, getEditorKeybi
34
34
  var package_default = {
35
35
  $schema: "https://www.schemastore.org/package.json",
36
36
  name: "openmeld",
37
- version: "0.3.82",
38
- openMeldReleaseDate: "2026-08-22",
37
+ version: "0.3.84",
38
+ openMeldReleaseDate: "2026-08-23",
39
39
  description: "OpenMeld CLI - https://openmeld.ai",
40
40
  license: "MIT",
41
41
  type: "module",
@@ -17507,7 +17507,7 @@ function resolveOpenMeldAccountContext(input) {
17507
17507
  };
17508
17508
  }
17509
17509
  async function resolveCurrentOpenMeldAccountContext() {
17510
- const { getAuthSessionMetadata } = await import("./auth-session-BJZuJ2bM.js").then((n) => n.t);
17510
+ const { getAuthSessionMetadata } = await import("./auth-session-vFtLpWjB.js").then((n) => n.t);
17511
17511
  return resolveOpenMeldAccountContext({ session: await getAuthSessionMetadata().catch(() => null) });
17512
17512
  }
17513
17513
  function resolveHostKey(baseUrl) {
@@ -17683,19 +17683,9 @@ function buildCommandAuthenticationPromptMessage$1(action) {
17683
17683
  function buildHumanAuthenticationCard(input) {
17684
17684
  const rows = [];
17685
17685
  rows.push({
17686
- label: "Status",
17686
+ label: "What happened",
17687
17687
  value: buildHumanAuthenticationStatusText(input.guidance)
17688
17688
  });
17689
- if (input.guidance.reason === "mismatch") {
17690
- if (input.guidance.authBaseUrl) rows.push({
17691
- label: "Signed In To",
17692
- value: input.guidance.authBaseUrl
17693
- });
17694
- if (input.guidance.gatewayUrl) rows.push({
17695
- label: "This Command Uses",
17696
- value: input.guidance.gatewayUrl
17697
- });
17698
- }
17699
17689
  rows.push({
17700
17690
  label: "Next",
17701
17691
  value: input.mode === "prompt" ? input.guidance.promptNextStep : input.guidance.errorNextStep
@@ -18654,12 +18644,13 @@ function isInteractiveSession() {
18654
18644
  }
18655
18645
  //#endregion
18656
18646
  //#region src/runtime/messages.ts
18647
+ const SENTENCE_END_PATTERN = /[.!?]$/u;
18657
18648
  const HUMAN_MESSAGES = {
18658
18649
  "whoami.loaded": (params) => `Profile loaded (profile: ${String(params?.profile ?? "unknown")}).`,
18659
18650
  "space.menu.interactive_required": () => "This menu only works in an interactive terminal. Run `openmeld space --help`.",
18660
- "space.target.missing": (params) => `Missing required argument 'space' for \`openmeld space ${String(params?.command ?? "join")}\`.`,
18661
- "space.target.invalid": (params) => `Invalid space target: ${String(params?.space ?? "unknown")} (space ID must be a 64-character hex ID).`,
18662
- "signal.id.invalid": (params) => `Invalid ${String(params?.flag ?? "signal")} value: ${String(params?.value ?? "unknown")}. Use the full signal ID — a 36-character UUID like 80d6ac34-353a-495e-9aa3-b2013ee06179, not a short prefix. Copy the full "signalId" from \`openmeld space history --view agent\`.`,
18651
+ "space.target.missing": (params) => `Add a Space ID after \`openmeld space ${String(params?.command ?? "join")}\`, then try again.`,
18652
+ "space.target.invalid": (_params) => "That Space ID isn't valid. Copy the full Space ID, then try again.",
18653
+ "signal.id.invalid": (params) => `That ${String(params?.flag ?? "signal")} ID is incomplete. Copy the full signal ID from \`openmeld space history --view agent\`, then try again.`,
18663
18654
  "space.create.created": (params) => `Space created: ${String(params?.spaceId ?? "unknown")}`,
18664
18655
  "space.join.stdin_fallback_watch": (params) => formatJoinNoStdioMessage("human", params),
18665
18656
  "space.join.bootstrap_context": (params) => formatJoinBootstrapContextMessage("human", params),
@@ -18671,36 +18662,36 @@ const HUMAN_MESSAGES = {
18671
18662
  "space.password.warning": () => "Important: Save this password securely. If lost, it cannot be recovered. Reset is the only option.",
18672
18663
  "profile.menu.interactive_required": () => "This menu only works in an interactive terminal. Run `openmeld profiles --help`.",
18673
18664
  "profile.no_profiles": () => "No OpenMeld profiles found. Sign in with `openmeld login` or create one with `openmeld profiles create`.",
18674
- "profile.target.missing": (params) => `Missing required argument 'profile' for \`openmeld profiles ${String(params?.action ?? "set")}\`.`,
18675
- "profile.delete.force_required": () => "Deleting a profile requires `--force` in non-interactive mode.",
18665
+ "profile.target.missing": (params) => `Add a profile ID after \`openmeld profiles ${String(params?.action ?? "set")}\`, then try again.`,
18666
+ "profile.delete.force_required": () => "Add `--force` to delete a profile from a non-interactive terminal.",
18676
18667
  "profile.current_set": (params) => `Current profile: ${String(params?.profile ?? "unknown")}. New OpenMeld commands will use this profile by default unless you pass \`--profile\`.`,
18677
18668
  "profile.selection.non_persistent": () => "Warning: this temporary OpenMeld CLI context only uses the selected profile for this command.",
18678
18669
  "profile.deleted": (params) => `Deleted profile: ${String(params?.profile ?? "unknown")}.`,
18679
18670
  "profile.current_switched": (params) => `Current profile switched to: ${String(params?.profile ?? "unknown")}.`,
18680
18671
  "profile.no_active": () => "No OpenMeld profile is currently selected.",
18681
- "profile.update.missing_changes": () => "`openmeld profile update` requires at least one update option.",
18672
+ "profile.update.missing_changes": () => "Choose at least one profile setting to update. Run `openmeld profile update --help` to see the options.",
18682
18673
  "profile.update.candidates_required": () => "Choose a profile first. Available profiles are listed above.",
18683
- "routines.error": (params) => String(params?.message ?? "Routine command failed."),
18674
+ "routines.error": (params) => String(params?.message ?? "Routine action couldn't finish."),
18684
18675
  "doctor.summary.failed": () => "OpenMeld diagnostics found issues.",
18685
18676
  "send.sent": () => "Sent.",
18686
18677
  "tail.empty": () => "(no signals yet)",
18687
18678
  "space.updates.empty": () => "(no updates found after this signal)",
18688
18679
  "init.profile_initialized": (params) => `Profile initialized: ${String(params?.profile ?? "unknown")}.`,
18689
18680
  "connect.connecting": (params) => `Connecting to ${String(params?.wsUrl ?? "")}`,
18690
- "connect.warn.persist_last_seen": (params) => `Warning: OpenMeld couldn't save where you left off in this space: ${String(params?.error ?? "unknown")}`,
18691
- "connect.warn.persist_recent_mentions": (params) => `Warning: OpenMeld couldn't save your recent @ targets for this space: ${String(params?.error ?? "unknown")}`,
18692
- "connect.warn.cursor_fetch_failed": (params) => `Warning: OpenMeld couldn't load your place in this space: ${String(params?.error ?? "unknown")}`,
18693
- "connect.warn.cursor_patch_failed": (params) => `Warning: OpenMeld couldn't update your place in this space: ${String(params?.error ?? "unknown")}`,
18694
- "connect.warn.catchup_failed": (params) => `Warning: OpenMeld couldn't catch up to recent messages: ${String(params?.error ?? "unknown")}`,
18695
- "connect.warn.catchup_live_buffer_overflow": (_params) => `Warning: OpenMeld couldn't fully catch up to recent messages, so live updates will continue without saving your place for this session.`,
18696
- "connect.warn.cursor_sync_paused": () => "Warning: OpenMeld will keep showing live updates, but it won't save your place for the rest of this session.",
18697
- "connect.warn.meta_fetch_failed": (params) => `Warning: couldn't fetch space details: ${String(params?.error ?? "unknown")}`,
18698
- "connect.warn.members_fetch_failed": (params) => `Warning: couldn't fetch space members: ${String(params?.error ?? "unknown")}`,
18699
- "connect.warn.profile_space_history_sync_failed": (params) => `Warning: OpenMeld couldn't update this space in your recent history: ${String(params?.error ?? "unknown")}`,
18681
+ "connect.warn.persist_last_seen": (_params) => "OpenMeld couldn't save where you left off. Live updates will continue.",
18682
+ "connect.warn.persist_recent_mentions": (_params) => "OpenMeld couldn't save your recent @ mentions. Live updates will continue.",
18683
+ "connect.warn.cursor_fetch_failed": (_params) => "OpenMeld couldn't load where you left off. Live updates will continue.",
18684
+ "connect.warn.cursor_patch_failed": (_params) => "OpenMeld couldn't save your new place. Live updates will continue.",
18685
+ "connect.warn.catchup_failed": (_params) => "OpenMeld couldn't load every recent message. Live updates will continue.",
18686
+ "connect.warn.catchup_live_buffer_overflow": (_params) => "OpenMeld couldn't load every recent message. Live updates will continue, but your place won't be saved in this session.",
18687
+ "connect.warn.cursor_sync_paused": () => "Live updates will continue, but OpenMeld won't save your place in this session.",
18688
+ "connect.warn.meta_fetch_failed": (_params) => "OpenMeld couldn't load this Space's details.",
18689
+ "connect.warn.members_fetch_failed": (_params) => "OpenMeld couldn't load this Space's members.",
18690
+ "connect.warn.profile_space_history_sync_failed": (_params) => "OpenMeld couldn't save this Space to your recent history.",
18700
18691
  "connect.closed": () => "Connection closed.",
18701
- "connect.closed_with_code_reason": (params) => `closed code=${String(params?.code ?? "")}${formatCodeLabelSuffix(params?.codeLabel)} reason=${String(params?.reason ?? "")}${formatHintSuffix(params?.hint)}`,
18702
- "connect.error": (params) => `error: ${String(params?.error ?? "unknown")}${formatHintSuffix(params?.hint)}`,
18703
- "connect.error.space_not_found": (params) => `Space not found: ${String(params?.space ?? "unknown")} (you can only join existing spaces; create one first with \`openmeld space create --name <name> --visibility private\`).`,
18692
+ "connect.closed_with_code_reason": (params) => `The connection closed.${formatHumanHintSentence(params?.hint)}`,
18693
+ "connect.error": (params) => formatHumanConnectError(params),
18694
+ "connect.error.space_not_found": (_params) => `OpenMeld couldn't find that Space. Check the Space ID, then try again.`,
18704
18695
  "connect.closing": (params) => `Closing the connection (${String(params?.why ?? "")})...`,
18705
18696
  "connect.watch_ready": () => "Watching the stream. Press Ctrl+C to quit.",
18706
18697
  "connect.connected_no_stdio": (params) => formatConnectedNoStdioMessage("human", params),
@@ -18841,6 +18832,20 @@ function formatHintSuffix(hint) {
18841
18832
  if (normalized.length === 0) return "";
18842
18833
  return ` (hint: ${normalized})`;
18843
18834
  }
18835
+ function formatHumanConnectError(params) {
18836
+ const error = String(params?.error ?? "").toLowerCase();
18837
+ let summary = "OpenMeld lost the connection.";
18838
+ if (error.includes("last message may not have been confirmed")) summary = "OpenMeld lost the connection before confirming your message.";
18839
+ else if (error.includes("couldn't send the message")) summary = "OpenMeld couldn't send your message.";
18840
+ return `${summary}${formatHumanHintSentence(params?.hint)}`;
18841
+ }
18842
+ function formatHumanHintSentence(hint) {
18843
+ if (typeof hint !== "string") return "";
18844
+ const normalized = hint.trim();
18845
+ if (!normalized) return "";
18846
+ const sentence = `${normalized.slice(0, 1).toUpperCase()}${normalized.slice(1)}`;
18847
+ return ` ${SENTENCE_END_PATTERN.test(sentence) ? sentence : `${sentence}.`}`;
18848
+ }
18844
18849
  //#endregion
18845
18850
  //#region src/runtime/presenter/agent.ts
18846
18851
  function createAgentPresenter(input) {
@@ -18953,6 +18958,72 @@ function createPresenter(context) {
18953
18958
  return context.resolvedView === "agent" ? createAgentPresenter({ context }) : createHumanPresenter({ context });
18954
18959
  }
18955
18960
  //#endregion
18961
+ //#region src/ui/human-error-card.ts
18962
+ const TECHNICAL_DETAIL_MARKERS = [
18963
+ /\s+Detail:/iu,
18964
+ /\s+Details:/iu,
18965
+ /\s+For diagnostics[,.:]?/iu,
18966
+ /\s+Diagnostic evidence:/iu,
18967
+ /\s+Last network error:/iu,
18968
+ /\s+Support code:/iu
18969
+ ];
18970
+ const ACTION_SENTENCE_RE = /^(?:After\b|Check\b|Choose\b|Close\b|Connect\b|Contact\b|Continue\b|Copy\b|Finish\b|Free\b|Go\b|Make sure\b|Open\b|Reconnect\b|Remove\b|Restart\b|Run\b|Select\b|Sign in\b|Start\b|Stop\b|Try\b|Turn off\b|Turn on\b|Update\b|Use\b|Wait\b)/iu;
18971
+ const SENTENCE_BOUNDARY_RE = /(?<=[.!?])\s+(?=[A-Z`])/u;
18972
+ function buildHumanErrorCopy(message) {
18973
+ const sentences = splitSentences(stripTechnicalErrorDetail(message));
18974
+ return {
18975
+ summary: sentences[0] ?? "OpenMeld couldn't finish that.",
18976
+ nextStep: sentences.slice(1).find((sentence) => ACTION_SENTENCE_RE.test(sentence)) ?? null
18977
+ };
18978
+ }
18979
+ function renderHumanErrorCard(input) {
18980
+ const copy = buildHumanErrorCopy(input.message);
18981
+ const explicitNextStep = input.nextStep ? buildHumanErrorCopy(input.nextStep) : null;
18982
+ renderInfoCard({
18983
+ codePrefix: input.codePrefix,
18984
+ compact: true,
18985
+ minContentWidth: 48,
18986
+ presenter: input.presenter,
18987
+ rows: buildHumanErrorRows({
18988
+ ...copy,
18989
+ nextStep: explicitNextStep ? explicitNextStep.nextStep ?? explicitNextStep.summary : copy.nextStep
18990
+ }),
18991
+ sanitize: true,
18992
+ title: input.title ?? "OpenMeld couldn't finish"
18993
+ });
18994
+ }
18995
+ function renderHumanTextErrorCard(input) {
18996
+ const copy = buildHumanErrorCopy(input.message);
18997
+ renderTextInfoCard({
18998
+ compact: true,
18999
+ emitLine: input.emitLine,
19000
+ minContentWidth: 48,
19001
+ rows: buildHumanErrorRows(copy),
19002
+ sanitize: true,
19003
+ title: input.title ?? "OpenMeld couldn't finish"
19004
+ });
19005
+ }
19006
+ function buildHumanErrorRows(copy) {
19007
+ return [{
19008
+ label: "What happened",
19009
+ value: copy.summary
19010
+ }, ...copy.nextStep ? [{
19011
+ label: "Next",
19012
+ value: copy.nextStep
19013
+ }] : []];
19014
+ }
19015
+ function stripTechnicalErrorDetail(message) {
19016
+ let end = message.length;
19017
+ for (const marker of TECHNICAL_DETAIL_MARKERS) {
19018
+ const index = message.search(marker);
19019
+ if (index >= 0) end = Math.min(end, index);
19020
+ }
19021
+ return message.slice(0, end).replaceAll(/\s+/gu, " ").trim();
19022
+ }
19023
+ function splitSentences(message) {
19024
+ return message.split(SENTENCE_BOUNDARY_RE).map((sentence) => sentence.trim()).filter(Boolean);
19025
+ }
19026
+ //#endregion
18956
19027
  //#region src/local-service/lifecycle/current-daemon-version.ts
18957
19028
  function resolveCurrentDaemonExpectedVersion() {
18958
19029
  return package_default.version;
@@ -37068,9 +37139,9 @@ function createModelCatalogReadSession(input) {
37068
37139
  async function readModelCatalogOnce(baseUrl) {
37069
37140
  try {
37070
37141
  const [apiClient, baseUrlModule, clientFoundationModule] = await Promise.all([
37071
- import("./dist-D9smLL6A.js").then((n) => n.w),
37142
+ import("./dist-CJnq8AgJ.js").then((n) => n.w),
37072
37143
  import("./base-url-Cv9x5Es9.js").then((n) => n.n),
37073
- import("./api-client-foundation-CFHEblaZ.js").then((n) => n.t)
37144
+ import("./api-client-foundation-9MJAKRpy.js").then((n) => n.t)
37074
37145
  ]);
37075
37146
  if (typeof apiClient.createConfigApi !== "function") throw new Error("config api client is unavailable");
37076
37147
  const resolvedBaseUrl = baseUrl ?? await baseUrlModule.resolveBaseUrl();
@@ -41127,9 +41198,7 @@ function buildDaemonServiceRefreshPromptMessage() {
41127
41198
  return "Reconnect OpenMeld Service before this computer can receive local Wake work. OpenMeld can reconnect it for you now.";
41128
41199
  }
41129
41200
  function buildDaemonServiceRefreshNextStep() {
41130
- const repairCommand = formatDaemonServiceRefreshCommand();
41131
- const statusCommand = formatDaemonServiceStatusCommand();
41132
- return `${DAEMON_SERVICE_REFRESH_SUMMARY} Run \`${repairCommand}\`. If Wake or readiness still looks wrong after setup, run \`${statusCommand}\`.`;
41201
+ return `Run \`${formatDaemonServiceRefreshCommand()}\` to repair OpenMeld Service.`;
41133
41202
  }
41134
41203
  function buildDaemonServiceStatusReadOnlyDetail() {
41135
41204
  return "Status is read-only. It does not change OpenMeld Service.";
@@ -41161,10 +41230,6 @@ function formatDaemonServiceUpdateCommand() {
41161
41230
  const [updateCommand] = formatOpenMeldCliCommands([DAEMON_SERVICE_SETUP_COMMAND]);
41162
41231
  return updateCommand;
41163
41232
  }
41164
- function formatDaemonServiceStatusCommand() {
41165
- const [statusCommand] = formatOpenMeldCliCommands(["openmeld service status"]);
41166
- return statusCommand;
41167
- }
41168
41233
  //#endregion
41169
41234
  //#region src/system/service-readiness-resolver.ts
41170
41235
  const SERVICE_LOCK_ANOMALY_CODES = /* @__PURE__ */ new Set([
@@ -42466,6 +42531,7 @@ async function executeDaemonServiceLifecycle(input) {
42466
42531
  input.state.failureStage = "install_bundle";
42467
42532
  await input.emitPhase("install_bundle");
42468
42533
  const preparedBundle = input.preparedBundle;
42534
+ await rotateDaemonControlPlaneTokenIfExpired();
42469
42535
  await activateDaemonServiceBundle(preparedBundle);
42470
42536
  await installDaemon({
42471
42537
  daemonVersion: input.expectedVersion,
@@ -45835,7 +45901,7 @@ function createSpaceMenuGuideError() {
45835
45901
  "openmeld space [--gateway-url <url>] create [--profile <profile-id>] --name <name> --visibility <public|private> [--guide <text>] [--password <value>] [--join|--no-join] [--output text|ndjson]",
45836
45902
  "openmeld space [--gateway-url <url>] join [--profile <profile-id>] <space-id> [--password <value>] [--local-echo|--no-local-echo] [--history-limit <n>] [--role <text>] [--mention-alias <token>] [--output text|ndjson]",
45837
45903
  "openmeld space [--gateway-url <url>] watch [--profile <profile-id>] <space-id> [--password <value>] [--history-limit <n>] [--output text|ndjson]",
45838
- "openmeld space [--gateway-url <url>] send [--profile <profile-id>] <space-id> [<text...>|--stdin|--file <path>] [--plain] [--password <value>]",
45904
+ "openmeld space [--gateway-url <url>] send [--profile <profile-id>] <space-id> [<text...>|--stdin|--text-file <path>] [--file <path>...] [--plain] [--password <value>]",
45839
45905
  SPACE_HISTORY_USAGE,
45840
45906
  "openmeld space [--gateway-url <url>] contract [--profile <profile-id>] <space-id> [--json] [--password <value>]",
45841
45907
  SPACE_CONTRACT_SET_USAGE,
@@ -46118,13 +46184,15 @@ function createSpaceDeleteHumanApprovalGuideError(summary) {
46118
46184
  }
46119
46185
  function createSpaceSubcommandTargetGuideError(command) {
46120
46186
  const requiredArgsByCommand = {
46121
- send: ["<space-id>", "one input source: <text...> | --stdin | --file <path>"],
46187
+ send: ["<space-id>", "message text and/or --file <path>"],
46122
46188
  history: ["<space-id>"],
46123
46189
  thread: ["<space-id>", "<thread-id>"],
46124
46190
  password: ["<space-id>", "one action: --password <value> | --clear"]
46125
46191
  };
46126
46192
  const optionalArgsByCommand = {
46127
46193
  send: [
46194
+ "--file <path> (repeatable, max 10)",
46195
+ "--text-file <path>",
46128
46196
  "--password <value>",
46129
46197
  SPACE_GATEWAY_PARENT_OPTION_TEXT,
46130
46198
  "--profile <profile-id>"
@@ -46150,7 +46218,7 @@ function createSpaceSubcommandTargetGuideError(command) {
46150
46218
  password: [SPACE_GATEWAY_PARENT_OPTION_TEXT, "--profile <profile-id>"]
46151
46219
  };
46152
46220
  const commandByCommand = {
46153
- send: "openmeld space [--gateway-url <url>] send [--profile <profile-id>] <space-id> [<text...>|--stdin|--file <path>] [--plain] [--password <value>]",
46221
+ send: "openmeld space [--gateway-url <url>] send [--profile <profile-id>] <space-id> [<text...>|--stdin|--text-file <path>] [--file <path>...] [--plain] [--password <value>]",
46154
46222
  history: SPACE_HISTORY_USAGE,
46155
46223
  thread: "openmeld space [--gateway-url <url>] thread [--profile <profile-id>] <space-id> <thread-id> [--password <value>]",
46156
46224
  password: "openmeld space [--gateway-url <url>] password [--profile <profile-id>] <space-id> (--password <value>|--clear)"
@@ -46305,21 +46373,27 @@ function createSpaceSendInputRequiredGuideError() {
46305
46373
  return new DualViewGuideError({
46306
46374
  code: "send.input.required",
46307
46375
  guide: {
46308
- summary: "openmeld space send requires one input source: <text...> or --stdin or --file <path>.",
46376
+ summary: "openmeld space send requires message text or at least one --file <path>.",
46309
46377
  humanSteps: [
46310
46378
  "Use quick text: openmeld space send <space-id> \"hello\"",
46311
46379
  "Or pipe stdin: echo 'hello' | openmeld space send <space-id> --stdin",
46312
- "Or send file: openmeld space send <space-id> --file /tmp/message.txt"
46380
+ "Or read message text from a file: openmeld space send <space-id> --text-file /tmp/message.txt",
46381
+ "Or share a file without filler text: openmeld space send <space-id> --file /tmp/launch-brief.pdf"
46313
46382
  ],
46314
46383
  agentRequiredArgs: ["exactly one input source"],
46315
46384
  agentOptionalArgs: [SPACE_GATEWAY_PARENT_OPTION_TEXT, "--profile <profile-id>"],
46316
46385
  agentCommands: [
46317
46386
  "openmeld space send --profile <profile-id> <space-id> \"hello\"",
46318
46387
  "cat /tmp/message.txt | openmeld space send --profile <profile-id> <space-id> --stdin",
46319
- "openmeld space send --profile <profile-id> <space-id> --file /tmp/message.txt",
46388
+ "openmeld space send --profile <profile-id> <space-id> --text-file /tmp/message.txt",
46389
+ "openmeld space send --profile <profile-id> <space-id> --file /tmp/launch-brief.pdf",
46320
46390
  "openmeld space send --profile <profile-id> <space-id> --plain \"literal @Agent(wake) text\""
46321
46391
  ],
46322
- notes: ["Prefer --stdin/--file for multiline or shell-sensitive content.", "Use --plain only when @Name(wake) or @Name(reference) should be sent as literal text."]
46392
+ notes: [
46393
+ "Prefer --stdin/--text-file for multiline or shell-sensitive message text.",
46394
+ "Use repeatable --file options to share up to 10 Space Files with or without message text.",
46395
+ "Use --plain only when @Name(wake) or @Name(reference) should be sent as literal text."
46396
+ ]
46323
46397
  }
46324
46398
  });
46325
46399
  }
@@ -46327,16 +46401,20 @@ function createSpaceSendInputConflictGuideError() {
46327
46401
  return new DualViewGuideError({
46328
46402
  code: "send.input.conflict",
46329
46403
  guide: {
46330
- summary: "openmeld space send received conflicting input sources. Use exactly one of: <text...>, --stdin, --file <path>.",
46404
+ summary: "openmeld space send received conflicting message text sources. Use only one of: <text...>, --stdin, --text-file <path>.",
46331
46405
  humanSteps: ["Pick only one source per command.", "Remove extra input flags and retry."],
46332
46406
  agentRequiredArgs: ["exactly one input source"],
46333
46407
  agentCommands: [
46334
46408
  "openmeld space send --profile <profile-id> <space-id> \"hello\"",
46335
46409
  "openmeld space send --profile <profile-id> <space-id> --stdin",
46336
- "openmeld space send --profile <profile-id> <space-id> --file /tmp/message.txt",
46410
+ "openmeld space send --profile <profile-id> <space-id> --text-file /tmp/message.txt",
46337
46411
  "openmeld space send --profile <profile-id> <space-id> --plain \"literal @Agent(wake) text\""
46338
46412
  ],
46339
- notes: ["Do not combine text with --stdin/--file.", "Use --plain only when @Name(wake) or @Name(reference) should be sent as literal text."]
46413
+ notes: [
46414
+ "Do not combine positional text with --stdin or --text-file.",
46415
+ "A --file attachment may be combined with any one message text source.",
46416
+ "Use --plain only when @Name(wake) or @Name(reference) should be sent as literal text."
46417
+ ]
46340
46418
  }
46341
46419
  });
46342
46420
  }
@@ -46346,11 +46424,11 @@ function createSpaceSendInputFileReadFailedGuideError(path, reason) {
46346
46424
  guide: {
46347
46425
  summary: `failed to read send input file: ${path}`,
46348
46426
  humanSteps: ["Check file path and permissions.", "Retry with a readable UTF-8 text file."],
46349
- agentRequiredArgs: ["--file <path> must exist and be readable"],
46427
+ agentRequiredArgs: ["--text-file <path> must exist and be readable"],
46350
46428
  agentCommands: [
46351
46429
  "ls -l <path>",
46352
46430
  "cat <path>",
46353
- "openmeld space send --profile <profile-id> <space-id> --file <path>"
46431
+ "openmeld space send --profile <profile-id> <space-id> --text-file <path>"
46354
46432
  ],
46355
46433
  notes: [`read error: ${reason}`]
46356
46434
  }
@@ -46465,7 +46543,7 @@ function normalizeGuideExample(value, fallback) {
46465
46543
  }
46466
46544
  function createSpaceAliasTargetGuideError(command) {
46467
46545
  const requiredArgsByCommand = {
46468
- send: ["--space <space-id>", "one input source: <text...> | --stdin | --file <path>"],
46546
+ send: ["--space <space-id>", "message text and/or --file <path>"],
46469
46547
  tail: ["--space <space-id>"]
46470
46548
  };
46471
46549
  const optionalArgsByCommand = {
@@ -46474,7 +46552,8 @@ function createSpaceAliasTargetGuideError(command) {
46474
46552
  "--base-url <url>",
46475
46553
  "--password <value>",
46476
46554
  "--stdin",
46477
- "--file <path>"
46555
+ "--text-file <path>",
46556
+ "--file <path> (repeatable, max 10)"
46478
46557
  ],
46479
46558
  tail: [
46480
46559
  "--profile <id>",
@@ -46485,11 +46564,11 @@ function createSpaceAliasTargetGuideError(command) {
46485
46564
  ]
46486
46565
  };
46487
46566
  const commandByAlias = {
46488
- send: "openmeld send [<text...>|--stdin|--file <path>] --space <space-id> [--plain] [--password <value>] [--profile <id>] [--base-url <url>]",
46567
+ send: "openmeld send [<text...>|--stdin|--text-file <path>] [--file <path>...] --space <space-id> [--plain] [--password <value>] [--profile <id>] [--base-url <url>]",
46489
46568
  tail: "openmeld tail --space <space-id> [--limit <n>] [--after-signal <signal-id>] [--around-signal <signal-id> --before <n> --after <n>] [--from-profile <profile-id>] [--kind <text|status|system_notice>] [--json] [--password <value>] [--profile <id>] [--base-url <url>]"
46490
46569
  };
46491
46570
  const preferredCommand = {
46492
- send: "openmeld space [--gateway-url <url>] send [--profile <profile-id>] <space-id> [<text...>|--stdin|--file <path>] [--plain] [--password <value>]",
46571
+ send: "openmeld space [--gateway-url <url>] send [--profile <profile-id>] <space-id> [<text...>|--stdin|--text-file <path>] [--file <path>...] [--plain] [--password <value>]",
46493
46572
  tail: SPACE_HISTORY_USAGE
46494
46573
  };
46495
46574
  return new DualViewGuideError({
@@ -56064,6 +56143,7 @@ function resolveProviderConversationProofTimeoutMs(runtimeTimeoutMs) {
56064
56143
  const MAX_CONTROL_PLANE_REQUEST_SIZE_BYTES = 64 * 1024;
56065
56144
  async function startLocalDaemonControlPlaneServer(input) {
56066
56145
  const endpoint = input.endpoint ?? resolveDaemonControlPlaneEndpoint();
56146
+ const resolveExpectedToken = buildExpectedTokenResolver(input);
56067
56147
  if (process.platform !== "win32") await rm(endpoint, { force: true }).catch(() => void 0);
56068
56148
  const server = createServer((socket) => {
56069
56149
  let buffer = "";
@@ -56071,10 +56151,10 @@ async function startLocalDaemonControlPlaneServer(input) {
56071
56151
  const respond = (request) => {
56072
56152
  const requestId = readOptionalRequestId(request);
56073
56153
  buildResponse({
56074
- expectedToken: input.expectedToken,
56075
56154
  getContext: input.getContext,
56076
56155
  request,
56077
- requestId
56156
+ requestId,
56157
+ resolveExpectedToken
56078
56158
  }).then((response) => {
56079
56159
  socket.end(`${JSON.stringify(response)}\n`);
56080
56160
  });
@@ -56139,11 +56219,16 @@ async function startLocalDaemonControlPlaneServer(input) {
56139
56219
  }
56140
56220
  };
56141
56221
  }
56222
+ function buildExpectedTokenResolver(input) {
56223
+ if (input.resolveExpectedToken) return input.resolveExpectedToken;
56224
+ return () => input.expectedToken;
56225
+ }
56142
56226
  async function buildResponse(input) {
56143
56227
  try {
56228
+ const expectedToken = await input.resolveExpectedToken();
56144
56229
  return await buildAuthenticatedControlPlaneResponse({
56145
56230
  context: await input.getContext(),
56146
- expectedToken: input.expectedToken,
56231
+ expectedToken,
56147
56232
  request: input.request
56148
56233
  });
56149
56234
  } catch (error) {
@@ -56928,7 +57013,7 @@ function parseDispatchTask(input) {
56928
57013
  return {
56929
57014
  ...requiredFields,
56930
57015
  agentControllerConversationId,
56931
- attachments: payload.sourceSignalSnapshot?.attachments ?? [],
57016
+ ...resolveDispatchSourceFiles(payload),
56932
57017
  ...controllerSelection,
56933
57018
  deliveryRecoveryReason,
56934
57019
  defaultProjectId: normalizeOptionalText$44(payload.defaultProjectId) ?? null,
@@ -56962,6 +57047,12 @@ function parseDispatchTask(input) {
56962
57047
  contextIdMappingSpec
56963
57048
  };
56964
57049
  }
57050
+ function resolveDispatchSourceFiles(payload) {
57051
+ return {
57052
+ attachments: payload.sourceSignalSnapshot?.attachments ?? [],
57053
+ files: payload.sourceSignalSnapshot?.files ?? []
57054
+ };
57055
+ }
56965
57056
  function resolveDispatchTaskWorkingLanguage(payload) {
56966
57057
  return payload.workingLanguage ?? null;
56967
57058
  }
@@ -57091,10 +57182,23 @@ function renderDispatchPrompt(input) {
57091
57182
  if (centerAgentRoleSection) sections.push(centerAgentRoleSection);
57092
57183
  sections.push(["Current Wake message:", prompt].join("\n"));
57093
57184
  if (promptInput.imageAttachmentPromptSection) sections.push(promptInput.imageAttachmentPromptSection);
57185
+ const spaceFilesSection = renderSharedSpaceFilesSection(promptInput);
57186
+ if (spaceFilesSection) sections.push(spaceFilesSection);
57094
57187
  const completionSection = renderMandatoryCompletionSection(promptInput);
57095
57188
  if (completionSection) sections.push(completionSection);
57096
57189
  return sections.filter(Boolean).join("\n\n");
57097
57190
  }
57191
+ function renderSharedSpaceFilesSection(input) {
57192
+ const files = input.spaceFiles ?? [];
57193
+ if (files.length === 0) return null;
57194
+ const cliEntry = normalizeOptionalText$44(input.cliEntry) ?? "openmeld";
57195
+ return [
57196
+ "Files shared with this message (canonical Space Files):",
57197
+ ...files.map((file) => `- ${JSON.stringify(file.name)} — fileId=${file.fileId}, revision=${file.revision}, type=${file.mimeType}, size=${file.sizeBytes} bytes.`),
57198
+ "- Read or update these through the Space Files tools. The fileId and revision above identify the exact bytes that were sent.",
57199
+ `- For text, use \`${cliEntry} space files read ${input.spaceId} <file-id> --revision <revision> --profile ${input.targetProfileId} --view agent\`. For binary files, use \`${cliEntry} space files download ${input.spaceId} <file-id> --revision <revision> --output <path> --profile ${input.targetProfileId} --view agent\`.`
57200
+ ].join("\n");
57201
+ }
57098
57202
  function renderActivationIntentGate(input) {
57099
57203
  if (!resolveSpacePublicationRequirement(input.spaceContractSnapshot).allowedActions.includes("stay_silent")) return null;
57100
57204
  return [
@@ -62485,52 +62589,28 @@ function shouldOfferDaemonStartDecision(runtimeStatus) {
62485
62589
  }
62486
62590
  function buildDaemonStartDeferredCard() {
62487
62591
  return {
62488
- title: "OpenMeld Service Is Off",
62489
- rows: [
62490
- {
62491
- label: " Status",
62492
- value: "off for now"
62493
- },
62494
- {
62495
- label: "📡 Local Service Link",
62496
- value: "Off — OpenMeld Service is not connected for local Wake work."
62497
- },
62498
- {
62499
- label: "🔧 Next",
62500
- value: `Start later with \`${formatOpenMeldCliCommand(DAEMON_START_RUN_COMMAND)}\`.`
62501
- }
62502
- ]
62592
+ title: "OpenMeld Service is off",
62593
+ rows: [{
62594
+ label: "What happened",
62595
+ value: "OpenMeld Service isn't running."
62596
+ }, {
62597
+ label: "Next",
62598
+ value: `Start later with \`${formatOpenMeldCliCommand(DAEMON_START_RUN_COMMAND)}\`.`
62599
+ }]
62503
62600
  };
62504
62601
  }
62505
62602
  function buildDaemonStartNeedsAttentionCard(input) {
62603
+ const summaryCopy = buildHumanErrorCopy(input.summary);
62604
+ const explicitNextStep = input.nextStep ? buildHumanErrorCopy(input.nextStep).summary : null;
62506
62605
  return {
62507
- title: "⚠️ OpenMeld Service Needs Attention",
62508
- rows: [
62509
- {
62510
- label: "❌ Status",
62511
- value: "not running"
62512
- },
62513
- ...input.autoRepairAttempted ? [{
62514
- label: "🩹 Automatic Repair",
62515
- value: "OpenMeld tried one automatic repair automatically, but the service still needs help."
62516
- }] : [],
62517
- {
62518
- label: "📝 Found",
62519
- value: input.summary
62520
- },
62521
- ...input.detail ? [{
62522
- label: "🧾 Last local detail",
62523
- value: input.detail
62524
- }] : [],
62525
- {
62526
- label: "📡 Local Service Link",
62527
- value: "Off — OpenMeld Service is not connected for local Wake work."
62528
- },
62529
- {
62530
- label: "🔧 Next",
62531
- value: input.nextStep ?? buildDaemonServiceRefreshNextStep()
62532
- }
62533
- ]
62606
+ title: "OpenMeld Service couldn't start",
62607
+ rows: [{
62608
+ label: "What happened",
62609
+ value: summaryCopy.summary
62610
+ }, {
62611
+ label: "Next",
62612
+ value: explicitNextStep ?? summaryCopy.nextStep ?? buildDaemonServiceRefreshNextStep()
62613
+ }]
62534
62614
  };
62535
62615
  }
62536
62616
  function getDaemonStartStartedTitle() {
@@ -62611,14 +62691,12 @@ function buildSystemServiceStartupFailureReport(input) {
62611
62691
  }
62612
62692
  function buildSystemServiceStartupFailureReportFromVerdict(verdict, options) {
62613
62693
  const autoRepairAttempted = options?.autoRepairAttempted;
62614
- const { message, detail, jobDiagnostics, localMachineIssue } = verdict;
62615
- const localLogPath = getDaemonSystemServiceLogPath();
62694
+ const { message, jobDiagnostics, localMachineIssue } = verdict;
62616
62695
  if (localMachineIssue) {
62617
62696
  const card = buildDaemonStartNeedsAttentionCard({
62618
62697
  summary: localMachineIssue.summary,
62619
62698
  nextStep: localMachineIssue.primaryAction ?? "Open diagnostics.",
62620
- autoRepairAttempted,
62621
- detail: detail ?? localMachineIssue.diagnostics.detail ?? (jobDiagnostics ? formatDaemonServiceJobDiagnosticsEvidence(jobDiagnostics) : void 0)
62699
+ autoRepairAttempted
62622
62700
  });
62623
62701
  return {
62624
62702
  title: card.title,
@@ -62627,12 +62705,11 @@ function buildSystemServiceStartupFailureReportFromVerdict(verdict, options) {
62627
62705
  };
62628
62706
  }
62629
62707
  if (jobDiagnostics && isDaemonServiceBackgroundExecutionBlocked(jobDiagnostics)) {
62630
- const summary = "macOS is blocking the OpenMeld Service background item, so OpenMeld Service never launched.";
62708
+ const summary = "macOS didn't start OpenMeld Service.";
62631
62709
  const card = buildDaemonStartNeedsAttentionCard({
62632
62710
  summary,
62633
- nextStep: formatInlineOpenMeldCliCommands("Path A (recommended): open System Settings > General > Login Items & Extensions, enable the OpenMeld background item, then run `openmeld service start` again. Power users can audit Background Task Management with `sfltool dumpbtm`. Path B: if you would rather not change System Settings, open a separate terminal window, run `openmeld service start --mode foreground`, and keep that window open — but note OpenMeld Service stops the moment you close that window or restart your Mac, so Wake will not be received."),
62634
- autoRepairAttempted,
62635
- detail: detail ?? formatDaemonServiceJobDiagnosticsEvidence(jobDiagnostics)
62711
+ nextStep: formatInlineOpenMeldCliCommands("Open System Settings > General > Login Items & Extensions, turn on OpenMeld, then run `openmeld service start` again."),
62712
+ autoRepairAttempted
62636
62713
  });
62637
62714
  return {
62638
62715
  title: card.title,
@@ -62642,12 +62719,11 @@ function buildSystemServiceStartupFailureReportFromVerdict(verdict, options) {
62642
62719
  }
62643
62720
  const crashExitCode = jobDiagnostics ? readDaemonServiceJobCrashExitCode(jobDiagnostics) : null;
62644
62721
  if (jobDiagnostics && crashExitCode !== null) {
62645
- const summary = `OpenMeld Service launched but keeps exiting (launchd reports ${jobDiagnostics.runs} runs, last exit code ${crashExitCode}).`;
62722
+ const summary = "OpenMeld Service keeps stopping after it starts.";
62646
62723
  const card = buildDaemonStartNeedsAttentionCard({
62647
62724
  summary,
62648
- nextStep: formatInlineOpenMeldCliCommands(`Run \`openmeld service start --mode foreground\` to see the live error. The latest local service log is at \`${localLogPath}\`. If it still fails, run \`openmeld service repair\`.`),
62649
- autoRepairAttempted,
62650
- detail: detail ?? formatDaemonServiceJobDiagnosticsEvidence(jobDiagnostics)
62725
+ nextStep: formatInlineOpenMeldCliCommands("Run `openmeld service start --mode foreground` to see what stopped it."),
62726
+ autoRepairAttempted
62651
62727
  });
62652
62728
  return {
62653
62729
  title: card.title,
@@ -62658,9 +62734,8 @@ function buildSystemServiceStartupFailureReportFromVerdict(verdict, options) {
62658
62734
  if (isLaunchdBootstrapIosError$1(message)) {
62659
62735
  const card = buildDaemonStartNeedsAttentionCard({
62660
62736
  summary: "OpenMeld could not finish starting OpenMeld Service on this Mac.",
62661
- nextStep: formatInlineOpenMeldCliCommands(`Run \`launchctl enable gui/$(id -u)/${getDaemonServiceLaunchdLabel()}\`, then retry with \`openmeld service start\`. The latest local service log is at \`${localLogPath}\`. If it still fails, run \`openmeld service repair\`.`),
62662
- autoRepairAttempted,
62663
- detail: detail ?? void 0
62737
+ nextStep: formatInlineOpenMeldCliCommands(`Run \`launchctl enable gui/$(id -u)/${getDaemonServiceLaunchdLabel()}\`, then run \`openmeld service start\` again.`),
62738
+ autoRepairAttempted
62664
62739
  });
62665
62740
  return {
62666
62741
  title: card.title,
@@ -62671,9 +62746,8 @@ function buildSystemServiceStartupFailureReportFromVerdict(verdict, options) {
62671
62746
  if (isPermissionOrAuthorizationError(message)) {
62672
62747
  const card = buildDaemonStartNeedsAttentionCard({
62673
62748
  summary: "OpenMeld needs local OS permission before it can start OpenMeld Service.",
62674
- nextStep: formatInlineOpenMeldCliCommands(`Approve the local permission prompt or OS setting, then run \`openmeld service start\` again. The latest local service log is at \`${localLogPath}\`.`),
62675
- autoRepairAttempted,
62676
- detail: detail ?? void 0
62749
+ nextStep: formatInlineOpenMeldCliCommands("Approve the local permission prompt, then run `openmeld service start` again."),
62750
+ autoRepairAttempted
62677
62751
  });
62678
62752
  return {
62679
62753
  title: card.title,
@@ -62683,9 +62757,8 @@ function buildSystemServiceStartupFailureReportFromVerdict(verdict, options) {
62683
62757
  }
62684
62758
  const card = buildDaemonStartNeedsAttentionCard({
62685
62759
  summary: "OpenMeld could not finish starting OpenMeld Service.",
62686
- nextStep: formatInlineOpenMeldCliCommands(`Run \`openmeld service start --mode foreground\` to see the live error. The latest local service log is at \`${localLogPath}\`. If it still fails, run \`openmeld service repair\`.`),
62687
- autoRepairAttempted,
62688
- detail: detail ?? void 0
62760
+ nextStep: formatInlineOpenMeldCliCommands("Run `openmeld service start --mode foreground` to see what stopped it."),
62761
+ autoRepairAttempted
62689
62762
  });
62690
62763
  return {
62691
62764
  title: card.title,
@@ -63113,11 +63186,11 @@ async function runDaemonServiceParticipationRefresh(input) {
63113
63186
  });
63114
63187
  if (!(refreshOutcome.ok && (refreshOutcome.result === "already_healthy" || refreshOutcome.result === "completed") && refreshOutcome.serviceState === "running")) throw new Error(`OpenMeld Service refresh did not complete: ${refreshOutcome.result}`);
63115
63188
  } catch (error) {
63116
- renderDaemonStartNeedsAttention({
63117
- presenter: input.input.presenter,
63189
+ renderRefreshFailureIfVisible({
63118
63190
  codePrefix: input.codePrefix,
63191
+ presenter: input.input.presenter,
63119
63192
  summary: "OpenMeld Service was repaired, but it is not running yet. Local Wake work will keep waiting until OpenMeld Service starts. Run `openmeld service start`.",
63120
- autoRepairAttempted: true
63193
+ suppressed: input.input.suppressRefreshHumanResultCard === true
63121
63194
  });
63122
63195
  return {
63123
63196
  errorMessage: toErrorMessage$31(error),
@@ -63139,6 +63212,15 @@ async function runDaemonServiceParticipationRefresh(input) {
63139
63212
  });
63140
63213
  return { status: "needs_attention" };
63141
63214
  }
63215
+ function renderRefreshFailureIfVisible(input) {
63216
+ if (input.suppressed) return;
63217
+ renderDaemonStartNeedsAttention({
63218
+ autoRepairAttempted: true,
63219
+ codePrefix: input.codePrefix,
63220
+ presenter: input.presenter,
63221
+ summary: input.summary
63222
+ });
63223
+ }
63142
63224
  function shouldForceDaemonServiceReinstall(input) {
63143
63225
  return input.accountIssue !== void 0 || input.forceRefresh === true;
63144
63226
  }
@@ -68296,6 +68378,7 @@ function buildDispatchRuntimePrompt(input) {
68296
68378
  shouldInjectCenterAgentRoleTemplate: input.parsedTask.targetProfileIsCenterAgent,
68297
68379
  dispatchTriggerSource: input.parsedTask.dispatchTriggerSource,
68298
68380
  imageAttachmentPromptSection: input.imageAttachmentPreparation.promptSection,
68381
+ spaceFiles: input.parsedTask.files,
68299
68382
  mentionSourceProfileId: input.parsedTask.mentionSourceProfileId,
68300
68383
  mentionSourceProfileKind: input.parsedTask.mentionSourceProfileKind,
68301
68384
  mentionSourceMentionLabel: input.bootstrapContext.mentionSourceMentionLabel,
@@ -72887,10 +72970,9 @@ const runDaemonServiceLoop = async (input) => {
72887
72970
  }
72888
72971
  });
72889
72972
  const controlPlaneDaemonVersion = daemonServiceContract?.daemonVersion ?? "unknown";
72890
- const controlPlaneToken = await ensureDaemonControlPlaneToken();
72891
72973
  let requestAgentActivitySync = null;
72892
72974
  const controlPlaneServer = await startLocalDaemonControlPlaneServer({
72893
- expectedToken: controlPlaneToken,
72975
+ resolveExpectedToken: async () => await ensureDaemonControlPlaneToken(),
72894
72976
  getContext: async () => ({
72895
72977
  healthPayload: {
72896
72978
  checkedAt: nowIsoString(),
@@ -76066,18 +76148,9 @@ function buildDaemonReinstallFailureMessage(input) {
76066
76148
  const actionCommand = formatDaemonServiceMaintenanceCommand(input.action);
76067
76149
  const controlEndpointMissing = input.failureStage === "stop_or_drain" && input.errorCode === "daemon.control.endpoint_missing";
76068
76150
  if (input.resolvedView === "human" && input.includeDiagnosticDetails !== true) {
76069
- if (controlEndpointMissing) return formatInlineOpenMeldCliCommands([
76070
- `OpenMeld Service ${actionLabel} could not safely stop the existing Service because its control connection is missing.`,
76071
- "Run `openmeld service status` to check for local Agent work.",
76072
- `If none is running, run \`${actionCommand} --force\`.`,
76073
- "The force option stops the old Service process."
76074
- ].join(" "));
76075
- if (input.errorMessage.includes("test fixture identity")) return formatInlineOpenMeldCliCommands([
76076
- `OpenMeld Service ${actionLabel} failed because this production lane contains old test setup identity that cannot be reused.`,
76077
- "Rerun the setup command from OpenMeld Web so OpenMeld can write a fresh production service contract.",
76078
- "For diagnostics, run `openmeld service status --view agent`."
76079
- ].join(" "));
76080
- return formatInlineOpenMeldCliCommands(`OpenMeld Service ${actionLabel} failed. Run \`${actionCommand}\`. For diagnostics, run \`openmeld service status --view agent\`.`);
76151
+ if (controlEndpointMissing) return formatInlineOpenMeldCliCommands(`OpenMeld couldn't safely stop the running Service. After local Agent work finishes, run \`${actionCommand} --force\`.`);
76152
+ if (input.errorMessage.includes("test fixture identity")) return formatInlineOpenMeldCliCommands("OpenMeld couldn't use old setup data on this computer. Copy a new setup command from OpenMeld Web and run it.");
76153
+ return formatInlineOpenMeldCliCommands(`OpenMeld couldn't ${actionLabel} OpenMeld Service. Run \`${actionCommand}\` again.`);
76081
76154
  }
76082
76155
  const failureContext = formatDaemonFailureContextText({
76083
76156
  backupDataPath: input.backupDataPath,
@@ -76147,7 +76220,7 @@ function buildDaemonReinstallCurrentStateText(outcome, action) {
76147
76220
  switch (outcome.result) {
76148
76221
  case "already_healthy": return outcome.serviceState === "running" ? "OpenMeld Service is running in the background for this lane." : "OpenMeld Service is healthy and remains stopped because that is the saved state for this lane.";
76149
76222
  case "completed": return outcome.serviceState === "running" ? "OpenMeld Service is running in the background for this lane." : "OpenMeld Service is installed, but it is not running on this computer.";
76150
- case "stopped_safe": return formatInlineOpenMeldCliCommands("OpenMeld Service is installed at the current version and safely stopped for this lane. For diagnostics, run `openmeld service status --view agent`.");
76223
+ case "stopped_safe": return "OpenMeld Service is installed and stopped.";
76151
76224
  case "in_progress": {
76152
76225
  const details = [outcome.heldBy, outcome.startedAt].filter(Boolean);
76153
76226
  return details.length > 0 ? details.join(" • ") : `Another OpenMeld process is currently ${actionGerund} OpenMeld Service on this device.`;
@@ -76155,7 +76228,7 @@ function buildDaemonReinstallCurrentStateText(outcome, action) {
76155
76228
  case "downgrade_blocked": return `Installed OpenMeld Service: v${outcome.installedVersion}. This CLI requested: v${outcome.requestedVersion}.`;
76156
76229
  case "drain_timeout": return `The existing OpenMeld Service was left in place, and ${formatDaemonServiceMaintenanceActionLabel(action)} did not continue.`;
76157
76230
  case "start_blocked": return buildDaemonReinstallStartBlockedCurrentStateText(outcome);
76158
- case "start_failed": return formatInlineOpenMeldCliCommands("OpenMeld Service is installed, but it is not running for this lane. For diagnostics, run `openmeld service status --view agent`.");
76231
+ case "start_failed": return "OpenMeld Service is installed, but it isn't running.";
76159
76232
  default: throw new Error(`Unexpected daemon reinstall outcome while building current state: ${String(outcome)}`);
76160
76233
  }
76161
76234
  }
@@ -76339,11 +76412,8 @@ function summarizeDaemonReinstallJournalResult(outcome) {
76339
76412
  }
76340
76413
  };
76341
76414
  }
76342
- function buildDaemonReinstallUnexpectedStartSummary(error, action = "repair") {
76343
- const actionLabel = formatDaemonServiceMaintenanceActionLabel(action);
76344
- const detail = sanitizeSystemServiceErrorMessage$1(toErrorMessage$41(error));
76345
- if (!detail) return `OpenMeld hit a local start error right after service ${actionLabel}.`;
76346
- return `OpenMeld hit a local start error right after service ${actionLabel}: ${detail}`;
76415
+ function buildDaemonReinstallUnexpectedStartSummary(_error, action = "repair") {
76416
+ return `OpenMeld Service couldn't start after the ${formatDaemonServiceMaintenanceActionLabel(action)}.`;
76347
76417
  }
76348
76418
  function buildDaemonReinstallUnexpectedStartNextStep(action = "repair") {
76349
76419
  return formatInlineOpenMeldCliCommands(`Run \`openmeld service start --mode foreground\` to see the live error. The latest local service log is at \`${getDaemonSystemServiceLogPath()}\`. If it still fails, run \`${formatDaemonServiceMaintenanceCommand(action)}\` again.`);
@@ -80320,7 +80390,10 @@ async function resolveSpaceSendText(input) {
80320
80390
  const hasTextSource = textValue.length > 0;
80321
80391
  const hasFileSource = filePath.length > 0;
80322
80392
  const sourceCount = Number(hasTextSource) + Number(stdinEnabled) + Number(hasFileSource);
80323
- if (sourceCount === 0) throw createSpaceSendInputRequiredGuideError();
80393
+ if (sourceCount === 0) {
80394
+ if (input.allowEmpty) return "";
80395
+ throw createSpaceSendInputRequiredGuideError();
80396
+ }
80324
80397
  if (sourceCount > 1) throw createSpaceSendInputConflictGuideError();
80325
80398
  let resolvedText = textValue;
80326
80399
  if (hasFileSource) {
@@ -80332,7 +80405,7 @@ async function resolveSpaceSendText(input) {
80332
80405
  }
80333
80406
  }
80334
80407
  if (stdinEnabled) resolvedText = await (input.readFromStdin ?? readSpaceSendStdin)();
80335
- if (resolvedText.trim().length === 0) throw createSpaceSendInputEmptyGuideError();
80408
+ if (resolvedText.trim().length === 0 && !input.allowEmpty) throw createSpaceSendInputEmptyGuideError();
80336
80409
  return resolvedText;
80337
80410
  }
80338
80411
  function readSpaceSendFile(path) {
@@ -88860,8 +88933,8 @@ function rethrowCanonicalMentionSnapshotLoadFailure(error) {
88860
88933
  throw new Error(buildMembersSnapshotLoadFailureMessage(error), { cause: error });
88861
88934
  }
88862
88935
  function buildMembersSnapshotLoadFailureMessage(error) {
88863
- const prefix = "Cannot validate mention targets right now because current space members could not be loaded.";
88864
- const plainTextHint = "If you meant to send @Name(wake) or @Name(reference) as literal text, rerun with --plain.";
88936
+ const prefix = "OpenMeld couldn't check who your mentions refer to.";
88937
+ const plainTextHint = "Use --plain if you want to send the text without mentioning anyone.";
88865
88938
  const failure = toStructuredApiClientFailure(error);
88866
88939
  const details = [];
88867
88940
  if (failure.message.trim().length > 0) details.push(failure.message.trim());
@@ -101508,57 +101581,61 @@ async function leaveSpace(input) {
101508
101581
  });
101509
101582
  }
101510
101583
  //#endregion
101511
- //#region src/space/send-attachments.ts
101512
- var SpaceAttachmentCommandError = class extends Error {
101584
+ //#region src/space/send-files.ts
101585
+ var SpaceSendFileError = class extends Error {
101513
101586
  code;
101514
101587
  requestId;
101515
101588
  status;
101516
101589
  upstreamCode;
101517
101590
  constructor(input) {
101518
101591
  super(input.message, { cause: input.cause });
101519
- this.name = "SpaceAttachmentCommandError";
101592
+ this.name = "SpaceSendFileError";
101520
101593
  this.code = input.code;
101521
101594
  if (input.requestId) this.requestId = input.requestId;
101522
101595
  if (input.status !== null && input.status !== void 0) this.status = input.status;
101523
101596
  if (input.upstreamCode) this.upstreamCode = input.upstreamCode;
101524
101597
  }
101525
101598
  };
101526
- async function prepareRequestedSpaceSendAttachments(input) {
101527
- if (input.attachmentPaths.length > 0 && String(input.replyToSignalId ?? "").trim()) throw new SpaceAttachmentCommandError({
101528
- code: "space.attachment.thread_reply_not_supported",
101529
- message: "Attachments are not supported in Space thread replies yet. The message was not sent."
101530
- });
101531
- if (input.attachmentPaths.length > 4) throw new SpaceAttachmentCommandError({
101532
- code: "space.attachment.too_many",
101533
- message: `A Space message can include at most 4 attachments. The message was not sent.`
101599
+ async function prepareRequestedSpaceSendFiles(input) {
101600
+ if (input.filePaths.length > 10) throw new SpaceSendFileError({
101601
+ code: "space.file.too_many",
101602
+ message: `A Space message can include at most 10 files. The message was not sent.`
101534
101603
  });
101535
101604
  const prepared = [];
101536
- for (const rawPath of input.attachmentPaths) {
101537
- if (!rawPath.trim()) throw new SpaceAttachmentCommandError({
101538
- code: "space.attachment.invalid_path",
101539
- message: "Attachment paths cannot be empty. The message was not sent."
101605
+ for (const rawPath of input.filePaths) {
101606
+ if (!rawPath.trim()) throw new SpaceSendFileError({
101607
+ code: "space.file.invalid_path",
101608
+ message: "File paths cannot be empty. The message was not sent."
101540
101609
  });
101541
- prepared.push(await prepareSpaceSendAttachment(rawPath));
101610
+ prepared.push(await prepareSpaceSendFile(rawPath));
101542
101611
  }
101543
101612
  return prepared;
101544
101613
  }
101545
- async function uploadPreparedSpaceAttachments(input) {
101614
+ async function uploadPreparedSpaceFiles(input) {
101546
101615
  const uploaded = [];
101547
- for (const attachment of input.attachments) try {
101548
- const descriptor = await input.spaceApi.uploadAttachment({
101549
- bytes: attachment.bytes,
101550
- fileName: attachment.fileName,
101551
- mimeType: attachment.mimeType,
101616
+ for (const file of input.files) try {
101617
+ const descriptor = await input.spaceApi.uploadFile({
101618
+ bytes: file.bytes,
101619
+ clientMutationId: crypto.randomUUID(),
101620
+ mimeType: file.mimeType,
101621
+ name: file.name,
101622
+ parentId: null,
101552
101623
  requestContext: input.requestContext,
101553
101624
  spaceId: input.spaceId,
101554
101625
  ...input.password === void 0 ? {} : { spacePassword: input.password }
101555
101626
  });
101556
- uploaded.push(projectSpaceMessageAttachment(descriptor));
101627
+ uploaded.push({
101628
+ fileId: descriptor.id,
101629
+ revision: descriptor.latestRevision.revision,
101630
+ name: descriptor.name,
101631
+ mimeType: descriptor.latestRevision.mimeType,
101632
+ sizeBytes: descriptor.latestRevision.sizeBytes
101633
+ });
101557
101634
  } catch (error) {
101558
101635
  const failure = toStructuredApiClientFailure(error);
101559
- throw new SpaceAttachmentCommandError({
101560
- code: failure.code ?? "space.attachment.upload_failed",
101561
- message: `Could not upload attachment "${attachment.fileName}". The Space message was not sent. ${failure.message}`,
101636
+ throw new SpaceSendFileError({
101637
+ code: failure.code ?? "space.file.upload_failed",
101638
+ message: `Could not add file "${file.name}" to this Space. The message was not sent. ${failure.message}`,
101562
101639
  cause: error,
101563
101640
  requestId: failure.requestId,
101564
101641
  status: failure.status,
@@ -101567,52 +101644,43 @@ async function uploadPreparedSpaceAttachments(input) {
101567
101644
  }
101568
101645
  return uploaded;
101569
101646
  }
101570
- async function prepareSpaceSendAttachment(sourcePath) {
101647
+ async function prepareSpaceSendFile(sourcePath) {
101571
101648
  let bytes;
101572
101649
  try {
101573
101650
  bytes = await readFile(sourcePath);
101574
101651
  } catch (error) {
101575
- if (readNodeErrorCode(error) === "ENOENT") throw new SpaceAttachmentCommandError({
101576
- code: "space.attachment.file_not_found",
101577
- message: `Attachment file not found: ${sourcePath}. The message was not sent.`,
101652
+ if (readNodeErrorCode(error) === "ENOENT") throw new SpaceSendFileError({
101653
+ code: "space.file.file_not_found",
101654
+ message: `File not found: ${sourcePath}. The message was not sent.`,
101578
101655
  cause: error
101579
101656
  });
101580
- throw new SpaceAttachmentCommandError({
101581
- code: "space.attachment.file_unreadable",
101582
- message: `Could not read attachment file: ${sourcePath}. The message was not sent.`,
101657
+ throw new SpaceSendFileError({
101658
+ code: "space.file.file_unreadable",
101659
+ message: `Could not read file: ${sourcePath}. The message was not sent.`,
101583
101660
  cause: error
101584
101661
  });
101585
101662
  }
101586
- if (bytes.byteLength === 0) throw new SpaceAttachmentCommandError({
101587
- code: "space.attachment.empty_file",
101588
- message: `Attachment file is empty: ${sourcePath}. The message was not sent.`
101589
- });
101590
- if (bytes.byteLength > 5242880) throw new SpaceAttachmentCommandError({
101591
- code: "space.attachment.too_large",
101592
- message: `Attachment exceeds the ${formatAttachmentSizeLimit()} limit: ${sourcePath}. The message was not sent.`
101593
- });
101594
- const mimeType = detectSpaceAttachmentMimeType(bytes);
101595
- if (!mimeType) throw new SpaceAttachmentCommandError({
101596
- code: "space.attachment.unsupported_type",
101597
- message: `Only JPEG and PNG attachments are supported: ${sourcePath}. The message was not sent.`
101663
+ if (bytes.byteLength > 10485760) throw new SpaceSendFileError({
101664
+ code: "space.file.too_large",
101665
+ message: `File exceeds the ${formatFileSizeLimit()} limit: ${sourcePath}. The message was not sent.`
101598
101666
  });
101599
- const fileNameResult = spaceAttachmentFileNameSchema.safeParse(sourcePath);
101600
- if (!fileNameResult.success) throw new SpaceAttachmentCommandError({
101601
- code: "space.attachment.invalid_file_name",
101602
- message: `Attachment file name is invalid: ${sourcePath}. The message was not sent.`
101667
+ const parsedName = spaceFileNameSchema.safeParse(basename(sourcePath));
101668
+ if (!parsedName.success) throw new SpaceSendFileError({
101669
+ code: "space.file.invalid_file_name",
101670
+ message: `File name is invalid: ${sourcePath}. The message was not sent.`
101603
101671
  });
101604
101672
  return {
101605
101673
  bytes,
101606
- fileName: fileNameResult.data,
101607
- mimeType
101674
+ name: parsedName.data,
101675
+ mimeType: resolveSpaceFileMimeType({ fileName: parsedName.data })
101608
101676
  };
101609
101677
  }
101610
101678
  function readNodeErrorCode(error) {
101611
101679
  if (!(error && typeof error === "object" && "code" in error)) return null;
101612
101680
  return typeof error.code === "string" ? error.code : null;
101613
101681
  }
101614
- function formatAttachmentSizeLimit() {
101615
- return `${SPACE_ATTACHMENT_MAX_SIZE_BYTES / (1024 * 1024)} MiB`;
101682
+ function formatFileSizeLimit() {
101683
+ return `${SPACE_FILE_MAX_SIZE_BYTES / (1024 * 1024)} MiB`;
101616
101684
  }
101617
101685
  //#endregion
101618
101686
  //#region src/space/send.ts
@@ -101635,10 +101703,7 @@ async function runSend(input) {
101635
101703
  flag: "--reply-to",
101636
101704
  resolvedView: runtime.resolvedView
101637
101705
  });
101638
- const preparedAttachments = await prepareRequestedSpaceSendAttachments({
101639
- attachmentPaths: input.attachmentPaths ?? [],
101640
- replyToSignalId: input.replyToSignalId
101641
- });
101706
+ const preparedFiles = await prepareRequestedSpaceSendFiles({ filePaths: input.filePaths ?? [] });
101642
101707
  const owner = openMeldProfile.profileKind === "agent" ? String(openMeldProfile.ownerUserId ?? "").trim() : "";
101643
101708
  const ownerName = openMeldProfile.profileKind === "agent" ? String(openMeldProfile.ownerName ?? "").trim() : "";
101644
101709
  const profileIdentity = {
@@ -101649,7 +101714,10 @@ async function runSend(input) {
101649
101714
  ...owner ? { owner } : {},
101650
101715
  ...ownerName ? { ownerName } : {}
101651
101716
  };
101652
- const text = sanitizeText(input.text);
101717
+ const text = input.text.trim().length === 0 && preparedFiles.length > 0 ? {
101718
+ ok: true,
101719
+ value: ""
101720
+ } : sanitizeText(input.text);
101653
101721
  if (!text.ok) throw new Error(text.reason);
101654
101722
  assertNoRemovedCcSpaceAddressingSyntax(text.value);
101655
101723
  emitAgentSendProgress({
@@ -101659,7 +101727,10 @@ async function runSend(input) {
101659
101727
  summary: input.plainText ? "Preparing message text without Space mention parsing." : "Preparing message text and canonical Space mentions.",
101660
101728
  spaceId: space
101661
101729
  });
101662
- const { outboundMessageEnvelope, outboundText } = await resolveOutboundSubmission({
101730
+ const { outboundMessageEnvelope, outboundText } = text.value.length === 0 ? {
101731
+ outboundMessageEnvelope: void 0,
101732
+ outboundText: ""
101733
+ } : await resolveOutboundSubmission({
101663
101734
  openMeldProfile,
101664
101735
  password: input.password,
101665
101736
  plainText: input.plainText === true,
@@ -101684,14 +101755,14 @@ async function runSend(input) {
101684
101755
  }
101685
101756
  });
101686
101757
  const requestContext = buildOpenMeldRequestContextFromProfile({ openMeldProfile });
101687
- emitAttachmentUploadProgress({
101688
- attachmentCount: preparedAttachments.length,
101758
+ emitFileUploadProgress({
101759
+ fileCount: preparedFiles.length,
101689
101760
  presenter,
101690
101761
  resolvedView: runtime.resolvedView,
101691
101762
  spaceId: space
101692
101763
  });
101693
- const attachments = await uploadPreparedSpaceAttachments({
101694
- attachments: preparedAttachments,
101764
+ const files = await uploadPreparedSpaceFiles({
101765
+ files: preparedFiles,
101695
101766
  password: input.password,
101696
101767
  requestContext,
101697
101768
  spaceApi,
@@ -101714,13 +101785,14 @@ async function runSend(input) {
101714
101785
  replyToSignalId,
101715
101786
  outboundText,
101716
101787
  outboundMessageEnvelope,
101717
- clientMessageId
101788
+ clientMessageId,
101789
+ files
101718
101790
  }) : await spaceApi.postNormalMessage({
101719
101791
  spaceId: space,
101720
101792
  requestContext,
101721
101793
  ...input.password === void 0 ? {} : { spacePassword: input.password },
101722
101794
  text: outboundText,
101723
- ...toSpaceMessageAttachmentsField(attachments),
101795
+ ...toSpaceMessageFilesField(files),
101724
101796
  meta: { clientMessageId },
101725
101797
  ...outboundMessageEnvelope ? { messageEnvelope: outboundMessageEnvelope } : {}
101726
101798
  });
@@ -101728,8 +101800,8 @@ async function runSend(input) {
101728
101800
  code: "send.response",
101729
101801
  payload
101730
101802
  });
101731
- emitSentAttachmentResult({
101732
- attachmentCount: attachments.length,
101803
+ emitSentFileResult({
101804
+ fileCount: files.length,
101733
101805
  presenter,
101734
101806
  signalId: payload.id
101735
101807
  });
@@ -101759,6 +101831,7 @@ async function postReplyIntoThread(input) {
101759
101831
  body: {
101760
101832
  text: input.outboundText,
101761
101833
  clientMessageId: input.clientMessageId,
101834
+ ...toSpaceMessageFilesField(input.files),
101762
101835
  ...input.outboundMessageEnvelope ? { messageEnvelope: input.outboundMessageEnvelope } : {}
101763
101836
  }
101764
101837
  })).signal;
@@ -101915,26 +101988,26 @@ function emitAgentSendProgress(input) {
101915
101988
  }
101916
101989
  });
101917
101990
  }
101918
- function emitAttachmentUploadProgress(input) {
101919
- if (input.attachmentCount === 0) return;
101991
+ function emitFileUploadProgress(input) {
101992
+ if (input.fileCount === 0) return;
101920
101993
  emitAgentSendProgress({
101921
101994
  presenter: input.presenter,
101922
101995
  resolvedView: input.resolvedView,
101923
- stage: "upload_attachments",
101924
- summary: `Uploading ${input.attachmentCount} Space attachment${input.attachmentCount === 1 ? "" : "s"} before sending the message.`,
101996
+ stage: "upload_files",
101997
+ summary: `Adding ${input.fileCount} file${input.fileCount === 1 ? "" : "s"} to this Space before sending the message.`,
101925
101998
  spaceId: input.spaceId
101926
101999
  });
101927
102000
  }
101928
- function toSpaceMessageAttachmentsField(attachments) {
101929
- return attachments.length > 0 ? { attachments: [...attachments] } : {};
102001
+ function toSpaceMessageFilesField(files) {
102002
+ return files.length > 0 ? { files: [...files] } : {};
101930
102003
  }
101931
- function emitSentAttachmentResult(input) {
101932
- if (input.attachmentCount === 0) return;
102004
+ function emitSentFileResult(input) {
102005
+ if (input.fileCount === 0) return;
101933
102006
  input.presenter.line({
101934
- code: "send.attachments_sent",
101935
- text: `Sent Space message ${input.signalId} with ${input.attachmentCount} attachment${input.attachmentCount === 1 ? "" : "s"}.`,
102007
+ code: "send.files_sent",
102008
+ text: `Sent Space message ${input.signalId} with ${input.fileCount} file${input.fileCount === 1 ? "" : "s"}.`,
101936
102009
  data: {
101937
- attachmentCount: input.attachmentCount,
102010
+ fileCount: input.fileCount,
101938
102011
  signalId: input.signalId
101939
102012
  }
101940
102013
  });
@@ -102470,49 +102543,25 @@ function maybeRenderHumanSpaceCreateFailureCard(input) {
102470
102543
  });
102471
102544
  const parsed = parseHttpErrorMessage$2(input.error);
102472
102545
  if (!parsed) return false;
102473
- const payload = safeJsonParse$3(parsed.body);
102474
102546
  const authenticationFailure = resolveSpaceCreateAuthenticationFailureFromHttpError({
102475
102547
  parsed,
102476
- payload,
102548
+ payload: safeJsonParse$3(parsed.body),
102477
102549
  gatewayUrl: input.baseUrl
102478
102550
  });
102479
102551
  if (authenticationFailure) return renderHumanSpaceCreatePreflightBlockedCard({
102480
102552
  presenter: input.presenter,
102481
102553
  error: authenticationFailure
102482
102554
  });
102483
- const requestId = readHttpRequestId(payload);
102484
102555
  const guidance = resolveSpaceFailureGuidance(input.error);
102485
- const rows = [{
102486
- label: "Reason",
102487
- value: resolveHumanSpaceCreateFailureReason(parsed)
102488
- }];
102489
- if (guidance) rows.push({
102490
- label: "Next Step",
102491
- value: guidance.summary
102492
- });
102493
- rows.push({
102494
- label: "HTTP Status",
102495
- value: String(parsed.status)
102496
- });
102497
- if (parsed.code.length > 0) rows.push({
102498
- label: "Error Code",
102499
- value: parsed.code
102500
- });
102501
- if (requestId.length > 0) rows.push({
102502
- label: "Request ID",
102503
- value: requestId
102504
- });
102505
- if (parsed.message.length > 0) rows.push({
102506
- label: "Details",
102507
- value: parsed.message
102508
- });
102509
- renderInfoCard({
102556
+ let nextStep = "Check the Space details, then try again.";
102557
+ if (parsed.status >= 500) nextStep = "Try again in a moment.";
102558
+ if (guidance?.steps[0]) nextStep = `Run ${guidance.steps[0]}.`;
102559
+ renderHumanErrorCard({
102560
+ message: resolveHumanSpaceCreateFailureReason(parsed),
102561
+ nextStep,
102510
102562
  presenter: input.presenter,
102511
- title: "🚫 Space Create Failed",
102512
- codePrefix: "space.create.error.card",
102513
- rows,
102514
- sanitize: true,
102515
- minContentWidth: 76
102563
+ title: "Space couldn't be created",
102564
+ codePrefix: "space.create.error.card"
102516
102565
  });
102517
102566
  return true;
102518
102567
  }
@@ -102553,54 +102602,15 @@ function renderHumanSpaceCreatePreflightBlockedCard(input) {
102553
102602
  });
102554
102603
  return true;
102555
102604
  }
102556
- const rows = [{
102557
- label: "Reason",
102558
- value: input.error.reasonText
102559
- }, {
102560
- label: "Next Step",
102561
- value: input.error.nextStep
102562
- }];
102563
- appendSpaceCreatePreflightContextRows(rows, input.error);
102564
- appendSpaceCreatePreflightTechnicalRows(rows, input.error);
102565
- renderInfoCard({
102605
+ renderHumanErrorCard({
102606
+ message: input.error.reasonText,
102607
+ nextStep: input.error.nextStep,
102566
102608
  presenter: input.presenter,
102567
- title: "🚫 Space Create Blocked",
102568
- codePrefix: "space.create.preflight.card",
102569
- rows,
102570
- sanitize: true,
102571
- minContentWidth: 76
102609
+ title: "Space couldn't be created",
102610
+ codePrefix: "space.create.preflight.card"
102572
102611
  });
102573
102612
  return true;
102574
102613
  }
102575
- function appendSpaceCreatePreflightContextRows(rows, error) {
102576
- if (error.blockReason !== "auth_mismatch") return;
102577
- if (error.authBaseUrl) rows.push({
102578
- label: "Signed-In Auth",
102579
- value: error.authBaseUrl
102580
- });
102581
- rows.push({
102582
- label: "Gateway",
102583
- value: error.gatewayUrl
102584
- });
102585
- }
102586
- function appendSpaceCreatePreflightTechnicalRows(rows, error) {
102587
- if (error.httpStatus !== null) rows.push({
102588
- label: "HTTP Status",
102589
- value: String(error.httpStatus)
102590
- });
102591
- if (error.errorCode) rows.push({
102592
- label: "Error Code",
102593
- value: error.errorCode
102594
- });
102595
- if (error.requestId) rows.push({
102596
- label: "Request ID",
102597
- value: error.requestId
102598
- });
102599
- if (error.detailMessage) rows.push({
102600
- label: "Details",
102601
- value: error.detailMessage
102602
- });
102603
- }
102604
102614
  function resolveSpaceServiceUnavailableSummary() {
102605
102615
  return resolveSpaceFailureGuidance("upstream_unreachable")?.summary ?? "OpenMeld Cloud service is temporarily unavailable. Try again after OpenMeld is reachable.";
102606
102616
  }
@@ -104652,34 +104662,12 @@ function renderSpaceDeleteBatchFailureSummary(input) {
104652
104662
  const reason = resolveDeleteBatchFailureReason(input.failures);
104653
104663
  const failedTargets = summarizeFailedDeleteTargets(input.failures);
104654
104664
  if (input.resolvedView === "human") {
104655
- renderInfoCard({
104665
+ renderHumanErrorCard({
104666
+ message: `OpenMeld deleted ${String(input.deletedCount)} of ${String(input.totalCount)} Spaces, but couldn't delete ${failedTargets}: ${reason}`,
104667
+ nextStep: input.deletedCount > 0 ? "Try deleting those Spaces again." : "Try again in a moment.",
104656
104668
  presenter: input.presenter,
104657
- title: input.deletedCount > 0 ? "⚠️ Delete Partially Completed" : "🚫 Delete Failed",
104658
- codePrefix: "space.delete.batch_result",
104659
- rows: [
104660
- {
104661
- label: "Deleted",
104662
- value: `${String(input.deletedCount)} / ${String(input.totalCount)} space(s)`
104663
- },
104664
- {
104665
- label: "Not deleted",
104666
- value: `${String(failedCount)} space(s)`
104667
- },
104668
- {
104669
- label: "Reason",
104670
- value: reason
104671
- },
104672
- {
104673
- label: "Failed targets",
104674
- value: failedTargets
104675
- },
104676
- {
104677
- label: "Action",
104678
- value: input.deletedCount > 0 ? "Retry only the spaces that were not deleted." : "Retry in a moment."
104679
- }
104680
- ],
104681
- sanitize: true,
104682
- minContentWidth: 72
104669
+ title: input.deletedCount > 0 ? "Some Spaces weren't deleted" : "Spaces couldn't be deleted",
104670
+ codePrefix: "space.delete.batch_result"
104683
104671
  });
104684
104672
  return;
104685
104673
  }
@@ -106340,6 +106328,13 @@ function emitSpaceNoticeFailure(input) {
106340
106328
  if (input.noticeKind === "join") noticeLabel = input.failureCount === 1 ? "join notice" : "join notices";
106341
106329
  else if (input.failureCount === 1) noticeLabel = "removal notice";
106342
106330
  const message = input.firstFailure?.message ?? "unknown";
106331
+ if (input.presenter.view === "human") {
106332
+ input.presenter.line({
106333
+ code: input.summaryCode,
106334
+ text: `OpenMeld updated the Space members, but couldn't post ${String(input.failureCount)} ${noticeLabel}. The membership change is already saved.`
106335
+ });
106336
+ return;
106337
+ }
106343
106338
  input.presenter.line({
106344
106339
  code: input.summaryCode,
106345
106340
  text: `warn: failed to broadcast ${String(input.failureCount)} ${noticeLabel}: ${message}`,
@@ -106734,9 +106729,10 @@ async function runSpaceSend(input) {
106734
106729
  text: "Profile guard: keep profile consistent unless intentional switch."
106735
106730
  });
106736
106731
  const text = await resolveSpaceSendText({
106732
+ allowEmpty: (input.filePaths?.length ?? 0) > 0,
106737
106733
  text: input.text,
106738
106734
  stdin: input.stdin,
106739
- file: input.file
106735
+ file: input.textFile
106740
106736
  });
106741
106737
  if (runtime.resolvedView === "agent") {
106742
106738
  const workflowAckHint = resolveWorkflowAckHint(text);
@@ -106750,7 +106746,7 @@ async function runSpaceSend(input) {
106750
106746
  profile: openMeldProfile.openMeldProfileId,
106751
106747
  baseUrl,
106752
106748
  space: normalizedSpace,
106753
- attachmentPaths: input.attachmentPaths,
106749
+ filePaths: input.filePaths,
106754
106750
  password: input.password,
106755
106751
  plainText: input.plainText === true,
106756
106752
  replyToSignalId: input.replyToSignalId,
@@ -106873,31 +106869,12 @@ function isSpaceDeleteOwnerRestrictionError(input) {
106873
106869
  return code === "space.human_confirmation_required" || message.includes("owner human confirmation") || message.includes("only owner human can delete") || message.includes("only space creator can delete");
106874
106870
  }
106875
106871
  function renderHumanSpaceDeleteBlockedCard(input) {
106876
- const spaceName = normalizeDisplayValue(input.target.name, "untitled-space");
106877
- renderInfoCard({
106872
+ renderHumanErrorCard({
106873
+ message: "You can only delete a Space created by this profile or by one of your own agents.",
106874
+ nextStep: "Switch to the profile that created the Space, then try again.",
106878
106875
  presenter: input.presenter,
106879
- title: "🚫 Delete Blocked",
106880
- codePrefix: "space.delete.blocked",
106881
- rows: [
106882
- {
106883
- label: "Space",
106884
- value: spaceName
106885
- },
106886
- {
106887
- label: "Space ID",
106888
- value: input.target.space
106889
- },
106890
- {
106891
- label: "Reason",
106892
- value: "This human profile can only delete its own spaces or your owned agent-created spaces."
106893
- },
106894
- {
106895
- label: "Try",
106896
- value: "Switch to the human creator profile, or choose an agent-created space your user owns."
106897
- }
106898
- ],
106899
- sanitize: true,
106900
- minContentWidth: 64
106876
+ title: "Space couldn't be deleted",
106877
+ codePrefix: "space.delete.blocked"
106901
106878
  });
106902
106879
  }
106903
106880
  function normalizeDeleteConfirmationValue(value) {
@@ -106942,6 +106919,6 @@ function isHumanInteractiveSpaceRuntime(runtime) {
106942
106919
  return runtime.resolvedView === "human" && canUseInteractivePrompts(runtime);
106943
106920
  }
106944
106921
  //#endregion
106945
- export { formatTransportModeDisplay as $, formatOpenMeldCliCommands as $a, compareSemver as $i, canUseInteractivePrompts as $n, normalizeCustomProfileWorkspacePath as $r, readRecentDaemonDispatchJournalEvents as $t, prepareAuthenticatedSpaceCommandContext as A, buildHumanAuthenticationCard as Aa, listAgentControllerPermissionModeOptions as Ai, assertNoRemovedCcSpaceAddressingSyntax as An, renderTextInfoCard as Ao, formatDualViewGuideForDisplay as Ar, readDaemonStartFailureLogTailLines as At, runAgents as B, requestLocalAgentActivitySync as Ba, resetCurrentCommandCheckState as Bi, promptSearchSelect as Bn, cliJsonSkillsShowEnvelopeSchema as Bo, resolveServiceReadinessFromServiceStatus as Br, writeInstalledLocalComponentsSnapshot as Bt, buildFormalSignalReadPayload as C, resolveOpenMeldProfile as Ca, ensureDaemonRuntimePaths as Ci, submitRuntimeAgentControllerReports as Cn, runIfAgentActivityBindingGenerationIsCurrent as Co, registerSkillsTargetSelectionOptions as Cr, buildProfileWorkspacePresentation as Ct, isSpaceCommandOutputHandledError as D, getSelectedOpenMeldProfileId as Da, createAgentExecutionStatusDisplayRows as Di, resolveLocalAgentControllerReportDecision as Dn, enqueueControllerTaskLifecycleEventWhileLocked as Do, registerBuiltinAgentSelectionOptions as Dr, createDelayedSpinner as Dt, parseEnvelope as E, clearSelectedOpenMeldProfileId as Ea, buildAgentControllerRef as Ei, resolveLocalAgentControllerLaunchability as En, canonicalizeLocalProjectPath as Eo, registerAuthLoginRequestOptions as Er, emitDaemonAgentOverview as Et, prepareLocalAgentReadiness as F, getProfileDefaultView as Fa, resolveEvidenceSyncHealth as Fi, buildSpaceRoundReadProjection as Fn, outLine as Fo, areAllowedActionsEquivalent as Fr, readGatewayJsonResponse as Ft, runAgentsCustomUpdate as G, AGENT_ACTIVITY_INTEGRATION_OWNER as Ga, readCurrentObservedDaemonRuntimeStatus as Gi, assertDispatchOwnedRuntimePublicWriteAllowed as Gn, package_default as Go, formatHumanReplyReadinessReason as Gr, runSkillsCheck as Gt, runAgentsCustomAdd as H, registerAgentActivityRoute as Ha, inspectDaemonServiceInventory as Hi, runInteractivePrompt as Hn, organizationJoinLinkErrorResponseSchema as Ho, resolveCurrentReplyReadinessSnapshot as Hr, runDaemonServiceParticipationGate as Ht, buildReplyReadinessGuidance as I, setProfileDefaultView as Ia, resolveNativeAgentControllerPermissionModeForController as Ii, buildUpdatesReplyWorkflowProjection as In, cliBinaryDeltaPatchSchema as Io, buildAgentFacingPublicationModeGuideLines as Ir, readGatewayTextResponse as It, runAgentsEnable as J, readAgentActivityIntegrationStatus as Ja, readDaemonServiceJobCrashExitCode as Ji, writeDispatchSpaceActionRecord as Jn, resolveOpenClawLocalDiagnosticsValue as Jr, runSkillsUninstall as Jt, runAgentsDetect as K, defaultManagedIntegrationPaths as Ka, getDaemonSystemServiceLogPath as Ki, readDispatchOwnedRuntimeGuard as Kn, mapAgentReplyReadinessToLegacyAutoReply as Kr, runSkillsEnsure as Kt, resolveHumanControllerDisplayName as L, LocalProjectConnectionError as La, finishCurrentCommandCheckScope as Li, createSpaceMemberIdentityIndex as Ln, cliJsonOutputEnvelopeSchema as Lo, canonicalizeAllowedActions as Lr, toStructuredGatewayFailure as Lt, resolveSpaceAccessLabel as M, resolveAuthenticationGuidance as Ma, resolveAgentControllerPermissionModeForController as Mi, buildDispatchResultReplyWorkflowProjection as Mn, emitCliJsonEnvelope as Mo, formatAgentOverviewPayload as Mr, createCliSpaceApi as Mt, emitSpaceAgentOverview as N, resolveAuthenticationGuidanceFromError as Na, resolveAgentExecutionStatus as Ni, buildSignalIndex as Nn, errLine as No, OPENMELD_AGENT_MENTAL_MODEL_LINES as Nr, fetchSpaceMeta as Nt, assertFullSignalIdArgument as O, setSelectedOpenMeldProfileId as Oa, getAgentControllerPermissionModeDisplayMetadata as Oi, inspectSpaceCacheFile as On, readControllerTaskLifecycleOutboxHealth as Oo, buildAgentOverviewFromContract as Or, shouldEmitAgentOverview as Ot, emitSpaceCliAgentOverview as P, resolveAuthenticationGuidanceFromMessage as Pa, resolveAgentProfileEditCapabilities as Pi, buildSignalMessageReadProjection as Pn, outJsonLine as Po, SPACE_CONTRACT_ALLOWED_ACTION_ORDER as Pr, updateSpaceMeta as Pt, runAgentsShow as Q, formatOpenMeldCliCommand as Qa, buildNextVersionState as Qi, formatDaemonServiceMissingRecommendation as Qn, ensureOpenMeldManagedProfileWorkspace as Qr, readRuntimeReportingHealthState as Qt, persistAgentTransportSelection as R, validateLocalProjectConnectionPath as Ra, getCurrentCommandCheckState as Ri, formatRemovedCcRelationMessage as Rn, cliJsonSkillsListEnvelopeSchema as Ro, runDaemonServiceFullAlignment as Rr, parseJsonResponse$1 as Rt, buildFormalDispatchResultReadPayload as S, primeOpenMeldProfilesSessionCache as Sa, readRecentDaemonLifecycleEvents as Si, submitRuntimeAgentControllerReport as Sn, removeProjectConnection as So, SPACE_ADD_MEMBERS_PROGRESS_HEARTBEAT_MS as Sr, runDaemonUninstall as St, formatHumanReadTargetList as T, alignSelectedOpenMeldProfileStorage as Ta, resolveOpenMeldEnvironmentTarget as Ti, resolveLocalAgentControllerBlockerReasonCodes as Tn, unbindProject as To, registerDaemonControlTargetOptions as Tr, reconcileCliVersionView as Tt, runAgentsCustomList as U, resolveAgentActivityRouteForPath as Ua, resolveVersionChangeDirection as Ui, assessCliUpdate as Un, revokeOrganizationJoinLinkResponseSchema as Uo, formatAgentReplyReadinessLabel as Ur, runDaemonStartDecisionPrompt as Ut, runAgentsConfig as V, isAgentActivityRouteRegistered as Va, startCurrentCommandCheckScope as Vi, isReturnKeypress as Vn, getOrganizationJoinLinkResponseSchema as Vo, resolveDaemonServiceFreshnessWarning as Vr, resolveDaemonServiceParticipationStatus as Vt, runAgentsCustomRemove as W, unregisterAgentActivityRoute as Wa, readCurrentDaemonRuntimeContext as Wi, isCliUpdateCheckApplicable as Wn, compareAgentControllerRefsForDisplay as Wo, formatDeviceReplyReadinessLabel as Wr, collectSkillsReadinessSnapshot as Wt, runAgentsManage as X, uninstallAgentActivityIntegrations as Xa, buildInstallSelfJsonPayload as Xi, resolveElapsedTimeMs as Xn, createModelCatalogReadSession as Xr, ensureLocalSkills as Xt, runAgentsList as Y, resolveAgentActivityDispatcherCommand as Ya, resolveDaemonServiceManager as Yi, formatElapsedTime as Yn, syncProfileWorkspaceState as Yr, runSkillsUpdate as Yt, runAgentsRepair as Z, formatInlineOpenMeldCliCommands as Za, performManagedInstall as Zi, formatDaemonServiceDowngradeBlockedRecommendation as Zn, resolveProfileWorkspaceRuntime as Zr, readBundledOpenMeldCliSkillDocumentByPath as Zt, emitHumanReadSignalsTextProjection as _, resolveOpenMeldProfileOrNull as _a, getSetupFlowCopy as _i, formatServiceParticipationReadinessLabel as _n, removeProjectOutbox as _o, createStartAuthenticationGuideError as _r, runDaemonRunAfterEntryChecks as _t, runSpaceDelete as a, isBinaryDistribution as aa, describeProfileWorkspacePathValidationFailure as ai, runAuthLogin as an, syncLocalAgentActivity as ao, createSpaceAddMembersGuideError as ar, renderOpenMeldHeader as at, loadSpaceSignalIndexOrNull as b, deleteOpenMeldProfile as ba, classifyDaemonServiceRunStartability as bi, computeRetryDelayMs as bn, listProjectConnectionsWithStatus as bo, getCommandHintsFromContract as br, runDaemonStop as bt, runSpaceLeave as c, toStartBackgroundHelperExecutionCompatibility as ca, resolveAgentProfilePrimaryAgentControllerReport as ci, runAuthStatus as cn, readAgentActivityContextForPath as co, createSpaceLeaveGuideError as cr, resolveGatewayWebOrigin as ct, runSpaceRemoveMembers as d, formatMessage as da, listBuiltinAgentsRegistryEntries as di, formatActiveOrganizationLabel as dn, resolveObservedAgentActivityBinding as do, createSpaceRemoveMembersGuideError as dr, runDaemonAutostart as dt, ensureVersionStateReady as ea, readProfileWorkspaceConfig as ei, connectWebSocket as en, formatOpenMeldCliLine as eo, createDoctorFailedGuideError as er, postLocalParticipationMutationReconcile as et, runSpaceSend as f, parseCliViewMode as fa, notifyDaemonRouteCatalogChanged as fi, createProfileByKind as fn, normalizeSharedSessionTitle as fo, createSpaceResultGuideError as fr, runDaemonBackgroundStartForDecision as ft, buildHumanReadSignalsTranscriptItems as g, requireOpenMeldProfile as ga, buildOnboardingPlan as gi, ensureAgentProfileRuntimeBinding as gn, readAgentActivityOutboxHealth as go, createStartAgentIdentityGuideError as gr, runDaemonReinstall as gt, runSpaceWriteWithPasswordRetry as h, isSelectedOpenMeldProfileRequiredError as ha, buildDaemonRouteObservationPresentation as hi, promptTextEntry as hn, removeProjectInbox as ho, createSpaceUpdatesGuideError as hr, runDaemonInterrupt as ht, runSpaceCreate as i, writeVersionState as ia, validateCustomProfileWorkspacePath as ii, evaluateCommandAuthentication as in, resolveUserFacingCliEntryCommand as io, createResetConfirmationGuideError as ir, renderOpenMeldBrandBlockLines as it, resolveOpenMeldProfileForSpaceCommand as j, createAuthenticationError as ja, parseAgentControllerRef as ji, buildDispatchResultMessageReadProjection as jn, sanitizeTerminalDisplayText as jo, buildDualViewGuideMessage as jr, fetchSpaceUpdates as jt, assertValidSpaceIdTarget as k, buildAgentAuthenticationGuide as ka, getAgentControllerPermissionModeFieldLabel as ki, upsertSpaceConfig as kn, renderInfoCard as ko, DualViewGuideError as kr, runDaemonStartupPreflight as kt, runSpaceList as l, resolveCurrentDaemonExpectedVersion as la, listAgentTargetStates as li, buildAuthStatusRows as ln, removeAgentActivityContextCache as lo, createSpaceMenuGuideError as lr, resolveSpaceSendText as lt, runSpaceReadWithPasswordRetry as m, resolveViewProfileKey as ma, PREPARE_SESSION_RECONNECT_GRACE_MS as mi, resolveCreateProfileName as mn, enqueueAgentActivityHookEvent as mo, createSpaceTargetGuideError as mr, runDaemonInstall as mt, promptAndConfirmSpacePassword as n, fetchLatestPackageInfo as na, setCustomProfileWorkspace as ni, buildCommandAuthenticationPromptMessage as nn, formatProfileAwareOpenMeldCliCommands as no, createProfileCreateGuideError as nr, colorizeDisplayProfileLabel as nt, runSpaceHistory as o, resolveOpenMeldDistribution as oa, syncDeviceRuntimeStateProjection as oi, runAuthLogout as on, readDaemonServiceContract as oo, createSpaceAliasTargetGuideError as or, renderOpenMeldLogo as ot, runSpaceWatch as p, resolveRuntimeContext as pa, resolveLocalRegistryAgentIdFromAgentControllerRef as pi, resolveCreateProfileKind as pn, readCodexSessionTitles as po, createSpaceSubcommandTargetGuideError as pr, runDaemonCancel as pt, runAgentsDisable as q, installAgentActivityIntegrations as qa, isDaemonServiceJobNeverSpawned as qi, readDispatchSpaceActionContextFromEnv as qn, resolveGatewayChainReadiness as qr, runSkillsInstall as qt, runSpaceAddMembers as r, readVersionState as ra, setOpenMeldManagedProfileWorkspace as ri, ensureCommandAuthenticationOrCancel as rn, resolveSetupFollowUpCliEntryCommand as ro, createProfileMenuGuideError as rr, printOpenMeldBanner as rt, runSpaceJoin as s, resolveDaemonRuntimeContractCompatibility as sa, createPrimaryBindingReadSession as si, runAuthMenu as sn, upsertDaemonServiceContract as so, createSpaceContractSetGuideError as sr, renderOpenMeldTagline as st, buildCreateSpacePasswordPromptConfig as t, fetchLatestCliBinaryRelease as ta, resolveConfiguredProfileWorkspacePath as ti, assessServerRequiredVersion as tn, formatOpenMeldCliTextBlock as to, createProfileActionGuideError as tr, colorizeAgentLabel as tt, runSpacePassword as u, createPresenter as ua, reconcileNewRunnableBuiltinAgentsForSetup as ui, buildAuthStatusSnapshot as un, buildAgentActivityEvent as uo, createSpacePublicationSetGuideError as ur, runDaemon as ut, buildIdentityOnlyMembersSnapshotForReadProjection as v, createOpenMeldAgentProfile as va, buildDaemonServiceTargetSpec as vi, resolveServiceParticipationReadiness as vn, bindProject as vo, createUpgradeConfirmationGuideError as vr, runDaemonSnapshot as vt, buildHumanReplyContextSummary as w, updateOpenMeldProfile as wa, resolveDaemonDeviceId as wi, collectLocalAgentControllerInventory as wn, setDefaultProjectConnection as wo, getCliVersionInfo as wr, buildProfileWorkspaceRows as wt, toSpaceMetaUpsertInput as x, listOpenMeldProfiles as xa, classifyDaemonServiceWakeability as xi, submitProfileRuntimeAgentControllerReport as xn, migrateProjectBindingStore as xo, registerSpaceMemberSelectionOptions as xr, runDaemonTeardownStrict as xt, loadSpaceIdentityDirectoryOrNull as y, createOpenMeldHumanProfile as ya, resolveDaemonServiceAlignmentDecision as yi, assessActionParticipationCandidate as yn, listProjectBindings as yo, getCommandEntryContract as yr, runDaemonStatusFlow as yt, resolveAgentProfileSetup as z, LocalDaemonControlPlaneClientError as za, isCurrentCommandCheckScopeActive as zi, promptSearchMultiselect as zn, cliJsonSkillsLoadEnvelopeSchema as zo, formatDaemonFailureContextText as zr, resolveLocalComponentsStatus as zt };
106922
+ export { runAgentsRepair as $, readAgentActivityIntegrationStatus as $a, performManagedInstall as $i, formatDaemonServiceDowngradeBlockedRecommendation as $n, resolveProfileWorkspaceRuntime as $r, readBundledOpenMeldCliSkillDocumentByPath as $t, assertFullSignalIdArgument as A, alignSelectedOpenMeldProfileStorage as Aa, getAgentControllerPermissionModeDisplayMetadata as Ai, inspectSpaceCacheFile as An, unbindProject as Ao, buildAgentOverviewFromContract as Ar, shouldEmitAgentOverview as At, persistAgentTransportSelection as B, getProfileDefaultView as Ba, getCurrentCommandCheckState as Bi, formatRemovedCcRelationMessage as Bn, outLine as Bo, runDaemonServiceFullAlignment as Br, parseJsonResponse$1 as Bt, toSpaceMetaUpsertInput as C, createOpenMeldAgentProfile as Ca, classifyDaemonServiceWakeability as Ci, submitProfileRuntimeAgentControllerReport as Cn, bindProject as Co, registerSpaceMemberSelectionOptions as Cr, runDaemonTeardownStrict as Ct, formatHumanReadTargetList as D, primeOpenMeldProfilesSessionCache as Da, resolveOpenMeldEnvironmentTarget as Di, resolveLocalAgentControllerBlockerReasonCodes as Dn, removeProjectConnection as Do, registerDaemonControlTargetOptions as Dr, reconcileCliVersionView as Dt, buildHumanReplyContextSummary as E, listOpenMeldProfiles as Ea, resolveDaemonDeviceId as Ei, collectLocalAgentControllerInventory as En, migrateProjectBindingStore as Eo, getCliVersionInfo as Er, buildProfileWorkspaceRows as Et, emitSpaceAgentOverview as F, buildHumanAuthenticationCard as Fa, resolveAgentExecutionStatus as Fi, buildSignalIndex as Fn, renderTextInfoCard as Fo, OPENMELD_AGENT_MENTAL_MODEL_LINES as Fr, fetchSpaceMeta as Ft, runAgentsCustomList as G, requestLocalAgentActivitySync as Ga, resolveVersionChangeDirection as Gi, assessCliUpdate as Gn, cliJsonSkillsShowEnvelopeSchema as Go, formatAgentReplyReadinessLabel as Gr, runDaemonStartDecisionPrompt as Gt, runAgents as H, LocalProjectConnectionError as Ha, resetCurrentCommandCheckState as Hi, promptSearchSelect as Hn, cliJsonOutputEnvelopeSchema as Ho, resolveServiceReadinessFromServiceStatus as Hr, writeInstalledLocalComponentsSnapshot as Ht, emitSpaceCliAgentOverview as I, createAuthenticationError as Ia, resolveAgentProfileEditCapabilities as Ii, buildSignalMessageReadProjection as In, sanitizeTerminalDisplayText as Io, SPACE_CONTRACT_ALLOWED_ACTION_ORDER as Ir, updateSpaceMeta as It, runAgentsDetect as J, resolveAgentActivityRouteForPath as Ja, getDaemonSystemServiceLogPath as Ji, readDispatchOwnedRuntimeGuard as Jn, revokeOrganizationJoinLinkResponseSchema as Jo, mapAgentReplyReadinessToLegacyAutoReply as Jr, runSkillsEnsure as Jt, runAgentsCustomRemove as K, isAgentActivityRouteRegistered as Ka, readCurrentDaemonRuntimeContext as Ki, isCliUpdateCheckApplicable as Kn, getOrganizationJoinLinkResponseSchema as Ko, formatDeviceReplyReadinessLabel as Kr, collectSkillsReadinessSnapshot as Kt, prepareLocalAgentReadiness as L, resolveAuthenticationGuidance as La, resolveEvidenceSyncHealth as Li, buildSpaceRoundReadProjection as Ln, emitCliJsonEnvelope as Lo, areAllowedActionsEquivalent as Lr, readGatewayJsonResponse as Lt, prepareAuthenticatedSpaceCommandContext as M, getSelectedOpenMeldProfileId as Ma, listAgentControllerPermissionModeOptions as Mi, assertNoRemovedCcSpaceAddressingSyntax as Mn, enqueueControllerTaskLifecycleEventWhileLocked as Mo, formatDualViewGuideForDisplay as Mr, readDaemonStartFailureLogTailLines as Mt, resolveOpenMeldProfileForSpaceCommand as N, setSelectedOpenMeldProfileId as Na, parseAgentControllerRef as Ni, buildDispatchResultMessageReadProjection as Nn, readControllerTaskLifecycleOutboxHealth as No, buildDualViewGuideMessage as Nr, fetchSpaceUpdates as Nt, parseEnvelope as O, resolveOpenMeldProfile as Oa, buildAgentControllerRef as Oi, resolveLocalAgentControllerLaunchability as On, runIfAgentActivityBindingGenerationIsCurrent as Oo, registerAuthLoginRequestOptions as Or, emitDaemonAgentOverview as Ot, resolveSpaceAccessLabel as P, buildAgentAuthenticationGuide as Pa, resolveAgentControllerPermissionModeForController as Pi, buildDispatchResultReplyWorkflowProjection as Pn, renderInfoCard as Po, formatAgentOverviewPayload as Pr, createCliSpaceApi as Pt, runAgentsManage as Q, installAgentActivityIntegrations as Qa, buildInstallSelfJsonPayload as Qi, resolveElapsedTimeMs as Qn, createModelCatalogReadSession as Qr, ensureLocalSkills as Qt, buildReplyReadinessGuidance as R, resolveAuthenticationGuidanceFromError as Ra, resolveNativeAgentControllerPermissionModeForController as Ri, buildUpdatesReplyWorkflowProjection as Rn, errLine as Ro, buildAgentFacingPublicationModeGuideLines as Rr, readGatewayTextResponse as Rt, loadSpaceSignalIndexOrNull as S, resolveOpenMeldProfileOrNull as Sa, classifyDaemonServiceRunStartability as Si, computeRetryDelayMs as Sn, removeProjectOutbox as So, getCommandHintsFromContract as Sr, runDaemonStop as St, buildFormalSignalReadPayload as T, deleteOpenMeldProfile as Ta, ensureDaemonRuntimePaths as Ti, submitRuntimeAgentControllerReports as Tn, listProjectConnectionsWithStatus as To, registerSkillsTargetSelectionOptions as Tr, buildProfileWorkspacePresentation as Tt, runAgentsConfig as U, validateLocalProjectConnectionPath as Ua, startCurrentCommandCheckScope as Ui, isReturnKeypress as Un, cliJsonSkillsListEnvelopeSchema as Uo, resolveDaemonServiceFreshnessWarning as Ur, resolveDaemonServiceParticipationStatus as Ut, resolveAgentProfileSetup as V, setProfileDefaultView as Va, isCurrentCommandCheckScopeActive as Vi, promptSearchMultiselect as Vn, cliBinaryDeltaPatchSchema as Vo, formatDaemonFailureContextText as Vr, resolveLocalComponentsStatus as Vt, runAgentsCustomAdd as W, LocalDaemonControlPlaneClientError as Wa, inspectDaemonServiceInventory as Wi, runInteractivePrompt as Wn, cliJsonSkillsLoadEnvelopeSchema as Wo, resolveCurrentReplyReadinessSnapshot as Wr, runDaemonServiceParticipationGate as Wt, runAgentsEnable as X, AGENT_ACTIVITY_INTEGRATION_OWNER as Xa, readDaemonServiceJobCrashExitCode as Xi, writeDispatchSpaceActionRecord as Xn, package_default as Xo, resolveOpenClawLocalDiagnosticsValue as Xr, runSkillsUninstall as Xt, runAgentsDisable as Y, unregisterAgentActivityRoute as Ya, isDaemonServiceJobNeverSpawned as Yi, readDispatchSpaceActionContextFromEnv as Yn, compareAgentControllerRefsForDisplay as Yo, resolveGatewayChainReadiness as Yr, runSkillsInstall as Yt, runAgentsList as Z, defaultManagedIntegrationPaths as Za, resolveDaemonServiceManager as Zi, formatElapsedTime as Zn, syncProfileWorkspaceState as Zr, runSkillsUpdate as Zt, runSpaceWriteWithPasswordRetry as _, parseCliViewMode as _a, buildDaemonRouteObservationPresentation as _i, promptTextEntry as _n, normalizeSharedSessionTitle as _o, createSpaceUpdatesGuideError as _r, runDaemonInterrupt as _t, runSpaceDelete as a, readVersionState as aa, setOpenMeldManagedProfileWorkspace as ai, ensureCommandAuthenticationOrCancel as an, formatOpenMeldCliLine as ao, createProfileMenuGuideError as ar, printOpenMeldBanner as at, buildIdentityOnlyMembersSnapshotForReadProjection as b, isSelectedOpenMeldProfileRequiredError as ba, buildDaemonServiceTargetSpec as bi, resolveServiceParticipationReadiness as bn, removeProjectInbox as bo, createUpgradeConfirmationGuideError as br, runDaemonSnapshot as bt, runSpaceLeave as c, resolveOpenMeldDistribution as ca, syncDeviceRuntimeStateProjection as ci, runAuthLogout as cn, resolveSetupFollowUpCliEntryCommand as co, createSpaceAliasTargetGuideError as cr, renderOpenMeldLogo as ct, runSpaceRemoveMembers as d, resolveCurrentDaemonExpectedVersion as da, listAgentTargetStates as di, buildAuthStatusRows as dn, readDaemonServiceContract as do, createSpaceMenuGuideError as dr, resolveSpaceSendText as dt, buildNextVersionState as ea, ensureOpenMeldManagedProfileWorkspace as ei, readRuntimeReportingHealthState as en, resolveAgentActivityDispatcherCommand as eo, formatDaemonServiceMissingRecommendation as er, runAgentsShow as et, runSpaceSend as f, buildHumanErrorCopy as fa, reconcileNewRunnableBuiltinAgentsForSetup as fi, buildAuthStatusSnapshot as fn, upsertDaemonServiceContract as fo, createSpacePublicationSetGuideError as fr, runDaemon as ft, runSpaceReadWithPasswordRetry as g, formatMessage as ga, PREPARE_SESSION_RECONNECT_GRACE_MS as gi, resolveCreateProfileName as gn, resolveObservedAgentActivityBinding as go, createSpaceTargetGuideError as gr, runDaemonInstall as gt, uploadPreparedSpaceFiles as h, createPresenter as ha, resolveLocalRegistryAgentIdFromAgentControllerRef as hi, resolveCreateProfileKind as hn, buildAgentActivityEvent as ho, createSpaceSubcommandTargetGuideError as hr, runDaemonCancel as ht, runSpaceCreate as i, fetchLatestPackageInfo as ia, setCustomProfileWorkspace as ii, buildCommandAuthenticationPromptMessage as in, formatOpenMeldCliCommands as io, createProfileCreateGuideError as ir, colorizeDisplayProfileLabel as it, assertValidSpaceIdTarget as j, clearSelectedOpenMeldProfileId as ja, getAgentControllerPermissionModeFieldLabel as ji, upsertSpaceConfig as jn, canonicalizeLocalProjectPath as jo, DualViewGuideError as jr, runDaemonStartupPreflight as jt, isSpaceCommandOutputHandledError as k, updateOpenMeldProfile as ka, createAgentExecutionStatusDisplayRows as ki, resolveLocalAgentControllerReportDecision as kn, setDefaultProjectConnection as ko, registerBuiltinAgentSelectionOptions as kr, createDelayedSpinner as kt, runSpaceList as l, resolveDaemonRuntimeContractCompatibility as la, createPrimaryBindingReadSession as li, runAuthMenu as ln, resolveUserFacingCliEntryCommand as lo, createSpaceContractSetGuideError as lr, renderOpenMeldTagline as lt, prepareRequestedSpaceSendFiles as m, renderHumanTextErrorCard as ma, notifyDaemonRouteCatalogChanged as mi, createProfileByKind as mn, removeAgentActivityContextCache as mo, createSpaceResultGuideError as mr, runDaemonBackgroundStartForDecision as mt, promptAndConfirmSpacePassword as n, ensureVersionStateReady as na, readProfileWorkspaceConfig as ni, connectWebSocket as nn, formatInlineOpenMeldCliCommands as no, createDoctorFailedGuideError as nr, postLocalParticipationMutationReconcile as nt, runSpaceHistory as o, writeVersionState as oa, validateCustomProfileWorkspacePath as oi, evaluateCommandAuthentication as on, formatOpenMeldCliTextBlock as oo, createResetConfirmationGuideError as or, renderOpenMeldBrandBlockLines as ot, runSpaceWatch as p, renderHumanErrorCard as pa, listBuiltinAgentsRegistryEntries as pi, formatActiveOrganizationLabel as pn, readAgentActivityContextForPath as po, createSpaceRemoveMembersGuideError as pr, runDaemonAutostart as pt, runAgentsCustomUpdate as q, registerAgentActivityRoute as qa, readCurrentObservedDaemonRuntimeStatus as qi, assertDispatchOwnedRuntimePublicWriteAllowed as qn, organizationJoinLinkErrorResponseSchema as qo, formatHumanReplyReadinessReason as qr, runSkillsCheck as qt, runSpaceAddMembers as r, fetchLatestCliBinaryRelease as ra, resolveConfiguredProfileWorkspacePath as ri, assessServerRequiredVersion as rn, formatOpenMeldCliCommand as ro, createProfileActionGuideError as rr, colorizeAgentLabel as rt, runSpaceJoin as s, isBinaryDistribution as sa, describeProfileWorkspacePathValidationFailure as si, runAuthLogin as sn, formatProfileAwareOpenMeldCliCommands as so, createSpaceAddMembersGuideError as sr, renderOpenMeldHeader as st, buildCreateSpacePasswordPromptConfig as t, compareSemver as ta, normalizeCustomProfileWorkspacePath as ti, readRecentDaemonDispatchJournalEvents as tn, uninstallAgentActivityIntegrations as to, canUseInteractivePrompts as tr, formatTransportModeDisplay as tt, runSpacePassword as u, toStartBackgroundHelperExecutionCompatibility as ua, resolveAgentProfilePrimaryAgentControllerReport as ui, runAuthStatus as un, syncLocalAgentActivity as uo, createSpaceLeaveGuideError as ur, resolveGatewayWebOrigin as ut, buildHumanReadSignalsTranscriptItems as v, resolveRuntimeContext as va, buildOnboardingPlan as vi, ensureAgentProfileRuntimeBinding as vn, readCodexSessionTitles as vo, createStartAgentIdentityGuideError as vr, runDaemonReinstall as vt, buildFormalDispatchResultReadPayload as w, createOpenMeldHumanProfile as wa, readRecentDaemonLifecycleEvents as wi, submitRuntimeAgentControllerReport as wn, listProjectBindings as wo, SPACE_ADD_MEMBERS_PROGRESS_HEARTBEAT_MS as wr, runDaemonUninstall as wt, loadSpaceIdentityDirectoryOrNull as x, requireOpenMeldProfile as xa, resolveDaemonServiceAlignmentDecision as xi, assessActionParticipationCandidate as xn, readAgentActivityOutboxHealth as xo, getCommandEntryContract as xr, runDaemonStatusFlow as xt, emitHumanReadSignalsTextProjection as y, resolveViewProfileKey as ya, getSetupFlowCopy as yi, formatServiceParticipationReadinessLabel as yn, enqueueAgentActivityHookEvent as yo, createStartAuthenticationGuideError as yr, runDaemonRunAfterEntryChecks as yt, resolveHumanControllerDisplayName as z, resolveAuthenticationGuidanceFromMessage as za, finishCurrentCommandCheckScope as zi, createSpaceMemberIdentityIndex as zn, outJsonLine as zo, canonicalizeAllowedActions as zr, toStructuredGatewayFailure as zt };
106946
106923
 
106947
- //# sourceMappingURL=command-BL4XDrtV.js.map
106924
+ //# sourceMappingURL=command-CYApmFQW.js.map