openmeld 0.3.258 → 0.3.259

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.
Files changed (65) hide show
  1. package/dist/{add-me-membership-B8rT9msn.js → add-me-membership-CQeOTn8Y.js} +2 -2
  2. package/dist/{add-me-membership-B8rT9msn.js.map → add-me-membership-CQeOTn8Y.js.map} +1 -1
  3. package/dist/{agents-rbrzsUPC.js → agents-CLlVC_zK.js} +8 -8
  4. package/dist/{agents-rbrzsUPC.js.map → agents-CLlVC_zK.js.map} +1 -1
  5. package/dist/{command-C7knNgv9.js → command-BmbIcCis.js} +10 -10
  6. package/dist/{command-C7knNgv9.js.map → command-BmbIcCis.js.map} +1 -1
  7. package/dist/{computer-connection-review-BUZdZxR8.js → computer-connection-review-zgdekYjE.js} +2 -2
  8. package/dist/{computer-connection-review-BUZdZxR8.js.map → computer-connection-review-zgdekYjE.js.map} +1 -1
  9. package/dist/{computer-disconnect-C3uKOOlJ.js → computer-disconnect-Bv4hrAWw.js} +3 -3
  10. package/dist/{computer-disconnect-C3uKOOlJ.js.map → computer-disconnect-Bv4hrAWw.js.map} +1 -1
  11. package/dist/{computer-setup-continuation-CehzYR-3.js → computer-setup-continuation-3oNkl1o1.js} +2 -2
  12. package/dist/{computer-setup-continuation-CehzYR-3.js.map → computer-setup-continuation-3oNkl1o1.js.map} +1 -1
  13. package/dist/{daemon-lifecycle-journal-B2cNyBV2.js → daemon-lifecycle-journal-oMoQyKEB.js} +3 -3
  14. package/dist/{daemon-lifecycle-journal-B2cNyBV2.js.map → daemon-lifecycle-journal-oMoQyKEB.js.map} +1 -1
  15. package/dist/{daemon-service-runtime-CQjz4H06.js → daemon-service-runtime-BSFTYU0n.js} +2 -2
  16. package/dist/{daemon-service-runtime-CQjz4H06.js.map → daemon-service-runtime-BSFTYU0n.js.map} +1 -1
  17. package/dist/{daemon-service-update-coordinator-IgXvzOsW.js → daemon-service-update-coordinator-BUAkAxqT.js} +4 -4
  18. package/dist/{daemon-service-update-coordinator-IgXvzOsW.js.map → daemon-service-update-coordinator-BUAkAxqT.js.map} +1 -1
  19. package/dist/{dispatch-owned-runtime-BxpC_aaI.js → dispatch-owned-runtime-D5THLVZR.js} +3 -3
  20. package/dist/{dispatch-owned-runtime-BxpC_aaI.js.map → dispatch-owned-runtime-D5THLVZR.js.map} +1 -1
  21. package/dist/{dual-view-guide-catalog-Cm8_zKnl.js → dual-view-guide-catalog-D4rlZXO_.js} +2 -2
  22. package/dist/{dual-view-guide-catalog-Cm8_zKnl.js.map → dual-view-guide-catalog-D4rlZXO_.js.map} +1 -1
  23. package/dist/{elapsed-time-Cu4YZoqK.js → elapsed-time-pHCf33Jh.js} +3 -3
  24. package/dist/{elapsed-time-Cu4YZoqK.js.map → elapsed-time-pHCf33Jh.js.map} +1 -1
  25. package/dist/{entry-DNXN3jPw.js → entry-V6Tf_wMP.js} +2 -2
  26. package/dist/{entry-DNXN3jPw.js.map → entry-V6Tf_wMP.js.map} +1 -1
  27. package/dist/{installation-inventory-DqxnhTKK.js → installation-inventory-Cr8q27L_.js} +3 -3
  28. package/dist/{installation-inventory-DqxnhTKK.js.map → installation-inventory-Cr8q27L_.js.map} +1 -1
  29. package/dist/{installer-BLijIl6G.js → installer-dx-JuhZZ.js} +2 -2
  30. package/dist/{installer-BLijIl6G.js.map → installer-dx-JuhZZ.js.map} +1 -1
  31. package/dist/{meta-api-C0lRMWF1.js → meta-api-CkKS9A5_.js} +3 -3
  32. package/dist/{meta-api-C0lRMWF1.js.map → meta-api-CkKS9A5_.js.map} +1 -1
  33. package/dist/{openmeld-CqNDufaW.js → openmeld-DVXOSt5S.js} +25 -24
  34. package/dist/openmeld-DVXOSt5S.js.map +1 -0
  35. package/dist/{openmeld-maintenance-worker-DytPVNCO.js → openmeld-maintenance-worker-eQqcq1LE.js} +9 -9
  36. package/dist/{openmeld-maintenance-worker-DytPVNCO.js.map → openmeld-maintenance-worker-eQqcq1LE.js.map} +1 -1
  37. package/dist/{openmeld-tools-update-join-BJjSaiMY.js → openmeld-tools-update-join-BKoMvawo.js} +4 -4
  38. package/dist/{openmeld-tools-update-join-BJjSaiMY.js.map → openmeld-tools-update-join-BKoMvawo.js.map} +1 -1
  39. package/dist/openmeld.js +4 -4
  40. package/dist/{prepare-provider-runtime-N0uP2aUG.js → prepare-provider-runtime-BYKiQArk.js} +2 -2
  41. package/dist/{prepare-provider-runtime-N0uP2aUG.js.map → prepare-provider-runtime-BYKiQArk.js.map} +1 -1
  42. package/dist/{prepare-session-executor-BE3fbwgb.js → prepare-session-executor-_0fWWVwP.js} +14 -14
  43. package/dist/{prepare-session-executor-BE3fbwgb.js.map → prepare-session-executor-_0fWWVwP.js.map} +1 -1
  44. package/dist/{runtime-CUN9BLfZ.js → runtime-CMSCzSI2.js} +10 -10
  45. package/dist/{runtime-CUN9BLfZ.js.map → runtime-CMSCzSI2.js.map} +1 -1
  46. package/dist/{runtime-agent-controller-reporting-submission-YtLJgQc7.js → runtime-agent-controller-reporting-submission-NTqBffbr.js} +3 -3
  47. package/dist/{runtime-agent-controller-reporting-submission-YtLJgQc7.js.map → runtime-agent-controller-reporting-submission-NTqBffbr.js.map} +1 -1
  48. package/dist/{service-DRRVlSkR.js → service-Ciifmu6w.js} +10 -10
  49. package/dist/{service-DRRVlSkR.js.map → service-Ciifmu6w.js.map} +1 -1
  50. package/dist/{service-account-control-BgG4jYZx.js → service-account-control-D6VGaquv.js} +5 -5
  51. package/dist/{service-account-control-BgG4jYZx.js.map → service-account-control-D6VGaquv.js.map} +1 -1
  52. package/dist/{service-control-capabilities-DGqKBhqm.js → service-control-capabilities-BFS1cHMi.js} +3 -3
  53. package/dist/{service-control-capabilities-DGqKBhqm.js.map → service-control-capabilities-BFS1cHMi.js.map} +1 -1
  54. package/dist/{service-control-capabilities-CMRn_qRT.js → service-control-capabilities-h014PLa0.js} +1 -1
  55. package/dist/{state-CBWBsV1X.js → state-Defk8u-_.js} +2 -2
  56. package/dist/{state-CBWBsV1X.js.map → state-Defk8u-_.js.map} +1 -1
  57. package/dist/{updates-api-ByctphEr.js → updates-api-D2Hox-6r.js} +4 -4
  58. package/dist/{updates-api-ByctphEr.js.map → updates-api-D2Hox-6r.js.map} +1 -1
  59. package/dist/{upgrade-CwXxojfd.js → upgrade-BYlFNl6H.js} +7 -7
  60. package/dist/{upgrade-CwXxojfd.js.map → upgrade-BYlFNl6H.js.map} +1 -1
  61. package/dist/upgrade-FcSJsBzm.js +4 -0
  62. package/dist/windows/openmeld-windows-process.exe +0 -0
  63. package/package.json +13 -13
  64. package/dist/openmeld-CqNDufaW.js.map +0 -1
  65. package/dist/upgrade-CmJmtVMq.js +0 -4
