(message: CodexFetchMessage)
| 127 | } |
| 128 | |
| 129 | async function handleLocalFilePickerMessageInner(message: CodexFetchMessage) { |
| 130 | const request = parsePickFilesRequest(message); |
| 131 | const allowMultiple = message.url === "vscode://codex/pick-files"; |
| 132 | |
| 133 | const selectedFiles = await openBrowserFilePicker({ |
| 134 | allowMultiple, |
| 135 | imagesOnly: request.imagesOnly, |
| 136 | }); |
| 137 | |
| 138 | const uploadedFiles = await uploadFiles(selectedFiles); |
| 139 | |
| 140 | return allowMultiple |
| 141 | ? { files: uploadedFiles } |
| 142 | : { file: uploadedFiles[0] ?? null }; |
| 143 | } |
| 144 | |
| 145 | function isCodexFetchMessage(value: unknown): value is CodexFetchMessage { |
| 146 | return isRecord(value) && value.type === "fetch"; |
no test coverage detected