openmeld 0.3.88 → 0.3.90

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 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-5W-darWf.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";
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-DXBncfSC.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-J50KvRbm.js";
6
6
  import { r as daemonServiceLaneSchema, t as daemonServiceContractSchema } from "./service-contract-DZWQdPz5.js";
7
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-DUX52_3N.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-73FalW41.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-CfNo8-pE.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,7 +34,7 @@ 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.88",
37
+ version: "0.3.90",
38
38
  openMeldReleaseDate: "2026-08-24",
39
39
  description: "OpenMeld CLI - https://openmeld.ai",
40
40
  license: "MIT",
@@ -2189,13 +2189,13 @@ async function migrateProjectBindingStore(input) {
2189
2189
  }));
2190
2190
  }
2191
2191
  function parseProjectBindingStore(value, path) {
2192
- if (isRecord$10(value) && typeof value.version === "number" && Number.isSafeInteger(value.version) && value.version > 3) throw new ProjectBindingStoreUpdateRequiredError(path, value.version);
2193
- if (!(isRecord$10(value) && (value.version === 1 || value.version === LEGACY_STORE_VERSION || value.version === 3) && Array.isArray(value.bindings))) throw new Error(`Project binding store is invalid: ${path}`);
2192
+ if (isRecord$9(value) && typeof value.version === "number" && Number.isSafeInteger(value.version) && value.version > 3) throw new ProjectBindingStoreUpdateRequiredError(path, value.version);
2193
+ if (!(isRecord$9(value) && (value.version === 1 || value.version === LEGACY_STORE_VERSION || value.version === 3) && Array.isArray(value.bindings))) throw new Error(`Project binding store is invalid: ${path}`);
2194
2194
  const storeVersion = value.version;
2195
2195
  const bindings = value.bindings.map((binding, index) => {
2196
2196
  const label = `${path} bindings[${index}]`;
2197
2197
  const parsed = parseBinding(binding, label, storeVersion === 1 ? 1 : LEGACY_STORE_VERSION);
2198
- const isDefault = storeVersion === 3 ? requireBoolean(isRecord$10(binding) ? binding.isDefault : void 0, `${label}.isDefault`) : true;
2198
+ const isDefault = storeVersion === 3 ? requireBoolean(isRecord$9(binding) ? binding.isDefault : void 0, `${label}.isDefault`) : true;
2199
2199
  return {
2200
2200
  ...parsed,
2201
2201
  isDefault
@@ -2230,7 +2230,7 @@ function assertProjectBindingStoreV3Invariants(bindings, path, sourceVersion) {
2230
2230
  }
2231
2231
  }
2232
2232
  function parseBinding(value, label, storeVersion) {
2233
- if (!isRecord$10(value)) throw new Error(`Agent Activity Project binding is invalid: ${label}`);
2233
+ if (!isRecord$9(value)) throw new Error(`Agent Activity Project binding is invalid: ${label}`);
2234
2234
  const repositoryFingerprint = value.repositoryFingerprint === null ? null : normalizeFingerprint(value.repositoryFingerprint);
2235
2235
  const boundAtMs = Number(value.boundAtMs);
2236
2236
  if (!Number.isSafeInteger(boundAtMs) || boundAtMs < 0) throw new Error(`Agent Activity Project binding is invalid: ${label}`);
@@ -2245,7 +2245,7 @@ function parseBinding(value, label, storeVersion) {
2245
2245
  };
2246
2246
  }
2247
2247
  function readProjectBindingStoreVersion(value) {
2248
- if (!(isRecord$10(value) && (value.version === 1 || value.version === LEGACY_STORE_VERSION || value.version === 3))) throw new Error("Project binding store version is invalid");
2248
+ if (!(isRecord$9(value) && (value.version === 1 || value.version === LEGACY_STORE_VERSION || value.version === 3))) throw new Error("Project binding store version is invalid");
2249
2249
  return value.version;
2250
2250
  }
2251
2251
  function normalizeFingerprint(value) {
@@ -2262,7 +2262,7 @@ function requireBoolean(value, label) {
2262
2262
  if (typeof value !== "boolean") throw new Error(`${label} is required`);
2263
2263
  return value;
2264
2264
  }
2265
- function isRecord$10(value) {
2265
+ function isRecord$9(value) {
2266
2266
  return Boolean(value && typeof value === "object" && !Array.isArray(value));
2267
2267
  }
2268
2268
  function isNodeError$9(error, code) {
@@ -2696,7 +2696,7 @@ async function readCodexSessionTitles(input) {
2696
2696
  if (!line.trim()) continue;
2697
2697
  try {
2698
2698
  const record = JSON.parse(line);
2699
- if (!isRecord$9(record)) continue;
2699
+ if (!isRecord$8(record)) continue;
2700
2700
  const sessionId = text$4(record.id);
2701
2701
  const title = normalizeSharedSessionTitle(record.thread_name);
2702
2702
  if (sessionId && title) titles.set(sessionId, title);
@@ -2711,7 +2711,7 @@ function normalizeSharedSessionTitle(value) {
2711
2711
  function text$4(value) {
2712
2712
  return typeof value === "string" && value.trim() ? value.trim() : null;
2713
2713
  }
2714
- function isRecord$9(value) {
2714
+ function isRecord$8(value) {
2715
2715
  return Boolean(value) && typeof value === "object" && !Array.isArray(value);
2716
2716
  }
2717
2717
  function isNodeError$6(error) {
@@ -2721,12 +2721,12 @@ function isNodeError$6(error) {
2721
2721
  //#region src/agent-activity/observer-adapters.ts
2722
2722
  const ACTIVE_WINDOW_MS = 2 * 6e4;
2723
2723
  function parseCodexRolloutSnapshot(input) {
2724
- const meta = input.lines.find((line) => isRecord$8(line) && line.type === "session_meta" && isRecord$8(line.payload));
2725
- if (!(isRecord$8(meta) && isRecord$8(meta.payload))) return null;
2724
+ const meta = input.lines.find((line) => isRecord$7(line) && line.type === "session_meta" && isRecord$7(line.payload));
2725
+ if (!(isRecord$7(meta) && isRecord$7(meta.payload))) return null;
2726
2726
  const sessionId = text$3(meta.payload.id);
2727
2727
  const cwd = text$3(meta.payload.cwd);
2728
2728
  if (!(sessionId && cwd)) return null;
2729
- const safeEvidence = input.lines.filter((line) => isRecord$8(line)).map((line) => ({
2729
+ const safeEvidence = input.lines.filter((line) => isRecord$7(line)).map((line) => ({
2730
2730
  line,
2731
2731
  observedAtMs: timestamp$1(line.timestamp)
2732
2732
  })).filter((entry) => entry.observedAtMs !== null).sort((left, right) => Number(left.observedAtMs) - Number(right.observedAtMs));
@@ -2734,17 +2734,17 @@ function parseCodexRolloutSnapshot(input) {
2734
2734
  const latestTurn = [...safeEvidence].reverse().find((entry) => entry.line.type === "turn_context");
2735
2735
  const observedAtMs = latest?.observedAtMs ?? timestamp$1(meta.timestamp);
2736
2736
  if (observedAtMs === null) return null;
2737
- const turnPayload = isRecord$8(latestTurn?.line.payload) ? latestTurn.line.payload : {};
2737
+ const turnPayload = isRecord$7(latestTurn?.line.payload) ? latestTurn.line.payload : {};
2738
2738
  const originator = normalizeCodexOriginator(meta.payload);
2739
2739
  const status = resolveObservedStatus({
2740
2740
  explicitIdle: safeEvidence.slice(-4).some((entry) => {
2741
- const payload = isRecord$8(entry.line.payload) ? entry.line.payload : null;
2741
+ const payload = isRecord$7(entry.line.payload) ? entry.line.payload : null;
2742
2742
  return entry.line.type === "event_msg" && (payload?.type === "task_complete" || payload?.type === "turn_aborted");
2743
2743
  }),
2744
2744
  nowMs: input.nowMs,
2745
2745
  observedAtMs
2746
2746
  });
2747
- const git = isRecord$8(meta.payload.git) ? meta.payload.git : {};
2747
+ const git = isRecord$7(meta.payload.git) ? meta.payload.git : {};
2748
2748
  return {
2749
2749
  clientKind: resolveCodexClientKind(originator),
2750
2750
  cwd,
@@ -2762,7 +2762,7 @@ function parseCodexRolloutSnapshot(input) {
2762
2762
  "never"
2763
2763
  ]),
2764
2764
  cliVersion: nullableText$1(meta.payload.cli_version),
2765
- contextWindow: positiveInteger(isRecord$8(turnPayload.summary) ? turnPayload.summary.model_context_window : void 0),
2765
+ contextWindow: positiveInteger(isRecord$7(turnPayload.summary) ? turnPayload.summary.model_context_window : void 0),
2766
2766
  modelProvider: nullableText$1(meta.payload.model_provider),
2767
2767
  originator,
2768
2768
  reasoningEffort: enumValue(turnPayload.effort, [
@@ -2773,7 +2773,7 @@ function parseCodexRolloutSnapshot(input) {
2773
2773
  "xhigh",
2774
2774
  "ultra"
2775
2775
  ]),
2776
- sandboxMode: enumValue(isRecord$8(turnPayload.sandbox_policy) ? turnPayload.sandbox_policy.type : turnPayload.sandbox_policy, [
2776
+ sandboxMode: enumValue(isRecord$7(turnPayload.sandbox_policy) ? turnPayload.sandbox_policy.type : turnPayload.sandbox_policy, [
2777
2777
  "read-only",
2778
2778
  "workspace-write",
2779
2779
  "danger-full-access"
@@ -2791,7 +2791,7 @@ function resolveCodexClientKind(originator) {
2791
2791
  return originator === "cli" ? "codex-cli" : "unknown";
2792
2792
  }
2793
2793
  function parseClaudeTranscriptSnapshot(input) {
2794
- const records = input.lines.filter((line) => isRecord$8(line));
2794
+ const records = input.lines.filter((line) => isRecord$7(line));
2795
2795
  const identity = records.find((line) => text$3(line.sessionId) && text$3(line.cwd));
2796
2796
  if (!identity) return null;
2797
2797
  const providerSessionId = text$3(identity.sessionId);
@@ -2803,7 +2803,7 @@ function parseClaudeTranscriptSnapshot(input) {
2803
2803
  })).filter((entry) => entry.observedAtMs !== null).sort((left, right) => left.observedAtMs - right.observedAtMs);
2804
2804
  const latest = timed.at(-1);
2805
2805
  if (!latest) return null;
2806
- const latestWithModel = [...timed].reverse().find((entry) => isRecord$8(entry.line.message) && text$3(entry.line.message.model));
2806
+ const latestWithModel = [...timed].reverse().find((entry) => isRecord$7(entry.line.message) && text$3(entry.line.message.model));
2807
2807
  const customTitle = [...records].reverse().find((line) => line.type === "custom-title");
2808
2808
  const status = resolveObservedStatus({
2809
2809
  explicitIdle: false,
@@ -2816,7 +2816,7 @@ function parseClaudeTranscriptSnapshot(input) {
2816
2816
  eventType: status === "active" ? "heartbeat" : statusEventType(status),
2817
2817
  gitBranch: nullableText$1(latest.line.gitBranch ?? identity.gitBranch),
2818
2818
  gitCommit: null,
2819
- model: isRecord$8(latestWithModel?.line.message) ? nullableText$1(latestWithModel.line.message.model) : null,
2819
+ model: isRecord$7(latestWithModel?.line.message) ? nullableText$1(latestWithModel.line.message.model) : null,
2820
2820
  observedAtMs: latest.observedAtMs,
2821
2821
  provider: "claude-code",
2822
2822
  providerMetadata: compact({
@@ -2943,7 +2943,7 @@ function resolveObservedStatus(input) {
2943
2943
  }
2944
2944
  function normalizeCodexOriginator(meta) {
2945
2945
  if (text$3(meta.originator) === "Codex Desktop") return "desktop";
2946
- if (isRecord$8(meta.source) && "subagent" in meta.source) return "subagent";
2946
+ if (isRecord$7(meta.source) && "subagent" in meta.source) return "subagent";
2947
2947
  const originator = text$3(meta.originator)?.toLowerCase();
2948
2948
  return originator === "codex cli" || originator === "codex_cli" ? "cli" : void 0;
2949
2949
  }
@@ -2988,16 +2988,16 @@ function text$3(value) {
2988
2988
  return typeof value === "string" && value.trim() ? value.trim() : null;
2989
2989
  }
2990
2990
  function parseJsonRecord$1(value) {
2991
- if (isRecord$8(value)) return value;
2991
+ if (isRecord$7(value)) return value;
2992
2992
  if (typeof value !== "string") return null;
2993
2993
  try {
2994
2994
  const parsed = JSON.parse(value);
2995
- return isRecord$8(parsed) ? parsed : null;
2995
+ return isRecord$7(parsed) ? parsed : null;
2996
2996
  } catch {
2997
2997
  return null;
2998
2998
  }
2999
2999
  }
3000
- function isRecord$8(value) {
3000
+ function isRecord$7(value) {
3001
3001
  return Boolean(value) && typeof value === "object" && !Array.isArray(value);
3002
3002
  }
3003
3003
  //#endregion
@@ -12831,13 +12831,13 @@ function parseOpenCodeOutputLine(line) {
12831
12831
  const errorMessage = resolveErrorMessage$1(record, isErrorResult);
12832
12832
  const resultText = resolveResultText$1(record, isErrorResult);
12833
12833
  const sessionId = resolveSessionId$1(record);
12834
- if (!errorMessage && resultText === null && sessionId === null) return null;
12834
+ if (!errorMessage && resultText === null && sessionId === null && isErrorResult === null) return null;
12835
12835
  return {
12836
12836
  errorMessage,
12837
12837
  isErrorResult,
12838
12838
  resultText,
12839
12839
  sessionId,
12840
- terminal: errorMessage !== null
12840
+ terminal: isErrorResult === true
12841
12841
  };
12842
12842
  }
12843
12843
  function parseOpenCodeOutputDocument(text) {
@@ -12876,9 +12876,8 @@ function resolveResultText$1(record, isErrorResult) {
12876
12876
  return resolveTextByPaths(record, OPENCODE_TEXT_PATHS);
12877
12877
  }
12878
12878
  function resolveErrorMessage$1(record, isErrorResult) {
12879
- const fromKnownPaths = resolveStringByPaths$1(record, OPENCODE_ERROR_MESSAGE_PATHS);
12880
- if (fromKnownPaths && (isErrorResult === true || looksLikeErrorSignal$1(fromKnownPaths))) return fromKnownPaths;
12881
- return null;
12879
+ if (isErrorResult !== true) return null;
12880
+ return resolveStringByPaths$1(record, OPENCODE_ERROR_MESSAGE_PATHS);
12882
12881
  }
12883
12882
  function resolveIsErrorResult$1(record) {
12884
12883
  if (record.type === "error") return true;
@@ -12922,10 +12921,6 @@ function resolveTextByPaths(record, paths) {
12922
12921
  }
12923
12922
  return null;
12924
12923
  }
12925
- function looksLikeErrorSignal$1(value) {
12926
- const lowered = value.toLowerCase();
12927
- return lowered.includes("error") || lowered.includes("failed") || looksLikeRuntimePermissionDenialMessage(value) || lowered.includes("unauthorized") || lowered.includes("not logged in") || lowered.includes("invalid") || lowered.includes("quota") || lowered.includes("rate") || lowered.includes("unsupported model") || lowered.includes("model is not supported");
12928
- }
12929
12924
  function normalizeOptionalText$48(value) {
12930
12925
  const normalized = String(value ?? "").trim();
12931
12926
  return normalized.length > 0 ? normalized : null;
@@ -14743,7 +14738,7 @@ async function mapCodexThread(input) {
14743
14738
  if (!(nativeSessionId && cwd && lastActiveAtMs !== null)) throw new Error("Codex returned a malformed retained thread record.");
14744
14739
  const binding = await resolveObservedAgentActivityBinding(cwd, input.bindings);
14745
14740
  if (!binding) return null;
14746
- const runtimeStatus = isRecord$7(input.thread.status) ? text$1(input.thread.status.type) : null;
14741
+ const runtimeStatus = isRecord$6(input.thread.status) ? text$1(input.thread.status.type) : null;
14747
14742
  return {
14748
14743
  binding,
14749
14744
  session: observedLocalAgentSessionSchema.parse({
@@ -14787,7 +14782,7 @@ async function listAllCodexThreads(launchContract) {
14787
14782
  sourceKinds: CODEX_THREAD_SOURCE_KINDS,
14788
14783
  useStateDbOnly: false
14789
14784
  });
14790
- if (!(isRecord$7(response) && Array.isArray(response.data) && response.data.every(isRecord$7))) throw new Error("Codex thread/list response is invalid.");
14785
+ if (!(isRecord$6(response) && Array.isArray(response.data) && response.data.every(isRecord$6))) throw new Error("Codex thread/list response is invalid.");
14791
14786
  pages.push({
14792
14787
  archived,
14793
14788
  data: response.data
@@ -14912,12 +14907,12 @@ function consumeCodexJsonRpcChunk(input) {
14912
14907
  }
14913
14908
  }
14914
14909
  function settleCodexJsonRpcResponse(message, pending) {
14915
- if (!isRecord$7(message) || typeof message.id !== "number") return;
14910
+ if (!isRecord$6(message) || typeof message.id !== "number") return;
14916
14911
  const request = pending.get(message.id);
14917
14912
  if (!request) return;
14918
14913
  pending.delete(message.id);
14919
14914
  clearTimeout(request.timer);
14920
- if (isRecord$7(message.error)) {
14915
+ if (isRecord$6(message.error)) {
14921
14916
  request.reject(new Error(text$1(message.error.message) ?? "Codex app-server request failed."));
14922
14917
  return;
14923
14918
  }
@@ -15038,7 +15033,7 @@ function applyClaudeSessionLine(state, line) {
15038
15033
  } catch (error) {
15039
15034
  throw new Error("Claude Code Session file contains malformed JSON.", { cause: error });
15040
15035
  }
15041
- if (!isRecord$7(value)) return;
15036
+ if (!isRecord$6(value)) return;
15042
15037
  const rowSessionId = text$1(value.sessionId);
15043
15038
  if (rowSessionId && state.nativeSessionId !== rowSessionId) {
15044
15039
  if (state.nativeSessionId) throw new Error("Claude Code Session file contains conflicting IDs.");
@@ -15210,12 +15205,12 @@ async function discoverGrokBuildRetainedSessions(input) {
15210
15205
  const identities = /* @__PURE__ */ new Set();
15211
15206
  for (const path of paths) {
15212
15207
  const summary = JSON.parse(await readFile(path, "utf8"));
15213
- if (!isRecord$7(summary)) throw new Error("Grok Build summary metadata is invalid.");
15208
+ if (!isRecord$6(summary)) throw new Error("Grok Build summary metadata is invalid.");
15214
15209
  const topLevelIdentity = {
15215
15210
  cwd: text$1(summary.cwd),
15216
15211
  nativeSessionId: text$1(summary.id)
15217
15212
  };
15218
- const nestedInfo = isRecord$7(summary.info) ? summary.info : null;
15213
+ const nestedInfo = isRecord$6(summary.info) ? summary.info : null;
15219
15214
  const nestedIdentity = {
15220
15215
  cwd: text$1(nestedInfo?.cwd),
15221
15216
  nativeSessionId: text$1(nestedInfo?.id)
@@ -15365,7 +15360,7 @@ function mapClaudeAgentStatus(value) {
15365
15360
  }
15366
15361
  function collectRecords(value) {
15367
15362
  if (Array.isArray(value)) return value.flatMap(collectRecords);
15368
- if (!isRecord$7(value)) return [];
15363
+ if (!isRecord$6(value)) return [];
15369
15364
  return [value, ...Object.values(value).flatMap(collectRecords)];
15370
15365
  }
15371
15366
  function secondsTimestamp(value) {
@@ -15388,7 +15383,7 @@ function parseCodexNextCursor(value) {
15388
15383
  function text$1(value) {
15389
15384
  return nullableText(value);
15390
15385
  }
15391
- function isRecord$7(value) {
15386
+ function isRecord$6(value) {
15392
15387
  return Boolean(value) && typeof value === "object" && !Array.isArray(value);
15393
15388
  }
15394
15389
  function isNodeError$4(error, code) {
@@ -16575,7 +16570,7 @@ async function readAgentActivityIntegrationStatus(paths) {
16575
16570
  claude: claude !== null && CLAUDE_EVENTS.every((event) => {
16576
16571
  try {
16577
16572
  const settings = parseSettings(claude);
16578
- const hooks = isRecord$6(settings.hooks) ? settings.hooks : null;
16573
+ const hooks = isRecord$5(settings.hooks) ? settings.hooks : null;
16579
16574
  return Array.isArray(hooks?.[event]) && hooks[event].some((group) => knownArtifacts.some((artifacts) => hasOwnedClaudeHook(group, artifacts)));
16580
16575
  } catch {
16581
16576
  return false;
@@ -16585,7 +16580,7 @@ async function readAgentActivityIntegrationStatus(paths) {
16585
16580
  cursor: cursor !== null && CURSOR_EVENTS.every((event) => {
16586
16581
  try {
16587
16582
  const settings = parseJsonObject(cursor, "Cursor hooks");
16588
- const hooks = isRecord$6(settings.hooks) ? settings.hooks : null;
16583
+ const hooks = isRecord$5(settings.hooks) ? settings.hooks : null;
16589
16584
  return Array.isArray(hooks?.[event]) && hooks[event].some((entry) => knownArtifacts.some((artifacts) => isOwnedCursorHook(entry, artifacts.cursorCommand)));
16590
16585
  } catch {
16591
16586
  return false;
@@ -16640,7 +16635,7 @@ function installCursorHooks(raw, artifacts, knownArtifacts) {
16640
16635
  }
16641
16636
  function uninstallCursorHooks(raw, knownArtifacts) {
16642
16637
  const settings = parseJsonObject(raw, "Cursor hooks");
16643
- const hooks = isRecord$6(settings.hooks) ? settings.hooks : null;
16638
+ const hooks = isRecord$5(settings.hooks) ? settings.hooks : null;
16644
16639
  if (!hooks) return raw;
16645
16640
  for (const event of CURSOR_EVENTS) {
16646
16641
  if (!Array.isArray(hooks[event])) continue;
@@ -16656,17 +16651,17 @@ function ownedCursorHook(command) {
16656
16651
  };
16657
16652
  }
16658
16653
  function isOwnedCursorHook(value, command) {
16659
- return isRecord$6(value) && Object.keys(value).length === 2 && value.command === command && value.timeout === 10;
16654
+ return isRecord$5(value) && Object.keys(value).length === 2 && value.command === command && value.timeout === 10;
16660
16655
  }
16661
16656
  function isKnownOwnedCursorHook(value, knownArtifacts) {
16662
16657
  return knownArtifacts.some((artifacts) => isOwnedCursorHook(value, artifacts.cursorCommand) || isOwnedCursorHook(value, artifacts.legacyCursorCommand));
16663
16658
  }
16664
16659
  function hasUnknownOpenMeldCursorHook(value, knownArtifacts) {
16665
- return isRecord$6(value) && typeof value.command === "string" && value.command.includes(" activity hook --provider cursor --owner ") && value.command.includes("openmeld-agent-activity-") && !isKnownOwnedCursorHook(value, knownArtifacts);
16660
+ return isRecord$5(value) && typeof value.command === "string" && value.command.includes(" activity hook --provider cursor --owner ") && value.command.includes("openmeld-agent-activity-") && !isKnownOwnedCursorHook(value, knownArtifacts);
16666
16661
  }
16667
16662
  function uninstallClaudeHooks(raw, knownArtifacts) {
16668
16663
  const settings = parseSettings(raw);
16669
- const hooks = isRecord$6(settings.hooks) ? settings.hooks : null;
16664
+ const hooks = isRecord$5(settings.hooks) ? settings.hooks : null;
16670
16665
  if (!hooks) return raw;
16671
16666
  for (const event of CLAUDE_EVENTS) {
16672
16667
  if (!Array.isArray(hooks[event])) continue;
@@ -16683,14 +16678,14 @@ function ownedClaudeGroup(artifacts) {
16683
16678
  }] };
16684
16679
  }
16685
16680
  function isOwnedClaudeGroup(value, artifacts) {
16686
- if (!isRecord$6(value) || Object.keys(value).length !== 1 || !Array.isArray(value.hooks)) return false;
16687
- return value.hooks.length === 1 && isRecord$6(value.hooks[0]) && value.hooks[0].command === artifacts.claudeCommand && value.hooks[0].timeout === 10 && value.hooks[0].type === "command" && Object.keys(value.hooks[0]).length === 3;
16681
+ if (!isRecord$5(value) || Object.keys(value).length !== 1 || !Array.isArray(value.hooks)) return false;
16682
+ return value.hooks.length === 1 && isRecord$5(value.hooks[0]) && value.hooks[0].command === artifacts.claudeCommand && value.hooks[0].timeout === 10 && value.hooks[0].type === "command" && Object.keys(value.hooks[0]).length === 3;
16688
16683
  }
16689
16684
  function hasOwnedClaudeHook(value, artifacts) {
16690
- return isRecord$6(value) && Array.isArray(value.hooks) && value.hooks.some((hook) => isRecord$6(hook) && hook.command === artifacts.claudeCommand);
16685
+ return isRecord$5(value) && Array.isArray(value.hooks) && value.hooks.some((hook) => isRecord$5(hook) && hook.command === artifacts.claudeCommand);
16691
16686
  }
16692
16687
  function hasUnknownOpenMeldClaudeHook(value, knownArtifacts) {
16693
- return isRecord$6(value) && Array.isArray(value.hooks) && value.hooks.some((hook) => isRecord$6(hook) && typeof hook.command === "string" && hook.command.includes(" activity hook --provider claude-code --owner ") && hook.command.includes("openmeld-agent-activity-")) && !isKnownOwnedClaudeGroup(value, knownArtifacts);
16688
+ return isRecord$5(value) && Array.isArray(value.hooks) && value.hooks.some((hook) => isRecord$5(hook) && typeof hook.command === "string" && hook.command.includes(" activity hook --provider claude-code --owner ") && hook.command.includes("openmeld-agent-activity-")) && !isKnownOwnedClaudeGroup(value, knownArtifacts);
16694
16689
  }
16695
16690
  function isLegacyOwnedClaudeGroup(value, artifacts) {
16696
16691
  return isOwnedClaudeGroupForCommand(value, artifacts.legacyClaudeCommand);
@@ -16749,8 +16744,8 @@ function extractCodexTrustState(block, endMarker) {
16749
16744
  };
16750
16745
  }
16751
16746
  function isOwnedClaudeGroupForCommand(value, command) {
16752
- if (!isRecord$6(value) || Object.keys(value).length !== 1 || !Array.isArray(value.hooks)) return false;
16753
- return value.hooks.length === 1 && isRecord$6(value.hooks[0]) && value.hooks[0].command === command && value.hooks[0].timeout === 10 && value.hooks[0].type === "command" && Object.keys(value.hooks[0]).length === 3;
16747
+ if (!isRecord$5(value) || Object.keys(value).length !== 1 || !Array.isArray(value.hooks)) return false;
16748
+ return value.hooks.length === 1 && isRecord$5(value.hooks[0]) && value.hooks[0].command === command && value.hooks[0].timeout === 10 && value.hooks[0].type === "command" && Object.keys(value.hooks[0]).length === 3;
16754
16749
  }
16755
16750
  async function planPluginInstall(path, artifacts, knownArtifacts) {
16756
16751
  const current = await readOptionalFile$1(path);
@@ -16890,12 +16885,12 @@ function parseSettings(raw) {
16890
16885
  function parseJsonObject(raw, label) {
16891
16886
  if (!raw.trim()) return {};
16892
16887
  const value = JSON.parse(raw);
16893
- if (!isRecord$6(value)) throw new Error(`${label} must be a JSON object.`);
16888
+ if (!isRecord$5(value)) throw new Error(`${label} must be a JSON object.`);
16894
16889
  return value;
16895
16890
  }
16896
16891
  function ensureRecord(parent, key, label = "Claude settings") {
16897
16892
  if (parent[key] === void 0) parent[key] = {};
16898
- if (!isRecord$6(parent[key])) throw new Error(`${label} ${key} must be an object.`);
16893
+ if (!isRecord$5(parent[key])) throw new Error(`${label} ${key} must be an object.`);
16899
16894
  return parent[key];
16900
16895
  }
16901
16896
  function emptyFileFor(path) {
@@ -16905,7 +16900,7 @@ function revisionConflict(path) {
16905
16900
  const digest = createHash("sha256").update(path).digest("hex").slice(0, 12);
16906
16901
  return /* @__PURE__ */ new Error(`Managed integration revision changed before commit (${digest}).`);
16907
16902
  }
16908
- function isRecord$6(value) {
16903
+ function isRecord$5(value) {
16909
16904
  return Boolean(value) && typeof value === "object" && !Array.isArray(value);
16910
16905
  }
16911
16906
  function isNodeError$2(error, code) {
@@ -17524,7 +17519,7 @@ function resolveOpenMeldAccountContext(input) {
17524
17519
  };
17525
17520
  }
17526
17521
  async function resolveCurrentOpenMeldAccountContext() {
17527
- const { getAuthSessionMetadata } = await import("./auth-session-vFtLpWjB.js").then((n) => n.t);
17522
+ const { getAuthSessionMetadata } = await import("./auth-session-73FalW41.js").then((n) => n.t);
17528
17523
  return resolveOpenMeldAccountContext({ session: await getAuthSessionMetadata().catch(() => null) });
17529
17524
  }
17530
17525
  function resolveHostKey(baseUrl) {
@@ -18274,7 +18269,7 @@ async function requestOpenMeldProfilesApi(input) {
18274
18269
  })
18275
18270
  });
18276
18271
  }
18277
- const record = isRecord$5(payload) ? payload : {};
18272
+ const record = isRecord$4(payload) ? payload : {};
18278
18273
  if (!readBooleanField(record, "ok")) {
18279
18274
  const parsedError = profileErrorResponseSchema.safeParse(payload);
18280
18275
  const code = parsedError.success ? parsedError.data.code : null;
@@ -18355,7 +18350,7 @@ async function emitRouteCatalogSync(reason) {
18355
18350
  await touchDaemonCatalogSyncSignal({ reason }).catch(() => void 0);
18356
18351
  }
18357
18352
  function parseOpenMeldProfileItem(value) {
18358
- const record = isRecord$5(value) ? value : {};
18353
+ const record = isRecord$4(value) ? value : {};
18359
18354
  const openMeldProfileId = readOptionalStringField$1(record, "openMeldProfileId");
18360
18355
  if (!openMeldProfileId) throw new Error("invalid profile payload: missing openMeldProfileId");
18361
18356
  const profileName = readRequiredStringField(record, "profileName");
@@ -18411,13 +18406,13 @@ function readOptionalManagedRoleField(input, field) {
18411
18406
  }
18412
18407
  function readRecordField(input, field) {
18413
18408
  const value = input[field];
18414
- if (isRecord$5(value)) return value;
18409
+ if (isRecord$4(value)) return value;
18415
18410
  throw new Error(`invalid api payload: missing ${field}`);
18416
18411
  }
18417
18412
  function readArrayField(input, field) {
18418
18413
  const value = input[field];
18419
18414
  if (!Array.isArray(value)) throw new Error(`invalid api payload: missing ${field}`);
18420
- return value.filter(isRecord$5);
18415
+ return value.filter(isRecord$4);
18421
18416
  }
18422
18417
  function readRequiredStringField(input, field) {
18423
18418
  const value = normalizeOptionalString$13(input[field]);
@@ -18460,7 +18455,7 @@ async function parseResponseJson$1(response) {
18460
18455
  }
18461
18456
  }
18462
18457
  function extractApiErrorMessage$1(payload, status) {
18463
- const record = isRecord$5(payload) ? payload : {};
18458
+ const record = isRecord$4(payload) ? payload : {};
18464
18459
  const message = normalizeOptionalString$13(record.message) ?? normalizeOptionalString$13(record.error_description) ?? normalizeOptionalString$13(record.error);
18465
18460
  if (message) return message;
18466
18461
  return `request failed with status ${status}`;
@@ -18498,7 +18493,7 @@ function isHostedProfilesEndpoint(endpoint) {
18498
18493
  const url = parseUrlOrNull$1(endpoint);
18499
18494
  return Boolean(url && !isLoopbackHostname$2(url.hostname) && url.pathname.startsWith("/v1/profiles"));
18500
18495
  }
18501
- function isRecord$5(value) {
18496
+ function isRecord$4(value) {
18502
18497
  return Boolean(value && typeof value === "object" && !Array.isArray(value));
18503
18498
  }
18504
18499
  //#endregion
@@ -19172,7 +19167,7 @@ var DaemonServiceRunError = class extends Error {
19172
19167
  //#region src/local-service/state/runtime-contract-guard.ts
19173
19168
  const RUNTIME_CONTRACT_META_SCHEMA = "daemon.runtime.contract.meta";
19174
19169
  const RUNTIME_CONTRACT_REPAIR_REPORT_SCHEMA = "daemon.runtime.contract.repair.report";
19175
- const isRecord$4 = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
19170
+ const isRecord$3 = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
19176
19171
  const createRuntimeContractMeta = (input) => ({
19177
19172
  schema: RUNTIME_CONTRACT_META_SCHEMA,
19178
19173
  v: 1,
@@ -19192,7 +19187,7 @@ const createRuntimeContractRepairReport = (input) => ({
19192
19187
  errorMessage: input.errorMessage
19193
19188
  });
19194
19189
  const parseRuntimeContractMeta = (value) => {
19195
- if (!isRecord$4(value)) return null;
19190
+ if (!isRecord$3(value)) return null;
19196
19191
  if (value.schema !== RUNTIME_CONTRACT_META_SCHEMA || value.v !== 1) return null;
19197
19192
  const contractEpoch = normalizeOptionalText$44(value.contractEpoch);
19198
19193
  const updatedAt = normalizeOptionalText$44(value.updatedAt);
@@ -19205,7 +19200,7 @@ const parseRuntimeContractMeta = (value) => {
19205
19200
  };
19206
19201
  };
19207
19202
  const parseRuntimeContractRepairReport = (value) => {
19208
- if (!isRecord$4(value)) return null;
19203
+ if (!isRecord$3(value)) return null;
19209
19204
  if (value.schema !== RUNTIME_CONTRACT_REPAIR_REPORT_SCHEMA || value.v !== 1) return null;
19210
19205
  const status = value.status;
19211
19206
  const reason = value.reason;
@@ -20829,6 +20824,17 @@ function containsOpenMeldManagedBinaryPath(value, pathInput = {}) {
20829
20824
  const normalizedValue = normalizeManagedBinaryPathText(value);
20830
20825
  return containsExactManagedPath(normalizedValue, normalizeManagedBinaryPathText(openMeldManagedBinaryPath(pathInput))) || containsManagedVersionBinaryPath(normalizedValue, pathInput);
20831
20826
  }
20827
+ function resolveOpenMeldManagedVersionBinaryRootPath(value) {
20828
+ const normalizedPath = normalizeManagedBinaryPathText(value);
20829
+ const segments = normalizedPath.split("/");
20830
+ const binaryName = segments.pop();
20831
+ const versionSegment = segments.pop();
20832
+ const versionsDirectory = segments.pop();
20833
+ if (binaryName !== MANAGED_BINARY_NAME || versionsDirectory !== "versions" || !versionSegment || !isValidManagedVersionSegment(versionSegment)) return null;
20834
+ const rootPath = segments.join("/");
20835
+ if (rootPath.length > 0) return rootPath;
20836
+ return normalizedPath.startsWith("/") ? "/" : null;
20837
+ }
20832
20838
  function isManagedVersionBinaryPath(normalizedPath, pathInput) {
20833
20839
  const versionsRoot = normalizeVersionsRoot(pathInput);
20834
20840
  if (!normalizedPath.startsWith(versionsRoot)) return false;
@@ -22252,6 +22258,7 @@ function resolveExpectedDaemonServiceManagerCommandPaths(input) {
22252
22258
  //#endregion
22253
22259
  //#region src/local-service/lifecycle/daemon-service-process-inventory.ts
22254
22260
  const POSIX_PROCESS_LINE_PATTERN = /^(\d+)\s+(\d+)\s+(.+)$/;
22261
+ const TRAILING_PATH_SEPARATOR_PATTERN = /\/+$/u;
22255
22262
  const OPENMELD_PACKAGE_INSTALL_ENTRY_SEGMENT = "/node_modules/openmeld/dist/openmeld.js";
22256
22263
  const OPENMELD_DEV_LOCAL_ENTRY_SEGMENT = "/openmeld-dev.js";
22257
22264
  const ALL_OPENMELD_ENV_PRESETS = [
@@ -22326,6 +22333,8 @@ function looksLikeCurrentLaneDaemonCandidate(input) {
22326
22333
  return isDaemonRuntimeProcessCommand(input.normalizedCommand) || input.normalizedCommand.includes(input.launcherPath) || input.wrapperPaths.some((wrapperPath) => daemonCommandContainsExactPath(input.normalizedCommand, wrapperPath)) || input.normalizedCommand.includes("legacy-detached");
22327
22334
  }
22328
22335
  function resolveDaemonCommandLaneScope(input) {
22336
+ const managedVersionRoot = resolveDaemonCommandManagedVersionRoot(input.normalizedCommand);
22337
+ if (managedVersionRoot) return managedVersionRoot === normalizeRootPath(resolveOpenMeldRootDir(input.pathInput)) ? "current_lane" : "other_lane";
22329
22338
  const currentLane = resolveOpenMeldEnvPreset(input.pathInput);
22330
22339
  const managedLane = resolveManagedDaemonPathLane({
22331
22340
  normalizedCommand: input.normalizedCommand,
@@ -22336,6 +22345,13 @@ function resolveDaemonCommandLaneScope(input) {
22336
22345
  if (!detectedLane) return "not_openmeld";
22337
22346
  return detectedLane === currentLane ? "current_lane" : "other_lane";
22338
22347
  }
22348
+ function resolveDaemonCommandManagedVersionRoot(normalizedCommand) {
22349
+ for (const token of tokenizeDaemonCommand(normalizedCommand)) {
22350
+ const rootPath = resolveOpenMeldManagedVersionBinaryRootPath(token);
22351
+ if (rootPath) return normalizeRootPath(rootPath);
22352
+ }
22353
+ return null;
22354
+ }
22339
22355
  function resolveManagedDaemonPathLane(input) {
22340
22356
  for (const preset of ALL_OPENMELD_ENV_PRESETS) {
22341
22357
  const lanePathInput = resolveLanePathInput(input.pathInput, preset);
@@ -22455,6 +22471,10 @@ function resolveLanePathInput(pathInput, preset) {
22455
22471
  function normalizeProcessCommand(command) {
22456
22472
  return command.trim().toLowerCase().replaceAll("\\", "/");
22457
22473
  }
22474
+ function normalizeRootPath(path) {
22475
+ const normalized = normalizeProcessCommand(path);
22476
+ return normalized === "/" ? normalized : normalized.replace(TRAILING_PATH_SEPARATOR_PATTERN, "");
22477
+ }
22458
22478
  //#endregion
22459
22479
  //#region src/local-service/lifecycle/daemon-service-legacy-shared.ts
22460
22480
  const PROD_ENV_PRESET = "prod";
@@ -23715,7 +23735,6 @@ async function runCursorAcpTurn(input) {
23715
23735
  });
23716
23736
  assertSuccessfulStopReason(promptResult);
23717
23737
  const output = input.session.readCollectedAgentText();
23718
- assertCursorOutputIsNotAccountBlock(output);
23719
23738
  await emitFinalPreviewIfRequested({
23720
23739
  onPreview: input.input.onPreview,
23721
23740
  output,
@@ -24193,14 +24212,6 @@ function assertSuccessfulStopReason(value) {
24193
24212
  message: `runtime.turn.${stopReason}: Cursor ACP ended the turn with stopReason '${stopReason}'`
24194
24213
  });
24195
24214
  }
24196
- function assertCursorOutputIsNotAccountBlock(output) {
24197
- if (!isCursorPlanUpgradeRequired(output)) return;
24198
- throw new CursorAcpTransportError({
24199
- code: "cursor.plan_upgrade_required",
24200
- errorType: "adapter",
24201
- message: output.trim()
24202
- });
24203
- }
24204
24215
  function isCursorPlanUpgradeRequired(value) {
24205
24216
  return CURSOR_PLAN_UPGRADE_REQUIRED_RE.test(value.trim());
24206
24217
  }
@@ -24690,13 +24701,8 @@ function resolveDocumentOutputText(record, isErrorResult) {
24690
24701
  return resolveResultText(record, isErrorResult);
24691
24702
  }
24692
24703
  function resolveErrorMessage(record, isErrorResult) {
24693
- const fromKnownPaths = resolveStringByPaths(record, OPENCLAW_ERROR_MESSAGE_PATHS);
24694
- if (fromKnownPaths && (isErrorResult === true || looksLikeErrorSignal(fromKnownPaths))) return fromKnownPaths;
24695
- if (isErrorResult === true) {
24696
- const fallback = resolveStringByPaths(record, OPENCLAW_RESULT_TEXT_PATHS);
24697
- if (fallback) return fallback;
24698
- }
24699
- return null;
24704
+ if (isErrorResult !== true) return null;
24705
+ return resolveStringByPaths(record, OPENCLAW_ERROR_MESSAGE_PATHS) ?? resolveStringByPaths(record, OPENCLAW_RESULT_TEXT_PATHS);
24700
24706
  }
24701
24707
  function resolveIsErrorResult(record) {
24702
24708
  if (typeof record.is_error === "boolean") return record.is_error;
@@ -24755,10 +24761,6 @@ function normalizeCandidateValue(value) {
24755
24761
  }
24756
24762
  return null;
24757
24763
  }
24758
- function looksLikeErrorSignal(value) {
24759
- const lowered = value.toLowerCase();
24760
- return lowered.includes("error") || lowered.includes("failed") || looksLikeRuntimePermissionDenialMessage(value) || lowered.includes("unauthorized") || lowered.includes("not logged in") || lowered.includes("invalid");
24761
- }
24762
24764
  function normalizeOptionalText$38(value) {
24763
24765
  const normalized = String(value ?? "").trim();
24764
24766
  return normalized.length > 0 ? normalized : null;
@@ -29109,7 +29111,7 @@ const INFLIGHT_RETENTION_MS = DEDUPE_RETENTION_MS;
29109
29111
  const AGENT_CONTEXT_RETENTION_MS = 720 * 60 * 60 * 1e3;
29110
29112
  const AGENT_CONTEXT_MAX_ENTRIES = 2e3;
29111
29113
  const AGENT_CONTEXT_LOOKUP_KEY_SEPARATOR = "|";
29112
- const isRecord$3 = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
29114
+ const isRecord$2 = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
29113
29115
  const isPositiveInteger = (value) => Number.isInteger(value) && typeof value === "number" && value >= 0;
29114
29116
  const isRuntimeTransportMode = (value) => runtimeTransportModeSchema.safeParse(value).success;
29115
29117
  const utf8ByteLength = (value) => {
@@ -29133,7 +29135,7 @@ const utf8ByteLength = (value) => {
29133
29135
  return byteLength;
29134
29136
  };
29135
29137
  const toErrorCode = (error) => {
29136
- if (!isRecord$3(error)) return null;
29138
+ if (!isRecord$2(error)) return null;
29137
29139
  const code = error.code;
29138
29140
  if (typeof code !== "string") return null;
29139
29141
  return code;
@@ -29153,7 +29155,7 @@ const buildLegacySpaceScopedAgentContextLookupKey = (input) => [
29153
29155
  input.runtimeWorkspaceFingerprint
29154
29156
  ].map(encodeAgentContextLookupKeyPart).join(AGENT_CONTEXT_LOOKUP_KEY_SEPARATOR);
29155
29157
  const parseInflightTask = (value) => {
29156
- if (!isRecord$3(value)) return null;
29158
+ if (!isRecord$2(value)) return null;
29157
29159
  const { bindingKey, firstSeenAtMs, idempotencyKey, output, sequence, taskId } = value;
29158
29160
  if (typeof taskId !== "string" || taskId.length === 0 || typeof bindingKey !== "string" || bindingKey.length === 0 || typeof idempotencyKey !== "string" || idempotencyKey.length === 0 || !isPositiveInteger(sequence) || !isPositiveInteger(firstSeenAtMs)) return null;
29159
29161
  if (output !== void 0 && (typeof output !== "string" || output.length === 0)) return null;
@@ -29167,7 +29169,7 @@ const parseInflightTask = (value) => {
29167
29169
  };
29168
29170
  };
29169
29171
  const parseAgentContextState = (agentContextLookupKey, value) => {
29170
- if (!isRecord$3(value)) return null;
29172
+ if (!isRecord$2(value)) return null;
29171
29173
  const { agentControllerConversationId, agentControllerRef, createdAtMs, lastTaskId, spaceId, targetProfileId, transportMode, runtimeWorkspaceFingerprint, updatedAtMs } = value;
29172
29174
  const parsedAgentControllerRef = typeof agentControllerRef === "string" ? parseAgentControllerRef$1(agentControllerRef) : null;
29173
29175
  if (!isRuntimeTransportMode(transportMode) || typeof agentContextLookupKey !== "string" || agentContextLookupKey.length === 0 || typeof spaceId !== "string" || spaceId.length === 0 || typeof targetProfileId !== "string" || targetProfileId.length === 0 || !parsedAgentControllerRef || typeof runtimeWorkspaceFingerprint !== "string" || runtimeWorkspaceFingerprint.length === 0 || typeof agentControllerConversationId !== "string" || agentControllerConversationId.length === 0 || !isPositiveInteger(createdAtMs) || !isPositiveInteger(updatedAtMs) || typeof lastTaskId !== "string" || lastTaskId.length === 0) return null;
@@ -29199,7 +29201,7 @@ const parseAgentContextState = (agentContextLookupKey, value) => {
29199
29201
  };
29200
29202
  };
29201
29203
  const parseAgentContextLifecycleCounters = (value) => {
29202
- if (!isRecord$3(value)) return null;
29204
+ if (!isRecord$2(value)) return null;
29203
29205
  const { created, guardBlocked, recreated, reused } = value;
29204
29206
  if (!(isPositiveInteger(created) && isPositiveInteger(recreated) && isPositiveInteger(reused) && isPositiveInteger(guardBlocked))) return null;
29205
29207
  return {
@@ -29216,7 +29218,7 @@ const createEmptyAgentContextLifecycleCounters = () => ({
29216
29218
  reused: 0
29217
29219
  });
29218
29220
  const parseAgentContextRotationRecord = (value) => {
29219
- if (!isRecord$3(value)) return null;
29221
+ if (!isRecord$2(value)) return null;
29220
29222
  const { nextAgentControllerConversationId, previousAgentControllerConversationId, rotationAt, rotationReason, rotationTaskId, rotationTriggerErrorCode } = value;
29221
29223
  if (typeof previousAgentControllerConversationId !== "string" || previousAgentControllerConversationId.length === 0 || typeof nextAgentControllerConversationId !== "string" || nextAgentControllerConversationId.length === 0 || typeof rotationTriggerErrorCode !== "string" || rotationTriggerErrorCode.length === 0 || typeof rotationReason !== "string" || rotationReason.length === 0 || !isPositiveInteger(rotationAt) || typeof rotationTaskId !== "string" || rotationTaskId.length === 0) return null;
29222
29224
  return {
@@ -29240,7 +29242,7 @@ const parseAgentContextRotationsOrDefault = (value) => {
29240
29242
  return nextRecords;
29241
29243
  };
29242
29244
  const parseDedupeFirstSeenByKey = (value) => {
29243
- if (!isRecord$3(value)) return null;
29245
+ if (!isRecord$2(value)) return null;
29244
29246
  const nextDedupeFirstSeenByKey = {};
29245
29247
  for (const [key, firstSeenAtMs] of Object.entries(value)) {
29246
29248
  if (!isPositiveInteger(firstSeenAtMs)) return null;
@@ -29249,7 +29251,7 @@ const parseDedupeFirstSeenByKey = (value) => {
29249
29251
  return nextDedupeFirstSeenByKey;
29250
29252
  };
29251
29253
  const parseInflightByTaskId = (value) => {
29252
- if (!isRecord$3(value)) return null;
29254
+ if (!isRecord$2(value)) return null;
29253
29255
  const nextInflightByTaskId = {};
29254
29256
  for (const [taskId, inflightTask] of Object.entries(value)) {
29255
29257
  const parsedTask = parseInflightTask(inflightTask);
@@ -29259,7 +29261,7 @@ const parseInflightByTaskId = (value) => {
29259
29261
  return nextInflightByTaskId;
29260
29262
  };
29261
29263
  const parseReplayedTaskIds = (value) => {
29262
- if (!isRecord$3(value)) return null;
29264
+ if (!isRecord$2(value)) return null;
29263
29265
  const nextReplayedTaskIds = {};
29264
29266
  for (const [taskId, replayed] of Object.entries(value)) {
29265
29267
  if (replayed !== true) return null;
@@ -29268,7 +29270,7 @@ const parseReplayedTaskIds = (value) => {
29268
29270
  return nextReplayedTaskIds;
29269
29271
  };
29270
29272
  const parseAgentContextByLookupKey = (value) => {
29271
- if (!isRecord$3(value)) return null;
29273
+ if (!isRecord$2(value)) return null;
29272
29274
  const nextAgentContextByLookupKey = {};
29273
29275
  for (const [agentContextLookupKey, rawAgentContextState] of Object.entries(value)) {
29274
29276
  const parsedAgentContextState = parseAgentContextState(agentContextLookupKey, rawAgentContextState);
@@ -29280,7 +29282,7 @@ const parseAgentContextByLookupKey = (value) => {
29280
29282
  const parseAgentContextLifecycleCountersOrDefault = (value) => parseAgentContextLifecycleCounters(value);
29281
29283
  const parseBootstrapExecutionByLookupKey = (value) => {
29282
29284
  if (value === void 0) return {};
29283
- if (!isRecord$3(value)) return null;
29285
+ if (!isRecord$2(value)) return null;
29284
29286
  const nextBootstrapExecutionByLookupKey = {};
29285
29287
  for (const [agentContextLookupKey, executionState] of Object.entries(value)) {
29286
29288
  const parsedExecutionState = conversationExecutionStateSchema.safeParse(executionState);
@@ -29291,7 +29293,7 @@ const parseBootstrapExecutionByLookupKey = (value) => {
29291
29293
  return nextBootstrapExecutionByLookupKey;
29292
29294
  };
29293
29295
  const parseLedgerStateV1 = (value) => {
29294
- if (!isRecord$3(value)) return null;
29296
+ if (!isRecord$2(value)) return null;
29295
29297
  const { agentContextRotations, dedupeFirstSeenByKey, inflightByTaskId, replayedTaskIds, agentContextByLookupKey, bootstrapExecutionByLookupKey, agentContextLifecycleCounters, updatedAtMs, v } = value;
29296
29298
  if (v !== 1 || !isPositiveInteger(updatedAtMs)) return null;
29297
29299
  const nextDedupeFirstSeenByKey = parseDedupeFirstSeenByKey(dedupeFirstSeenByKey);
@@ -29777,7 +29779,7 @@ const compareRecoveryCandidate = (left, right) => {
29777
29779
  if (left.firstSeenAtMs !== right.firstSeenAtMs) return left.firstSeenAtMs - right.firstSeenAtMs;
29778
29780
  return left.taskId.localeCompare(right.taskId);
29779
29781
  };
29780
- const normalizeOutput$1 = (output) => {
29782
+ const normalizeOutput = (output) => {
29781
29783
  if (typeof output !== "string") return null;
29782
29784
  const trimmed = output.trim();
29783
29785
  if (trimmed.length === 0) return null;
@@ -29813,7 +29815,7 @@ const settleRecoveredTask = (input) => settleInflightTask({
29813
29815
  taskId: input.taskId
29814
29816
  });
29815
29817
  const buildTaskResultPayloadFromOutcome = (input) => {
29816
- const output = normalizeOutput$1(input.output);
29818
+ const output = normalizeOutput(input.output);
29817
29819
  const errorType = input.errorType ?? "internal";
29818
29820
  const commonFields = buildTaskResultCommonFields(input);
29819
29821
  const errorFields = buildTaskResultErrorFields(input);
@@ -31471,14 +31473,12 @@ function isDaemonReconcileInProgressError(error) {
31471
31473
  //#region ../../runtime/local-service/src/space-action-target-guidance.ts
31472
31474
  const SPACE_ACTION_CONTEXT_GUIDANCE_LINES = ["- Keep private work, drafts, tool logs, and unauthorized sensitive context local. Treat this Wake as the current source; tie other context to the claims it supports, and reply in its current thread unless explicitly redirected.", "- A plain reply or bare @name does not hand off work; use Wake or Reply + Wake. Never wake another Agent Profile just to thank, acknowledge, or confirm receipt; wake only when new work moves the goal forward."];
31473
31475
  const SPACE_ACTION_TARGET_GUIDANCE_LINES = [
31474
- "Prefer OpenMeld Space Action CLI target flags such as --wake and --reference.",
31475
- "For fallback openmeld-space-action blocks, target semantics only count when they are written in post_message.messageEnvelope.",
31476
+ "Use OpenMeld Space Action CLI target flags such as --wake and --reference.",
31476
31477
  "Any @name text in the body is only prose in the agent path; it does not define OpenMeld targets.",
31477
31478
  "activationTargets is only for waking another Agent Profile in this Space.",
31478
31479
  "activationTargets must reference an active Agent Profile member in this Space.",
31479
31480
  "Never put a Human Profile ID, sender ID, or reply recipient in activationTargets.",
31480
- "For a normal reply to the current Wake, leave activationTargets and referenceTargets empty.",
31481
- "Fallback openmeld-space-action target arrays must contain profileId strings, not objects. Example: {\"activationTargets\":[\"agt_11111111-1111-4111-8111-111111111111\"],\"referenceTargets\":[\"11111111-1111-4111-8111-111111111111\"]}."
31481
+ "For a normal reply to the current Wake, leave activationTargets and referenceTargets empty."
31482
31482
  ];
31483
31483
  //#endregion
31484
31484
  //#region ../../runtime/local-service/src/startup-command-capability.ts
@@ -37167,9 +37167,9 @@ function createModelCatalogReadSession(input) {
37167
37167
  async function readModelCatalogOnce(baseUrl) {
37168
37168
  try {
37169
37169
  const [apiClient, baseUrlModule, clientFoundationModule] = await Promise.all([
37170
- import("./dist-5W-darWf.js").then((n) => n.w),
37170
+ import("./dist-DXBncfSC.js").then((n) => n.w),
37171
37171
  import("./base-url-Cv9x5Es9.js").then((n) => n.n),
37172
- import("./api-client-foundation-DUX52_3N.js").then((n) => n.t)
37172
+ import("./api-client-foundation-CfNo8-pE.js").then((n) => n.t)
37173
37173
  ]);
37174
37174
  if (typeof apiClient.createConfigApi !== "function") throw new Error("config api client is unavailable");
37175
37175
  const resolvedBaseUrl = baseUrl ?? await baseUrlModule.resolveBaseUrl();
@@ -41080,7 +41080,7 @@ async function clearDaemonStartFailureState(pathInput = {}) {
41080
41080
  await rm(daemonStartFailureStatePath(pathInput), { force: true }).catch(() => void 0);
41081
41081
  }
41082
41082
  function parseDaemonStartFailureState(value) {
41083
- if (!isRecord$2(value)) return null;
41083
+ if (!isRecord$1(value)) return null;
41084
41084
  if (value.schema !== DAEMON_START_FAILURE_STATE_SCHEMA || value.v !== 1) return null;
41085
41085
  const recordedAt = normalizeOptionalText$44(value.recordedAt);
41086
41086
  const detail = normalizeOptionalText$44(value.detail);
@@ -41103,7 +41103,7 @@ function parseDaemonStartFailureState(value) {
41103
41103
  function normalizeDependencyIssues(issues) {
41104
41104
  const normalized = [];
41105
41105
  for (const issue of issues) {
41106
- if (!isRecord$2(issue)) continue;
41106
+ if (!isRecord$1(issue)) continue;
41107
41107
  const kind = issue.kind;
41108
41108
  const status = issue.status;
41109
41109
  const scope = issue.scope;
@@ -41122,7 +41122,7 @@ function normalizeDependencyIssues(issues) {
41122
41122
  }
41123
41123
  return normalized;
41124
41124
  }
41125
- function isRecord$2(value) {
41125
+ function isRecord$1(value) {
41126
41126
  return typeof value === "object" && value !== null && !Array.isArray(value);
41127
41127
  }
41128
41128
  async function writeJsonAtomic(input) {
@@ -43765,394 +43765,6 @@ function preserveOptionalText(value) {
43765
43765
  if (typeof value !== "string" || value.trim().length === 0) return null;
43766
43766
  return value;
43767
43767
  }
43768
- const STRUCTURED_ACTION_BLOCK_INFO_STRING = "openmeld-space-action";
43769
- const STRUCTURED_ACTION_BLOCK_RE = /(?:\r?\n)?```openmeld-space-action\s*\r?\n([\s\S]*?)\r?\n```\s*$/;
43770
- const STRUCTURED_ACTION_BLOCK_LINE_BREAK_RE = /\r?\n/u;
43771
- const STRUCTURED_ACTION_BLOCK_HEADER_PART_RE = /\s+/u;
43772
- const STRUCTURED_ACTION_BLOCK_PARSE_ERROR = "OpenMeld Space structured action block must be valid JSON or simple OpenMeld action syntax";
43773
- const TRAILING_JSON_ACTION_PARSE_ERROR = "OpenMeld Space trailing JSON action must be a valid JSON object";
43774
- function normalizeOpenMeldSpaceEgressActionInput(input) {
43775
- if (!isRecord$1(input)) return input;
43776
- const action = { ...input };
43777
- switch (action.type) {
43778
- case "post_message": return normalizePostMessageEgressActionInput(action);
43779
- case "post_status": return normalizePostStatusEgressActionInput(action);
43780
- case "stay_silent": return normalizeStaySilentEgressActionInput(action);
43781
- default: return action;
43782
- }
43783
- }
43784
- function hydrateOpenMeldSpaceEgressActionInputFromCleanedOutput(input) {
43785
- if (!(input.action && typeof input.action === "object")) return input.action;
43786
- const cleanedOutput = input.cleanedOutput.trim();
43787
- if (!cleanedOutput) return input.action;
43788
- const action = { ...input.action };
43789
- if (action.type === "post_message" && typeof action.text !== "string" && typeof action.message !== "string") return {
43790
- ...action,
43791
- text: cleanedOutput
43792
- };
43793
- if (action.type === "post_status" && typeof action.text !== "string" && typeof action.note !== "string") return {
43794
- ...action,
43795
- text: cleanedOutput
43796
- };
43797
- return action;
43798
- }
43799
- function tryExtractTrailingStructuredSpaceActionBlock(input) {
43800
- const rawOutput = typeof input.output === "string" ? input.output : "";
43801
- const trimmedOutput = rawOutput.trimEnd();
43802
- if (trimmedOutput.length === 0) return {
43803
- carrierKind: "none",
43804
- cleanedOutput: trimmedOutput,
43805
- action: null,
43806
- infoString: STRUCTURED_ACTION_BLOCK_INFO_STRING,
43807
- parseError: null
43808
- };
43809
- let output;
43810
- try {
43811
- output = normalizeOutput(rawOutput);
43812
- } catch (error) {
43813
- return {
43814
- carrierKind: "invalid_json",
43815
- cleanedOutput: trimmedOutput,
43816
- action: null,
43817
- infoString: STRUCTURED_ACTION_BLOCK_INFO_STRING,
43818
- parseError: error instanceof Error ? error.message : "OpenMeld Space structured action output is invalid"
43819
- };
43820
- }
43821
- const matched = STRUCTURED_ACTION_BLOCK_RE.exec(output);
43822
- if (!matched) return extractTrailingStandaloneJsonSpaceAction({
43823
- output,
43824
- infoString: STRUCTURED_ACTION_BLOCK_INFO_STRING
43825
- });
43826
- const cleanedOutput = resolveInvalidBlockFallbackOutput({
43827
- matchedIndex: matched.index,
43828
- output
43829
- });
43830
- const blockText = matched[1]?.trim() ?? "";
43831
- if (blockText.length === 0) return {
43832
- carrierKind: "fenced_block",
43833
- cleanedOutput,
43834
- action: null,
43835
- infoString: STRUCTURED_ACTION_BLOCK_INFO_STRING,
43836
- parseError: "OpenMeld Space structured action block is empty"
43837
- };
43838
- const parsedBlock = tryParseStructuredSpaceActionBlockInput(blockText);
43839
- if (!(parsedBlock.actionInput && !parsedBlock.parseError)) return {
43840
- carrierKind: "fenced_block",
43841
- cleanedOutput,
43842
- action: null,
43843
- infoString: STRUCTURED_ACTION_BLOCK_INFO_STRING,
43844
- parseError: parsedBlock.parseError
43845
- };
43846
- try {
43847
- const action = normalizeExtractedOpenMeldSpaceEgressAction(hydrateOpenMeldSpaceEgressActionInputFromCleanedOutput({
43848
- action: parsedBlock.actionInput,
43849
- cleanedOutput
43850
- }));
43851
- return {
43852
- carrierKind: "fenced_block",
43853
- cleanedOutput: output.slice(0, matched.index).trimEnd(),
43854
- action,
43855
- infoString: STRUCTURED_ACTION_BLOCK_INFO_STRING,
43856
- parseError: null
43857
- };
43858
- } catch (error) {
43859
- return {
43860
- carrierKind: "fenced_block",
43861
- cleanedOutput,
43862
- action: null,
43863
- infoString: STRUCTURED_ACTION_BLOCK_INFO_STRING,
43864
- parseError: error instanceof Error ? error.message : "OpenMeld Space egress action is invalid"
43865
- };
43866
- }
43867
- }
43868
- function extractTrailingStandaloneJsonSpaceAction(input) {
43869
- const candidates = resolveTrailingStandaloneJsonActionCandidates(input.output);
43870
- if (candidates.length === 0) return {
43871
- carrierKind: "none",
43872
- cleanedOutput: input.output,
43873
- action: null,
43874
- infoString: input.infoString,
43875
- parseError: null
43876
- };
43877
- let parseError = TRAILING_JSON_ACTION_PARSE_ERROR;
43878
- for (const candidate of candidates) {
43879
- const parsedJson = parseStructuredSpaceActionBlockJson(candidate.jsonText);
43880
- if (!(parsedJson && typeof parsedJson === "object" && !Array.isArray(parsedJson))) continue;
43881
- try {
43882
- const action = normalizeExtractedOpenMeldSpaceEgressAction(hydrateOpenMeldSpaceEgressActionInputFromCleanedOutput({
43883
- action: parsedJson,
43884
- cleanedOutput: candidate.cleanedOutput
43885
- }));
43886
- return {
43887
- carrierKind: "trailing_json",
43888
- cleanedOutput: candidate.cleanedOutput,
43889
- action,
43890
- infoString: input.infoString,
43891
- parseError: null
43892
- };
43893
- } catch (error) {
43894
- if (parseError === TRAILING_JSON_ACTION_PARSE_ERROR) parseError = error instanceof Error ? error.message : "OpenMeld Space egress action is invalid";
43895
- }
43896
- }
43897
- return {
43898
- carrierKind: "invalid_json",
43899
- cleanedOutput: input.output,
43900
- action: null,
43901
- infoString: input.infoString,
43902
- parseError
43903
- };
43904
- }
43905
- function tryParseStructuredSpaceActionBlockInput(blockText) {
43906
- const normalizedBlockText = blockText.trim();
43907
- if (normalizedBlockText.length === 0) return {
43908
- actionInput: null,
43909
- parseError: "OpenMeld Space structured action block is empty"
43910
- };
43911
- const parsedJson = parseStructuredSpaceActionBlockJson(normalizedBlockText);
43912
- if (parsedJson) return {
43913
- actionInput: parsedJson,
43914
- parseError: null
43915
- };
43916
- const parsedSimpleAction = parseSimpleStructuredSpaceActionBlock(normalizedBlockText);
43917
- if (parsedSimpleAction) return {
43918
- actionInput: parsedSimpleAction,
43919
- parseError: null
43920
- };
43921
- return {
43922
- actionInput: null,
43923
- parseError: STRUCTURED_ACTION_BLOCK_PARSE_ERROR
43924
- };
43925
- }
43926
- function normalizeOutput(value) {
43927
- const normalized = value.trimEnd();
43928
- if (normalized.length > 0) return normalized;
43929
- throw new Error("output is required");
43930
- }
43931
- function resolveTrailingStandaloneJsonActionCandidates(output) {
43932
- const candidateOutput = output.trimEnd();
43933
- if (!candidateOutput.endsWith("}")) return [];
43934
- return resolveTrailingStandaloneJsonLineStartIndices(candidateOutput).map((startIndex) => {
43935
- const jsonText = candidateOutput.slice(startIndex).trim();
43936
- return {
43937
- cleanedOutput: candidateOutput.slice(0, startIndex).trimEnd(),
43938
- jsonText
43939
- };
43940
- }).filter((candidate) => candidate.jsonText.startsWith("{") && candidate.jsonText.endsWith("}"));
43941
- }
43942
- function resolveTrailingStandaloneJsonLineStartIndices(output) {
43943
- const lineStartIndices = [];
43944
- let lineStartIndex = 0;
43945
- for (let index = 0; index <= output.length; index += 1) {
43946
- if (!(index === output.length || output[index] === "\n")) continue;
43947
- let candidateStartIndex = lineStartIndex;
43948
- while (candidateStartIndex < index && (output[candidateStartIndex] === " " || output[candidateStartIndex] === " ")) candidateStartIndex += 1;
43949
- if (output[candidateStartIndex] === "{") lineStartIndices.push(candidateStartIndex);
43950
- lineStartIndex = index + 1;
43951
- }
43952
- return lineStartIndices.reverse();
43953
- }
43954
- function resolveInvalidBlockFallbackOutput(input) {
43955
- const cleanedOutput = input.output.slice(0, input.matchedIndex).trimEnd();
43956
- return cleanedOutput.length > 0 ? cleanedOutput : "";
43957
- }
43958
- function parseStructuredSpaceActionBlockJson(blockText) {
43959
- try {
43960
- return JSON.parse(blockText);
43961
- } catch {
43962
- const repairedBlockText = appendMissingJsonClosers(blockText);
43963
- if (!repairedBlockText || repairedBlockText === blockText) return null;
43964
- try {
43965
- return JSON.parse(repairedBlockText);
43966
- } catch {
43967
- return null;
43968
- }
43969
- }
43970
- }
43971
- function isRecord$1(value) {
43972
- return Boolean(value && typeof value === "object" && !Array.isArray(value));
43973
- }
43974
- function normalizePostMessageEgressActionInput(action) {
43975
- const { message, messageEnvelope, replyTo, text, ...rest } = action;
43976
- if (isRecord$1(messageEnvelope)) return {
43977
- ...rest,
43978
- messageEnvelope: normalizeMessageEnvelope(messageEnvelope)
43979
- };
43980
- const rawText = resolveLegacyPostMessageText({
43981
- message,
43982
- text
43983
- });
43984
- if (typeof rawText !== "string") return rest;
43985
- const rawReplyToSignalId = resolveLegacyReplyToSignalId(replyTo);
43986
- return {
43987
- ...rest,
43988
- messageEnvelope: normalizeMessageEnvelope({
43989
- ...rawReplyToSignalId ? { replyToSignalId: rawReplyToSignalId } : {},
43990
- text: rawText
43991
- })
43992
- };
43993
- }
43994
- function resolveLegacyPostMessageText(input) {
43995
- if (typeof input.text === "string") return input.text;
43996
- if (typeof input.message === "string") return input.message;
43997
- }
43998
- function resolveLegacyReplyToSignalId(value) {
43999
- if (!isRecord$1(value) || typeof value.signalId !== "string") return;
44000
- return value.signalId;
44001
- }
44002
- function normalizePostStatusEgressActionInput(action) {
44003
- const { note, ...rest } = action;
44004
- if (typeof rest.text !== "string" && typeof note === "string") return {
44005
- ...rest,
44006
- text: note.trim()
44007
- };
44008
- return rest;
44009
- }
44010
- function normalizeStaySilentEgressActionInput(action) {
44011
- const { note, ...rest } = action;
44012
- if (typeof rest.reason !== "string" && typeof note === "string") return {
44013
- ...rest,
44014
- reason: note.trim()
44015
- };
44016
- return rest;
44017
- }
44018
- function parseSimpleStructuredSpaceActionBlock(blockText) {
44019
- const [rawHeader, ...bodyLines] = trimSimpleStructuredActionOuterEmptyLines(blockText.split(STRUCTURED_ACTION_BLOCK_LINE_BREAK_RE));
44020
- const parsedHeader = parseSimpleStructuredActionHeader(rawHeader);
44021
- if (!parsedHeader) return null;
44022
- switch (parsedHeader.actionType) {
44023
- case "post_message": return buildSimplePostMessageAction({
44024
- bodyLines,
44025
- headerBody: parsedHeader.headerBody
44026
- });
44027
- case "stay_silent": return buildSimpleStaySilentAction({
44028
- bodyLines,
44029
- headerBody: parsedHeader.headerBody
44030
- });
44031
- case "post_status": return buildSimplePostStatusAction({
44032
- bodyLines,
44033
- headerArgs: parsedHeader.headerArgs
44034
- });
44035
- default: return null;
44036
- }
44037
- }
44038
- function parseSimpleStructuredActionHeader(rawHeader) {
44039
- const header = rawHeader?.trim();
44040
- if (!header) return null;
44041
- const [rawActionType, ...headerArgs] = header.split(STRUCTURED_ACTION_BLOCK_HEADER_PART_RE);
44042
- const actionType = rawActionType?.trim();
44043
- if (!actionType) return null;
44044
- return {
44045
- actionType,
44046
- headerArgs,
44047
- headerBody: headerArgs.join(" ").trim()
44048
- };
44049
- }
44050
- function buildSimplePostMessageAction(input) {
44051
- const text = joinSimpleStructuredActionTextParts([input.headerBody, joinSimpleStructuredActionText(input.headerBody ? input.bodyLines : trimSingleLeadingEmptyLine(input.bodyLines))]);
44052
- return text ? {
44053
- type: "post_message",
44054
- text
44055
- } : { type: "post_message" };
44056
- }
44057
- function buildSimpleStaySilentAction(input) {
44058
- const reason = joinSimpleStructuredActionTextParts([input.headerBody, joinSimpleStructuredActionText(input.headerBody ? input.bodyLines : trimSingleLeadingEmptyLine(input.bodyLines))]);
44059
- return reason ? {
44060
- type: "stay_silent",
44061
- reason
44062
- } : { type: "stay_silent" };
44063
- }
44064
- function buildSimplePostStatusAction(input) {
44065
- const statusFromHeader = input.headerArgs[0]?.trim();
44066
- const headerNote = input.headerArgs.slice(1).join(" ").trim();
44067
- const bodyLinesAfterSingleSpacer = trimSingleLeadingEmptyLine(input.bodyLines);
44068
- const status = statusFromHeader || bodyLinesAfterSingleSpacer[0]?.trim();
44069
- if (!status) return null;
44070
- let textLines;
44071
- if (statusFromHeader) textLines = headerNote ? [headerNote, ...input.bodyLines] : trimSingleLeadingEmptyLine(input.bodyLines);
44072
- else textLines = trimSingleLeadingEmptyLine(bodyLinesAfterSingleSpacer.slice(1));
44073
- const text = joinSimpleStructuredActionText(textLines);
44074
- return text ? {
44075
- type: "post_status",
44076
- status,
44077
- text
44078
- } : {
44079
- type: "post_status",
44080
- status
44081
- };
44082
- }
44083
- function trimSimpleStructuredActionOuterEmptyLines(lines) {
44084
- const nextLines = [...lines];
44085
- if (nextLines[0]?.trim() === "") nextLines.shift();
44086
- if (nextLines.at(-1)?.trim() === "") nextLines.pop();
44087
- return nextLines;
44088
- }
44089
- function trimSingleLeadingEmptyLine(lines) {
44090
- return lines[0]?.trim() === "" ? lines.slice(1) : lines;
44091
- }
44092
- function joinSimpleStructuredActionText(lines) {
44093
- const text = lines.join("\n");
44094
- return text.trim().length > 0 ? text : null;
44095
- }
44096
- function joinSimpleStructuredActionTextParts(parts) {
44097
- const definedParts = parts.filter((part) => typeof part === "string" && part.trim().length > 0);
44098
- if (definedParts.length === 0) return null;
44099
- return definedParts.join("\n");
44100
- }
44101
- function normalizeExtractedOpenMeldSpaceEgressAction(input) {
44102
- const normalizedInput = normalizeOpenMeldSpaceEgressActionInput(input);
44103
- const parsed = openMeldSpaceEgressActionSchema.safeParse(normalizedInput);
44104
- if (!parsed.success) throw new Error(parsed.error.issues[0]?.message ?? "OpenMeld Space egress action is invalid");
44105
- if (!(normalizedInput && typeof normalizedInput === "object")) return parsed.data;
44106
- if (parsed.data.type === "post_status") {
44107
- const preservedText = normalizedInput.text;
44108
- if (typeof preservedText === "string" && preservedText.trim().length > 0) return {
44109
- ...parsed.data,
44110
- text: preservedText
44111
- };
44112
- }
44113
- if (parsed.data.type === "post_message" && "messageEnvelope" in normalizedInput && normalizedInput.messageEnvelope && typeof normalizedInput.messageEnvelope === "object") {
44114
- const preservedText = normalizedInput.messageEnvelope.text;
44115
- if (typeof preservedText === "string" && preservedText.trim().length > 0) return {
44116
- ...parsed.data,
44117
- messageEnvelope: {
44118
- ...parsed.data.messageEnvelope,
44119
- text: preservedText
44120
- }
44121
- };
44122
- }
44123
- return parsed.data;
44124
- }
44125
- function appendMissingJsonClosers(blockText) {
44126
- const stack = [];
44127
- let inString = false;
44128
- let escaped = false;
44129
- for (const character of blockText) {
44130
- if (escaped) {
44131
- escaped = false;
44132
- continue;
44133
- }
44134
- if (character === "\\") {
44135
- escaped = true;
44136
- continue;
44137
- }
44138
- if (character === "\"") {
44139
- inString = !inString;
44140
- continue;
44141
- }
44142
- if (inString) continue;
44143
- if (character === "{") {
44144
- stack.push("}");
44145
- continue;
44146
- }
44147
- if (character === "[") {
44148
- stack.push("]");
44149
- continue;
44150
- }
44151
- if ((character === "}" || character === "]") && stack.at(-1) === character) stack.pop();
44152
- }
44153
- if (inString || stack.length === 0) return null;
44154
- return `${blockText}${stack.reverse().join("")}`;
44155
- }
44156
43768
  const SPACE_CONTRACT_ALLOWED_ACTION_ORDER = [
44157
43769
  "post_message",
44158
43770
  "post_status",
@@ -44177,41 +43789,23 @@ function areAllowedActionsEquivalent(left, right) {
44177
43789
  return canonicalLeft.length === canonicalRight.length && canonicalLeft.every((action, index) => action === canonicalRight[index]);
44178
43790
  }
44179
43791
  const COLLABORATION_HOW_THIS_SPACE_WORKS = "OpenMeld is an external collaboration layer, not your private scratchpad. Work normally in your local context, then publish only the public outcome this Space needs with one OpenMeld Space Action.";
44180
- const COLLABORATION_ACTION_REQUIREMENT = "Final outcome: use exactly one OpenMeld Space Action through the CLI. Only if every Space Action CLI command fails, use one trailing openmeld-space-action block.";
44181
- const COLLABORATION_REPAIR_REQUIREMENT = "Return the corrected final answer again, preserve the user's intent, and end with exactly one valid trailing ```openmeld-space-action``` JSON block.";
43792
+ const COLLABORATION_ACTION_REQUIREMENT = "Final outcome: call exactly one dispatch-scoped OpenMeld Space Action CLI command. Your answer text never selects or substitutes for that action.";
43793
+ const COLLABORATION_REPAIR_REQUIREMENT = "Preserve the user's intent and call exactly one dispatch-scoped OpenMeld Space Action CLI command. Do not print an action as JSON or prose.";
44182
43794
  const RAW_CONTEXT_SHARING_HOW_THIS_SPACE_WORKS = "This Space uses transparent context sharing: OpenMeld may share your raw reply directly. Use OpenMeld Space Action when you need a controlled visible outcome.";
44183
43795
  const RAW_CONTEXT_SHARING_ACTION_REQUIREMENT = "Raw reply is allowed. Use OpenMeld Space Action only when you need a controlled visible outcome.";
44184
- const RAW_CONTEXT_SHARING_REPAIR_REQUIREMENT = "If you keep a trailing ```openmeld-space-action``` block, it must be valid. Otherwise return the plain raw reply with no ```openmeld-space-action``` block.";
44185
- function buildActionSchemaGuidanceLines(input) {
44186
- const lines = ["Inside the block, JSON must use the key \"type\". Never use \"action\"."];
43796
+ const RAW_CONTEXT_SHARING_REPAIR_REQUIREMENT = "Return the plain raw reply, or call one dispatch-scoped OpenMeld Space Action CLI command for a controlled visible outcome. Answer text never becomes an action.";
43797
+ function buildActionGuidanceLines$1(input) {
43798
+ const lines = [];
44187
43799
  for (const allowedAction of input.allowedActions) switch (allowedAction) {
44188
43800
  case "post_message":
44189
- lines.push("Use post_message for normal public replies, greetings, answers, and discussion.");
44190
- lines.push([
44191
- "Canonical post_message block:",
44192
- "```openmeld-space-action",
44193
- "{\"type\":\"post_message\",\"messageEnvelope\":{\"text\":\"Hello.\",\"activationTargets\":[],\"referenceTargets\":[]}}",
44194
- "```"
44195
- ].join("\n"));
43801
+ lines.push("Use the dispatch-scoped Space Action reply command for normal public replies, greetings, answers, and discussion.");
44196
43802
  break;
44197
43803
  case "post_status":
44198
43804
  lines.push("Use post_status only for final-safe outcomes: done, blocked, needs_input, or handoff. Do not use \"working\" or \"ready\" because post_status closes the Wake.");
44199
43805
  lines.push(`Keep post_status text at 120 characters or fewer. Use post_message for answers, discussion, or anything longer.`);
44200
- lines.push([
44201
- "Canonical post_status block (prefer final-safe statuses: done | blocked | needs_input | handoff):",
44202
- "```openmeld-space-action",
44203
- "{\"type\":\"post_status\",\"status\":\"done\",\"text\":\"Status update.\"}",
44204
- "```"
44205
- ].join("\n"));
44206
43806
  break;
44207
43807
  case "stay_silent":
44208
- lines.push("Use stay_silent only when you intentionally do not want OpenMeld to publish a public reply.");
44209
- lines.push([
44210
- "Canonical stay_silent block:",
44211
- "```openmeld-space-action",
44212
- "{\"type\":\"stay_silent\",\"reason\":\"No public reply is needed.\"}",
44213
- "```"
44214
- ].join("\n"));
43808
+ lines.push("Use the dispatch-scoped Space Action silent command only when you intentionally do not want OpenMeld to publish a public reply.");
44215
43809
  break;
44216
43810
  default: break;
44217
43811
  }
@@ -44221,8 +43815,8 @@ function resolveSpacePublicationRequirement(input) {
44221
43815
  const publicationMode = input?.publicationMode ?? DEFAULT_SPACE_CONTRACT_FIELDS.publicationMode;
44222
43816
  const allowedActions = canonicalizeAllowedActions(input?.allowedActions ?? DEFAULT_SPACE_CONTRACT_FIELDS.allowedActions);
44223
43817
  if (publicationMode === "raw_context_sharing") return {
43818
+ actionGuidanceLines: buildActionGuidanceLines$1({ allowedActions }),
44224
43819
  actionRequirementLine: RAW_CONTEXT_SHARING_ACTION_REQUIREMENT,
44225
- actionSchemaGuidanceLines: buildActionSchemaGuidanceLines({ allowedActions }),
44226
43820
  allowedActions,
44227
43821
  allowsRawReplyWithoutAction: true,
44228
43822
  howThisSpaceWorks: RAW_CONTEXT_SHARING_HOW_THIS_SPACE_WORKS,
@@ -44231,8 +43825,8 @@ function resolveSpacePublicationRequirement(input) {
44231
43825
  requiresExplicitPublicAction: false
44232
43826
  };
44233
43827
  return {
43828
+ actionGuidanceLines: buildActionGuidanceLines$1({ allowedActions }),
44234
43829
  actionRequirementLine: COLLABORATION_ACTION_REQUIREMENT,
44235
- actionSchemaGuidanceLines: buildActionSchemaGuidanceLines({ allowedActions }),
44236
43830
  allowedActions,
44237
43831
  allowsRawReplyWithoutAction: false,
44238
43832
  howThisSpaceWorks: COLLABORATION_HOW_THIS_SPACE_WORKS,
@@ -51438,23 +51032,6 @@ const CODEX_USER_AGENT_VERSION_RE = /\/([^\s]+)/u;
51438
51032
  const CLI_SEMVER_RE = /\b(\d+\.\d+\.\d+(?:[-+][^\s]+)?)\b/u;
51439
51033
  const SEMVER_CORE_RE = /^v?(\d+)\.(\d+)\.(\d+)/u;
51440
51034
  const WHITESPACE_RE = /\s+/u;
51441
- const EMAIL_RE = /[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}/iu;
51442
- const CLAUDE_UNAUTHENTICATED_OUTPUT_PATTERNS = [
51443
- "invalid api key",
51444
- "invalid token",
51445
- "expired token",
51446
- "missing api key",
51447
- "missing credentials",
51448
- "authentication_failed",
51449
- "oauth_org_not_allowed",
51450
- "failed to authenticate",
51451
- "authentication failed",
51452
- "oauth session expired",
51453
- "not logged in",
51454
- "not authenticated",
51455
- "not signed in",
51456
- "login required"
51457
- ];
51458
51035
  const latestControllerVersionCache = /* @__PURE__ */ new Map();
51459
51036
  const CONTROLLER_INTERFACE_SNAPSHOT_RESOLVERS = {
51460
51037
  "claude-code": resolveClaudeCodeInterfaceSnapshot,
@@ -51914,18 +51491,31 @@ async function resolveClaudeCodeInterfaceSnapshot(input) {
51914
51491
  launchContract: input.launchContract
51915
51492
  }), runLaunchContractCommand({
51916
51493
  allowNonZeroExit: true,
51917
- args: ["auth", "status"],
51494
+ args: [
51495
+ "auth",
51496
+ "status",
51497
+ "--json"
51498
+ ],
51918
51499
  launchContract: input.launchContract
51919
51500
  })]);
51920
51501
  const auth = resolveClaudeAuthSnapshot(authProbe);
51921
51502
  const version = versionProbe.ok ? parseCliVersion(versionProbe.stdout) : null;
51503
+ let message = input.baseSnapshot.message;
51504
+ let status = input.baseSnapshot.status;
51505
+ if (auth.status === "unauthenticated") {
51506
+ message = "Claude Code is installed, but this computer is not signed in to Claude Code.";
51507
+ status = "error";
51508
+ } else if (auth.status === "unknown") {
51509
+ message = "OpenMeld could not read Claude Code authentication status.";
51510
+ status = "warning";
51511
+ }
51922
51512
  return {
51923
- probeCompleted: authProbe.ok,
51513
+ probeCompleted: authProbe.ok && auth.status !== "unknown",
51924
51514
  snapshot: {
51925
51515
  ...input.baseSnapshot,
51926
51516
  auth,
51927
- message: auth.status === "unauthenticated" ? "Claude Code is installed, but this computer is not signed in to Claude Code." : input.baseSnapshot.message,
51928
- status: auth.status === "unauthenticated" ? "error" : input.baseSnapshot.status,
51517
+ message,
51518
+ status,
51929
51519
  version,
51930
51520
  versionAdvisory: await resolveControllerVersionAdvisory({
51931
51521
  checkedAt: input.baseSnapshot.checkedAt,
@@ -51942,7 +51532,11 @@ async function resolveCursorInterfaceSnapshot(input) {
51942
51532
  launchContract: input.launchContract
51943
51533
  }), runLaunchContractCommand({
51944
51534
  allowNonZeroExit: true,
51945
- args: ["status"],
51535
+ args: [
51536
+ "status",
51537
+ "--format",
51538
+ "json"
51539
+ ],
51946
51540
  launchContract: input.launchContract
51947
51541
  })]);
51948
51542
  const auth = resolveCursorAuthSnapshot(authProbe);
@@ -52437,45 +52031,25 @@ function resolveCodexAuthSnapshot(response) {
52437
52031
  function resolveClaudeAuthSnapshot(probe) {
52438
52032
  if (!probe.ok) return { status: "unknown" };
52439
52033
  const payload = parseJsonRecord(probe.stdout);
52440
- if (payload) {
52441
- if (typeof payload.loggedIn !== "boolean") return { status: "unknown" };
52442
- if (!payload.loggedIn) return { status: "unauthenticated" };
52443
- const email = normalizeOptionalText$15(payload.email);
52444
- return {
52445
- ...email ? { email } : {},
52446
- label: email ?? "Signed in",
52447
- status: "authenticated",
52448
- type: "claude"
52449
- };
52450
- }
52451
- const output = `${probe.stdout}\n${probe.stderr}`.trim();
52452
- const lower = output.toLowerCase();
52453
- if (CLAUDE_UNAUTHENTICATED_OUTPUT_PATTERNS.some((pattern) => lower.includes(pattern))) return { status: "unauthenticated" };
52454
- if (probe.code === 0 && output.length > 0) {
52455
- const email = resolveLikelyEmail(output);
52456
- return {
52457
- ...email ? { email } : {},
52458
- label: email ?? "Signed in",
52459
- status: "authenticated",
52460
- type: "claude"
52461
- };
52462
- }
52463
- return { status: "unknown" };
52034
+ if (typeof payload?.loggedIn !== "boolean") return { status: "unknown" };
52035
+ if (!payload.loggedIn) return { status: "unauthenticated" };
52036
+ const email = normalizeOptionalText$15(payload.email);
52037
+ return {
52038
+ ...email ? { email } : {},
52039
+ label: email ?? "Signed in",
52040
+ status: "authenticated",
52041
+ type: "claude"
52042
+ };
52464
52043
  }
52465
52044
  function resolveCursorAuthSnapshot(probe) {
52466
52045
  if (!probe.ok) return { status: "unknown" };
52467
- const output = `${probe.stdout}\n${probe.stderr}`.trim();
52468
- const lowered = output.toLowerCase();
52469
- if (lowered.includes("not logged in") || lowered.includes("not authenticated") || lowered.includes("login required")) return { status: "unauthenticated" };
52470
- if (lowered.includes("logged in") || lowered.includes("authenticated")) {
52471
- const email = resolveLikelyEmail(output);
52472
- return {
52473
- ...email ? { email } : {},
52474
- label: email ?? "Signed in",
52475
- status: "authenticated",
52476
- type: "cursor_login"
52477
- };
52478
- }
52046
+ const payload = parseJsonRecord(probe.stdout);
52047
+ if (payload?.status === "unauthenticated") return { status: "unauthenticated" };
52048
+ if (payload?.status === "authenticated") return {
52049
+ label: "Signed in",
52050
+ status: "authenticated",
52051
+ type: "cursor_login"
52052
+ };
52479
52053
  return { status: "unknown" };
52480
52054
  }
52481
52055
  function resolveOpenClawAuthProbe(probe) {
@@ -52562,9 +52136,6 @@ function normalizeOptionalText$15(value) {
52562
52136
  const normalized = value.trim();
52563
52137
  return normalized.length > 0 ? normalized : null;
52564
52138
  }
52565
- function resolveLikelyEmail(value) {
52566
- return value.match(EMAIL_RE)?.[0] ?? null;
52567
- }
52568
52139
  function toErrorMessage$16(error) {
52569
52140
  if (error instanceof Error) {
52570
52141
  const message = error.message.trim();
@@ -57315,14 +56886,14 @@ function renderMandatoryCompletionSection(input) {
57315
56886
  "- Do not finish this Wake with a plain-text final answer. Plain prose stays local and is not a public Space reply in Collaboration mode.",
57316
56887
  buildMandatoryCompletionActionLine(input, publicationRequirement),
57317
56888
  "- After the Space Action command succeeds, stop. OpenMeld reads that command as the public outcome.",
57318
- `- Use fallback JSON only if the Space Action command cannot run: \`${buildPromptSpaceActionCommand(input)}\`.`
56889
+ "- If the command cannot run, stop and let OpenMeld report the structured failure. Do not print JSON or prose as a substitute for the tool call."
57319
56890
  ].join("\n");
57320
56891
  }
57321
56892
  function buildMandatoryCompletionActionLine(input, publicationRequirement) {
57322
56893
  if (publicationRequirement.allowedActions.includes("post_message")) return `- Normal completion: run \`${buildSpaceActionCommand(input, "reply \"your public message\"")}\` and wait for it to finish.`;
57323
56894
  if (publicationRequirement.allowedActions.includes("post_status")) return `- Normal completion: run \`${buildSpaceActionCommand(input, "status done \"short completion update\"")}\` and wait for it to finish.`;
57324
56895
  if (publicationRequirement.allowedActions.includes("stay_silent")) return `- Normal completion: run \`${buildSpaceActionCommand(input, "silent --reason \"reason\"")}\` and wait for it to finish.`;
57325
- return `- Normal completion: run \`${buildPromptSpaceActionCommand(input)}\` and return one valid trailing openmeld-space-action block.`;
56896
+ return "- No permitted OpenMeld Space action is available. Do not invent one in answer text.";
57326
56897
  }
57327
56898
  function buildServiceFreshnessWarningLines(input) {
57328
56899
  return input.serviceFreshnessWarningLines?.filter(Boolean) ?? [];
@@ -57359,9 +56930,6 @@ function buildActionGuidanceLines(input) {
57359
56930
  function buildSpaceActionCommand(input, action) {
57360
56931
  return `${normalizeOptionalText$44(input.cliEntry) ?? "openmeld"} space action ${action}`;
57361
56932
  }
57362
- function buildPromptSpaceActionCommand(input) {
57363
- return `${normalizeOptionalText$44(input.cliEntry) ?? "openmeld"} prompt space-action --raw`;
57364
- }
57365
56933
  function buildSendTargetReferenceLines(input) {
57366
56934
  if (!(input.sendTargetReferenceLines && input.sendTargetReferenceLines.length > 0)) return [];
57367
56935
  return ["- Send target reference:", ...input.sendTargetReferenceLines.map((line) => ` ${line}`)];
@@ -63391,8 +62959,8 @@ function renderDaemonStartNeedsAttention(input) {
63391
62959
  //#endregion
63392
62960
  //#region src/local-components/manifest.ts
63393
62961
  const OPENMELD_CLI_COMMAND_CONTRACT_VERSION = "openmeld-cli-command-contract-2026-05-local-components-v1";
63394
- const OPENMELD_SKILLS_CONTRACT_VERSION = "openmeld-skills-contract-2026-05-required-v1";
63395
- const OPENMELD_SERVICE_CONTRACT_VERSION = CURRENT_DAEMON_EXECUTION_CONTRACT_EPOCH;
62962
+ const OPENMELD_SKILLS_CONTRACT_VERSION = "openmeld-skills-contract-2026-08-tool-owned-actions-v2";
62963
+ const OPENMELD_SERVICE_CONTRACT_VERSION = "openmeld-service-contract-2026-08-agent-answers-content-v1";
63396
62964
  const LOCAL_COMPONENTS_SNAPSHOT_FILE = "local-components.json";
63397
62965
  const SERVICE_COMPONENT_UPDATE_CODES = /* @__PURE__ */ new Set([
63398
62966
  "version_outdated",
@@ -63790,8 +63358,8 @@ const RECOVERY_PROMPT = [
63790
63358
  "OpenMeld execution recovery.",
63791
63359
  "Continue this exact controller conversation.",
63792
63360
  "Do not redo the task, call tools, edit files, or perform external actions.",
63793
- "Return only the final answer that was already completed in this conversation.",
63794
- "If the conversation has no completed final answer, return exactly RECOVERY_RESULT_UNAVAILABLE."
63361
+ "Return the best faithful final answer you can recover from this conversation.",
63362
+ "Your answer is content only. OpenMeld decides recovery status from the typed provider outcome, never from words in your answer."
63795
63363
  ].join(" ");
63796
63364
  async function resumeExactControllerConversation(input) {
63797
63365
  const identity = input.request.identity;
@@ -63851,7 +63419,7 @@ async function resumeExactControllerConversation(input) {
63851
63419
  status: "outcome_unknown"
63852
63420
  };
63853
63421
  const output = result.output.trim();
63854
- if (!output || output === "RECOVERY_RESULT_UNAVAILABLE") return {
63422
+ if (!output) return {
63855
63423
  destination: input.request.destination,
63856
63424
  identity,
63857
63425
  message: "The exact conversation did not contain a completed result.",
@@ -65766,7 +65334,7 @@ function buildAgentReplyReconsiderationPrompt(input) {
65766
65334
  "Keep the user's full request as the goal. Reconsider only the final Space action in light of these newer messages.",
65767
65335
  "Replace the proposal when a distinct, useful contribution is still possible. Avoid duplicating work or a conclusion another Agent has already posted.",
65768
65336
  "Choose stay_silent only when no distinct, useful, non-duplicative contribution remains.",
65769
- "Return exactly one final OpenMeld Space action. You may use the dispatch-scoped Space Action CLI or a trailing openmeld-space-action block.",
65337
+ "Call exactly one dispatch-scoped OpenMeld Space Action CLI command for the final action. Answer text never becomes an action.",
65770
65338
  `Previous proposed action: ${JSON.stringify(input.action)}`,
65771
65339
  `Newer Space messages: ${JSON.stringify(updates)}`
65772
65340
  ].join("\n");
@@ -66439,7 +66007,6 @@ function buildResultDispatchJournalMetadata(payload) {
66439
66007
  }
66440
66008
  //#endregion
66441
66009
  //#region src/local-service/dispatch/execute-dispatch-structured-action-repair.ts
66442
- const STRUCTURED_SPACE_ACTION_BLOCK_HEADER_REGEX = /^\s*\r?\n?/u;
66443
66010
  function resolveStructuredActionRequirementFailure$1(input) {
66444
66011
  if (input.resolution.parseError) return {
66445
66012
  failureReason: input.resolution.parseError,
@@ -66490,12 +66057,12 @@ function buildStructuredActionRepairPrompt$1(input) {
66490
66057
  "This is a bounded repair of the public delivery action only. Do not redo the user's work.",
66491
66058
  "Do not change the user's intent.",
66492
66059
  ...SPACE_ACTION_CONTEXT_GUIDANCE_LINES,
66493
- "OpenMeld only consumes your final answer and at most one valid trailing ```openmeld-space-action``` JSON block.",
66494
- "If an OpenMeld Space Action CLI command is available, run that command instead of printing fallback JSON.",
66060
+ "Your answer text never selects an OpenMeld Space action.",
66061
+ "Call exactly one dispatch-scoped OpenMeld Space Action CLI command to repair the delivery action.",
66495
66062
  publicationRequirement.repairRequirementLine,
66496
66063
  ...SPACE_ACTION_TARGET_GUIDANCE_LINES,
66497
66064
  ...normalizeOptionalText$44(input.currentReplyToSignalId) ? [`post_message.messageEnvelope.replyToSignalId must match the current dispatch reply target: ${normalizeOptionalText$44(input.currentReplyToSignalId)}.`] : [],
66498
- ...publicationRequirement.actionSchemaGuidanceLines,
66065
+ ...publicationRequirement.actionGuidanceLines,
66499
66066
  ...buildStructuredActionRepairSendTargetReferenceLines(input.sendTargetReferenceLines),
66500
66067
  `If you need recent public room context, use \`${historyCommand}\`.`,
66501
66068
  `If you need the OpenMeld action rules again, read the official guidance with \`${promptCommand}\` or \`${spaceGuideCommand}\`.`,
@@ -66510,7 +66077,7 @@ function buildStructuredActionRepairCompletionLines(input) {
66510
66077
  return [
66511
66078
  "Repair completion rule:",
66512
66079
  buildStructuredActionRepairPrimaryCommandLine(input),
66513
- "If the command cannot run, finish with the corrected public answer followed by exactly one valid trailing ```openmeld-space-action``` block.",
66080
+ "If the command cannot run, stop. Do not print JSON or prose as a substitute for the tool call.",
66514
66081
  "Do not finish with an explanation of what you will do."
66515
66082
  ];
66516
66083
  }
@@ -66518,7 +66085,7 @@ function buildStructuredActionRepairPrimaryCommandLine(input) {
66518
66085
  if (input.publicationRequirement.allowedActions.includes("post_message")) return `For a normal reply, run \`${input.cliEntry} space action reply "corrected public message"\` now and wait for it to finish.`;
66519
66086
  if (input.publicationRequirement.allowedActions.includes("post_status")) return `For a final status, run \`${input.cliEntry} space action status done "short completion update"\` now and wait for it to finish.`;
66520
66087
  if (input.publicationRequirement.allowedActions.includes("stay_silent")) return `If no public reply is needed, run \`${input.cliEntry} space action silent --reason "reason"\` now and wait for it to finish.`;
66521
- return `Run \`${input.cliEntry} prompt space-action --raw\` now and return one valid trailing openmeld-space-action block.`;
66088
+ return "No permitted OpenMeld Space action is available. Do not invent one in answer text.";
66522
66089
  }
66523
66090
  function buildStructuredActionRepairSendTargetReferenceLines(sendTargetReferenceLines) {
66524
66091
  if (!(sendTargetReferenceLines && sendTargetReferenceLines.length > 0)) return [];
@@ -66536,51 +66103,6 @@ function resolveStructuredActionRepairContinuation$1(input) {
66536
66103
  agentControllerConversationOverride: input.runtimeResult.contextResolution?.agentControllerConversation ?? contextDelta?.agentControllerConversation ?? input.agentControllerConversationOverride ?? null
66537
66104
  };
66538
66105
  }
66539
- function buildSyntheticStructuredSpaceActionRepairResult$1(input) {
66540
- const payload = input.runtimeResult.resultPayload;
66541
- if (payload.status !== "success" && payload.status !== "partial_success") return null;
66542
- const repairedAction = attemptLocalStructuredSpaceActionRepair(payload.output);
66543
- if (!repairedAction) return null;
66544
- const candidate = resolveTrailingStructuredSpaceActionCandidate(payload.output);
66545
- return {
66546
- ...input.runtimeResult,
66547
- resultPayload: {
66548
- ...payload,
66549
- output: resolveStructuredActionOutputFallback({
66550
- action: repairedAction,
66551
- cleanedOutput: candidate?.cleanedOutput ?? payload.output
66552
- }),
66553
- spaceAction: repairedAction
66554
- }
66555
- };
66556
- }
66557
- function attemptLocalStructuredSpaceActionRepair(output) {
66558
- const candidate = resolveTrailingStructuredSpaceActionCandidate(output);
66559
- if (!candidate) return;
66560
- const parsedBlock = tryParseStructuredSpaceActionBlockInput(candidate.blockText);
66561
- if (!(parsedBlock.actionInput && !parsedBlock.parseError)) return;
66562
- const normalizedAction = normalizeOpenMeldSpaceEgressActionInput(hydrateOpenMeldSpaceEgressActionInputFromCleanedOutput({
66563
- action: parsedBlock.actionInput,
66564
- cleanedOutput: candidate.cleanedOutput
66565
- }));
66566
- const parsedAction = openMeldSpaceEgressActionSchema.safeParse(normalizedAction);
66567
- if (!parsedAction.success) return;
66568
- return parsedAction.data;
66569
- }
66570
- function resolveTrailingStructuredSpaceActionCandidate(output) {
66571
- const normalizedOutput = typeof output === "string" ? output : "";
66572
- const markerIndex = normalizedOutput.lastIndexOf("```openmeld-space-action");
66573
- if (markerIndex < 0) return null;
66574
- const afterMarker = normalizedOutput.slice(markerIndex + 24);
66575
- const blockStartOffset = STRUCTURED_SPACE_ACTION_BLOCK_HEADER_REGEX.exec(afterMarker)?.[0].length ?? 0;
66576
- let blockText = afterMarker.slice(blockStartOffset).trim();
66577
- if (blockText.endsWith("```")) blockText = blockText.slice(0, -3).trimEnd();
66578
- if (blockText.length === 0) return null;
66579
- return {
66580
- blockText,
66581
- cleanedOutput: normalizedOutput.slice(0, markerIndex).trimEnd()
66582
- };
66583
- }
66584
66106
  function buildInvalidStructuredActionOutputPreview(runtimeResult) {
66585
66107
  const payload = runtimeResult.resultPayload;
66586
66108
  if (payload.status !== "success" && payload.status !== "partial_success") return null;
@@ -66754,7 +66276,6 @@ const reconcileBootstrapInjectedContextAfterDispatch = reconcileBootstrapInjecte
66754
66276
  const resolveBootstrapPlan = resolveBootstrapPlan$1;
66755
66277
  const rollbackBootstrapExecutionStateAfterDispatchFailure = rollbackBootstrapExecutionStateAfterDispatchFailure$1;
66756
66278
  const buildStructuredActionRepairPrompt = buildStructuredActionRepairPrompt$1;
66757
- const buildSyntheticStructuredSpaceActionRepairResult = buildSyntheticStructuredSpaceActionRepairResult$1;
66758
66279
  const coerceRuntimeResultToStructuredActionFailure = coerceRuntimeResultToStructuredActionFailure$1;
66759
66280
  const resolveStructuredActionRepairContinuation = resolveStructuredActionRepairContinuation$1;
66760
66281
  const resolveStructuredActionRequirementFailure = resolveStructuredActionRequirementFailure$1;
@@ -69179,10 +68700,7 @@ function normalizeResolvedPostMessageAction(input) {
69179
68700
  const normalizedPostMessageAction = normalizeDispatchPostMessageAction({
69180
68701
  action,
69181
68702
  currentReplyToSignalId: input.parsedTask.replyToSnapshot?.signalId ?? null,
69182
- inputKind: resolvePostMessageInputKind({
69183
- runtimeResult: input.runtimeResult,
69184
- structuredSpaceActionResolution: input.structuredSpaceActionResolution
69185
- }),
68703
+ inputKind: "direct_payload",
69186
68704
  sendTargetReference: input.sendTargetReference
69187
68705
  });
69188
68706
  emitRunLine({
@@ -69210,10 +68728,7 @@ function normalizeResolvedPostMessageAction(input) {
69210
68728
  activationTargetsCount: action.messageEnvelope.activationTargets.length,
69211
68729
  dispatchId: input.parsedTask.dispatchId,
69212
68730
  failureReason,
69213
- inputKind: resolvePostMessageInputKind({
69214
- runtimeResult: input.runtimeResult,
69215
- structuredSpaceActionResolution: input.structuredSpaceActionResolution
69216
- }),
68731
+ inputKind: "direct_payload",
69217
68732
  memberDirectoryLoaded: input.sendTargetReference.status === "loaded",
69218
68733
  referenceTargetsCount: action.messageEnvelope.referenceTargets.length,
69219
68734
  replyToSignalIdResolved: Boolean(action.messageEnvelope.replyToSignalId),
@@ -69301,55 +68816,14 @@ async function maybeRepairStructuredSpaceAction(input) {
69301
68816
  taskId: input.parsedTask.taskId
69302
68817
  }
69303
68818
  });
69304
- const localRepairEvaluation = resolveStructuredActionRepairEvaluation({
69305
- runtimeResult: input.runtimeResult,
69306
- useLocalSyntheticRepair: true
69307
- });
69308
- if (localRepairEvaluation.accepted && localRepairEvaluation.runtimeResult) {
69309
- emitRunLine({
69310
- presenter: input.presenter,
69311
- code: "daemon.run.structured_action_repair_completed",
69312
- text: `structured OpenMeld Space action repair completed for task ${input.parsedTask.taskId}`,
69313
- payload: {
69314
- dispatchId: input.parsedTask.dispatchId,
69315
- repaired: true,
69316
- repairMode: "local_synthetic",
69317
- targetProfileId: input.parsedTask.targetProfileId,
69318
- taskId: input.parsedTask.taskId
69319
- }
69320
- });
69321
- return {
69322
- finalFailureDiagnostics: null,
69323
- runtimeResult: applyStructuredSpaceActionProvenanceToRuntimeResult({
69324
- runtimeResult: localRepairEvaluation.runtimeResult,
69325
- provenance: "local_repair"
69326
- })
69327
- };
69328
- }
69329
- const localFailureDiagnostics = resolveStructuredActionFailureDiagnostics({
69330
- carrierKind: localRepairEvaluation.carrierKind,
69331
- parseError: localRepairEvaluation.parseError ?? input.failureReason,
69332
- publicFailureReason: input.failureReason,
69333
- repairMode: "local_synthetic",
69334
- runtimeResult: localRepairEvaluation.runtimeResult ?? input.runtimeResult
69335
- });
69336
- emitRunLine({
69337
- presenter: input.presenter,
69338
- code: "daemon.run.structured_action_repair_failed",
69339
- text: `structured OpenMeld Space action repair failed for task ${input.parsedTask.taskId}`,
69340
- payload: {
69341
- dispatchId: input.parsedTask.dispatchId,
69342
- ...localFailureDiagnostics,
69343
- failureReason: input.failureReason,
69344
- repairedRuntimeStatus: localRepairEvaluation.repairedRuntimeStatus,
69345
- repairedStructuredActionPresent: localRepairEvaluation.repairedStructuredActionPresent,
69346
- repairMode: "local_synthetic",
69347
- targetProfileId: input.parsedTask.targetProfileId,
69348
- taskId: input.parsedTask.taskId
69349
- }
69350
- });
69351
68819
  if (!input.runControllerRepair) return {
69352
- finalFailureDiagnostics: localFailureDiagnostics,
68820
+ finalFailureDiagnostics: resolveStructuredActionFailureDiagnostics({
68821
+ carrierKind: "none",
68822
+ parseError: input.failureReason,
68823
+ publicFailureReason: input.failureReason,
68824
+ repairMode: "controller_roundtrip",
68825
+ runtimeResult: input.runtimeResult
68826
+ }),
69353
68827
  runtimeResult: null
69354
68828
  };
69355
68829
  let providerRepairRuntimeResult;
@@ -69405,10 +68879,7 @@ async function maybeRepairStructuredSpaceAction(input) {
69405
68879
  presenter: input.presenter,
69406
68880
  runtimeResult: providerRepairRuntimeResult
69407
68881
  });
69408
- const providerRepairEvaluation = resolveStructuredActionRepairEvaluation({
69409
- runtimeResult: providerRepairRuntimeResult,
69410
- useLocalSyntheticRepair: true
69411
- });
68882
+ const providerRepairEvaluation = resolveStructuredActionRepairEvaluation({ runtimeResult: providerRepairRuntimeResult });
69412
68883
  if (!(providerRepairEvaluation.accepted && providerRepairEvaluation.runtimeResult)) {
69413
68884
  const providerFailureDiagnostics = resolveStructuredActionFailureDiagnostics({
69414
68885
  carrierKind: providerRepairEvaluation.carrierKind,
@@ -69458,7 +68929,7 @@ async function maybeRepairStructuredSpaceAction(input) {
69458
68929
  };
69459
68930
  }
69460
68931
  function resolveStructuredActionRepairEvaluation(input) {
69461
- const runtimeResult = input.useLocalSyntheticRepair ? buildSyntheticStructuredSpaceActionRepairResult({ runtimeResult: input.runtimeResult }) ?? input.runtimeResult : input.runtimeResult;
68932
+ const runtimeResult = input.runtimeResult;
69462
68933
  const repairedResolution = resolveStructuredSpaceActionFromRuntimePayload(runtimeResult);
69463
68934
  const repairedAction = runtimeResult.resultPayload.spaceAction ?? repairedResolution.action;
69464
68935
  const repairedRuntimeStatus = runtimeResult.resultPayload.status;
@@ -69513,15 +68984,11 @@ function resolveStructuredSpaceActionFromRuntimePayload(runtimeResult) {
69513
68984
  cleanedOutput: void 0,
69514
68985
  parseError: null
69515
68986
  };
69516
- const extraction = tryExtractTrailingStructuredSpaceActionBlock({ output: payload.output });
69517
68987
  return {
69518
- action: extraction.action ?? void 0,
69519
- carrierKind: extraction.carrierKind,
69520
- cleanedOutput: extraction.action === null ? extraction.cleanedOutput : resolveStructuredActionOutputFallback({
69521
- action: extraction.action,
69522
- cleanedOutput: extraction.cleanedOutput
69523
- }),
69524
- parseError: extraction.parseError
68988
+ action: payload.spaceAction,
68989
+ carrierKind: "none",
68990
+ cleanedOutput: void 0,
68991
+ parseError: null
69525
68992
  };
69526
68993
  }
69527
68994
  function applyStructuredSpaceActionResolutionToRuntimePayload(input) {
@@ -69552,10 +69019,6 @@ function resolveStructuredSpaceActionProvenance(input) {
69552
69019
  if (!input.resolvedSpaceAction) return;
69553
69020
  return input.runtimeResult.resultPayload.spaceActionProvenance ?? "direct";
69554
69021
  }
69555
- function resolvePostMessageInputKind(input) {
69556
- if (input.runtimeResult.resultPayload.spaceAction?.type === "post_message") return "direct_payload";
69557
- return input.structuredSpaceActionResolution.carrierKind === "trailing_json" ? "trailing_json" : "fenced_block";
69558
- }
69559
69022
  function runDispatchRuntimeExecution(input) {
69560
69023
  return runRuntimeTask({
69561
69024
  ...input.agentControllerConversationOverride ? { agentContextOverride: {
@@ -97102,8 +96565,6 @@ const LEAVE_CARD_MIN_CONTENT_WIDTH = 8;
97102
96565
  const LEAVE_CARD_LEADING_BLANK_LINES = 2;
97103
96566
  const MEMBERS_PANEL_REFRESH_DEBOUNCE_MS = 250;
97104
96567
  const SPACE_META_REFRESH_DEBOUNCE_MS = 1e3;
97105
- const SPACE_MEMBER_ADDED_NOTICE_REGEX = / added .+ to this space\./i;
97106
- const SPACE_MEMBER_REMOVED_NOTICE_REGEX = / removed .+ from this space\./i;
97107
96568
  function resolveOptionalReadableLocalSpaceConfig(result, operation) {
97108
96569
  if (result.kind === "missing") return null;
97109
96570
  if (isLocalSpaceStateCorruptResult(result)) throw toLocalSpaceStateIntegrityError({
@@ -99498,9 +98959,7 @@ function shouldRefreshMembersSnapshotForEvent(event) {
99498
98959
  const meta = resolveSignalTextMetaFromEnvelope$1(event);
99499
98960
  const purpose = String(meta?.purpose ?? "").trim();
99500
98961
  if (purpose === "space_membership_join_notice" || purpose === "space_membership_remove_notice") return true;
99501
- const text = resolveNonTransientSignalText(event);
99502
- if (!text) return false;
99503
- return SPACE_MEMBER_ADDED_NOTICE_REGEX.test(text) || SPACE_MEMBER_REMOVED_NOTICE_REGEX.test(text);
98962
+ return false;
99504
98963
  }
99505
98964
  function shouldRefreshSpaceMetaForEvent(event) {
99506
98965
  if (!isSignalEnvelope(event)) return false;
@@ -106949,4 +106408,4 @@ function isHumanInteractiveSpaceRuntime(runtime) {
106949
106408
  //#endregion
106950
106409
  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 };
106951
106410
 
106952
- //# sourceMappingURL=command-CtueGhEA.js.map
106411
+ //# sourceMappingURL=command-DjZ6uBsa.js.map