openmeld 0.3.281 → 0.3.287

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 (118) hide show
  1. package/dist/{add-me-membership-DqXAZVkb.js → add-me-membership-BEXHAhjy.js} +2 -2
  2. package/dist/{add-me-membership-DqXAZVkb.js.map → add-me-membership-BEXHAhjy.js.map} +1 -1
  3. package/dist/{agents-D64ZW_j4.js → agents-DTdo7eeT.js} +9 -9
  4. package/dist/{agents-D64ZW_j4.js.map → agents-DTdo7eeT.js.map} +1 -1
  5. package/dist/{api-client-foundation-B_2mex1y.js → api-client-foundation-RM1pxGSx.js} +1 -1
  6. package/dist/{api-client-foundation-C4qyWlX3.js → api-client-foundation-i2KBsQ7r.js} +5 -5
  7. package/dist/{api-client-foundation-C4qyWlX3.js.map → api-client-foundation-i2KBsQ7r.js.map} +1 -1
  8. package/dist/auth-session-C9F7usbn.js +3 -0
  9. package/dist/{auth-session-D3JW6vDg.js → auth-session-DRQMn41Z.js} +2 -2
  10. package/dist/{auth-session-D3JW6vDg.js.map → auth-session-DRQMn41Z.js.map} +1 -1
  11. package/dist/{channel-cw8i-ftD.js → channel-CFIRo4fR.js} +5 -5
  12. package/dist/channel-CFIRo4fR.js.map +1 -0
  13. package/dist/{client-DiJSFcdx.js → client-CBTgmyFC.js} +8 -3
  14. package/dist/client-CBTgmyFC.js.map +1 -0
  15. package/dist/{cloud-computer-0OvJeYOx.js → cloud-computer-CuWSimwt.js} +5 -5
  16. package/dist/{cloud-computer-0OvJeYOx.js.map → cloud-computer-CuWSimwt.js.map} +1 -1
  17. package/dist/{command-WV5fFpT1.js → command-DdMi5g2D.js} +18 -18
  18. package/dist/{command-WV5fFpT1.js.map → command-DdMi5g2D.js.map} +1 -1
  19. package/dist/{computer-connection-review-BGdzvTAD.js → computer-connection-review-B7eoK0xB.js} +4 -4
  20. package/dist/{computer-connection-review-BGdzvTAD.js.map → computer-connection-review-B7eoK0xB.js.map} +1 -1
  21. package/dist/{computer-disconnect-DWuokz-a.js → computer-disconnect-DGsCTpe8.js} +7 -7
  22. package/dist/{computer-disconnect-DWuokz-a.js.map → computer-disconnect-DGsCTpe8.js.map} +1 -1
  23. package/dist/{computer-setup-continuation-a55NW4KT.js → computer-setup-continuation-CnIYFkOu.js} +5 -5
  24. package/dist/{computer-setup-continuation-a55NW4KT.js.map → computer-setup-continuation-CnIYFkOu.js.map} +1 -1
  25. package/dist/{computer-update-wait-DqdHVh-N.js → computer-update-wait-Bm_oW5Ne.js} +4 -4
  26. package/dist/{computer-update-wait-DqdHVh-N.js.map → computer-update-wait-Bm_oW5Ne.js.map} +1 -1
  27. package/dist/{context-BvTB6oYE.js → context-BvLQjNGR.js} +5 -5
  28. package/dist/{context-BvTB6oYE.js.map → context-BvLQjNGR.js.map} +1 -1
  29. package/dist/{control-plane-Cenl7yjL.js → control-plane-dGjd5iC7.js} +7 -2
  30. package/dist/control-plane-dGjd5iC7.js.map +1 -0
  31. package/dist/{daemon-device-id-BqFtu1Mo.js → daemon-device-id-D-RHe9se.js} +4 -4
  32. package/dist/{daemon-device-id-BqFtu1Mo.js.map → daemon-device-id-D-RHe9se.js.map} +1 -1
  33. package/dist/{daemon-lifecycle-journal-CazLvrLu.js → daemon-lifecycle-journal-BK-K3kGX.js} +4 -4
  34. package/dist/{daemon-lifecycle-journal-CazLvrLu.js.map → daemon-lifecycle-journal-BK-K3kGX.js.map} +1 -1
  35. package/dist/{daemon-service-runtime-CfxejhNC.js → daemon-service-runtime-CaUu_AdU.js} +2 -2
  36. package/dist/{daemon-service-runtime-CfxejhNC.js.map → daemon-service-runtime-CaUu_AdU.js.map} +1 -1
  37. package/dist/{dispatch-owned-runtime-B1yce9CE.js → dispatch-owned-runtime-CZLplr8F.js} +12 -12
  38. package/dist/{dispatch-owned-runtime-B1yce9CE.js.map → dispatch-owned-runtime-CZLplr8F.js.map} +1 -1
  39. package/dist/{dist-Ba813GzD.js → dist-53uvP0DN.js} +16 -8
  40. package/dist/dist-53uvP0DN.js.map +1 -0
  41. package/dist/dist-8pH5plup.js +34 -0
  42. package/dist/{dist-jIVIF1cm.js → dist-BdlgY-m7.js} +3 -3
  43. package/dist/{dist-CpETT0Ue.js → dist-CZyGORfc.js} +1 -1
  44. package/dist/{dist-Bc3Rc5Tm.js → dist-D7SkvUZW.js} +15 -5
  45. package/dist/{dist-Bc3Rc5Tm.js.map → dist-D7SkvUZW.js.map} +1 -1
  46. package/dist/{dist-Bi-kM20D.js → dist-DptLNaka.js} +2 -2
  47. package/dist/{dist-Bi-kM20D.js.map → dist-DptLNaka.js.map} +1 -1
  48. package/dist/{dual-view-guide-catalog-CUcSHGLS.js → dual-view-guide-catalog-Df60SGOI.js} +4 -4
  49. package/dist/{dual-view-guide-catalog-CUcSHGLS.js.map → dual-view-guide-catalog-Df60SGOI.js.map} +1 -1
  50. package/dist/{elapsed-time-DnuzLO2r.js → elapsed-time-jRFzKVlC.js} +2 -2
  51. package/dist/{elapsed-time-DnuzLO2r.js.map → elapsed-time-jRFzKVlC.js.map} +1 -1
  52. package/dist/{entry-BqRLj_9V.js → entry-CKyKfeY0.js} +8 -8
  53. package/dist/{entry-BqRLj_9V.js.map → entry-CKyKfeY0.js.map} +1 -1
  54. package/dist/{installation-inventory-BMPU4Tgf.js → installation-inventory-Cm-cGiGv.js} +3 -3
  55. package/dist/{installation-inventory-BMPU4Tgf.js.map → installation-inventory-Cm-cGiGv.js.map} +1 -1
  56. package/dist/{installer-BLAf7RHI.js → installer-BMX4Gbpp.js} +2 -2
  57. package/dist/{installer-BLAf7RHI.js.map → installer-BMX4Gbpp.js.map} +1 -1
  58. package/dist/{meta-api-B6TZqn2K.js → meta-api-BpSn7MBy.js} +8 -8
  59. package/dist/{meta-api-B6TZqn2K.js.map → meta-api-BpSn7MBy.js.map} +1 -1
  60. package/dist/{openmeld-DCf4ITd3.js → openmeld-DI9YIFFj.js} +78 -55
  61. package/dist/openmeld-DI9YIFFj.js.map +1 -0
  62. package/dist/{openmeld-environment-target-CeFk6jOe.js → openmeld-environment-target-DydyKO8Z.js} +2 -2
  63. package/dist/{openmeld-environment-target-CeFk6jOe.js.map → openmeld-environment-target-DydyKO8Z.js.map} +1 -1
  64. package/dist/{openmeld-maintenance-worker-Cito5UjR.js → openmeld-maintenance-worker-C3cdKkJO.js} +11 -10
  65. package/dist/{openmeld-maintenance-worker-Cito5UjR.js.map → openmeld-maintenance-worker-C3cdKkJO.js.map} +1 -1
  66. package/dist/{openmeld-tools-update-coordinator-DasnCwiO.js → openmeld-tools-update-coordinator-B_Dd_-GW.js} +142 -73
  67. package/dist/{openmeld-tools-update-coordinator-DasnCwiO.js.map → openmeld-tools-update-coordinator-B_Dd_-GW.js.map} +1 -1
  68. package/dist/{openmeld-tools-update-join-DZq4B1-c.js → openmeld-tools-update-join-B0bVe2pL.js} +2 -2
  69. package/dist/{openmeld-tools-update-join-DZq4B1-c.js.map → openmeld-tools-update-join-B0bVe2pL.js.map} +1 -1
  70. package/dist/openmeld.js +5 -5
  71. package/dist/{prepare-provider-runtime-D9G1oa37.js → prepare-provider-runtime-B4go-qdR.js} +155 -92
  72. package/dist/prepare-provider-runtime-B4go-qdR.js.map +1 -0
  73. package/dist/{prepare-session-executor-BtXNgehw.js → prepare-session-executor-Cpq7jQJg.js} +19 -19
  74. package/dist/{prepare-session-executor-BtXNgehw.js.map → prepare-session-executor-Cpq7jQJg.js.map} +1 -1
  75. package/dist/{presenter-PTSj6SjL.js → presenter-DMoE2U_q.js} +2 -2
  76. package/dist/{presenter-PTSj6SjL.js.map → presenter-DMoE2U_q.js.map} +1 -1
  77. package/dist/{process-channel-s-29YBmx.js → process-channel-DtJ01mUI.js} +2 -2
  78. package/dist/{process-channel-s-29YBmx.js.map → process-channel-DtJ01mUI.js.map} +1 -1
  79. package/dist/{runtime-CRML37Zi.js → runtime-CxjWWXTL.js} +32 -23
  80. package/dist/runtime-CxjWWXTL.js.map +1 -0
  81. package/dist/{runtime-agent-controller-reporting-submission-Bmi-TI7L.js → runtime-agent-controller-reporting-submission-Cnpnw9UC.js} +9 -9
  82. package/dist/{runtime-agent-controller-reporting-submission-Bmi-TI7L.js.map → runtime-agent-controller-reporting-submission-Cnpnw9UC.js.map} +1 -1
  83. package/dist/{runtime-transport--NUjMys2.js → runtime-transport-Dg7E0ROH.js} +3 -3
  84. package/dist/{runtime-transport--NUjMys2.js.map → runtime-transport-Dg7E0ROH.js.map} +1 -1
  85. package/dist/{sensitive-operation-credentials-DLvCUcPG.js → sensitive-operation-credentials-Dr_neVvL.js} +4 -4
  86. package/dist/{sensitive-operation-credentials-DLvCUcPG.js.map → sensitive-operation-credentials-Dr_neVvL.js.map} +1 -1
  87. package/dist/{service-CAVnFGS6.js → service-_kQjYdi5.js} +136 -45
  88. package/dist/service-_kQjYdi5.js.map +1 -0
  89. package/dist/{service-account-authorization-uXkl3vrp.js → service-account-authorization-DiSsm3hB.js} +3 -3
  90. package/dist/{service-account-authorization-uXkl3vrp.js.map → service-account-authorization-DiSsm3hB.js.map} +1 -1
  91. package/dist/{service-account-control-C5t63oqC.js → service-account-control-B4Ja3gU_.js} +9 -9
  92. package/dist/{service-account-control-C5t63oqC.js.map → service-account-control-B4Ja3gU_.js.map} +1 -1
  93. package/dist/{service-control-capabilities-DD8rKK5X.js → service-control-capabilities-D39aQwkY.js} +1 -1
  94. package/dist/{service-control-capabilities-D82eDKGc.js → service-control-capabilities-MWGiNNTg.js} +3 -3
  95. package/dist/{service-control-capabilities-D82eDKGc.js.map → service-control-capabilities-MWGiNNTg.js.map} +1 -1
  96. package/dist/{state-BrFamidO.js → state-Der85tER.js} +2 -2
  97. package/dist/{state-BrFamidO.js.map → state-Der85tER.js.map} +1 -1
  98. package/dist/{task-result-DB1vR1p4.js → task-result-DhOFm1C_.js} +9 -2
  99. package/dist/task-result-DhOFm1C_.js.map +1 -0
  100. package/dist/{updates-api-DkKnmoi1.js → updates-api-B8lZk9gI.js} +15 -15
  101. package/dist/{updates-api-DkKnmoi1.js.map → updates-api-B8lZk9gI.js.map} +1 -1
  102. package/dist/{upgrade-Df1VFgZU.js → upgrade-C8iFbxmb.js} +10 -10
  103. package/dist/{upgrade-Df1VFgZU.js.map → upgrade-C8iFbxmb.js.map} +1 -1
  104. package/dist/upgrade-DECIvSJc.js +3 -0
  105. package/dist/windows/openmeld-windows-process.exe +0 -0
  106. package/package.json +10 -10
  107. package/dist/auth-session-CDfkRP6v.js +0 -3
  108. package/dist/channel-cw8i-ftD.js.map +0 -1
  109. package/dist/client-DiJSFcdx.js.map +0 -1
  110. package/dist/control-plane-Cenl7yjL.js.map +0 -1
  111. package/dist/dist-Ba813GzD.js.map +0 -1
  112. package/dist/dist-CYV83fQw.js +0 -34
  113. package/dist/openmeld-DCf4ITd3.js.map +0 -1
  114. package/dist/prepare-provider-runtime-D9G1oa37.js.map +0 -1
  115. package/dist/runtime-CRML37Zi.js.map +0 -1
  116. package/dist/service-CAVnFGS6.js.map +0 -1
  117. package/dist/task-result-DB1vR1p4.js.map +0 -1
  118. package/dist/upgrade-yYdxvxwi.js +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"meta-api-B6TZqn2K.js","names":["record"],"sources":["../../../packages/schemas/dist/schemas/cli/space-send.js","../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 { clientMessageIdSchema } from \"../protocol/client-message-id.js\";\nimport * as z$1 from \"zod/v4\";\n//#region src/schemas/cli/space-send.ts\nconst selectorSchema = z$1.string().trim().min(1);\n/** The Agent View `space.send.request` data, emitted before publication. */\nconst spaceSendRequestReceiptSchema = z$1.strictObject({\n\tspaceId: selectorSchema,\n\tclientMessageId: clientMessageIdSchema,\n\ttargetProfileIds: z$1.array(selectorSchema),\n\tprofileId: selectorSchema.optional()\n});\n//#endregion\nexport { spaceSendRequestReceiptSchema };\n\n//# sourceMappingURL=space-send.js.map","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-BpSn7MBy.js","names":["record"],"sources":["../../../packages/schemas/dist/schemas/cli/space-send.js","../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 { clientMessageIdSchema } from \"../protocol/client-message-id.js\";\nimport * as z$1 from \"zod/v4\";\n//#region src/schemas/cli/space-send.ts\nconst selectorSchema = z$1.string().trim().min(1);\n/** The Agent View `space.send.request` data, emitted before publication. */\nconst spaceSendRequestReceiptSchema = z$1.strictObject({\n\tspaceId: selectorSchema,\n\tclientMessageId: clientMessageIdSchema,\n\ttargetProfileIds: z$1.array(selectorSchema),\n\tprofileId: selectorSchema.optional()\n});\n//#endregion\nexport { spaceSendRequestReceiptSchema };\n\n//# sourceMappingURL=space-send.js.map","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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"}
@@ -5,43 +5,43 @@ import { A as toSpaceBoardUrl, E as updateConfiguredStartV1OnboardingState, F as
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-Dnpds8Yf.js";
7
7
  import { Aa as nonEmptyTrimmedStringFromUnknown, Ma as trimmedStringFromUnknown, Yr as HOSTED_REMOTE_AGENT_CONTROLLER_REF, et as START_BOUNDED_ID_SCHEMA, jn as agentActivitySessionInventoryQuerySchema, lt as daemonServiceLaneSchema, ma as openMeldRequestContextSchema, pa as openMeldProfileIdSchema, t as computerConnectionIntentSchema, tt as START_TRIMMED_NON_EMPTY_STRING_SCHEMA, va as openMeldRuntimeProfileIdSchema } from "./dist-zRc0hA1y.js";
8
- import { Ln as SPACE_FILE_MAX_SIZE_BYTES, Ot as messageEnvelopeSchema, Rn as SPACE_FILE_RAW_UPLOAD_MAX_BYTES, Wn as isSpaceFileTextReadable, Xn as resolveSpaceFileMimeType, Yn as readSpaceFileTextStream, at as spaceStatusSchema, ut as spaceThreadContextSchema } from "./task-result-DB1vR1p4.js";
9
- import { Bi as pluginActionRequestSchema, Bn as isMemberAgentsDisabledError, Cn as createRoutinesApi, Dn as createSessionHistoryApi, Ed as spaceDispatchTraceDispatchStatusSchema, Gt as createAgentProfileBindingApi, Hd as spaceDispatchTraceResponseSchema, Jt as createCenterAgentApi, Kn as postSpaceWorkHandoff, Kt as createAgentProfileExecutionModeApi, Mc as harnessKindSchema, Ng as signalEnvelopeSchema, Pd as spaceDispatchTraceFinalVisibleOutcomeSchema, Qi as MEMBER_AGENTS_DISABLED_MESSAGE, Qp as summarizeComputerFileAccessPolicy, Sd as spaceDispatchTraceAttemptStatusSchema, Tl as sessionHistoryReadSchema, Wt as createAgentActivityApi, Yp as ownerComputerDiagnosticsSchema, Zi as MEMBER_AGENTS_DISABLED_CODE, Zp as projectOwnerComputerLocalRuntimes, Zt as createComputerFileAccessApi, _d as projectSpaceDispatchTraceFinalVisibleOutcome, _n as createPluginsApi, ag as agentActivitySnapshotQuerySchema, ao as DEFAULT_AGENT_PROFILE_CREATION_CONFIGURATION, bd as resolveRuntimeCoordinatorHeadStatusRootCause, cf as projectObservabilityWakeCorrelation, co as agentProfileCreationConfigurationSchema, eg as agentActivityProviderSchema, en as createCurrentDeviceApi, fl as submitFeedbackIssueRequestSchema, fn as createOrganizationApi, gn as createPermissionModeSuggestionsApi, go as createAgentProfileCreationRequestBodySchema, hd as SPACE_DISPATCH_TRACE_RESPONSE_CONTRACT_VERSION_HEADER, ig as agentActivitySessionStatusSchema, in as createFileRootApi, jc as harnessKindFromAgentControllerRef, kl as sessionHistoryResultSchema, mn as createOrganizationSkillsApi, nn as createFeedbackApi, o_ as spaceNameSchema, rr as toStructuredApiClientFailure, sf as observabilityWakeTraceSelectorSchema, t as OpenMeldApiClientHttpError, ta as memberAgentSchema, tn as createDirectMessageApi, un as createMemberAgentsApi, vn as createPrepareReadinessApi, wh as routineScopeSchema, wo as agentDirectMessageSessionSelectorSchema, xd as resolveSpaceDispatchTraceRootCause, xi as spaceEntryTargetSchema, xn as createProjectsApi } from "./dist-Ba813GzD.js";
10
- import { $ as bindProject, Ar as resolveAgentExecutionStatus, At as listAgentTargetStates, Cr as peopleComputerContainsDevice, Ct as createPrimaryBindingReadSession, Ft as registerUnselectedBuiltinAgentsTurnedOff, I as ensureOpenMeldManagedProfileWorkspace, J as validateCustomProfileWorkspacePath, Jt as notifyDaemonRouteCatalogChanged, K as setCustomProfileWorkspace, Lr as checkAntigravityAcpAccount, Lt as resolveAgentTargetState, M as resolveProfileWorkspaceRuntime, Mr as resolveEvidenceSyncHealth, Nr as resolveNativeAgentControllerPermissionModeForController, O as syncProfileWorkspaceState, Rr as isAntigravityAcpLaunchContract, Sr as parseAgentControllerRef, Tt as resolveAgentProfilePrimaryAgentControllerReport, V as readProfileWorkspaceConfig, W as resolveConfiguredProfileWorkspacePath, Wt as listBuiltinAgentsRegistryEntries, Y as describeProfileWorkspacePathValidationFailure, Z as ProjectBindingOperationError, _r as getAgentControllerPermissionModeFieldLabel, at as migrateProjectBindingStore, ct as removeProjectConnection, dt as setDefaultProjectConnection, ei as compareAgentControllerRefsForDisplay, ft as unbindProject, gr as getAgentControllerPermissionModeDisplayMetadata, it as listProjectConnectionsWithStatus, jr as resolveAgentProfileEditCapabilities, k as createModelCatalogReadSession, kr as resolveAgentControllerPermissionModeForController, mr as createAgentExecutionStatusDisplayRows, on as resolveLocalRegistryAgentIdFromAgentControllerRef, pt as canonicalizeLocalProjectPath, q as setOpenMeldManagedProfileWorkspace, rt as listProjectBindings, ut as runIfAgentActivityBindingGenerationIsCurrent, wr as projectPeopleComputersToLegacyLocalRuntimes, xr as listAgentControllerPermissionModeOptions, yt as syncDeviceRuntimeStateProjection, z as normalizeCustomProfileWorkspacePath } from "./prepare-provider-runtime-D9G1oa37.js";
11
- import { $ as ORGANIZATION_SKILL_BUNDLE_MAX_BYTES, b as OPENMELD_HEADER_SPACE_ADDRESSING_VERSION, in as resolvedSpaceMemberProfileSchema, kn as agentWakeAvailabilityCategorySchema, m as OPENMELD_HEADER_PROFILE_ID, nt as ORGANIZATION_SKILL_FILE_MAX_BYTES, yt as organizationSkillFileSchema } from "./dist-Bc3Rc5Tm.js";
12
- import { $n as spaceWorkHandoffSchema, $r as clientMessageIdSchema, Jn as centerAgentInteractionSourceSchema, Yr as agentInteractionResponseSchema, dr as spaceContractFieldsSchema, fr as spaceContractSchema, nr as spaceWorkSelectionSchema, pi as runtimeTransportAdmissionEvidenceSchema, rr as spaceWorkingCopyResultSchema } from "./runtime-transport--NUjMys2.js";
8
+ import { Gn as isSpaceFileTextReadable, Rn as SPACE_FILE_MAX_SIZE_BYTES, Xn as readSpaceFileTextStream, Zn as resolveSpaceFileMimeType, dt as spaceThreadContextSchema, kt as messageEnvelopeSchema, ot as spaceStatusSchema, zn as SPACE_FILE_RAW_UPLOAD_MAX_BYTES } from "./task-result-DhOFm1C_.js";
9
+ import { Bi as pluginActionRequestSchema, Bn as isMemberAgentsDisabledError, Cn as createRoutinesApi, Dn as createSessionHistoryApi, Ed as spaceDispatchTraceDispatchStatusSchema, Gt as createAgentProfileBindingApi, Hd as spaceDispatchTraceResponseSchema, Jt as createCenterAgentApi, Kn as postSpaceWorkHandoff, Kt as createAgentProfileExecutionModeApi, Mc as harnessKindSchema, Ng as signalEnvelopeSchema, Pd as spaceDispatchTraceFinalVisibleOutcomeSchema, Qi as MEMBER_AGENTS_DISABLED_MESSAGE, Qp as summarizeComputerFileAccessPolicy, Sd as spaceDispatchTraceAttemptStatusSchema, Tl as sessionHistoryReadSchema, Wt as createAgentActivityApi, Yp as ownerComputerDiagnosticsSchema, Zi as MEMBER_AGENTS_DISABLED_CODE, Zp as projectOwnerComputerLocalRuntimes, Zt as createComputerFileAccessApi, _d as projectSpaceDispatchTraceFinalVisibleOutcome, _n as createPluginsApi, ag as agentActivitySnapshotQuerySchema, ao as DEFAULT_AGENT_PROFILE_CREATION_CONFIGURATION, bd as resolveRuntimeCoordinatorHeadStatusRootCause, cf as projectObservabilityWakeCorrelation, co as agentProfileCreationConfigurationSchema, eg as agentActivityProviderSchema, en as createCurrentDeviceApi, fl as submitFeedbackIssueRequestSchema, fn as createOrganizationApi, gn as createPermissionModeSuggestionsApi, go as createAgentProfileCreationRequestBodySchema, hd as SPACE_DISPATCH_TRACE_RESPONSE_CONTRACT_VERSION_HEADER, ig as agentActivitySessionStatusSchema, in as createFileRootApi, jc as harnessKindFromAgentControllerRef, kl as sessionHistoryResultSchema, mn as createOrganizationSkillsApi, nn as createFeedbackApi, o_ as spaceNameSchema, rr as toStructuredApiClientFailure, sf as observabilityWakeTraceSelectorSchema, t as OpenMeldApiClientHttpError, ta as memberAgentSchema, tn as createDirectMessageApi, un as createMemberAgentsApi, vn as createPrepareReadinessApi, wh as routineScopeSchema, wo as agentDirectMessageSessionSelectorSchema, xd as resolveSpaceDispatchTraceRootCause, xi as spaceEntryTargetSchema, xn as createProjectsApi } from "./dist-53uvP0DN.js";
10
+ import { $ as bindProject, Ar as resolveAgentExecutionStatus, At as listAgentTargetStates, Cr as peopleComputerContainsDevice, Ct as createPrimaryBindingReadSession, Ft as registerUnselectedBuiltinAgentsTurnedOff, I as ensureOpenMeldManagedProfileWorkspace, J as validateCustomProfileWorkspacePath, Jt as notifyDaemonRouteCatalogChanged, K as setCustomProfileWorkspace, Lr as checkAntigravityAcpAccount, Lt as resolveAgentTargetState, M as resolveProfileWorkspaceRuntime, Mr as resolveEvidenceSyncHealth, Nr as resolveNativeAgentControllerPermissionModeForController, O as syncProfileWorkspaceState, Pt as reconcileNewRunnableBuiltinAgentsForSetup, Rr as isAntigravityAcpLaunchContract, Sr as parseAgentControllerRef, Tt as resolveAgentProfilePrimaryAgentControllerReport, V as readProfileWorkspaceConfig, W as resolveConfiguredProfileWorkspacePath, Wt as listBuiltinAgentsRegistryEntries, Y as describeProfileWorkspacePathValidationFailure, Z as ProjectBindingOperationError, _r as getAgentControllerPermissionModeFieldLabel, at as migrateProjectBindingStore, ct as removeProjectConnection, dt as setDefaultProjectConnection, ei as compareAgentControllerRefsForDisplay, ft as unbindProject, gr as getAgentControllerPermissionModeDisplayMetadata, it as listProjectConnectionsWithStatus, jr as resolveAgentProfileEditCapabilities, k as createModelCatalogReadSession, kr as resolveAgentControllerPermissionModeForController, mr as createAgentExecutionStatusDisplayRows, on as resolveLocalRegistryAgentIdFromAgentControllerRef, pt as canonicalizeLocalProjectPath, q as setOpenMeldManagedProfileWorkspace, rt as listProjectBindings, ut as runIfAgentActivityBindingGenerationIsCurrent, wr as projectPeopleComputersToLegacyLocalRuntimes, xr as listAgentControllerPermissionModeOptions, yt as syncDeviceRuntimeStateProjection, z as normalizeCustomProfileWorkspacePath } from "./prepare-provider-runtime-B4go-qdR.js";
11
+ import { An as agentWakeAvailabilityCategorySchema, an as resolvedSpaceMemberProfileSchema, b as OPENMELD_HEADER_SPACE_ADDRESSING_VERSION, bt as organizationSkillFileSchema, et as ORGANIZATION_SKILL_BUNDLE_MAX_BYTES, m as OPENMELD_HEADER_PROFILE_ID, rt as ORGANIZATION_SKILL_FILE_MAX_BYTES } from "./dist-D7SkvUZW.js";
12
+ import { $n as spaceWorkHandoffSchema, $r as clientMessageIdSchema, Jn as centerAgentInteractionSourceSchema, Yr as agentInteractionResponseSchema, dr as spaceContractFieldsSchema, fr as spaceContractSchema, nr as spaceWorkSelectionSchema, pi as runtimeTransportAdmissionEvidenceSchema, rr as spaceWorkingCopyResultSchema } from "./runtime-transport-Dg7E0ROH.js";
13
13
  import { f as agentControllerConversationRefSchema } from "./controller-contract-Ciy9Smgo.js";
14
14
  import { c as dispatchExecutionSchema } from "./conversation-execution-state-BOWTCU0B.js";
15
- import { d as readSelectedSkillDocument, r as ensureLocalSkills } from "./state-BrFamidO.js";
16
- import { $ as renderHumanTextErrorCard, A as resolveLocalComponentsStatus, B as runAuthMenu, D as emitCliJsonEnvelope, E as shouldEmitAgentOverview, F as buildCommandAuthenticationPromptMessage, G as recoverInterruptedComputerAuthHandoff, H as exchangeOneTimeTokenAuthSession, I as ensureCommandAuthenticationOrCancel, J as runDaemonServiceParticipationGate, K as exchangeComputerAuthorizationGrant, L as evaluateCommandAuthentication, M as LocalProjectConnectionError, N as validateLocalProjectConnectionPath, O as runDaemonStartupPreflight, Q as renderHumanErrorCard, R as runAuthLogin, S as reconcileCliVersionView, U as emitUnusedSetupSessionCleanupWarning, V as runAuthStatus, W as formatComputerAuthCleanupFailureSuffix, X as runDaemonStartDecisionPrompt, Y as resolveDaemonServiceParticipationStatus, Z as buildHumanErrorCopy, _ as formatServiceParticipationReadinessLabel, a as runDaemonBackgroundStartForDecision, at as renderTextInfoCard, b as buildProfileWorkspacePresentation, c as runDaemonInterrupt, ct as isReturnKeypress, dt as getCurrentCommandCheckState, et as buildAuthStatusRows, f as runDaemonSnapshot, ft as isCurrentCommandCheckScopeActive, g as runDaemonUninstall, h as runDaemonTeardownStrict, i as runDaemonAutostart, it as renderInfoCard, j as writeInstalledLocalComponentsSnapshot, l as runDaemonReinstall, lt as runInteractivePrompt, m as runDaemonStop, mt as startCurrentCommandCheckScope, n as isManagedSystemServiceBootstrapRun, nt as formatActiveOrganizationLabel, o as runDaemonCancel, p as runDaemonStatusFlow, pt as resetCurrentCommandCheckState, q as revokePreparedAuthSession, r as runDaemon, s as runDaemonInstall, st as promptTextEntry, t as bestEffortStopCurrentLaneDaemonService, tt as buildAuthStatusSnapshot, u as runDaemonRunAfterEntryChecks, ut as finishCurrentCommandCheckScope, w as emitDaemonAgentOverview, x as buildProfileWorkspaceRows, y as resolveServiceParticipationReadiness, z as runAuthLogout } from "./service-CAVnFGS6.js";
17
- import { A as enqueueAgentActivityHookEvent, B as buildCanonicalRepositoryUrl, D as normalizeSharedSessionTitle, E as resolveObservedAgentActivityBinding, F as readAgentActivityOutboxHealth, It as buildPublicSpaceEntryUrl, Kt as buildUpdatesReplyWorkflowProjection, L as removeProjectOutbox, Ln as cliJsonOutputEnvelopeSchema, Lt as buildSignalIndex, Nt as buildDispatchResultMessageReadProjection, O as readCodexSessionTitles, Pt as buildDispatchResultReplyWorkflowProjection, Rt as buildSignalMessageReadProjection, T as buildAgentActivityEvent, Wt as buildSpaceRoundReadProjection, Xt as createSpaceMemberIdentityIndex, _ as readOpenMeldCreatedLocalAgentSessionProjectAttributions, _r as organizationJoinLinkErrorResponseSchema, ar as cliJsonSkillsLoadEnvelopeSchema, b as resolveOpenMeldCreatedLocalAgentSessionProjectAttribution, en as formatRemovedCcRelationMessage, fr as acceptOrganizationJoinLinkBodySchema, i as readDispatchOwnedRuntimeGuard, ir as cliJsonSkillsListEnvelopeSchema, j as removeProjectInbox, kt as upsertSpaceConfig, mr as getOrganizationJoinLinkResponseSchema, nr as cliJsonSkillsAddEnvelopeSchema, or as cliJsonSkillsScanEnvelopeSchema, rr as cliJsonSkillsAddPreviewEnvelopeSchema, sr as cliJsonSkillsShowEnvelopeSchema, t as assertDispatchOwnedRuntimePublicWriteAllowed, tr as cliJsonSkillsAddAllEnvelopeSchema, tt as readRecentDaemonDispatchJournalEvents, vr as organizationJoinLinkManagementQuerySchema, vt as inspectSpaceCacheFile, xr as revokeOrganizationJoinLinkResponseSchema } from "./dispatch-owned-runtime-B1yce9CE.js";
18
- 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-B6TZqn2K.js";
19
- 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-DkKnmoi1.js";
20
- import { G as readManagedCliInstallation, H as buildInstallSelfJsonPayload, U as performManagedInstall, r as readCurrentDaemonRuntimeContext } from "./daemon-service-runtime-CfxejhNC.js";
15
+ import { d as readSelectedSkillDocument, r as ensureLocalSkills } from "./state-Der85tER.js";
16
+ import { $ as renderHumanTextErrorCard, A as resolveLocalComponentsStatus, B as runAuthMenu, D as emitCliJsonEnvelope, E as shouldEmitAgentOverview, F as buildCommandAuthenticationPromptMessage, G as recoverInterruptedComputerAuthHandoff, H as exchangeOneTimeTokenAuthSession, I as ensureCommandAuthenticationOrCancel, J as runDaemonServiceParticipationGate, K as exchangeComputerAuthorizationGrant, L as evaluateCommandAuthentication, M as LocalProjectConnectionError, N as validateLocalProjectConnectionPath, O as runDaemonStartupPreflight, Q as renderHumanErrorCard, R as runAuthLogin, S as reconcileCliVersionView, U as emitUnusedSetupSessionCleanupWarning, V as runAuthStatus, W as formatComputerAuthCleanupFailureSuffix, X as runDaemonStartDecisionPrompt, Y as resolveDaemonServiceParticipationStatus, Z as buildHumanErrorCopy, _ as formatServiceParticipationReadinessLabel, a as runDaemonBackgroundStartForDecision, at as renderTextInfoCard, b as buildProfileWorkspacePresentation, c as runDaemonInterrupt, ct as isReturnKeypress, dt as getCurrentCommandCheckState, et as buildAuthStatusRows, f as runDaemonSnapshot, ft as isCurrentCommandCheckScopeActive, g as runDaemonUninstall, h as runDaemonTeardownStrict, i as runDaemonAutostart, it as renderInfoCard, j as writeInstalledLocalComponentsSnapshot, l as runDaemonReinstall, lt as runInteractivePrompt, m as runDaemonStop, mt as startCurrentCommandCheckScope, n as isManagedSystemServiceBootstrapRun, nt as formatActiveOrganizationLabel, o as runDaemonCancel, p as runDaemonStatusFlow, pt as resetCurrentCommandCheckState, q as revokePreparedAuthSession, r as runDaemon, s as runDaemonInstall, st as promptTextEntry, t as bestEffortStopCurrentLaneDaemonService, tt as buildAuthStatusSnapshot, u as runDaemonRunAfterEntryChecks, ut as finishCurrentCommandCheckScope, w as emitDaemonAgentOverview, x as buildProfileWorkspaceRows, y as resolveServiceParticipationReadiness, z as runAuthLogout } from "./service-_kQjYdi5.js";
17
+ import { A as enqueueAgentActivityHookEvent, B as buildCanonicalRepositoryUrl, D as normalizeSharedSessionTitle, E as resolveObservedAgentActivityBinding, F as readAgentActivityOutboxHealth, It as buildPublicSpaceEntryUrl, Kt as buildUpdatesReplyWorkflowProjection, L as removeProjectOutbox, Ln as cliJsonOutputEnvelopeSchema, Lt as buildSignalIndex, Nt as buildDispatchResultMessageReadProjection, O as readCodexSessionTitles, Pt as buildDispatchResultReplyWorkflowProjection, Rt as buildSignalMessageReadProjection, T as buildAgentActivityEvent, Wt as buildSpaceRoundReadProjection, Xt as createSpaceMemberIdentityIndex, _ as readOpenMeldCreatedLocalAgentSessionProjectAttributions, _r as organizationJoinLinkErrorResponseSchema, ar as cliJsonSkillsLoadEnvelopeSchema, b as resolveOpenMeldCreatedLocalAgentSessionProjectAttribution, en as formatRemovedCcRelationMessage, fr as acceptOrganizationJoinLinkBodySchema, i as readDispatchOwnedRuntimeGuard, ir as cliJsonSkillsListEnvelopeSchema, j as removeProjectInbox, kt as upsertSpaceConfig, mr as getOrganizationJoinLinkResponseSchema, nr as cliJsonSkillsAddEnvelopeSchema, or as cliJsonSkillsScanEnvelopeSchema, rr as cliJsonSkillsAddPreviewEnvelopeSchema, sr as cliJsonSkillsShowEnvelopeSchema, t as assertDispatchOwnedRuntimePublicWriteAllowed, tr as cliJsonSkillsAddAllEnvelopeSchema, tt as readRecentDaemonDispatchJournalEvents, vr as organizationJoinLinkManagementQuerySchema, vt as inspectSpaceCacheFile, xr as revokeOrganizationJoinLinkResponseSchema } from "./dispatch-owned-runtime-CZLplr8F.js";
18
+ 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-BpSn7MBy.js";
19
+ 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-B8lZk9gI.js";
20
+ import { G as readManagedCliInstallation, H as buildInstallSelfJsonPayload, U as performManagedInstall, r as readCurrentDaemonRuntimeContext } from "./daemon-service-runtime-CaUu_AdU.js";
21
21
  import { t as activateWindowsManagedCommand } from "./windows-system-DsNqYvVr.js";
22
- import { $ as formatDeviceReplyReadinessLabel, At as getSetupFlowCopy, Bt as classifyDaemonServiceRunStartability, Et as resolveCurrentDaemonExpectedVersion, H as resolveDaemonServiceFreshnessWarning, Ot as buildDaemonRouteObservationPresentation$1, P as resolveServiceReadinessFromServiceStatus, Q as formatAgentReplyReadinessLabel, Vt as classifyDaemonServiceWakeability, Z as resolveCurrentReplyReadinessSnapshot, d as assessCliUpdate, et as formatHumanReplyReadinessReason$1, f as isCliUpdateCheckApplicable, ft as resolveOpenClawLocalDiagnosticsValue, kt as buildOnboardingPlan, lt as resolveGatewayChainReadiness, m as runPendingDaemonServiceUpdate, mt as inspectDaemonServiceInventory, nt as mapAgentReplyReadinessToLegacyAutoReply, o as assessServerRequiredVersion, u as readCurrentLocalDeviceId } from "./openmeld-tools-update-coordinator-DasnCwiO.js";
23
- import { $ as formatAgentProfileBindingUpdateFailure, A as isSpaceCommandOutputHandledError, B as resolveAgentProfileSetup, 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 resolveHumanControllerDisplayName, 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, et as assessActionParticipationCandidate, 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 persistAgentTransportSelection } from "./command-WV5fFpT1.js";
24
- import { O as runMacOsNativeKeychainHelperIfRequested, T as updateAuthSessionActiveOrganization, _ as normalizeStoredActiveOrganization, a as beginAuthSessionTransition, at as formatOpenMeldCliCommand, ct as formatOpenMeldCliTextBlock, d as getAuthSessionState, dt as resolveSetupFollowUpCliEntryCommand, f as getCurrentAuthOwnerUserId, ft as resolveUserFacingCliEntryCommand, it as formatInlineOpenMeldCliCommands, n as AuthSessionRecoveryInProgressError, o as buildStoredAuthSessionIdentity, ot as formatOpenMeldCliCommands, s as clearAuthSession, st as formatOpenMeldCliLine, t as AuthSessionChangedBeforeTransitionError, u as getAuthSessionMetadata, ut as formatProfileAwareOpenMeldCliCommands } from "./auth-session-D3JW6vDg.js";
22
+ import { $ as formatDeviceReplyReadinessLabel, At as getSetupFlowCopy, Bt as classifyDaemonServiceRunStartability, Et as resolveCurrentDaemonExpectedVersion, H as resolveDaemonServiceFreshnessWarning, Ot as buildDaemonRouteObservationPresentation$1, P as resolveServiceReadinessFromServiceStatus, Q as formatAgentReplyReadinessLabel, Vt as classifyDaemonServiceWakeability, Z as resolveCurrentReplyReadinessSnapshot, d as assessCliUpdate, et as formatHumanReplyReadinessReason$1, f as isCliUpdateCheckApplicable, ft as resolveOpenClawLocalDiagnosticsValue, kt as buildOnboardingPlan, lt as resolveGatewayChainReadiness, m as runPendingDaemonServiceUpdate, mt as inspectDaemonServiceInventory, nt as mapAgentReplyReadinessToLegacyAutoReply, o as assessServerRequiredVersion, u as readCurrentLocalDeviceId } from "./openmeld-tools-update-coordinator-B_Dd_-GW.js";
23
+ import { $ as formatAgentProfileBindingUpdateFailure, A as isSpaceCommandOutputHandledError, B as resolveAgentProfileSetup, 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 resolveHumanControllerDisplayName, 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, et as assessActionParticipationCandidate, 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 persistAgentTransportSelection } from "./command-DdMi5g2D.js";
24
+ import { O as runMacOsNativeKeychainHelperIfRequested, T as updateAuthSessionActiveOrganization, _ as normalizeStoredActiveOrganization, a as beginAuthSessionTransition, at as formatOpenMeldCliCommand, ct as formatOpenMeldCliTextBlock, d as getAuthSessionState, dt as resolveSetupFollowUpCliEntryCommand, f as getCurrentAuthOwnerUserId, ft as resolveUserFacingCliEntryCommand, it as formatInlineOpenMeldCliCommands, n as AuthSessionRecoveryInProgressError, o as buildStoredAuthSessionIdentity, ot as formatOpenMeldCliCommands, s as clearAuthSession, st as formatOpenMeldCliLine, t as AuthSessionChangedBeforeTransitionError, u as getAuthSessionMetadata, ut as formatProfileAwareOpenMeldCliCommands } from "./auth-session-DRQMn41Z.js";
25
25
  import { A as formatLocalMachineIssueMessage, D as isLocalMachineFailureError, O as toRecognizedLocalMachineFailureError, S as LocalMachineFailureError, T as createOrphanedSetupConcurrencyIssue, _ as resolveCliContext, a as isOpenMeldOrphanedLockError, b as formatLaneScopeSentence, c as releaseLockSync, d as runWithHeldLock, i as isOpenMeldLockError, l as repairOrphanedLegacyLocks, m as OPENMELD_CLI_CONTEXT_ENV_KEY, p as LEGACY_OPENMELD_AGENT_SESSION_ENV_KEY, r as buildOpenMeldOrphanedLockAction, t as acquireLock, u as resolveOpenMeldOrphanedLockIssue, w as createActiveSetupConcurrencyIssue, x as resolveOpenMeldLaneDescriptor } from "./lock-DP8d33p_.js";
26
- import { C as canonicalizeAllowedActions, _ as buildAgentFacingPublicationModeGuideLines, c as readDispatchSpaceActionContextFromEnv, f as OPENMELD_AGENT_MENTAL_MODEL_LINES, h as areAllowedActionsEquivalent } from "./sensitive-operation-credentials-DLvCUcPG.js";
27
- import { A as resolveAuthenticationGuidanceFromError, C as buildAgentAuthenticationGuide, D as createAuthenticationError, E as buildHumanAuthenticationCard, N as getProfileDefaultView, P as setProfileDefaultView, S as setSelectedOpenMeldProfileId, a as requireOpenMeldProfile, b as clearSelectedOpenMeldProfileId, c as createOpenMeldHumanProfile, d as listOpenMeldProfiles, f as primeOpenMeldProfilesSessionCache, i as isSelectedOpenMeldProfileRequiredError, j as resolveAuthenticationGuidanceFromMessage, k as resolveAuthenticationGuidance, l as deleteOpenMeldProfile, m as updateOpenMeldProfile, n as resolveRuntimeContext, o as resolveOpenMeldProfileOrNull, p as resolveOpenMeldProfile, r as resolveViewProfileKey, s as createOpenMeldAgentProfile, t as parseCliViewMode, v as alignSelectedOpenMeldProfileStorage, x as getSelectedOpenMeldProfileId } from "./context-BvTB6oYE.js";
26
+ import { C as canonicalizeAllowedActions, _ as buildAgentFacingPublicationModeGuideLines, c as readDispatchSpaceActionContextFromEnv, f as OPENMELD_AGENT_MENTAL_MODEL_LINES, h as areAllowedActionsEquivalent } from "./sensitive-operation-credentials-Dr_neVvL.js";
27
+ import { A as resolveAuthenticationGuidanceFromError, C as buildAgentAuthenticationGuide, D as createAuthenticationError, E as buildHumanAuthenticationCard, N as getProfileDefaultView, P as setProfileDefaultView, S as setSelectedOpenMeldProfileId, a as requireOpenMeldProfile, b as clearSelectedOpenMeldProfileId, c as createOpenMeldHumanProfile, d as listOpenMeldProfiles, f as primeOpenMeldProfilesSessionCache, i as isSelectedOpenMeldProfileRequiredError, j as resolveAuthenticationGuidanceFromMessage, k as resolveAuthenticationGuidance, l as deleteOpenMeldProfile, m as updateOpenMeldProfile, n as resolveRuntimeContext, o as resolveOpenMeldProfileOrNull, p as resolveOpenMeldProfile, r as resolveViewProfileKey, s as createOpenMeldAgentProfile, t as parseCliViewMode, v as alignSelectedOpenMeldProfileStorage, x as getSelectedOpenMeldProfileId } from "./context-BvLQjNGR.js";
28
28
  import { n as resolveOpenMeldDistribution, t as isBinaryDistribution } from "./distribution-BDQT2ilb.js";
29
29
  import { A as getDaemonStatus } from "./daemon-state-CTOVPwNq.js";
30
- import { a as outJsonLine, i as errLine, n as sanitizeTerminalDisplayText, o as outLine, r as formatMessage, t as createPresenter } from "./presenter-PTSj6SjL.js";
31
- import { c as buildRequestAuthHeaders, d as buildOpenMeldRequestContextFromProfile, n as fetchSpaceRequestWithTimeout, p as deriveAuthBaseUrlFromGatewayUrl, s as buildOpenMeldRequestContextHeadersWithAuth, t as createCliApiClientFoundation } from "./api-client-foundation-C4qyWlX3.js";
30
+ import { a as outJsonLine, i as errLine, n as sanitizeTerminalDisplayText, o as outLine, r as formatMessage, t as createPresenter } from "./presenter-DMoE2U_q.js";
31
+ import { c as buildRequestAuthHeaders, d as buildOpenMeldRequestContextFromProfile, n as fetchSpaceRequestWithTimeout, p as deriveAuthBaseUrlFromGatewayUrl, s as buildOpenMeldRequestContextHeadersWithAuth, t as createCliApiClientFoundation } from "./api-client-foundation-i2KBsQ7r.js";
32
32
  import { i as readDaemonServiceContract } from "./daemon-service-contract-CsANv7K_.js";
33
- import { t as resolveOpenMeldEnvironmentTarget } from "./openmeld-environment-target-CeFk6jOe.js";
34
- import { r as runServiceAccountCarrier } from "./service-account-authorization-uXkl3vrp.js";
35
- import { a as requestLocalSetLocalAgentEnabled, n as requestLocalAgentActivitySync, t as LocalDaemonControlPlaneClientError } from "./client-DiJSFcdx.js";
36
- import { d as compareSemver, f as ensureVersionStateReady, l as OPENMELD_VERSION } from "./daemon-lifecycle-journal-CazLvrLu.js";
37
- import { A as createSpaceUpdatesGuideError, D as createSpaceSubcommandTargetGuideError, F as getCommandHintsFromContract, K as registerSkillsTargetSelectionOptions, M as createStartAuthenticationGuideError, O as createSpaceTargetGuideError, Q as registerAuthLoginRequestOptions, R as registerSpaceMemberSelectionOptions, S as createSpaceResultGuideError, V as SPACE_ADD_MEMBERS_PROGRESS_HEARTBEAT_MS, X as registerDaemonControlTargetOptions, Y as getCliVersionInfo, a as createProfileMenuGuideError, ct as buildDualViewGuideMessage, d as createSpaceContractSetGuideError, g as createSpaceMenuGuideError, h as createSpaceLeaveGuideError, i as createProfileCreateGuideError, j as createStartAgentIdentityGuideError, l as createSpaceAddMembersGuideError, lt as formatAgentOverviewPayload, n as createDoctorFailedGuideError, o as createResetConfirmationGuideError, ot as DualViewGuideError, r as createProfileActionGuideError, rt as registerBuiltinAgentSelectionOptions, st as formatDualViewGuideForDisplay, u as createSpaceAliasTargetGuideError, v as createSpacePublicationSetGuideError, x as createSpaceRemoveMembersGuideError } from "./dual-view-guide-catalog-CUcSHGLS.js";
38
- import { m as canUseInteractivePrompts } from "./elapsed-time-DnuzLO2r.js";
39
- import { n as collectSkillsReadinessSnapshot } from "./installation-inventory-BMPU4Tgf.js";
40
- import { t as runServiceAccountControl } from "./service-account-control-C5t63oqC.js";
41
- import { C as buildNoLocalAgentsNoticeLines, E as writePrepareSessionSetupBootstrapResult, S as buildLocalAgentsGuideUrl, _ 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, 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-BtXNgehw.js";
42
- import { C as resolveGatewayWebOrigin, _ 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-D64ZW_j4.js";
43
- import { n as submitProfileRuntimeAgentControllerReport, p as withProbeWorkingDirectory, r as submitRuntimeAgentControllerReport } from "./runtime-agent-controller-reporting-submission-Bmi-TI7L.js";
44
- 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-Df1VFgZU.js";
33
+ import { t as resolveOpenMeldEnvironmentTarget } from "./openmeld-environment-target-DydyKO8Z.js";
34
+ import { r as runServiceAccountCarrier } from "./service-account-authorization-DiSsm3hB.js";
35
+ import { a as requestLocalSetLocalAgentEnabled, n as requestLocalAgentActivitySync, t as LocalDaemonControlPlaneClientError } from "./client-CBTgmyFC.js";
36
+ import { d as compareSemver, f as ensureVersionStateReady, l as OPENMELD_VERSION } from "./daemon-lifecycle-journal-BK-K3kGX.js";
37
+ import { A as createSpaceUpdatesGuideError, D as createSpaceSubcommandTargetGuideError, F as getCommandHintsFromContract, K as registerSkillsTargetSelectionOptions, M as createStartAuthenticationGuideError, O as createSpaceTargetGuideError, Q as registerAuthLoginRequestOptions, R as registerSpaceMemberSelectionOptions, S as createSpaceResultGuideError, V as SPACE_ADD_MEMBERS_PROGRESS_HEARTBEAT_MS, X as registerDaemonControlTargetOptions, Y as getCliVersionInfo, a as createProfileMenuGuideError, ct as buildDualViewGuideMessage, d as createSpaceContractSetGuideError, g as createSpaceMenuGuideError, h as createSpaceLeaveGuideError, i as createProfileCreateGuideError, j as createStartAgentIdentityGuideError, l as createSpaceAddMembersGuideError, lt as formatAgentOverviewPayload, n as createDoctorFailedGuideError, o as createResetConfirmationGuideError, ot as DualViewGuideError, r as createProfileActionGuideError, rt as registerBuiltinAgentSelectionOptions, st as formatDualViewGuideForDisplay, u as createSpaceAliasTargetGuideError, v as createSpacePublicationSetGuideError, x as createSpaceRemoveMembersGuideError } from "./dual-view-guide-catalog-Df60SGOI.js";
38
+ import { m as canUseInteractivePrompts } from "./elapsed-time-jRFzKVlC.js";
39
+ import { n as collectSkillsReadinessSnapshot } from "./installation-inventory-Cm-cGiGv.js";
40
+ import { t as runServiceAccountControl } from "./service-account-control-B4Ja3gU_.js";
41
+ import { C as buildNoLocalAgentsNoticeLines, E as writePrepareSessionSetupBootstrapResult, S as buildLocalAgentsGuideUrl, _ 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, 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-Cpq7jQJg.js";
42
+ import { C as resolveGatewayWebOrigin, _ 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-DTdo7eeT.js";
43
+ import { n as submitProfileRuntimeAgentControllerReport, p as withProbeWorkingDirectory, r as submitRuntimeAgentControllerReport } from "./runtime-agent-controller-reporting-submission-Cnpnw9UC.js";
44
+ 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-C8iFbxmb.js";
45
45
  import { createHash, randomUUID } from "node:crypto";
46
46
  import { homedir, tmpdir } from "node:os";
47
47
  import { basename, dirname, extname, isAbsolute, join, relative, resolve, sep } from "node:path";
@@ -16524,7 +16524,7 @@ function isAgentProfile(profile) {
16524
16524
  }
16525
16525
  //#endregion
16526
16526
  //#region src/commands/setup.ts
16527
- const NON_INTERACTIVE_DEFAULT_LOCAL_AGENTS_NOTICE = "Non-interactive: connecting all detected agents (use --local-agent to limit, or --local-agents none to skip).";
16527
+ const NON_INTERACTIVE_DEFAULT_LOCAL_AGENTS_NOTICE = "Non-interactive: connecting new agents and keeping existing On/Off choices (use --local-agent to choose, or --local-agents none to skip).";
16528
16528
  async function runSetup(input) {
16529
16529
  try {
16530
16530
  return await withSetupCommandLock({
@@ -16581,18 +16581,17 @@ async function runSetupUnlocked(input) {
16581
16581
  promptMessage: "Sign in to OpenMeld before setting up this computer.",
16582
16582
  allowPrompt: interactive
16583
16583
  })) return;
16584
+ const explicitLocalAgentSelection = hasExplicitLocalAgentSelection(input);
16584
16585
  const initialReadiness = await runWithSetupProgress({
16585
16586
  code: "setup.progress.local_agents.checking",
16586
16587
  completionMessage: "Local agents checked.",
16587
16588
  message: setupCopy.cliProgressCheckingLocalAgents,
16588
16589
  presenter,
16589
16590
  runtime,
16590
- run: async () => await collectStartLocalReadiness({ auth: {
16591
- status: "valid",
16592
- email: null,
16593
- authBaseUrl: null,
16591
+ run: async () => await collectStandardSetupLocalReadiness({
16592
+ explicitSelection: explicitLocalAgentSelection,
16594
16593
  gatewayUrl
16595
- } })
16594
+ })
16596
16595
  });
16597
16596
  await emitSetupPlanForAgentView({
16598
16597
  presenter,
@@ -16607,7 +16606,13 @@ async function runSetupUnlocked(input) {
16607
16606
  localAgents: input.localAgents,
16608
16607
  readiness: initialReadiness
16609
16608
  });
16610
- await confirmZeroLocalAgentSetupIfNeeded({
16609
+ const humanLocalAgentState = resolveStandardSetupHumanLocalAgentState({
16610
+ explicitSelection: explicitLocalAgentSelection,
16611
+ localAgents: input.localAgents,
16612
+ readiness: initialReadiness,
16613
+ selectedLocalAgentIds
16614
+ });
16615
+ if (humanLocalAgentState !== "kept_off") await confirmZeroLocalAgentSetupIfNeeded({
16611
16616
  explicitSelection: hasExplicitLocalAgentSelection(input),
16612
16617
  guideUrl: localAgentsGuideUrl,
16613
16618
  localAgentsMode: input.localAgents,
@@ -16621,9 +16626,9 @@ async function runSetupUnlocked(input) {
16621
16626
  presenter,
16622
16627
  selectedLocalAgentIds
16623
16628
  });
16624
- const appliesLocalAgentChoice = selectedLocalAgentIds.length > 0 || normalizeOptionalString$5(input.localAgents) === "none";
16629
+ const appliesLocalAgentChoice = explicitLocalAgentSelection && (selectedLocalAgentIds.length > 0 || normalizeOptionalString$5(input.localAgents) === "none");
16625
16630
  const turnedOffBeforeServiceAgentIds = appliesLocalAgentChoice ? await registerUnselectedLocalAgentsOffForSetup({ selectedLocalAgentIds }) : [];
16626
- if (selectedLocalAgentIds.length > 0) assertStartLocalAgentsEnableCompleted(await runWithSetupProgress({
16631
+ if (explicitLocalAgentSelection && selectedLocalAgentIds.length > 0) assertStartLocalAgentsEnableCompleted(await runWithSetupProgress({
16627
16632
  code: "setup.progress.local_agents.enabling",
16628
16633
  completionMessage: "Local agents connected.",
16629
16634
  message: setupCopy.cliProgressConnectingLocalAgents,
@@ -16679,10 +16684,12 @@ async function runSetupUnlocked(input) {
16679
16684
  });
16680
16685
  assertSelectedAgentControllerReportSubmissionsAccepted(runtimeReports);
16681
16686
  const routeCatalogSync = selectedLocalAgentIds.length > 0 ? await notifyRouteCatalogAfterSetup({ reason: "setup_local_capabilities_reported" }) : null;
16682
- if (appliesLocalAgentChoice) emitSetupMemberAgentsLine(presenter, await addSetupMemberAgentsAfterLocalAgentChoice({
16687
+ const memberAgents = await syncStandardSetupMemberAgents({
16688
+ appliesLocalAgentChoice,
16683
16689
  selectedLocalAgentIds,
16684
16690
  turnedOffBeforeServiceAgentIds
16685
- }));
16691
+ });
16692
+ if (memberAgents) emitSetupMemberAgentsLine(presenter, memberAgents);
16686
16693
  await runWithSetupProgress({
16687
16694
  code: "setup.progress.skills.updating",
16688
16695
  completionMessage: "OpenMeld skills ready.",
@@ -16708,10 +16715,7 @@ async function runSetupUnlocked(input) {
16708
16715
  selectedLocalAgentIds
16709
16716
  }),
16710
16717
  gatewayUrl,
16711
- humanLocalAgentState: resolveStandardSetupHumanLocalAgentState({
16712
- localAgents: input.localAgents,
16713
- selectedLocalAgentIds
16714
- }),
16718
+ humanLocalAgentState,
16715
16719
  localComponents,
16716
16720
  path: "local_setup",
16717
16721
  presenter,
@@ -16722,6 +16726,23 @@ async function runSetupUnlocked(input) {
16722
16726
  view: runtime.resolvedView
16723
16727
  });
16724
16728
  }
16729
+ async function syncStandardSetupMemberAgents(input) {
16730
+ if (input.appliesLocalAgentChoice) return await addSetupMemberAgentsAfterLocalAgentChoice({
16731
+ selectedLocalAgentIds: input.selectedLocalAgentIds,
16732
+ turnedOffBeforeServiceAgentIds: input.turnedOffBeforeServiceAgentIds
16733
+ });
16734
+ if (input.selectedLocalAgentIds.length === 0) return null;
16735
+ return await addSetupSelectedMemberAgents({ selectedLocalAgentIds: input.selectedLocalAgentIds });
16736
+ }
16737
+ async function collectStandardSetupLocalReadiness(input) {
16738
+ if (!input.explicitSelection) await reconcileNewRunnableBuiltinAgentsForSetup();
16739
+ return await collectStartLocalReadiness({ auth: {
16740
+ status: "valid",
16741
+ email: null,
16742
+ authBaseUrl: null,
16743
+ gatewayUrl: input.gatewayUrl
16744
+ } });
16745
+ }
16725
16746
  /**
16726
16747
  * Apply the selection to Local agents, then add the selected Agents. Every
16727
16748
  * harness turned on becomes an Agent, so an unselected agent the Service
@@ -16788,7 +16809,7 @@ function resolveSetupLocalAgentIds(input) {
16788
16809
  }
16789
16810
  return localAgentIds;
16790
16811
  }
16791
- return [...selectableById.keys()].sort((left, right) => left.localeCompare(right));
16812
+ return [...selectableById.values()].filter((candidate) => localAgentMode === "all" || candidate.enabled).map((candidate) => candidate.agentId).sort((left, right) => left.localeCompare(right));
16792
16813
  }
16793
16814
  async function confirmZeroLocalAgentSetupIfNeeded(input) {
16794
16815
  if (input.selectedLocalAgentIds.length > 0 || normalizeOptionalString$5(input.localAgentsMode) === "none") return;
@@ -17026,6 +17047,7 @@ function emitDefaultLocalAgentsNoticeIfNeeded(input) {
17026
17047
  }
17027
17048
  function resolveStandardSetupHumanLocalAgentState(input) {
17028
17049
  if (input.selectedLocalAgentIds.length > 0) return "reported";
17050
+ if (!input.explicitSelection && input.readiness.agents.candidates.some((candidate) => candidate.selectable && !candidate.enabled)) return "kept_off";
17029
17051
  return normalizeOptionalString$5(input.localAgents) === "none" ? "skipped" : "none_found";
17030
17052
  }
17031
17053
  function resolveDelegatedSetupHumanLocalAgentState(input) {
@@ -17111,6 +17133,7 @@ function emitSetupHumanCompletion(input) {
17111
17133
  function buildSetupHumanLocalAgentSections(input) {
17112
17134
  if (input.humanLocalAgentState === "background_syncing") return ["Local agents are syncing in the background."];
17113
17135
  if (input.humanLocalAgentState === "skipped") return ["Local agents were skipped."];
17136
+ if (input.humanLocalAgentState === "kept_off") return ["Your local agents remain off. Turn them on in Computers when you're ready."];
17114
17137
  if (input.humanLocalAgentState === "none_found") {
17115
17138
  const guideUrl = buildLocalAgentsGuideUrl(input.gatewayUrl);
17116
17139
  return ["OpenMeld did not find a supported local agent on this computer.", `Install a local agent: ${formatTerminalHyperlink({
@@ -26224,7 +26247,7 @@ function normalizeOptionalString(value) {
26224
26247
  return normalized.length > 0 ? normalized : null;
26225
26248
  }
26226
26249
  async function runDefaultSpaceAddMeMembership(input) {
26227
- const { runSpaceAddMeMembership } = await import("./add-me-membership-DqXAZVkb.js");
26250
+ const { runSpaceAddMeMembership } = await import("./add-me-membership-BEXHAhjy.js");
26228
26251
  return await runSpaceAddMeMembership(input);
26229
26252
  }
26230
26253
  //#endregion
@@ -31406,7 +31429,7 @@ Commands require a stable invocationId and key; poll the same invocation to read
31406
31429
  routeTokens: ["computer", "cloud"],
31407
31430
  view,
31408
31431
  run: async () => {
31409
- const { runCloudComputer } = await import("./cloud-computer-0OvJeYOx.js");
31432
+ const { runCloudComputer } = await import("./cloud-computer-CuWSimwt.js");
31410
31433
  await runCloudComputer({
31411
31434
  operation: opts.operation,
31412
31435
  view
@@ -31415,7 +31438,7 @@ Commands require a stable invocationId and key; poll the same invocation to read
31415
31438
  });
31416
31439
  });
31417
31440
  computerCmd.command("wait-for-update").description("Wait for the existing Service update before requesting a new computer connection. Use --view agent.").action(async () => {
31418
- const { runComputerUpdateWait } = await import("./computer-update-wait-DqdHVh-N.js");
31441
+ const { runComputerUpdateWait } = await import("./computer-update-wait-Bm_oW5Ne.js");
31419
31442
  await runComputerUpdateWait();
31420
31443
  });
31421
31444
  computerCmd.command("disconnect").description("Disconnect this computer from its reviewed account without forgetting its record.").option("--connection-intent <json>", "Account and exact Computer session reviewed for disconnection").option("--expected-account <id>", "Account shown in OpenMeld Web").option("--device <id>", "Computer device shown in OpenMeld Web").option("--runtime-lane <lane>", "Computer runtime lane shown in OpenMeld Web").action(async (opts) => {
@@ -31424,9 +31447,9 @@ computerCmd.command("disconnect").description("Disconnect this computer from its
31424
31447
  routeTokens: ["computer", "disconnect"],
31425
31448
  view,
31426
31449
  run: async () => {
31427
- const { runComputerDisconnect, runComputerDisconnectTarget } = await import("./computer-disconnect-DWuokz-a.js");
31450
+ const { runComputerDisconnect, runComputerDisconnectTarget } = await import("./computer-disconnect-DGsCTpe8.js");
31428
31451
  if (!opts.connectionIntent) {
31429
- const { desktopComputerDisconnectRequestSchema } = await import("./dist-CYV83fQw.js");
31452
+ const { desktopComputerDisconnectRequestSchema } = await import("./dist-8pH5plup.js");
31430
31453
  await runComputerDisconnectTarget(desktopComputerDisconnectRequestSchema.parse({
31431
31454
  expectedAccount: opts.expectedAccount,
31432
31455
  expectedConnection: {
@@ -33871,12 +33894,12 @@ async function main() {
33871
33894
  if (await runMacOsNativeKeychainHelperIfRequested()) return;
33872
33895
  const argv = process.argv.map((arg) => arg === "--h" ? "--help" : arg);
33873
33896
  if (argv.length === 6 && argv[2] === "computer" && argv[3] === "wait-for-update" && argv[4] === "--view" && argv[5] === "agent") {
33874
- const { runComputerUpdateWait } = await import("./computer-update-wait-DqdHVh-N.js");
33897
+ const { runComputerUpdateWait } = await import("./computer-update-wait-Bm_oW5Ne.js");
33875
33898
  await runComputerUpdateWait();
33876
33899
  return;
33877
33900
  }
33878
33901
  if ((argv.length === 5 || argv.length === 6 && argv[5] === "--include-stopped") && argv[2] === "computer" && argv[3] === "connection-review" && argv[4] === "--json") {
33879
- const { readComputerConnectionReview } = await import("./computer-connection-review-BGdzvTAD.js");
33902
+ const { readComputerConnectionReview } = await import("./computer-connection-review-B7eoK0xB.js");
33880
33903
  outLine(JSON.stringify(await readComputerConnectionReview({ includeStopped: argv[5] === "--include-stopped" })));
33881
33904
  return;
33882
33905
  }
@@ -33887,7 +33910,7 @@ async function main() {
33887
33910
  return;
33888
33911
  }
33889
33912
  if (argv[3] === "control-capabilities") {
33890
- const { readServiceControlCapabilities } = await import("./service-control-capabilities-DD8rKK5X.js");
33913
+ const { readServiceControlCapabilities } = await import("./service-control-capabilities-D39aQwkY.js");
33891
33914
  const capabilities = await readServiceControlCapabilities().catch(() => ({
33892
33915
  deviceId: null,
33893
33916
  start: false,
@@ -34072,4 +34095,4 @@ main().catch((error) => {
34072
34095
  //#endregion
34073
34096
  export { onboardingProfileKindSchema as $, memberAgentPresenceStateSchema as A, setupPlanAgentViewEventSchema as B, MEMBER_AGENT_SYNC_HARNESS_NOT_DETECTED_REASON as C, memberAgentPresenceComputerSchema as D, detectedHarnessKindSchema as E, syncMemberAgentsResponseSchema as F, onboardingContextSlotSchema as G, onboardingAccountProfileSchema as H, dualViewGuideInputSchema as I, onboardingDeviceStatusSchema as J, onboardingDecisionStatusSchema as K, structuredGuidePayloadFromInputSchema as L, memberAgentSyncOutcomeSchema as M, memberAgentSyncResultSchema as N, memberAgentPresenceProfileSchema as O, memberAgentSyncStepStatusSchema as P, onboardingPlanSummarySchema as Q, structuredGuidePayloadSchema as R, spaceBoardWorkingExecutionSchema as S, assignAgentProfileMemberAgentOutcomeSchema as T, onboardingActionIdSchema as U, setupPlanAgentViewPayloadSchema as V, onboardingAuthFactSchema as W, onboardingPlanDecisionSchema as X, onboardingFactsSchema as Y, onboardingPlanSchema as Z, spaceBoardMembersSchema as _, getSpaceDispatchResultResponseSchema as a, organizationJoinRequestResponseSchema as at, spaceBoardResponseSchema as b, dispatchResultPublicOutcomeSchema as c, spaceDispatchLookupMatchSchema as d, onboardingReasonCodeSchema as et, getSpaceContractResponseSchema as f, spaceBoardAgentProfileSchema as g, putSpaceContractBodySchema as h, spaceInvitationSchema as i, organizationJoinRequestInputSchema as it, memberAgentPresenceWorkloadSchema as j, memberAgentPresenceSchema as k, dispatchResultSchema as l, patchSpaceContractResponseSchema as m, spaceInvitationRequestSchema as n, centerAgentOrganizationScopeSchema as nt, spacePublishedDispatchResultSchema as o, organizationJoinRequestSchema as ot, patchSpaceContractBodySchema as p, onboardingDeviceFactSchema as q, spaceInvitationResponseSchema as r, centerAgentOrganizationTargetSchema as rt, dispatchResultKindSchema as s, spaceInvitationAccessInputSchema as t, onboardingSpaceContextSchema as tt, getSpaceDispatchLookupResponseSchema as u, spaceBoardOutcomeSchema as v, MEMBER_AGENT_SYNC_ROUTE as w, spaceBoardSpaceSchema as x, spaceBoardRecentOutcomeSchema as y, SETUP_PLAN_AGENT_VIEW_CODE as z };
34074
34097
 
34075
- //# sourceMappingURL=openmeld-DCf4ITd3.js.map
34098
+ //# sourceMappingURL=openmeld-DI9YIFFj.js.map