@@ -1 +1 @@
1
- {"version":3,"file":"meta-api-C0lRMWF1.js","names":["record"],"sources":["../src/space/cli-space-api.ts","../src/space/send-files.ts","../src/space/send-input.ts","../src/space/api-json.ts","../src/space/gateway-response.ts","../src/space/space-meta-response.ts","../src/space/meta-api.ts"],"sourcesContent":["import { createSpaceApi, type SpaceApi } from \"@openmeld/api-client\";\nimport { createCliApiClientFoundation } from \"./api-client-foundation\";\n\nexport type {\n SpaceApi,\n SpaceSignalsReadQuery,\n} from \"@openmeld/api-client\";\n\nexport function createCliSpaceApi(\n baseUrl: string,\n options: Parameters<typeof createCliApiClientFoundation>[1] = {}\n): SpaceApi {\n return createSpaceApi(createCliApiClientFoundation(baseUrl, options));\n}\n","import { openAsBlob } from \"node:fs\";\nimport { access } from \"node:fs/promises\";\nimport { basename } from \"node:path\";\nimport {\n type StructuredApiClientFailure,\n toStructuredApiClientFailure,\n} from \"@openmeld/api-client\";\nimport {\n resolveSpaceFileMimeType,\n SPACE_FILE_MAX_SIZE_BYTES,\n SPACE_MESSAGE_FILE_MAX_COUNT,\n spaceFileNameSchema,\n} from \"@openmeld/schemas\";\nimport type {\n OpenMeldRequestContext,\n SpaceMessageFileReference,\n} from \"@openmeld/schemas/types\";\nimport type { SpaceApi } from \"./cli-space-api\";\n\ntype PreparedSpaceFile = {\n bytes: Blob;\n name: string;\n mimeType: string;\n};\n\ntype SpaceFileCleanupFailure = {\n failure: StructuredApiClientFailure;\n fileId: string;\n};\n\nexport class SpaceSendFileError extends Error {\n readonly code: string;\n readonly requestId?: string;\n readonly status?: number;\n readonly upstreamCode?: string;\n\n constructor(input: {\n code: string;\n message: string;\n cause?: unknown;\n requestId?: string | null;\n status?: number | null;\n upstreamCode?: string | null;\n }) {\n super(input.message, { cause: input.cause });\n this.name = \"SpaceSendFileError\";\n this.code = input.code;\n if (input.requestId) {\n this.requestId = input.requestId;\n }\n if (input.status !== null && input.status !== undefined) {\n this.status = input.status;\n }\n if (input.upstreamCode) {\n this.upstreamCode = input.upstreamCode;\n }\n }\n}\n\nexport async function prepareRequestedSpaceSendFiles(input: {\n filePaths: readonly string[];\n}): Promise<readonly PreparedSpaceFile[]> {\n if (input.filePaths.length > SPACE_MESSAGE_FILE_MAX_COUNT) {\n throw new SpaceSendFileError({\n code: \"space.file.too_many\",\n message: `A Space message can include at most ${SPACE_MESSAGE_FILE_MAX_COUNT} files. The message was not sent.`,\n });\n }\n\n const prepared: PreparedSpaceFile[] = [];\n for (const rawPath of input.filePaths) {\n if (!rawPath.trim()) {\n throw new SpaceSendFileError({\n code: \"space.file.invalid_path\",\n message: \"File paths cannot be empty. The message was not sent.\",\n });\n }\n prepared.push(await prepareSpaceSendFile(rawPath));\n }\n return prepared;\n}\n\nexport async function uploadPreparedSpaceFiles(input: {\n files: readonly PreparedSpaceFile[];\n password?: string;\n requestContext: OpenMeldRequestContext;\n spaceApi: SpaceApi;\n spaceId: string;\n}): Promise<readonly SpaceMessageFileReference[]> {\n const uploaded: SpaceMessageFileReference[] = [];\n for (const file of input.files) {\n try {\n const descriptor = await input.spaceApi.uploadFile({\n bytes: file.bytes,\n clientMutationId: crypto.randomUUID(),\n mimeType: file.mimeType,\n name: file.name,\n origin: \"chat_upload\",\n parentId: null,\n requestContext: input.requestContext,\n spaceId: input.spaceId,\n ...(input.password === undefined\n ? {}\n : { spacePassword: input.password }),\n });\n uploaded.push({\n fileId: descriptor.id,\n revision: descriptor.latestRevision.revision,\n name: descriptor.name,\n mimeType: descriptor.latestRevision.mimeType,\n sizeBytes: descriptor.latestRevision.sizeBytes,\n });\n } catch (error) {\n const failure = toStructuredApiClientFailure(error);\n const cleanupFailures = await moveUploadedFilesToTrash({\n files: uploaded,\n password: input.password,\n requestContext: input.requestContext,\n spaceApi: input.spaceApi,\n spaceId: input.spaceId,\n });\n let cleanupMessage = \"\";\n if (uploaded.length > 0) {\n cleanupMessage =\n cleanupFailures.length === 0\n ? \" Files added earlier in this send were moved to Trash.\"\n : ` ${formatCleanupFailures({\n failures: cleanupFailures,\n passwordProtected: input.password !== undefined,\n profileId: input.requestContext.actorContext.openMeldProfileId,\n spaceId: input.spaceId,\n })}`;\n }\n throw new SpaceSendFileError({\n code: failure.code ?? \"space.file.upload_failed\",\n message: `Could not add file \"${file.name}\" to this Space. The message was not sent. ${failure.message}${cleanupMessage}`,\n cause: error,\n requestId: failure.requestId,\n status: failure.status,\n upstreamCode: failure.upstreamCode,\n });\n }\n }\n return uploaded;\n}\n\nasync function moveUploadedFilesToTrash(input: {\n files: readonly SpaceMessageFileReference[];\n password?: string;\n requestContext: OpenMeldRequestContext;\n spaceApi: SpaceApi;\n spaceId: string;\n}): Promise<readonly SpaceFileCleanupFailure[]> {\n const failures: SpaceFileCleanupFailure[] = [];\n for (const file of input.files) {\n try {\n await input.spaceApi.trashFileEntry({\n clientMutationId: crypto.randomUUID(),\n entryId: file.fileId,\n requestContext: input.requestContext,\n spaceId: input.spaceId,\n ...(input.password === undefined\n ? {}\n : { spacePassword: input.password }),\n });\n } catch (error) {\n failures.push({\n failure: toStructuredApiClientFailure(error),\n fileId: file.fileId,\n });\n }\n }\n return failures;\n}\n\nfunction formatCleanupFailures(input: {\n failures: readonly SpaceFileCleanupFailure[];\n passwordProtected: boolean;\n profileId: string;\n spaceId: string;\n}): string {\n const failureMessages = input.failures\n .map(({ failure, fileId }) => {\n const evidence = [\n failure.code ? `code ${failure.code}` : null,\n failure.requestId ? `request ${failure.requestId}` : null,\n ]\n .filter((value): value is string => value !== null)\n .join(\", \");\n const evidenceText = evidence ? ` (${evidence})` : \"\";\n return `Could not move file ${fileId} to Trash${evidenceText}: ${failure.message} Run \\`openmeld space files trash ${input.spaceId} ${fileId} --profile ${input.profileId}\\` to finish cleanup.`;\n })\n .join(\" \");\n const passwordGuidance = input.passwordProtected\n ? \" This Space is password protected. Add `--password` with the same Space password you used for this send; OpenMeld does not include the password in this message.\"\n : \"\";\n return `${failureMessages}${passwordGuidance}`;\n}\n\nasync function prepareSpaceSendFile(\n sourcePath: string\n): Promise<PreparedSpaceFile> {\n let bytes: Blob;\n try {\n // openAsBlob collapses missing paths into ERR_INVALID_ARG_VALUE on Node 24.\n // Preserve the filesystem error code for the user-facing failure category.\n await access(sourcePath);\n bytes = await openAsBlob(sourcePath);\n } catch (error) {\n const code = readNodeErrorCode(error);\n if (code === \"ENOENT\") {\n throw new SpaceSendFileError({\n code: \"space.file.file_not_found\",\n message: `File not found: ${sourcePath}. The message was not sent.`,\n cause: error,\n });\n }\n throw new SpaceSendFileError({\n code: \"space.file.file_unreadable\",\n message: `Could not read file: ${sourcePath}. The message was not sent.`,\n cause: error,\n });\n }\n\n if (bytes.size > SPACE_FILE_MAX_SIZE_BYTES) {\n throw new SpaceSendFileError({\n code: \"space.file.too_large\",\n message: `File exceeds the ${formatFileSizeLimit()} limit: ${sourcePath}. The message was not sent.`,\n });\n }\n\n const parsedName = spaceFileNameSchema.safeParse(basename(sourcePath));\n if (!parsedName.success) {\n throw new SpaceSendFileError({\n code: \"space.file.invalid_file_name\",\n message: `File name is invalid: ${sourcePath}. The message was not sent.`,\n });\n }\n\n return {\n bytes,\n name: parsedName.data,\n mimeType: resolveSpaceFileMimeType({ fileName: parsedName.data }),\n };\n}\n\nfunction readNodeErrorCode(error: unknown): string | null {\n if (!(error && typeof error === \"object\" && \"code\" in error)) {\n return null;\n }\n return typeof error.code === \"string\" ? error.code : null;\n}\n\nfunction formatFileSizeLimit(): string {\n return `${SPACE_FILE_MAX_SIZE_BYTES / (1024 * 1024)} MiB`;\n}\n","import { readFile } from \"node:fs/promises\";\nimport { createProjectsApi } from \"@openmeld/api-client\";\nimport { buildCanonicalRepositoryUrl } from \"@openmeld/projects\";\nimport {\n buildTargetWakeLifecycleId,\n executionContextSelectionSchema,\n} from \"@openmeld/schemas\";\nimport type {\n ExecutionContextAssignment,\n ExecutionContextSelection,\n Project,\n ProjectRepositorySettings,\n} from \"@openmeld/schemas/types\";\nimport { resolveBaseUrl } from \"../config/base-url\";\nimport {\n createSpaceSendInputConflictGuideError,\n createSpaceSendInputEmptyGuideError,\n createSpaceSendInputFileReadFailedGuideError,\n createSpaceSendInputRequiredGuideError,\n} from \"../runtime/dual-view-guide-catalog\";\nimport { createCliApiClientFoundation } from \"./api-client-foundation\";\n\ntype SelectedProjectWork = NonNullable<\n ExecutionContextAssignment[\"projectWork\"]\n>;\n\ntype SpaceTaskSelectionInput = {\n space: string;\n wakeTargets?: readonly string[];\n newTask?: boolean;\n forkFrom?: string;\n continueFrom?: string;\n taskAccess?: string;\n taskWorkspace?: string;\n projectWork?: SelectedProjectWork;\n};\n\ntype ResolveSpaceSendTextInput = {\n allowEmpty?: boolean;\n text?: string;\n stdin?: boolean;\n file?: string;\n readFromStdin?: () => Promise<string>;\n readFromFile?: (path: string) => Promise<string>;\n};\n\nexport function resolveSpaceTaskSelection(\n input: SpaceTaskSelectionInput\n): ExecutionContextSelection | undefined {\n const modes =\n Number(input.newTask === true) +\n Number(Boolean(input.forkFrom)) +\n Number(Boolean(input.continueFrom));\n if (\n modes === 0 &&\n !input.taskAccess &&\n !input.taskWorkspace &&\n !input.projectWork\n ) {\n return undefined;\n }\n if (modes > 1) {\n throw new Error(\n \"Choose only one of --new-task, --fork-from, or --continue-from.\"\n );\n }\n const targetProfileId = input.wakeTargets?.[0];\n if (!targetProfileId || input.wakeTargets?.length !== 1) {\n throw new Error(\"Task selection requires exactly one --wake <profile-id>.\");\n }\n const sourceSignalId = input.forkFrom ?? input.continueFrom;\n const sourceWakeId = sourceSignalId\n ? buildTargetWakeLifecycleId({\n spaceId: input.space,\n sourceSignalId,\n targetProfileId,\n })\n : undefined;\n const preferences = resolveTaskPreferences(input);\n let value: unknown;\n if (input.continueFrom) {\n value = { mode: \"resume\", sourceWakeId };\n } else if (input.forkFrom) {\n value = { mode: \"fork\", sourceWakeId, ...preferences };\n } else {\n value = { mode: input.newTask ? \"new\" : \"auto\", ...preferences };\n }\n const parsed = executionContextSelectionSchema.safeParse(value);\n if (!parsed.success) {\n throw new Error(\n parsed.error.issues[0]?.message ?? \"Invalid task selection.\"\n );\n }\n return parsed.data;\n}\n\nfunction resolveTaskPreferences(input: SpaceTaskSelectionInput) {\n if (input.continueFrom && (input.taskAccess || input.taskWorkspace)) {\n throw new Error(\n \"A continued task keeps its original file access and workspace. Start a new task to change them.\"\n );\n }\n if (input.projectWork && !input.newTask) {\n throw new Error(\n \"Choose --new-task when selecting a Project repository. A fork keeps its source workspace.\"\n );\n }\n if (input.projectWork && input.taskAccess === \"space_context\") {\n throw new Error(\n \"Project repository work requires read_only or workspace file access.\"\n );\n }\n return {\n access: input.taskAccess,\n workspace:\n input.taskWorkspace ?? (input.projectWork ? \"isolated\" : undefined),\n ...(input.projectWork ? { projectWork: input.projectWork } : {}),\n };\n}\n\nexport async function resolveCliProjectWork(input: {\n baseUrl?: string;\n projectSlug?: string;\n repositoryUrl?: string;\n}): Promise<SelectedProjectWork | undefined> {\n const projectSlug = input.projectSlug?.trim();\n if (!projectSlug) {\n if (input.repositoryUrl) {\n throw new Error(\"--repository requires --project.\");\n }\n return undefined;\n }\n const api = createProjectsApi(\n createCliApiClientFoundation(await resolveBaseUrl(input.baseUrl))\n );\n const listed = await api.list();\n const project = listed.projects.find(\n (candidate) => candidate.slug === projectSlug\n );\n if (!project || project.organizationId !== listed.organizationId) {\n throw new Error(\n `Project \"${projectSlug}\" is unavailable in the active Organization.`\n );\n }\n const response = await api.readRepositorySettings({ projectId: project.id });\n return selectCliProjectWork({\n project,\n repositoryUrl: input.repositoryUrl,\n settings: response.settings,\n });\n}\n\nexport function selectCliProjectWork(input: {\n project: Project;\n repositoryUrl?: string;\n settings: ProjectRepositorySettings;\n}): SelectedProjectWork {\n if (input.settings.projectId !== input.project.id) {\n throw new Error(\n \"Project repository settings changed. Refresh and try again.\"\n );\n }\n const requestedUrl = input.repositoryUrl\n ? buildCanonicalRepositoryUrl(input.repositoryUrl)\n : null;\n if (input.repositoryUrl && !requestedUrl) {\n throw new Error(\"--repository must be a valid Git repository URL.\");\n }\n const repositories = input.settings.repositories;\n const selected = requestedUrl\n ? repositories.find((candidate) => candidate.repositoryUrl === requestedUrl)\n : (repositories.find((candidate) => candidate.isDefault) ??\n (repositories.length === 1 ? repositories[0] : undefined));\n if (selected) {\n return {\n projectId: input.project.id,\n repositoryFingerprint: selected.repositoryFingerprint,\n };\n }\n if (requestedUrl) {\n throw new Error(\"That repository is not associated with this Project.\");\n }\n if (repositories.length === 0 && input.settings.legacyDefaultFingerprint) {\n return {\n projectId: input.project.id,\n repositoryFingerprint: input.settings.legacyDefaultFingerprint,\n };\n }\n throw new Error(\n repositories.length === 0\n ? \"This Project has no code repository. Configure one before starting code work.\"\n : \"This Project has several repositories. Choose one with --repository.\"\n );\n}\n\nexport async function resolveSpaceSendText(\n input: ResolveSpaceSendTextInput\n): Promise<string> {\n const textValue = String(input.text ?? \"\");\n const stdinEnabled = input.stdin === true;\n const filePath = String(input.file ?? \"\").trim();\n\n const hasTextSource = textValue.length > 0;\n const hasFileSource = filePath.length > 0;\n const sourceCount =\n Number(hasTextSource) + Number(stdinEnabled) + Number(hasFileSource);\n\n if (sourceCount === 0) {\n if (input.allowEmpty) {\n return \"\";\n }\n throw createSpaceSendInputRequiredGuideError();\n }\n if (sourceCount > 1) {\n throw createSpaceSendInputConflictGuideError();\n }\n\n let resolvedText = textValue;\n if (hasFileSource) {\n const readFromFile = input.readFromFile ?? readSpaceSendFile;\n try {\n resolvedText = await readFromFile(filePath);\n } catch (error) {\n throw createSpaceSendInputFileReadFailedGuideError(\n filePath,\n toErrorMessage(error)\n );\n }\n }\n if (stdinEnabled) {\n const readFromStdin = input.readFromStdin ?? readSpaceSendStdin;\n resolvedText = await readFromStdin();\n }\n\n if (resolvedText.trim().length === 0 && !input.allowEmpty) {\n throw createSpaceSendInputEmptyGuideError();\n }\n\n return resolvedText;\n}\n\nfunction readSpaceSendFile(path: string): Promise<string> {\n return readFile(path, \"utf8\");\n}\n\nfunction readSpaceSendStdin(): Promise<string> {\n return new Promise<string>((resolve, reject) => {\n const chunks: string[] = [];\n\n const cleanup = () => {\n process.stdin.off(\"data\", onData);\n process.stdin.off(\"end\", onEnd);\n process.stdin.off(\"error\", onError);\n };\n\n const onData = (chunk: string | Buffer) => {\n if (typeof chunk === \"string\") {\n chunks.push(chunk);\n return;\n }\n chunks.push(chunk.toString(\"utf8\"));\n };\n\n const onEnd = () => {\n cleanup();\n resolve(chunks.join(\"\"));\n };\n\n const onError = (error: Error) => {\n cleanup();\n reject(error);\n };\n\n process.stdin.setEncoding(\"utf8\");\n process.stdin.on(\"data\", onData);\n process.stdin.on(\"end\", onEnd);\n process.stdin.on(\"error\", onError);\n process.stdin.resume();\n });\n}\n\nfunction toErrorMessage(error: unknown): string {\n if (error instanceof Error && error.message.trim().length > 0) {\n return error.message;\n }\n return String(error ?? \"unknown error\");\n}\n","export function parseJsonResponse(raw: string): unknown {\n if (!raw.trim()) {\n return null;\n }\n try {\n return JSON.parse(raw);\n } catch {\n return null;\n }\n}\n","import { OpenMeldApiClientHttpError } from \"@openmeld/api-client\";\nimport { OPENMELD_HEADER_REQUEST_ID } from \"@openmeld/gateway-contract\";\nimport { gatewayErrorEnvelopeSchema } from \"@openmeld/schemas\";\nimport type { GatewayErrorCode } from \"@openmeld/schemas/types\";\nimport { parseJsonResponse } from \"./api-json\";\n\nconst FALLBACK_GATEWAY_HTTP_ERROR_CODE = \"gateway.http_error\" as const;\nconst GENERIC_NETWORK_ERROR_CODES = [\n \"network.timeout\",\n \"network.request_failed\",\n] as const;\n\ntype SafeParseResult<T> = { success: true; data: T } | { success: false };\n\ntype GatewayResponseSchema<T> = {\n safeParse: (value: unknown) => SafeParseResult<T>;\n};\n\nexport type GatewayResponseErrorCode =\n | GatewayErrorCode\n | typeof FALLBACK_GATEWAY_HTTP_ERROR_CODE\n | (typeof GENERIC_NETWORK_ERROR_CODES)[number]\n | string;\n\nexport type StructuredGatewayFailure = {\n code: GatewayResponseErrorCode | null;\n message: string;\n requestId: string | null;\n status: number | null;\n upstreamCode: string | null;\n};\n\nexport class GatewayHttpError extends Error {\n readonly code: GatewayResponseErrorCode;\n readonly requestId: string | null;\n readonly status: number;\n readonly rawBody: string;\n readonly upstreamCode: string | null;\n\n constructor(input: {\n code: GatewayResponseErrorCode;\n message: string;\n requestId?: string | null;\n status: number;\n rawBody: string;\n upstreamCode?: string | null;\n }) {\n super(input.message);\n this.name = \"GatewayHttpError\";\n this.code = input.code;\n this.requestId = normalizeOptionalText(input.requestId);\n this.status = input.status;\n this.rawBody = input.rawBody;\n this.upstreamCode = normalizeOptionalText(input.upstreamCode);\n }\n}\n\nexport async function readGatewayJsonResponse<T>(input: {\n response: Response;\n schema: GatewayResponseSchema<T>;\n invalidMessage: string;\n}): Promise<T> {\n const raw = await input.response.text();\n assertGatewayResponseOk({\n response: input.response,\n raw,\n });\n\n const parsed = input.schema.safeParse(parseJsonResponse(raw));\n if (!parsed.success) {\n throw new Error(input.invalidMessage);\n }\n return parsed.data;\n}\n\nexport async function readGatewayTextResponse(input: {\n response: Response;\n}): Promise<string> {\n const raw = await input.response.text();\n assertGatewayResponseOk({\n response: input.response,\n raw,\n });\n return raw;\n}\n\nexport function assertGatewayResponseOk(input: {\n response: Response;\n raw: string;\n}): void {\n if (input.response.ok) {\n return;\n }\n throw parseGatewayErrorResponse(input);\n}\n\nexport function parseGatewayErrorResponse(input: {\n response: Pick<Response, \"headers\" | \"status\">;\n raw: string;\n}): GatewayHttpError {\n const payload = parseJsonResponse(input.raw);\n const parsed = gatewayErrorEnvelopeSchema.safeParse(payload);\n const headerRequestId = normalizeOptionalText(\n input.response.headers.get(OPENMELD_HEADER_REQUEST_ID)\n );\n\n if (parsed.success) {\n return new GatewayHttpError({\n code: parsed.data.error.code,\n message: parsed.data.error.message,\n requestId: parsed.data.error.requestId || headerRequestId,\n status: input.response.status,\n rawBody: input.raw,\n upstreamCode: parsed.data.error.upstreamCode ?? null,\n });\n }\n\n const looseEnvelope = readLooseGatewayErrorEnvelope(payload);\n if (looseEnvelope) {\n return new GatewayHttpError({\n code: looseEnvelope.code ?? FALLBACK_GATEWAY_HTTP_ERROR_CODE,\n message:\n looseEnvelope.message ??\n `Gateway request failed with HTTP ${input.response.status}.`,\n requestId: looseEnvelope.requestId ?? headerRequestId,\n status: input.response.status,\n rawBody: input.raw,\n upstreamCode: looseEnvelope.upstreamCode,\n });\n }\n\n return new GatewayHttpError({\n code: FALLBACK_GATEWAY_HTTP_ERROR_CODE,\n message:\n normalizeOptionalText(input.raw) ??\n `Gateway request failed with HTTP ${input.response.status}.`,\n requestId: headerRequestId,\n status: input.response.status,\n rawBody: input.raw,\n upstreamCode: null,\n });\n}\n\nexport function toStructuredGatewayFailure(\n error: unknown\n): StructuredGatewayFailure {\n if (error instanceof OpenMeldApiClientHttpError) {\n return {\n code: error.code,\n message: normalizeFailureMessage(error.message),\n requestId: error.requestId,\n status: error.status,\n upstreamCode: error.upstreamCode,\n };\n }\n\n if (error instanceof GatewayHttpError) {\n return {\n code: error.code,\n message: normalizeFailureMessage(error.message),\n requestId: error.requestId,\n status: error.status,\n upstreamCode: error.upstreamCode,\n };\n }\n\n const genericErrorCode = readGenericErrorCode(error);\n if (genericErrorCode) {\n return {\n code: genericErrorCode,\n message: normalizeFailureMessage(\n error instanceof Error ? error.message : String(error)\n ),\n requestId: null,\n status: null,\n upstreamCode: null,\n };\n }\n\n return {\n code: null,\n message: normalizeFailureMessage(\n error instanceof Error ? error.message : String(error)\n ),\n requestId: null,\n status: null,\n upstreamCode: null,\n };\n}\n\nfunction normalizeOptionalText(value: unknown): string | null {\n const normalized = String(value ?? \"\").trim();\n return normalized.length > 0 ? normalized : null;\n}\n\nfunction normalizeFailureMessage(value: unknown): string {\n return normalizeOptionalText(value) ?? \"Unknown error.\";\n}\n\nfunction readGenericErrorCode(value: unknown): GatewayResponseErrorCode | null {\n if (!value || typeof value !== \"object\" || !(\"code\" in value)) {\n return null;\n }\n\n const normalized = normalizeOptionalText(\n (value as { code?: unknown }).code ?? null\n );\n return normalized as GatewayResponseErrorCode | null;\n}\n\nfunction readLooseGatewayErrorEnvelope(value: unknown): {\n code: string | null;\n message: string | null;\n requestId: string | null;\n upstreamCode: string | null;\n} | null {\n if (!value || typeof value !== \"object\") {\n return null;\n }\n\n const record = value as {\n error?: {\n code?: unknown;\n message?: unknown;\n requestId?: unknown;\n upstreamCode?: unknown;\n } | null;\n };\n const error = record.error;\n if (!error || typeof error !== \"object\") {\n return null;\n }\n\n const code = normalizeOptionalText(error.code);\n const message = normalizeOptionalText(error.message);\n const requestId = normalizeOptionalText(error.requestId);\n const upstreamCode = normalizeOptionalText(error.upstreamCode);\n if (!(code || message || requestId || upstreamCode)) {\n return null;\n }\n\n return {\n code,\n message,\n requestId,\n upstreamCode,\n };\n}\n","import type { SpaceMeta } from \"@openmeld/protocol\";\nimport { spaceMetaSchema } from \"@openmeld/schemas\";\n\ntype SpaceMetaParseOperation =\n | \"createSpaceMeta\"\n | \"fetchSpaceMeta\"\n | \"updateSpaceMeta\";\n\nexport function parseSpaceMetaPayload(input: {\n data: unknown;\n endpoint: string;\n operation: SpaceMetaParseOperation;\n}): SpaceMeta {\n try {\n const validation = spaceMetaSchema.safeParse(input.data);\n if (!validation.success) {\n const reason =\n validation.error.issues[0]?.message ??\n \"space meta payload does not match schema\";\n throw new Error(reason);\n }\n return validation.data;\n } catch (error) {\n const reason = error instanceof Error ? error.message : String(error);\n throw new Error(\n `${input.operation} received invalid response payload from ${input.endpoint}: ${reason}; raw=${JSON.stringify(input.data)}`\n );\n }\n}\n\nexport function parseSpaceMetaResponse(input: {\n raw: string;\n endpoint: string;\n operation: Extract<\n SpaceMetaParseOperation,\n \"fetchSpaceMeta\" | \"updateSpaceMeta\"\n >;\n}): SpaceMeta {\n try {\n return parseSpaceMetaPayload({\n data: JSON.parse(input.raw) as unknown,\n endpoint: input.endpoint,\n operation: input.operation,\n });\n } catch (error) {\n const reason = error instanceof Error ? error.message : String(error);\n throw new Error(\n `${input.operation} received invalid response payload from ${input.endpoint}: ${reason}; raw=${input.raw}`\n );\n }\n}\n","import type { SpaceMeta } from \"@openmeld/protocol\";\nimport type { OpenMeldRequestContext } from \"@openmeld/schemas/types\";\nimport { buildOpenMeldRequestContextHeadersWithAuth } from \"../config/request-headers\";\nimport { toSpaceMetaUrl } from \"../protocol/urls\";\nimport { fetchSpaceRequestWithTimeout } from \"./fetch-with-timeout\";\nimport { readGatewayTextResponse } from \"./gateway-response\";\nimport { parseSpaceMetaResponse } from \"./space-meta-response\";\n\ntype SpaceMetaApiInput = {\n requestContext: OpenMeldRequestContext;\n baseUrl: string;\n space: string;\n password?: string;\n};\n\nexport async function fetchSpaceMeta(\n input: SpaceMetaApiInput\n): Promise<SpaceMeta> {\n const endpoint = toSpaceMetaUrl(input.baseUrl, input.space);\n const response = await fetchSpaceRequestWithTimeout({\n url: endpoint,\n operation: \"space.fetch_meta\",\n init: {\n method: \"GET\",\n headers: await buildOpenMeldRequestContextHeadersWithAuth({\n requestUrl: endpoint,\n requestContext: input.requestContext,\n spacePassword: input.password,\n }),\n },\n });\n const raw = await readGatewayTextResponse({ response });\n\n return parseSpaceMetaResponse({\n raw,\n endpoint,\n operation: \"fetchSpaceMeta\",\n });\n}\n\nexport async function updateSpaceMeta(\n input: SpaceMetaApiInput & {\n purpose?: string;\n guide?: string;\n }\n): Promise<SpaceMeta> {\n const endpoint = toSpaceMetaUrl(input.baseUrl, input.space);\n const headers = await buildOpenMeldRequestContextHeadersWithAuth({\n requestUrl: endpoint,\n requestContext: input.requestContext,\n spacePassword: input.password,\n });\n headers[\"content-type\"] = \"application/json\";\n\n const response = await fetchSpaceRequestWithTimeout({\n url: endpoint,\n operation: \"space.update_meta\",\n init: {\n method: \"PATCH\",\n headers,\n body: JSON.stringify({\n ...(input.purpose === undefined ? {} : { purpose: input.purpose }),\n ...(input.guide === undefined ? {} : { guide: input.guide }),\n }),\n },\n });\n const raw = await readGatewayTextResponse({ response });\n\n return parseSpaceMetaResponse({\n raw,\n endpoint,\n operation: \"updateSpaceMeta\",\n });\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"meta-api-CkKS9A5_.js","names":["record"],"sources":["../src/space/cli-space-api.ts","../src/space/send-files.ts","../src/space/send-input.ts","../src/space/api-json.ts","../src/space/gateway-response.ts","../src/space/space-meta-response.ts","../src/space/meta-api.ts"],"sourcesContent":["import { createSpaceApi, type SpaceApi } from \"@openmeld/api-client\";\nimport { createCliApiClientFoundation } from \"./api-client-foundation\";\n\nexport type {\n SpaceApi,\n SpaceSignalsReadQuery,\n} from \"@openmeld/api-client\";\n\nexport function createCliSpaceApi(\n baseUrl: string,\n options: Parameters<typeof createCliApiClientFoundation>[1] = {}\n): SpaceApi {\n return createSpaceApi(createCliApiClientFoundation(baseUrl, options));\n}\n","import { openAsBlob } from \"node:fs\";\nimport { access } from \"node:fs/promises\";\nimport { basename } from \"node:path\";\nimport {\n type StructuredApiClientFailure,\n toStructuredApiClientFailure,\n} from \"@openmeld/api-client\";\nimport {\n resolveSpaceFileMimeType,\n SPACE_FILE_MAX_SIZE_BYTES,\n SPACE_MESSAGE_FILE_MAX_COUNT,\n spaceFileNameSchema,\n} from \"@openmeld/schemas\";\nimport type {\n OpenMeldRequestContext,\n SpaceMessageFileReference,\n} from \"@openmeld/schemas/types\";\nimport type { SpaceApi } from \"./cli-space-api\";\n\ntype PreparedSpaceFile = {\n bytes: Blob;\n name: string;\n mimeType: string;\n};\n\ntype SpaceFileCleanupFailure = {\n failure: StructuredApiClientFailure;\n fileId: string;\n};\n\nexport class SpaceSendFileError extends Error {\n readonly code: string;\n readonly requestId?: string;\n readonly status?: number;\n readonly upstreamCode?: string;\n\n constructor(input: {\n code: string;\n message: string;\n cause?: unknown;\n requestId?: string | null;\n status?: number | null;\n upstreamCode?: string | null;\n }) {\n super(input.message, { cause: input.cause });\n this.name = \"SpaceSendFileError\";\n this.code = input.code;\n if (input.requestId) {\n this.requestId = input.requestId;\n }\n if (input.status !== null && input.status !== undefined) {\n this.status = input.status;\n }\n if (input.upstreamCode) {\n this.upstreamCode = input.upstreamCode;\n }\n }\n}\n\nexport async function prepareRequestedSpaceSendFiles(input: {\n filePaths: readonly string[];\n}): Promise<readonly PreparedSpaceFile[]> {\n if (input.filePaths.length > SPACE_MESSAGE_FILE_MAX_COUNT) {\n throw new SpaceSendFileError({\n code: \"space.file.too_many\",\n message: `A Space message can include at most ${SPACE_MESSAGE_FILE_MAX_COUNT} files. The message was not sent.`,\n });\n }\n\n const prepared: PreparedSpaceFile[] = [];\n for (const rawPath of input.filePaths) {\n if (!rawPath.trim()) {\n throw new SpaceSendFileError({\n code: \"space.file.invalid_path\",\n message: \"File paths cannot be empty. The message was not sent.\",\n });\n }\n prepared.push(await prepareSpaceSendFile(rawPath));\n }\n return prepared;\n}\n\nexport async function uploadPreparedSpaceFiles(input: {\n files: readonly PreparedSpaceFile[];\n password?: string;\n requestContext: OpenMeldRequestContext;\n spaceApi: SpaceApi;\n spaceId: string;\n}): Promise<readonly SpaceMessageFileReference[]> {\n const uploaded: SpaceMessageFileReference[] = [];\n for (const file of input.files) {\n try {\n const descriptor = await input.spaceApi.uploadFile({\n bytes: file.bytes,\n clientMutationId: crypto.randomUUID(),\n mimeType: file.mimeType,\n name: file.name,\n origin: \"chat_upload\",\n parentId: null,\n requestContext: input.requestContext,\n spaceId: input.spaceId,\n ...(input.password === undefined\n ? {}\n : { spacePassword: input.password }),\n });\n uploaded.push({\n fileId: descriptor.id,\n revision: descriptor.latestRevision.revision,\n name: descriptor.name,\n mimeType: descriptor.latestRevision.mimeType,\n sizeBytes: descriptor.latestRevision.sizeBytes,\n });\n } catch (error) {\n const failure = toStructuredApiClientFailure(error);\n const cleanupFailures = await moveUploadedFilesToTrash({\n files: uploaded,\n password: input.password,\n requestContext: input.requestContext,\n spaceApi: input.spaceApi,\n spaceId: input.spaceId,\n });\n let cleanupMessage = \"\";\n if (uploaded.length > 0) {\n cleanupMessage =\n cleanupFailures.length === 0\n ? \" Files added earlier in this send were moved to Trash.\"\n : ` ${formatCleanupFailures({\n failures: cleanupFailures,\n passwordProtected: input.password !== undefined,\n profileId: input.requestContext.actorContext.openMeldProfileId,\n spaceId: input.spaceId,\n })}`;\n }\n throw new SpaceSendFileError({\n code: failure.code ?? \"space.file.upload_failed\",\n message: `Could not add file \"${file.name}\" to this Space. The message was not sent. ${failure.message}${cleanupMessage}`,\n cause: error,\n requestId: failure.requestId,\n status: failure.status,\n upstreamCode: failure.upstreamCode,\n });\n }\n }\n return uploaded;\n}\n\nasync function moveUploadedFilesToTrash(input: {\n files: readonly SpaceMessageFileReference[];\n password?: string;\n requestContext: OpenMeldRequestContext;\n spaceApi: SpaceApi;\n spaceId: string;\n}): Promise<readonly SpaceFileCleanupFailure[]> {\n const failures: SpaceFileCleanupFailure[] = [];\n for (const file of input.files) {\n try {\n await input.spaceApi.trashFileEntry({\n clientMutationId: crypto.randomUUID(),\n entryId: file.fileId,\n requestContext: input.requestContext,\n spaceId: input.spaceId,\n ...(input.password === undefined\n ? {}\n : { spacePassword: input.password }),\n });\n } catch (error) {\n failures.push({\n failure: toStructuredApiClientFailure(error),\n fileId: file.fileId,\n });\n }\n }\n return failures;\n}\n\nfunction formatCleanupFailures(input: {\n failures: readonly SpaceFileCleanupFailure[];\n passwordProtected: boolean;\n profileId: string;\n spaceId: string;\n}): string {\n const failureMessages = input.failures\n .map(({ failure, fileId }) => {\n const evidence = [\n failure.code ? `code ${failure.code}` : null,\n failure.requestId ? `request ${failure.requestId}` : null,\n ]\n .filter((value): value is string => value !== null)\n .join(\", \");\n const evidenceText = evidence ? ` (${evidence})` : \"\";\n return `Could not move file ${fileId} to Trash${evidenceText}: ${failure.message} Run \\`openmeld space files trash ${input.spaceId} ${fileId} --profile ${input.profileId}\\` to finish cleanup.`;\n })\n .join(\" \");\n const passwordGuidance = input.passwordProtected\n ? \" This Space is password protected. Add `--password` with the same Space password you used for this send; OpenMeld does not include the password in this message.\"\n : \"\";\n return `${failureMessages}${passwordGuidance}`;\n}\n\nasync function prepareSpaceSendFile(\n sourcePath: string\n): Promise<PreparedSpaceFile> {\n let bytes: Blob;\n try {\n // openAsBlob collapses missing paths into ERR_INVALID_ARG_VALUE on Node 24.\n // Preserve the filesystem error code for the user-facing failure category.\n await access(sourcePath);\n bytes = await openAsBlob(sourcePath);\n } catch (error) {\n const code = readNodeErrorCode(error);\n if (code === \"ENOENT\") {\n throw new SpaceSendFileError({\n code: \"space.file.file_not_found\",\n message: `File not found: ${sourcePath}. The message was not sent.`,\n cause: error,\n });\n }\n throw new SpaceSendFileError({\n code: \"space.file.file_unreadable\",\n message: `Could not read file: ${sourcePath}. The message was not sent.`,\n cause: error,\n });\n }\n\n if (bytes.size > SPACE_FILE_MAX_SIZE_BYTES) {\n throw new SpaceSendFileError({\n code: \"space.file.too_large\",\n message: `File exceeds the ${formatFileSizeLimit()} limit: ${sourcePath}. The message was not sent.`,\n });\n }\n\n const parsedName = spaceFileNameSchema.safeParse(basename(sourcePath));\n if (!parsedName.success) {\n throw new SpaceSendFileError({\n code: \"space.file.invalid_file_name\",\n message: `File name is invalid: ${sourcePath}. The message was not sent.`,\n });\n }\n\n return {\n bytes,\n name: parsedName.data,\n mimeType: resolveSpaceFileMimeType({ fileName: parsedName.data }),\n };\n}\n\nfunction readNodeErrorCode(error: unknown): string | null {\n if (!(error && typeof error === \"object\" && \"code\" in error)) {\n return null;\n }\n return typeof error.code === \"string\" ? error.code : null;\n}\n\nfunction formatFileSizeLimit(): string {\n return `${SPACE_FILE_MAX_SIZE_BYTES / (1024 * 1024)} MiB`;\n}\n","import { readFile } from \"node:fs/promises\";\nimport { createProjectsApi } from \"@openmeld/api-client\";\nimport { buildCanonicalRepositoryUrl } from \"@openmeld/projects\";\nimport {\n buildTargetWakeLifecycleId,\n executionContextSelectionSchema,\n} from \"@openmeld/schemas\";\nimport type {\n ExecutionContextAssignment,\n ExecutionContextSelection,\n Project,\n ProjectRepositorySettings,\n} from \"@openmeld/schemas/types\";\nimport { resolveBaseUrl } from \"../config/base-url\";\nimport {\n createSpaceSendInputConflictGuideError,\n createSpaceSendInputEmptyGuideError,\n createSpaceSendInputFileReadFailedGuideError,\n createSpaceSendInputRequiredGuideError,\n} from \"../runtime/dual-view-guide-catalog\";\nimport { createCliApiClientFoundation } from \"./api-client-foundation\";\n\ntype SelectedProjectWork = NonNullable<\n ExecutionContextAssignment[\"projectWork\"]\n>;\n\ntype SpaceTaskSelectionInput = {\n space: string;\n wakeTargets?: readonly string[];\n newTask?: boolean;\n forkFrom?: string;\n continueFrom?: string;\n taskAccess?: string;\n taskWorkspace?: string;\n projectWork?: SelectedProjectWork;\n};\n\ntype ResolveSpaceSendTextInput = {\n allowEmpty?: boolean;\n text?: string;\n stdin?: boolean;\n file?: string;\n readFromStdin?: () => Promise<string>;\n readFromFile?: (path: string) => Promise<string>;\n};\n\nexport function resolveSpaceTaskSelection(\n input: SpaceTaskSelectionInput\n): ExecutionContextSelection | undefined {\n const modes =\n Number(input.newTask === true) +\n Number(Boolean(input.forkFrom)) +\n Number(Boolean(input.continueFrom));\n if (\n modes === 0 &&\n !input.taskAccess &&\n !input.taskWorkspace &&\n !input.projectWork\n ) {\n return undefined;\n }\n if (modes > 1) {\n throw new Error(\n \"Choose only one of --new-task, --fork-from, or --continue-from.\"\n );\n }\n const targetProfileId = input.wakeTargets?.[0];\n if (!targetProfileId || input.wakeTargets?.length !== 1) {\n throw new Error(\"Task selection requires exactly one --wake <profile-id>.\");\n }\n const sourceSignalId = input.forkFrom ?? input.continueFrom;\n const sourceWakeId = sourceSignalId\n ? buildTargetWakeLifecycleId({\n spaceId: input.space,\n sourceSignalId,\n targetProfileId,\n })\n : undefined;\n const preferences = resolveTaskPreferences(input);\n let value: unknown;\n if (input.continueFrom) {\n value = { mode: \"resume\", sourceWakeId };\n } else if (input.forkFrom) {\n value = { mode: \"fork\", sourceWakeId, ...preferences };\n } else {\n value = { mode: input.newTask ? \"new\" : \"auto\", ...preferences };\n }\n const parsed = executionContextSelectionSchema.safeParse(value);\n if (!parsed.success) {\n throw new Error(\n parsed.error.issues[0]?.message ?? \"Invalid task selection.\"\n );\n }\n return parsed.data;\n}\n\nfunction resolveTaskPreferences(input: SpaceTaskSelectionInput) {\n if (input.continueFrom && (input.taskAccess || input.taskWorkspace)) {\n throw new Error(\n \"A continued task keeps its original file access and workspace. Start a new task to change them.\"\n );\n }\n if (input.projectWork && !input.newTask) {\n throw new Error(\n \"Choose --new-task when selecting a Project repository. A fork keeps its source workspace.\"\n );\n }\n if (input.projectWork && input.taskAccess === \"space_context\") {\n throw new Error(\n \"Project repository work requires read_only or workspace file access.\"\n );\n }\n return {\n access: input.taskAccess,\n workspace:\n input.taskWorkspace ?? (input.projectWork ? \"isolated\" : undefined),\n ...(input.projectWork ? { projectWork: input.projectWork } : {}),\n };\n}\n\nexport async function resolveCliProjectWork(input: {\n baseUrl?: string;\n projectSlug?: string;\n repositoryUrl?: string;\n}): Promise<SelectedProjectWork | undefined> {\n const projectSlug = input.projectSlug?.trim();\n if (!projectSlug) {\n if (input.repositoryUrl) {\n throw new Error(\"--repository requires --project.\");\n }\n return undefined;\n }\n const api = createProjectsApi(\n createCliApiClientFoundation(await resolveBaseUrl(input.baseUrl))\n );\n const listed = await api.list();\n const project = listed.projects.find(\n (candidate) => candidate.slug === projectSlug\n );\n if (!project || project.organizationId !== listed.organizationId) {\n throw new Error(\n `Project \"${projectSlug}\" is unavailable in the active Organization.`\n );\n }\n const response = await api.readRepositorySettings({ projectId: project.id });\n return selectCliProjectWork({\n project,\n repositoryUrl: input.repositoryUrl,\n settings: response.settings,\n });\n}\n\nexport function selectCliProjectWork(input: {\n project: Project;\n repositoryUrl?: string;\n settings: ProjectRepositorySettings;\n}): SelectedProjectWork {\n if (input.settings.projectId !== input.project.id) {\n throw new Error(\n \"Project repository settings changed. Refresh and try again.\"\n );\n }\n const requestedUrl = input.repositoryUrl\n ? buildCanonicalRepositoryUrl(input.repositoryUrl)\n : null;\n if (input.repositoryUrl && !requestedUrl) {\n throw new Error(\"--repository must be a valid Git repository URL.\");\n }\n const repositories = input.settings.repositories;\n const selected = requestedUrl\n ? repositories.find((candidate) => candidate.repositoryUrl === requestedUrl)\n : (repositories.find((candidate) => candidate.isDefault) ??\n (repositories.length === 1 ? repositories[0] : undefined));\n if (selected) {\n return {\n projectId: input.project.id,\n repositoryFingerprint: selected.repositoryFingerprint,\n };\n }\n if (requestedUrl) {\n throw new Error(\"That repository is not associated with this Project.\");\n }\n if (repositories.length === 0 && input.settings.legacyDefaultFingerprint) {\n return {\n projectId: input.project.id,\n repositoryFingerprint: input.settings.legacyDefaultFingerprint,\n };\n }\n throw new Error(\n repositories.length === 0\n ? \"This Project has no code repository. Configure one before starting code work.\"\n : \"This Project has several repositories. Choose one with --repository.\"\n );\n}\n\nexport async function resolveSpaceSendText(\n input: ResolveSpaceSendTextInput\n): Promise<string> {\n const textValue = String(input.text ?? \"\");\n const stdinEnabled = input.stdin === true;\n const filePath = String(input.file ?? \"\").trim();\n\n const hasTextSource = textValue.length > 0;\n const hasFileSource = filePath.length > 0;\n const sourceCount =\n Number(hasTextSource) + Number(stdinEnabled) + Number(hasFileSource);\n\n if (sourceCount === 0) {\n if (input.allowEmpty) {\n return \"\";\n }\n throw createSpaceSendInputRequiredGuideError();\n }\n if (sourceCount > 1) {\n throw createSpaceSendInputConflictGuideError();\n }\n\n let resolvedText = textValue;\n if (hasFileSource) {\n const readFromFile = input.readFromFile ?? readSpaceSendFile;\n try {\n resolvedText = await readFromFile(filePath);\n } catch (error) {\n throw createSpaceSendInputFileReadFailedGuideError(\n filePath,\n toErrorMessage(error)\n );\n }\n }\n if (stdinEnabled) {\n const readFromStdin = input.readFromStdin ?? readSpaceSendStdin;\n resolvedText = await readFromStdin();\n }\n\n if (resolvedText.trim().length === 0 && !input.allowEmpty) {\n throw createSpaceSendInputEmptyGuideError();\n }\n\n return resolvedText;\n}\n\nfunction readSpaceSendFile(path: string): Promise<string> {\n return readFile(path, \"utf8\");\n}\n\nfunction readSpaceSendStdin(): Promise<string> {\n return new Promise<string>((resolve, reject) => {\n const chunks: string[] = [];\n\n const cleanup = () => {\n process.stdin.off(\"data\", onData);\n process.stdin.off(\"end\", onEnd);\n process.stdin.off(\"error\", onError);\n };\n\n const onData = (chunk: string | Buffer) => {\n if (typeof chunk === \"string\") {\n chunks.push(chunk);\n return;\n }\n chunks.push(chunk.toString(\"utf8\"));\n };\n\n const onEnd = () => {\n cleanup();\n resolve(chunks.join(\"\"));\n };\n\n const onError = (error: Error) => {\n cleanup();\n reject(error);\n };\n\n process.stdin.setEncoding(\"utf8\");\n process.stdin.on(\"data\", onData);\n process.stdin.on(\"end\", onEnd);\n process.stdin.on(\"error\", onError);\n process.stdin.resume();\n });\n}\n\nfunction toErrorMessage(error: unknown): string {\n if (error instanceof Error && error.message.trim().length > 0) {\n return error.message;\n }\n return String(error ?? \"unknown error\");\n}\n","export function parseJsonResponse(raw: string): unknown {\n if (!raw.trim()) {\n return null;\n }\n try {\n return JSON.parse(raw);\n } catch {\n return null;\n }\n}\n","import { OpenMeldApiClientHttpError } from \"@openmeld/api-client\";\nimport { OPENMELD_HEADER_REQUEST_ID } from \"@openmeld/gateway-contract\";\nimport { gatewayErrorEnvelopeSchema } from \"@openmeld/schemas\";\nimport type { GatewayErrorCode } from \"@openmeld/schemas/types\";\nimport { parseJsonResponse } from \"./api-json\";\n\nconst FALLBACK_GATEWAY_HTTP_ERROR_CODE = \"gateway.http_error\" as const;\nconst GENERIC_NETWORK_ERROR_CODES = [\n \"network.timeout\",\n \"network.request_failed\",\n] as const;\n\ntype SafeParseResult<T> = { success: true; data: T } | { success: false };\n\ntype GatewayResponseSchema<T> = {\n safeParse: (value: unknown) => SafeParseResult<T>;\n};\n\nexport type GatewayResponseErrorCode =\n | GatewayErrorCode\n | typeof FALLBACK_GATEWAY_HTTP_ERROR_CODE\n | (typeof GENERIC_NETWORK_ERROR_CODES)[number]\n | string;\n\nexport type StructuredGatewayFailure = {\n code: GatewayResponseErrorCode | null;\n message: string;\n requestId: string | null;\n status: number | null;\n upstreamCode: string | null;\n};\n\nexport class GatewayHttpError extends Error {\n readonly code: GatewayResponseErrorCode;\n readonly requestId: string | null;\n readonly status: number;\n readonly rawBody: string;\n readonly upstreamCode: string | null;\n\n constructor(input: {\n code: GatewayResponseErrorCode;\n message: string;\n requestId?: string | null;\n status: number;\n rawBody: string;\n upstreamCode?: string | null;\n }) {\n super(input.message);\n this.name = \"GatewayHttpError\";\n this.code = input.code;\n this.requestId = normalizeOptionalText(input.requestId);\n this.status = input.status;\n this.rawBody = input.rawBody;\n this.upstreamCode = normalizeOptionalText(input.upstreamCode);\n }\n}\n\nexport async function readGatewayJsonResponse<T>(input: {\n response: Response;\n schema: GatewayResponseSchema<T>;\n invalidMessage: string;\n}): Promise<T> {\n const raw = await input.response.text();\n assertGatewayResponseOk({\n response: input.response,\n raw,\n });\n\n const parsed = input.schema.safeParse(parseJsonResponse(raw));\n if (!parsed.success) {\n throw new Error(input.invalidMessage);\n }\n return parsed.data;\n}\n\nexport async function readGatewayTextResponse(input: {\n response: Response;\n}): Promise<string> {\n const raw = await input.response.text();\n assertGatewayResponseOk({\n response: input.response,\n raw,\n });\n return raw;\n}\n\nexport function assertGatewayResponseOk(input: {\n response: Response;\n raw: string;\n}): void {\n if (input.response.ok) {\n return;\n }\n throw parseGatewayErrorResponse(input);\n}\n\nexport function parseGatewayErrorResponse(input: {\n response: Pick<Response, \"headers\" | \"status\">;\n raw: string;\n}): GatewayHttpError {\n const payload = parseJsonResponse(input.raw);\n const parsed = gatewayErrorEnvelopeSchema.safeParse(payload);\n const headerRequestId = normalizeOptionalText(\n input.response.headers.get(OPENMELD_HEADER_REQUEST_ID)\n );\n\n if (parsed.success) {\n return new GatewayHttpError({\n code: parsed.data.error.code,\n message: parsed.data.error.message,\n requestId: parsed.data.error.requestId || headerRequestId,\n status: input.response.status,\n rawBody: input.raw,\n upstreamCode: parsed.data.error.upstreamCode ?? null,\n });\n }\n\n const looseEnvelope = readLooseGatewayErrorEnvelope(payload);\n if (looseEnvelope) {\n return new GatewayHttpError({\n code: looseEnvelope.code ?? FALLBACK_GATEWAY_HTTP_ERROR_CODE,\n message:\n looseEnvelope.message ??\n `Gateway request failed with HTTP ${input.response.status}.`,\n requestId: looseEnvelope.requestId ?? headerRequestId,\n status: input.response.status,\n rawBody: input.raw,\n upstreamCode: looseEnvelope.upstreamCode,\n });\n }\n\n return new GatewayHttpError({\n code: FALLBACK_GATEWAY_HTTP_ERROR_CODE,\n message:\n normalizeOptionalText(input.raw) ??\n `Gateway request failed with HTTP ${input.response.status}.`,\n requestId: headerRequestId,\n status: input.response.status,\n rawBody: input.raw,\n upstreamCode: null,\n });\n}\n\nexport function toStructuredGatewayFailure(\n error: unknown\n): StructuredGatewayFailure {\n if (error instanceof OpenMeldApiClientHttpError) {\n return {\n code: error.code,\n message: normalizeFailureMessage(error.message),\n requestId: error.requestId,\n status: error.status,\n upstreamCode: error.upstreamCode,\n };\n }\n\n if (error instanceof GatewayHttpError) {\n return {\n code: error.code,\n message: normalizeFailureMessage(error.message),\n requestId: error.requestId,\n status: error.status,\n upstreamCode: error.upstreamCode,\n };\n }\n\n const genericErrorCode = readGenericErrorCode(error);\n if (genericErrorCode) {\n return {\n code: genericErrorCode,\n message: normalizeFailureMessage(\n error instanceof Error ? error.message : String(error)\n ),\n requestId: null,\n status: null,\n upstreamCode: null,\n };\n }\n\n return {\n code: null,\n message: normalizeFailureMessage(\n error instanceof Error ? error.message : String(error)\n ),\n requestId: null,\n status: null,\n upstreamCode: null,\n };\n}\n\nfunction normalizeOptionalText(value: unknown): string | null {\n const normalized = String(value ?? \"\").trim();\n return normalized.length > 0 ? normalized : null;\n}\n\nfunction normalizeFailureMessage(value: unknown): string {\n return normalizeOptionalText(value) ?? \"Unknown error.\";\n}\n\nfunction readGenericErrorCode(value: unknown): GatewayResponseErrorCode | null {\n if (!value || typeof value !== \"object\" || !(\"code\" in value)) {\n return null;\n }\n\n const normalized = normalizeOptionalText(\n (value as { code?: unknown }).code ?? null\n );\n return normalized as GatewayResponseErrorCode | null;\n}\n\nfunction readLooseGatewayErrorEnvelope(value: unknown): {\n code: string | null;\n message: string | null;\n requestId: string | null;\n upstreamCode: string | null;\n} | null {\n if (!value || typeof value !== \"object\") {\n return null;\n }\n\n const record = value as {\n error?: {\n code?: unknown;\n message?: unknown;\n requestId?: unknown;\n upstreamCode?: unknown;\n } | null;\n };\n const error = record.error;\n if (!error || typeof error !== \"object\") {\n return null;\n }\n\n const code = normalizeOptionalText(error.code);\n const message = normalizeOptionalText(error.message);\n const requestId = normalizeOptionalText(error.requestId);\n const upstreamCode = normalizeOptionalText(error.upstreamCode);\n if (!(code || message || requestId || upstreamCode)) {\n return null;\n }\n\n return {\n code,\n message,\n requestId,\n upstreamCode,\n };\n}\n","import type { SpaceMeta } from \"@openmeld/protocol\";\nimport { spaceMetaSchema } from \"@openmeld/schemas\";\n\ntype SpaceMetaParseOperation =\n | \"createSpaceMeta\"\n | \"fetchSpaceMeta\"\n | \"updateSpaceMeta\";\n\nexport function parseSpaceMetaPayload(input: {\n data: unknown;\n endpoint: string;\n operation: SpaceMetaParseOperation;\n}): SpaceMeta {\n try {\n const validation = spaceMetaSchema.safeParse(input.data);\n if (!validation.success) {\n const reason =\n validation.error.issues[0]?.message ??\n \"space meta payload does not match schema\";\n throw new Error(reason);\n }\n return validation.data;\n } catch (error) {\n const reason = error instanceof Error ? error.message : String(error);\n throw new Error(\n `${input.operation} received invalid response payload from ${input.endpoint}: ${reason}; raw=${JSON.stringify(input.data)}`\n );\n }\n}\n\nexport function parseSpaceMetaResponse(input: {\n raw: string;\n endpoint: string;\n operation: Extract<\n SpaceMetaParseOperation,\n \"fetchSpaceMeta\" | \"updateSpaceMeta\"\n >;\n}): SpaceMeta {\n try {\n return parseSpaceMetaPayload({\n data: JSON.parse(input.raw) as unknown,\n endpoint: input.endpoint,\n operation: input.operation,\n });\n } catch (error) {\n const reason = error instanceof Error ? error.message : String(error);\n throw new Error(\n `${input.operation} received invalid response payload from ${input.endpoint}: ${reason}; raw=${input.raw}`\n );\n }\n}\n","import type { SpaceMeta } from \"@openmeld/protocol\";\nimport type { OpenMeldRequestContext } from \"@openmeld/schemas/types\";\nimport { buildOpenMeldRequestContextHeadersWithAuth } from \"../config/request-headers\";\nimport { toSpaceMetaUrl } from \"../protocol/urls\";\nimport { fetchSpaceRequestWithTimeout } from \"./fetch-with-timeout\";\nimport { readGatewayTextResponse } from \"./gateway-response\";\nimport { parseSpaceMetaResponse } from \"./space-meta-response\";\n\ntype SpaceMetaApiInput = {\n requestContext: OpenMeldRequestContext;\n baseUrl: string;\n space: string;\n password?: string;\n};\n\nexport async function fetchSpaceMeta(\n input: SpaceMetaApiInput\n): Promise<SpaceMeta> {\n const endpoint = toSpaceMetaUrl(input.baseUrl, input.space);\n const response = await fetchSpaceRequestWithTimeout({\n url: endpoint,\n operation: \"space.fetch_meta\",\n init: {\n method: \"GET\",\n headers: await buildOpenMeldRequestContextHeadersWithAuth({\n requestUrl: endpoint,\n requestContext: input.requestContext,\n spacePassword: input.password,\n }),\n },\n });\n const raw = await readGatewayTextResponse({ response });\n\n return parseSpaceMetaResponse({\n raw,\n endpoint,\n operation: \"fetchSpaceMeta\",\n });\n}\n\nexport async function updateSpaceMeta(\n input: SpaceMetaApiInput & {\n purpose?: string;\n guide?: string;\n }\n): Promise<SpaceMeta> {\n const endpoint = toSpaceMetaUrl(input.baseUrl, input.space);\n const headers = await buildOpenMeldRequestContextHeadersWithAuth({\n requestUrl: endpoint,\n requestContext: input.requestContext,\n spacePassword: input.password,\n });\n headers[\"content-type\"] = \"application/json\";\n\n const response = await fetchSpaceRequestWithTimeout({\n url: endpoint,\n operation: \"space.update_meta\",\n init: {\n method: \"PATCH\",\n headers,\n body: JSON.stringify({\n ...(input.purpose === undefined ? {} : { purpose: input.purpose }),\n ...(input.guide === undefined ? {} : { guide: input.guide }),\n }),\n },\n });\n const raw = await readGatewayTextResponse({ response });\n\n return parseSpaceMetaResponse({\n raw,\n endpoint,\n operation: \"updateSpaceMeta\",\n });\n}\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { At as ensureOpenMeldManagedProfileWorkspace, Bt as describeProfileWorkspacePathValidationFailure, C as createModelCatalogReadSession, Dr as peopleComputerContainsDevice, E as resolveProfileWorkspaceRuntime, Er as parseAgentControllerRef, Et as listBuiltinAgentsRegistryEntries, Fr as resolveEvidenceSyncHealth, Ft as resolveConfiguredProfileWorkspacePath, G as notifyDaemonRouteCatalogChanged, I as listAgentTargetStates, Ir as resolveNativeAgentControllerPermissionModeForController, Lt as setCustomProfileWorkspace, Mr as resolveAgentControllerPermissionModeForController, Mt as readProfileWorkspaceConfig, Nn as checkAntigravityAcpAccount, Nr as resolveAgentExecutionStatus, O as syncDeviceRuntimeStateProjection, Or as projectPeopleComputersToLegacyLocalRuntimes, Pn as isAntigravityAcpLaunchContract, Pr as resolveAgentProfileEditCapabilities, Rt as setOpenMeldManagedProfileWorkspace, S as syncProfileWorkspaceState, St as canonicalizeLocalProjectPath, Tr as listAgentControllerPermissionModeOptions, V as resolveAgentTargetState, Z as resolveLocalRegistryAgentIdFromAgentControllerRef, _t as removeProjectConnection, br as getAgentControllerPermissionModeDisplayMetadata, bt as setDefaultProjectConnection, ft as listProjectBindings, j as resolveAgentProfilePrimaryAgentControllerReport, jt as normalizeCustomProfileWorkspacePath, k as createPrimaryBindingReadSession, lt as bindProject, mt as migrateProjectBindingStore, pt as listProjectConnectionsWithStatus, st as ProjectBindingOperationError, vr as createAgentExecutionStatusDisplayRows, xr as getAgentControllerPermissionModeFieldLabel, xt as unbindProject, yt as runIfAgentActivityBindingGenerationIsCurrent, zt as validateCustomProfileWorkspacePath } from "./prepare-provider-runtime-N0uP2aUG.js";
3
+ import { At as ensureOpenMeldManagedProfileWorkspace, Bt as describeProfileWorkspacePathValidationFailure, C as createModelCatalogReadSession, Dr as peopleComputerContainsDevice, E as resolveProfileWorkspaceRuntime, Er as parseAgentControllerRef, Et as listBuiltinAgentsRegistryEntries, Fr as resolveEvidenceSyncHealth, Ft as resolveConfiguredProfileWorkspacePath, G as notifyDaemonRouteCatalogChanged, I as listAgentTargetStates, Ir as resolveNativeAgentControllerPermissionModeForController, Lt as setCustomProfileWorkspace, Mr as resolveAgentControllerPermissionModeForController, Mt as readProfileWorkspaceConfig, Nn as checkAntigravityAcpAccount, Nr as resolveAgentExecutionStatus, O as syncDeviceRuntimeStateProjection, Or as projectPeopleComputersToLegacyLocalRuntimes, Pn as isAntigravityAcpLaunchContract, Pr as resolveAgentProfileEditCapabilities, Rt as setOpenMeldManagedProfileWorkspace, S as syncProfileWorkspaceState, St as canonicalizeLocalProjectPath, Tr as listAgentControllerPermissionModeOptions, V as resolveAgentTargetState, Z as resolveLocalRegistryAgentIdFromAgentControllerRef, _t as removeProjectConnection, br as getAgentControllerPermissionModeDisplayMetadata, bt as setDefaultProjectConnection, ft as listProjectBindings, j as resolveAgentProfilePrimaryAgentControllerReport, jt as normalizeCustomProfileWorkspacePath, k as createPrimaryBindingReadSession, lt as bindProject, mt as migrateProjectBindingStore, pt as listProjectConnectionsWithStatus, st as ProjectBindingOperationError, vr as createAgentExecutionStatusDisplayRows, xr as getAgentControllerPermissionModeFieldLabel, xt as unbindProject, yt as runIfAgentActivityBindingGenerationIsCurrent, zt as validateCustomProfileWorkspacePath } from "./prepare-provider-runtime-BYKiQArk.js";
4
4
  import { A as toSpaceBoardUrl, E as updateConfiguredStartV1OnboardingState, F as toSpaceDispatchLookupUrl, H as toSpaceResultUrl, I as toSpaceDispatchTraceUrl, O as normalizeBaseUrl, S as setConfiguredSkillsConfig, a as resolveBaseUrl, b as setConfiguredBaseUrl, c as resolveExplicitGatewayUrlOrThrow, g as getConfiguredSkillsConfig, j as toSpaceContractUrl, m as getConfiguredOnboardingDisclaimerAcceptedAt, o as resolveBaseUrlOrNull, u as alignRuntimeConfigStorage, w as updateConfiguredOnboardingConfig } from "./base-url-BMrQwJW4.js";
5
5
  import { A as profileDir, D as openMeldRootDir, F as resolveOpenMeldRootDir, H as spacesDir, N as resolveOpenMeldCliEntryNameFromArgv, P as resolveOpenMeldEnvPreset, S as openMeldBinDir, U as systemDir, V as skillsDir, i as accountProfileViewPath, j as profileViewPath, o as accountsDir, r as accountProfileSpaceCacheDir, x as openMeldBackupsDir, y as normalizeAccountKey } from "./paths-De9xdA2h.js";
6
6
  import { r as resolveAuthBaseUrl } from "./auth-url-D5LMD4E8.js";
@@ -18,23 +18,23 @@ import { c as buildRequestAuthHeaders, d as buildOpenMeldRequestContextFromProfi
18
18
  import { i as readDaemonServiceContract } from "./daemon-service-contract-Dkgengx4.js";
19
19
  import { t as resolveOpenMeldEnvironmentTarget } from "./openmeld-environment-target-BftVniKn.js";
20
20
  import { r as runServiceAccountCarrier } from "./service-account-authorization-CYcUJnZy.js";
21
- import { b as requestLocalAgentActivitySync, d as compareSemver, f as ensureVersionStateReady, l as OPENMELD_VERSION, y as LocalDaemonControlPlaneClientError } from "./daemon-lifecycle-journal-B2cNyBV2.js";
22
- import { G as readManagedCliInstallation, H as buildInstallSelfJsonPayload, U as performManagedInstall, r as readCurrentDaemonRuntimeContext } from "./daemon-service-runtime-CQjz4H06.js";
23
- import { A as formatDeviceReplyReadinessLabel, B as resolveGatewayChainReadiness, Bt as readCurrentLocalDeviceId, Ft as resolveCurrentDaemonExpectedVersion, Ht as isCliUpdateCheckApplicable, J as getSetupFlowCopy, K as buildDaemonRouteObservationPresentation$1, Lt as assessServerRequiredVersion, N as mapAgentReplyReadinessToLegacyAutoReply, Nt as classifyDaemonServiceRunStartability, O as resolveCurrentReplyReadinessSnapshot, Pt as classifyDaemonServiceWakeability, T as resolveDaemonServiceFreshnessWarning, U as resolveOpenClawLocalDiagnosticsValue, Vt as assessCliUpdate, _ as resolveServiceReadinessFromServiceStatus, j as formatHumanReplyReadinessReason$1, k as formatAgentReplyReadinessLabel, pt as inspectDaemonServiceInventory, q as buildOnboardingPlan, t as runPendingDaemonServiceUpdate } from "./daemon-service-update-coordinator-IgXvzOsW.js";
24
- import { $ as buildAuthStatusSnapshot, B as resolveDaemonServiceParticipationStatus, C as buildProfileWorkspaceRows, E as emitDaemonAgentOverview, F as emitCliJsonEnvelope, G as ensureCommandAuthenticationOrCancel, H as validateLocalProjectConnectionPath, I as runDaemonStartupPreflight, J as runAuthLogout, K as evaluateCommandAuthentication, M as buildHumanErrorCopy, N as renderHumanErrorCard, O as shouldEmitAgentOverview, P as renderHumanTextErrorCard, Q as buildAuthStatusRows, R as resolveLocalComponentsStatus, S as buildProfileWorkspacePresentation, V as LocalProjectConnectionError, W as buildCommandAuthenticationPromptMessage, X as runAuthStatus, Y as runAuthMenu, Z as exchangeOneTimeTokenAuthSession, a as runDaemonBackgroundStartForDecision, at as promptTextEntry, c as runDaemonInterrupt, ct as finishCurrentCommandCheckScope, dt as resetCurrentCommandCheckState, et as formatActiveOrganizationLabel, f as runDaemonSnapshot, ft as startCurrentCommandCheckScope, g as runDaemonUninstall, h as runDaemonTeardownStrict, i as runDaemonAutostart, j as runDaemonStartDecisionPrompt, l as runDaemonReinstall, lt as getCurrentCommandCheckState, m as runDaemonStop, n as isManagedSystemServiceBootstrapRun, nt as renderInfoCard, o as runDaemonCancel, ot as isReturnKeypress, p as runDaemonStatusFlow, q as runAuthLogin, r as runDaemon, rt as renderTextInfoCard, s as runDaemonInstall, st as runInteractivePrompt, t as bestEffortStopCurrentLaneDaemonService, u as runDaemonRunAfterEntryChecks, ut as isCurrentCommandCheckScopeActive, w as reconcileCliVersionView, x as resolveServiceParticipationReadiness, y as formatServiceParticipationReadinessLabel, z as writeInstalledLocalComponentsSnapshot } from "./service-DRRVlSkR.js";
25
- import { $ as getCommandHintsFromContract, A as createSpaceUpdatesGuideError, D as createSpaceSubcommandTargetGuideError, Dt as formatAgentOverviewPayload, Et as buildDualViewGuideMessage, G as canonicalizeAllowedActions, L as areAllowedActionsEquivalent, M as createStartAuthenticationGuideError, O as createSpaceTargetGuideError, P as OPENMELD_AGENT_MENTAL_MODEL_LINES, S as createSpaceResultGuideError, Tt as formatDualViewGuideForDisplay, a as createProfileMenuGuideError, at as SPACE_ADD_MEMBERS_PROGRESS_HEARTBEAT_MS, d as createSpaceContractSetGuideError, g as createSpaceMenuGuideError, gt as registerAuthLoginRequestOptions, h as createSpaceLeaveGuideError, i as createProfileCreateGuideError, j as createStartAgentIdentityGuideError, l as createSpaceAddMembersGuideError, mt as registerDaemonControlTargetOptions, n as createDoctorFailedGuideError, nt as registerSpaceMemberSelectionOptions, o as createResetConfirmationGuideError, pt as getCliVersionInfo, r as createProfileActionGuideError, u as createSpaceAliasTargetGuideError, ut as registerSkillsTargetSelectionOptions, v as createSpacePublicationSetGuideError, wt as DualViewGuideError, x as createSpaceRemoveMembersGuideError, xt as registerBuiltinAgentSelectionOptions, z as buildAgentFacingPublicationModeGuideLines } from "./dual-view-guide-catalog-Cm8_zKnl.js";
26
- import { g as canUseInteractivePrompts } from "./elapsed-time-Cu4YZoqK.js";
27
- import { A as buildAgentActivityEvent, B as readAgentActivityOutboxHealth, Bt as buildPublicSpaceEntryUrl, F as enqueueAgentActivityHookEvent, G as buildCanonicalRepositoryUrl, H as removeProjectOutbox, Ht as buildSignalMessageReadProjection, I as removeProjectInbox, Jt as buildSpaceRoundReadProjection, Lt as buildDispatchResultMessageReadProjection, M as normalizeSharedSessionTitle, N as readCodexSessionTitles, Nt as upsertSpaceConfig, Rt as buildDispatchResultReplyWorkflowProjection, S as readOpenMeldCreatedLocalAgentSessionProjectAttributions, St as inspectSpaceCacheFile, T as resolveOpenMeldCreatedLocalAgentSessionProjectAttribution, Vt as buildSignalIndex, Xt as buildUpdatesReplyWorkflowProjection, en as createSpaceMemberIdentityIndex, i as readDispatchOwnedRuntimeGuard, in as formatRemovedCcRelationMessage, j as resolveObservedAgentActivityBinding, ot as readRecentDaemonDispatchJournalEvents, t as assertDispatchOwnedRuntimePublicWriteAllowed, u as readDispatchSpaceActionContextFromEnv } from "./dispatch-owned-runtime-BxpC_aaI.js";
28
- import { d as readSelectedSkillDocument, r as ensureLocalSkills } from "./state-CBWBsV1X.js";
29
- import { n as collectSkillsReadinessSnapshot } from "./installation-inventory-DqxnhTKK.js";
30
- import { t as runServiceAccountControl } from "./service-account-control-BgG4jYZx.js";
31
- import { C as buildNoLocalAgentsNoticeLines, D as recoverInterruptedComputerAuthHandoff, E as formatComputerAuthCleanupFailureSuffix, O as exchangeComputerAuthorizationGrant, S as buildLocalAgentsGuideUrl, T as emitUnusedSetupSessionCleanupWarning, _ as runStartLocalAgentsEnable, a as assertSetupServiceUpdateComplete, b as submitSelectedAgentControllerReports, c as collectObservedDeviceMetadata, d as collectStartLocalReadiness, f as runSkillsCheck$1, g as runSkillsUpdate, h as runSkillsUninstall, i as runPrepareSessionExecutor, j as writePrepareSessionSetupBootstrapResult, k as revokePreparedAuthSession, l as createSetupProgressReporter, m as runSkillsInstall, n as reportPrepareHandoffStopped, o as shouldForceSetupServiceRefresh, p as runSkillsEnsure, r as resolvePrepareSessionForHandoff, s as syncLocalSetupCurrentDeviceTargetFromServiceContract, t as connectPrepareSessionStream, u as resolveControllingTerminalSession, v as isCliOutputHandledError, w as confirmContinueWithoutLocalAgents, x as appendLocalAgentsGuideUrl, y as assertSelectedAgentControllerReportSubmissionsAccepted } from "./prepare-session-executor-BE3fbwgb.js";
32
- import { C as resolveGatewayWebOrigin, T as runDaemonServiceParticipationGate, _ as promptSearchSelect, a as runAgentsCustomRemove, c as runAgentsDisable, d as runAgentsManage, f as runAgentsRepair, h as promptSearchMultiselect, i as runAgentsCustomList, l as runAgentsEnable, m as formatTransportModeDisplay, n as runAgentsConfig, o as runAgentsCustomUpdate, p as runAgentsShow, r as runAgentsCustomAdd, s as runAgentsDetect, t as runAgents, u as runAgentsList, w as resolveSpaceWebGatewayOrigin } from "./agents-rbrzsUPC.js";
33
- import { n as submitProfileRuntimeAgentControllerReport, p as withProbeWorkingDirectory, r as submitRuntimeAgentControllerReport } from "./runtime-agent-controller-reporting-submission-YtLJgQc7.js";
34
- import { a as runUpgrade, c as OPENMELD_UPGRADE_FAILURE_HINTS, l as OPENMELD_UPGRADE_METADATA_RECOVERY_HINTS, n as isUpgradeOutputHandledError, o as emitTopLevelAgentOverview, s as emitTopLevelCliAgentOverview, t as UPGRADE_INTERNAL_ALIGN_SERVICE_FLAG$1 } from "./upgrade-CwXxojfd.js";
35
- import { A as readAgentActivityContextForPath, B as installAgentActivityIntegrations, F as registerAgentActivityRoute, H as resolveAgentActivityDispatcherCommand, I as resolveAgentActivityRouteForPath, L as unregisterAgentActivityRoute, M as enqueueControllerTaskLifecycleEventWhileLocked, N as readControllerTaskLifecycleOutboxHealth, O as syncLocalAgentActivity, P as isAgentActivityRouteRegistered, S as readRuntimeReportingHealthState, U as uninstallAgentActivityIntegrations, V as readAgentActivityIntegrationStatus, c as runDirectMessage, d as runSpaceActionSilent, f as runSpaceActionStatus, i as materializeOrganizationSkillRelease, j as removeAgentActivityContextCache, l as runSpaceActionHelp, m as runSpaceActionWake, n as createSpaceWorkingCopies, o as runSpaceActionMcpServer, p as runSpaceActionTargets, r as downloadWorkingCopyFile, t as fetchSpaceUpdates, u as runSpaceActionReply, z as defaultManagedIntegrationPaths } from "./updates-api-ByctphEr.js";
36
- import { c as toStructuredGatewayFailure, d as resolveSpaceSendText, f as resolveSpaceTaskSelection, h as createCliSpaceApi, l as parseJsonResponse, n as updateSpaceMeta, o as readGatewayJsonResponse, s as readGatewayTextResponse, t as fetchSpaceMeta, u as resolveCliProjectWork } from "./meta-api-C0lRMWF1.js";
37
- import { $ as assessActionParticipationCandidate, A as isSpaceCommandOutputHandledError, B as persistAgentTransportSelection, C as buildFormalSignalReadPayload, D as resolveLinkAccessLabel, E as formatHumanReadTargetList, F as emitSpaceAgentOverview, G as renderOpenMeldBrandBlockLines, H as colorizeAgentLabel, I as emitSpaceCliAgentOverview, J as renderOpenMeldTagline, K as renderOpenMeldHeader, L as prepareLocalAgentReadiness, M as assertValidSpaceIdTarget, N as prepareAuthenticatedSpaceCommandContext, O as resolveOrganizationVisibilityLabel, P as resolveOpenMeldProfileForSpaceCommand, Q as ensureAgentProfileRuntimeBinding, R as buildReplyReadinessGuidance, S as buildFormalDispatchResultReadPayload, T as buildHumanReplyContextSummary, U as colorizeDisplayProfileLabel, V as resolveAgentProfileSetup, W as printOpenMeldBanner, X as resolveCreateProfileKind, Y as createProfileByKind, Z as resolveCreateProfileName, _ as emitHumanReadSignalsTextProjection, a as runSpaceDelete, b as loadSpaceSignalIndexOrNull, c as runSpaceLeave, d as runSpaceRemoveMembers, f as runSpaceSend, g as buildHumanReadSignalsTranscriptItems, h as runSpaceWriteWithPasswordRetry, i as runSpaceCreate, j as assertFullSignalIdArgument, k as parseEnvelope, l as runSpaceList, m as runSpaceReadWithPasswordRetry, n as promptAndConfirmSpacePassword, o as runSpaceHistory, p as runSpaceWatch, q as renderOpenMeldLogo, r as runSpaceAddMembers, s as runSpaceJoin, t as buildCreateSpacePasswordPromptConfig, u as runSpacePassword, v as buildIdentityOnlyMembersSnapshotForReadProjection, w as formatTextEvent, x as toSpaceMetaUpsertInput, y as loadSpaceIdentityDirectoryOrNull, z as resolveHumanControllerDisplayName } from "./command-C7knNgv9.js";
21
+ import { b as requestLocalAgentActivitySync, d as compareSemver, f as ensureVersionStateReady, l as OPENMELD_VERSION, y as LocalDaemonControlPlaneClientError } from "./daemon-lifecycle-journal-oMoQyKEB.js";
22
+ import { G as readManagedCliInstallation, H as buildInstallSelfJsonPayload, U as performManagedInstall, r as readCurrentDaemonRuntimeContext } from "./daemon-service-runtime-BSFTYU0n.js";
23
+ import { A as formatDeviceReplyReadinessLabel, B as resolveGatewayChainReadiness, Bt as readCurrentLocalDeviceId, Ft as resolveCurrentDaemonExpectedVersion, Ht as isCliUpdateCheckApplicable, J as getSetupFlowCopy, K as buildDaemonRouteObservationPresentation$1, Lt as assessServerRequiredVersion, N as mapAgentReplyReadinessToLegacyAutoReply, Nt as classifyDaemonServiceRunStartability, O as resolveCurrentReplyReadinessSnapshot, Pt as classifyDaemonServiceWakeability, T as resolveDaemonServiceFreshnessWarning, U as resolveOpenClawLocalDiagnosticsValue, Vt as assessCliUpdate, _ as resolveServiceReadinessFromServiceStatus, j as formatHumanReplyReadinessReason$1, k as formatAgentReplyReadinessLabel, pt as inspectDaemonServiceInventory, q as buildOnboardingPlan, t as runPendingDaemonServiceUpdate } from "./daemon-service-update-coordinator-BUAkAxqT.js";
24
+ import { $ as buildAuthStatusSnapshot, B as resolveDaemonServiceParticipationStatus, C as buildProfileWorkspaceRows, E as emitDaemonAgentOverview, F as emitCliJsonEnvelope, G as ensureCommandAuthenticationOrCancel, H as validateLocalProjectConnectionPath, I as runDaemonStartupPreflight, J as runAuthLogout, K as evaluateCommandAuthentication, M as buildHumanErrorCopy, N as renderHumanErrorCard, O as shouldEmitAgentOverview, P as renderHumanTextErrorCard, Q as buildAuthStatusRows, R as resolveLocalComponentsStatus, S as buildProfileWorkspacePresentation, V as LocalProjectConnectionError, W as buildCommandAuthenticationPromptMessage, X as runAuthStatus, Y as runAuthMenu, Z as exchangeOneTimeTokenAuthSession, a as runDaemonBackgroundStartForDecision, at as promptTextEntry, c as runDaemonInterrupt, ct as finishCurrentCommandCheckScope, dt as resetCurrentCommandCheckState, et as formatActiveOrganizationLabel, f as runDaemonSnapshot, ft as startCurrentCommandCheckScope, g as runDaemonUninstall, h as runDaemonTeardownStrict, i as runDaemonAutostart, j as runDaemonStartDecisionPrompt, l as runDaemonReinstall, lt as getCurrentCommandCheckState, m as runDaemonStop, n as isManagedSystemServiceBootstrapRun, nt as renderInfoCard, o as runDaemonCancel, ot as isReturnKeypress, p as runDaemonStatusFlow, q as runAuthLogin, r as runDaemon, rt as renderTextInfoCard, s as runDaemonInstall, st as runInteractivePrompt, t as bestEffortStopCurrentLaneDaemonService, u as runDaemonRunAfterEntryChecks, ut as isCurrentCommandCheckScopeActive, w as reconcileCliVersionView, x as resolveServiceParticipationReadiness, y as formatServiceParticipationReadinessLabel, z as writeInstalledLocalComponentsSnapshot } from "./service-Ciifmu6w.js";
25
+ import { $ as getCommandHintsFromContract, A as createSpaceUpdatesGuideError, D as createSpaceSubcommandTargetGuideError, Dt as formatAgentOverviewPayload, Et as buildDualViewGuideMessage, G as canonicalizeAllowedActions, L as areAllowedActionsEquivalent, M as createStartAuthenticationGuideError, O as createSpaceTargetGuideError, P as OPENMELD_AGENT_MENTAL_MODEL_LINES, S as createSpaceResultGuideError, Tt as formatDualViewGuideForDisplay, a as createProfileMenuGuideError, at as SPACE_ADD_MEMBERS_PROGRESS_HEARTBEAT_MS, d as createSpaceContractSetGuideError, g as createSpaceMenuGuideError, gt as registerAuthLoginRequestOptions, h as createSpaceLeaveGuideError, i as createProfileCreateGuideError, j as createStartAgentIdentityGuideError, l as createSpaceAddMembersGuideError, mt as registerDaemonControlTargetOptions, n as createDoctorFailedGuideError, nt as registerSpaceMemberSelectionOptions, o as createResetConfirmationGuideError, pt as getCliVersionInfo, r as createProfileActionGuideError, u as createSpaceAliasTargetGuideError, ut as registerSkillsTargetSelectionOptions, v as createSpacePublicationSetGuideError, wt as DualViewGuideError, x as createSpaceRemoveMembersGuideError, xt as registerBuiltinAgentSelectionOptions, z as buildAgentFacingPublicationModeGuideLines } from "./dual-view-guide-catalog-D4rlZXO_.js";
26
+ import { g as canUseInteractivePrompts } from "./elapsed-time-pHCf33Jh.js";
27
+ import { A as buildAgentActivityEvent, B as readAgentActivityOutboxHealth, Bt as buildPublicSpaceEntryUrl, F as enqueueAgentActivityHookEvent, G as buildCanonicalRepositoryUrl, H as removeProjectOutbox, Ht as buildSignalMessageReadProjection, I as removeProjectInbox, Jt as buildSpaceRoundReadProjection, Lt as buildDispatchResultMessageReadProjection, M as normalizeSharedSessionTitle, N as readCodexSessionTitles, Nt as upsertSpaceConfig, Rt as buildDispatchResultReplyWorkflowProjection, S as readOpenMeldCreatedLocalAgentSessionProjectAttributions, St as inspectSpaceCacheFile, T as resolveOpenMeldCreatedLocalAgentSessionProjectAttribution, Vt as buildSignalIndex, Xt as buildUpdatesReplyWorkflowProjection, en as createSpaceMemberIdentityIndex, i as readDispatchOwnedRuntimeGuard, in as formatRemovedCcRelationMessage, j as resolveObservedAgentActivityBinding, ot as readRecentDaemonDispatchJournalEvents, t as assertDispatchOwnedRuntimePublicWriteAllowed, u as readDispatchSpaceActionContextFromEnv } from "./dispatch-owned-runtime-D5THLVZR.js";
28
+ import { d as readSelectedSkillDocument, r as ensureLocalSkills } from "./state-Defk8u-_.js";
29
+ import { n as collectSkillsReadinessSnapshot } from "./installation-inventory-Cr8q27L_.js";
30
+ import { t as runServiceAccountControl } from "./service-account-control-D6VGaquv.js";
31
+ import { C as buildNoLocalAgentsNoticeLines, D as recoverInterruptedComputerAuthHandoff, E as formatComputerAuthCleanupFailureSuffix, O as exchangeComputerAuthorizationGrant, S as buildLocalAgentsGuideUrl, T as emitUnusedSetupSessionCleanupWarning, _ as runStartLocalAgentsEnable, a as assertSetupServiceUpdateComplete, b as submitSelectedAgentControllerReports, c as collectObservedDeviceMetadata, d as collectStartLocalReadiness, f as runSkillsCheck$1, g as runSkillsUpdate, h as runSkillsUninstall, i as runPrepareSessionExecutor, j as writePrepareSessionSetupBootstrapResult, k as revokePreparedAuthSession, l as createSetupProgressReporter, m as runSkillsInstall, n as reportPrepareHandoffStopped, o as shouldForceSetupServiceRefresh, p as runSkillsEnsure, r as resolvePrepareSessionForHandoff, s as syncLocalSetupCurrentDeviceTargetFromServiceContract, t as connectPrepareSessionStream, u as resolveControllingTerminalSession, v as isCliOutputHandledError, w as confirmContinueWithoutLocalAgents, x as appendLocalAgentsGuideUrl, y as assertSelectedAgentControllerReportSubmissionsAccepted } from "./prepare-session-executor-_0fWWVwP.js";
32
+ import { C as resolveGatewayWebOrigin, T as runDaemonServiceParticipationGate, _ as promptSearchSelect, a as runAgentsCustomRemove, c as runAgentsDisable, d as runAgentsManage, f as runAgentsRepair, h as promptSearchMultiselect, i as runAgentsCustomList, l as runAgentsEnable, m as formatTransportModeDisplay, n as runAgentsConfig, o as runAgentsCustomUpdate, p as runAgentsShow, r as runAgentsCustomAdd, s as runAgentsDetect, t as runAgents, u as runAgentsList, w as resolveSpaceWebGatewayOrigin } from "./agents-CLlVC_zK.js";
33
+ import { n as submitProfileRuntimeAgentControllerReport, p as withProbeWorkingDirectory, r as submitRuntimeAgentControllerReport } from "./runtime-agent-controller-reporting-submission-NTqBffbr.js";
34
+ import { a as runUpgrade, c as OPENMELD_UPGRADE_FAILURE_HINTS, l as OPENMELD_UPGRADE_METADATA_RECOVERY_HINTS, n as isUpgradeOutputHandledError, o as emitTopLevelAgentOverview, s as emitTopLevelCliAgentOverview, t as UPGRADE_INTERNAL_ALIGN_SERVICE_FLAG$1 } from "./upgrade-BYlFNl6H.js";
35
+ import { A as readAgentActivityContextForPath, B as installAgentActivityIntegrations, F as registerAgentActivityRoute, H as resolveAgentActivityDispatcherCommand, I as resolveAgentActivityRouteForPath, L as unregisterAgentActivityRoute, M as enqueueControllerTaskLifecycleEventWhileLocked, N as readControllerTaskLifecycleOutboxHealth, O as syncLocalAgentActivity, P as isAgentActivityRouteRegistered, S as readRuntimeReportingHealthState, U as uninstallAgentActivityIntegrations, V as readAgentActivityIntegrationStatus, c as runDirectMessage, d as runSpaceActionSilent, f as runSpaceActionStatus, i as materializeOrganizationSkillRelease, j as removeAgentActivityContextCache, l as runSpaceActionHelp, m as runSpaceActionWake, n as createSpaceWorkingCopies, o as runSpaceActionMcpServer, p as runSpaceActionTargets, r as downloadWorkingCopyFile, t as fetchSpaceUpdates, u as runSpaceActionReply, z as defaultManagedIntegrationPaths } from "./updates-api-D2Hox-6r.js";
36
+ import { c as toStructuredGatewayFailure, d as resolveSpaceSendText, f as resolveSpaceTaskSelection, h as createCliSpaceApi, l as parseJsonResponse, n as updateSpaceMeta, o as readGatewayJsonResponse, s as readGatewayTextResponse, t as fetchSpaceMeta, u as resolveCliProjectWork } from "./meta-api-CkKS9A5_.js";
37
+ import { $ as assessActionParticipationCandidate, A as isSpaceCommandOutputHandledError, B as persistAgentTransportSelection, C as buildFormalSignalReadPayload, D as resolveLinkAccessLabel, E as formatHumanReadTargetList, F as emitSpaceAgentOverview, G as renderOpenMeldBrandBlockLines, H as colorizeAgentLabel, I as emitSpaceCliAgentOverview, J as renderOpenMeldTagline, K as renderOpenMeldHeader, L as prepareLocalAgentReadiness, M as assertValidSpaceIdTarget, N as prepareAuthenticatedSpaceCommandContext, O as resolveOrganizationVisibilityLabel, P as resolveOpenMeldProfileForSpaceCommand, Q as ensureAgentProfileRuntimeBinding, R as buildReplyReadinessGuidance, S as buildFormalDispatchResultReadPayload, T as buildHumanReplyContextSummary, U as colorizeDisplayProfileLabel, V as resolveAgentProfileSetup, W as printOpenMeldBanner, X as resolveCreateProfileKind, Y as createProfileByKind, Z as resolveCreateProfileName, _ as emitHumanReadSignalsTextProjection, a as runSpaceDelete, b as loadSpaceSignalIndexOrNull, c as runSpaceLeave, d as runSpaceRemoveMembers, f as runSpaceSend, g as buildHumanReadSignalsTranscriptItems, h as runSpaceWriteWithPasswordRetry, i as runSpaceCreate, j as assertFullSignalIdArgument, k as parseEnvelope, l as runSpaceList, m as runSpaceReadWithPasswordRetry, n as promptAndConfirmSpacePassword, o as runSpaceHistory, p as runSpaceWatch, q as renderOpenMeldLogo, r as runSpaceAddMembers, s as runSpaceJoin, t as buildCreateSpacePasswordPromptConfig, u as runSpacePassword, v as buildIdentityOnlyMembersSnapshotForReadProjection, w as formatTextEvent, x as toSpaceMetaUpsertInput, y as loadSpaceIdentityDirectoryOrNull, z as resolveHumanControllerDisplayName } from "./command-BmbIcCis.js";
38
38
  import { createHash, randomUUID } from "node:crypto";
39
39
  import { homedir, tmpdir } from "node:os";
40
40
  import { basename, dirname, extname, isAbsolute, join, relative, resolve, sep } from "node:path";
@@ -13204,7 +13204,7 @@ function buildAgentTraceCompactSummary(input) {
13204
13204
  ...nativeDeliveryEvidence,
13205
13205
  currentState: "delivered",
13206
13206
  delivered: true,
13207
- nextAction: "none",
13207
+ nextAction: resolveAgentTraceNextAction(trace),
13208
13208
  reasonCode: finalVisibleOutcome.reasonCode,
13209
13209
  visibleOutcome: finalVisibleOutcome.status
13210
13210
  };
@@ -13313,6 +13313,7 @@ function formatNativeDeliveryDestination(destination) {
13313
13313
  }
13314
13314
  function resolveAgentTraceNextAction(trace) {
13315
13315
  if (trace.resultInbox?.publishState === "late_result_available") return "open the Space outcome details and inspect the retained-result evidence; do not retry the Wake";
13316
+ if (projectSpaceDispatchTraceFinalVisibleOutcome(trace).delivered) return "none";
13316
13317
  const rootCause = resolveTraceRootCause(trace);
13317
13318
  if (rootCause === "none" || rootCause === "ok") return "none";
13318
13319
  if (trace.dispatch.status === "dispatching") return "wait, then rerun trace with the same selector";
@@ -24268,7 +24269,7 @@ function normalizeOptionalString(value) {
24268
24269
  return normalized.length > 0 ? normalized : null;
24269
24270
  }
24270
24271
  async function runDefaultSpaceAddMeMembership(input) {
24271
- const { runSpaceAddMeMembership } = await import("./add-me-membership-B8rT9msn.js");
24272
+ const { runSpaceAddMeMembership } = await import("./add-me-membership-CQeOTn8Y.js");
24272
24273
  return await runSpaceAddMeMembership(input);
24273
24274
  }
24274
24275
  //#endregion
@@ -29415,7 +29416,7 @@ computerCmd.command("disconnect").description("Disconnect this computer from its
29415
29416
  routeTokens: ["computer", "disconnect"],
29416
29417
  view,
29417
29418
  run: async () => {
29418
- const { runComputerDisconnect, runComputerDisconnectTarget } = await import("./computer-disconnect-C3uKOOlJ.js");
29419
+ const { runComputerDisconnect, runComputerDisconnectTarget } = await import("./computer-disconnect-Bv4hrAWw.js");
29419
29420
  if (!opts.connectionIntent) {
29420
29421
  const { desktopComputerDisconnectRequestSchema } = await import("./dist-Cbw4UtHs.js");
29421
29422
  await runComputerDisconnectTarget(desktopComputerDisconnectRequestSchema.parse({
@@ -31744,7 +31745,7 @@ async function main() {
31744
31745
  if (await runMacOsNativeKeychainHelperIfRequested()) return;
31745
31746
  const argv = process.argv.map((arg) => arg === "--h" ? "--help" : arg);
31746
31747
  if (argv.length === 5 && argv[2] === "computer" && argv[3] === "connection-review" && argv[4] === "--json") {
31747
- const { readComputerConnectionReview } = await import("./computer-connection-review-BUZdZxR8.js");
31748
+ const { readComputerConnectionReview } = await import("./computer-connection-review-zgdekYjE.js");
31748
31749
  outLine(JSON.stringify(await readComputerConnectionReview()));
31749
31750
  return;
31750
31751
  }
@@ -31755,7 +31756,7 @@ async function main() {
31755
31756
  return;
31756
31757
  }
31757
31758
  if (argv[3] === "control-capabilities") {
31758
- const { readServiceControlCapabilities } = await import("./service-control-capabilities-CMRn_qRT.js");
31759
+ const { readServiceControlCapabilities } = await import("./service-control-capabilities-h014PLa0.js");
31759
31760
  emitCliJsonEnvelope({
31760
31761
  schemaVersion: 1,
31761
31762
  type: "service.control_capabilities",
@@ -31938,4 +31939,4 @@ main().catch((error) => {
31938
31939
  //#endregion
31939
31940
  export {};
31940
31941
 
31941
- //# sourceMappingURL=openmeld-CqNDufaW.js.map
31942
+ //# sourceMappingURL=openmeld-DVXOSt5S.js.map