@qodalis/cli-wget 2.0.0-beta.1 → 2.0.0-beta.11

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qodalis/cli-wget",
3
- "version": "2.0.0-beta.1",
3
+ "version": "2.0.0-beta.11",
4
4
  "description": "Download files from any HTTP/HTTPS URL",
5
5
  "author": "Qodalis Solutions",
6
6
  "license": "MIT",
@@ -15,10 +15,10 @@
15
15
  "terminal",
16
16
  "wget"
17
17
  ],
18
- "umd": "./umd/index.js",
19
- "unpkg": "./umd/index.js",
18
+ "umd": "./umd/index.global.js",
19
+ "unpkg": "./umd/index.global.js",
20
20
  "dependencies": {
21
- "@qodalis/cli-core": "2.0.0-beta.1"
21
+ "@qodalis/cli-core": "2.0.0-beta.11"
22
22
  },
23
23
  "sideEffects": false,
24
24
  "main": "./public-api.js",
package/public-api.d.mts CHANGED
@@ -10,6 +10,7 @@ declare class CliWgetCommandCommandProcessor implements ICliCommandProcessor {
10
10
  valueRequired: boolean;
11
11
  metadata: {
12
12
  icon: string;
13
+ module: string;
13
14
  };
14
15
  parameters: ICliCommandParameterDescriptor[];
15
16
  processors: ICliCommandProcessor[];
@@ -21,7 +22,7 @@ declare class CliWgetCommandCommandProcessor implements ICliCommandProcessor {
21
22
  private _formatBytes;
22
23
  }
23
24
 
24
- declare const LIBRARY_VERSION = "2.0.0-beta.1";
25
+ declare const LIBRARY_VERSION = "2.0.0-beta.11";
25
26
  declare const API_VERSION = 2;
26
27
 
27
28
  declare const wgetModule: ICliModule;
package/public-api.d.ts CHANGED
@@ -10,6 +10,7 @@ declare class CliWgetCommandCommandProcessor implements ICliCommandProcessor {
10
10
  valueRequired: boolean;
11
11
  metadata: {
12
12
  icon: string;
13
+ module: string;
13
14
  };
14
15
  parameters: ICliCommandParameterDescriptor[];
15
16
  processors: ICliCommandProcessor[];
@@ -21,7 +22,7 @@ declare class CliWgetCommandCommandProcessor implements ICliCommandProcessor {
21
22
  private _formatBytes;
22
23
  }
23
24
 
24
- declare const LIBRARY_VERSION = "2.0.0-beta.1";
25
+ declare const LIBRARY_VERSION = "2.0.0-beta.11";
25
26
  declare const API_VERSION = 2;
26
27
 
27
28
  declare const wgetModule: ICliModule;
package/public-api.js CHANGED
@@ -5,7 +5,7 @@ var cliCore = require('@qodalis/cli-core');
5
5
  // src/lib/processors/cli-wget-command-processor.ts
6
6
 
7
7
  // src/lib/version.ts
8
- var LIBRARY_VERSION = "2.0.0-beta.1";
8
+ var LIBRARY_VERSION = "2.0.0-beta.11";
9
9
  var API_VERSION = 2;
10
10
 
11
11
  // src/lib/processors/cli-wget-command-processor.ts
@@ -18,7 +18,8 @@ var CliWgetCommandCommandProcessor = class {
18
18
  this.acceptsRawInput = true;
19
19
  this.valueRequired = true;
20
20
  this.metadata = {
21
- icon: "\u2B07"
21
+ icon: "\u2B07",
22
+ module: "file management"
22
23
  };
23
24
  this.parameters = [
24
25
  {
package/public-api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../../packages/plugins/wget/src/lib/version.ts","../../packages/plugins/wget/src/lib/processors/cli-wget-command-processor.ts","../../packages/plugins/wget/src/public-api.ts"],"names":["DefaultLibraryAuthor","ICliFileTransferService_TOKEN","BrowserFileTransferService"],"mappings":"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","file":"public-api.js","sourcesContent":["\n// Automatically generated during build\nexport const LIBRARY_VERSION = '2.0.0-beta.1';\nexport const API_VERSION = 2;\n ","import {\n CliProcessCommand,\n DefaultLibraryAuthor,\n ICliCommandProcessor,\n ICliCommandParameterDescriptor,\n ICliExecutionContext,\n ICliFileTransferService,\n ICliFileTransferService_TOKEN,\n BrowserFileTransferService,\n} from '@qodalis/cli-core';\nimport { LIBRARY_VERSION } from '../version';\n\nexport class CliWgetCommandCommandProcessor implements ICliCommandProcessor {\n command = 'wget';\n\n description = 'Download files from any HTTP/HTTPS URL';\n\n author = DefaultLibraryAuthor;\n\n version = LIBRARY_VERSION;\n\n acceptsRawInput = true;\n\n valueRequired = true;\n\n metadata = {\n icon: '⬇',\n };\n\n parameters: ICliCommandParameterDescriptor[] = [\n {\n name: 'output',\n aliases: ['o'],\n type: 'string',\n description: 'Output filename (default: derived from URL)',\n required: false,\n },\n {\n name: 'header',\n aliases: ['H'],\n type: 'array',\n description: 'Custom HTTP header (can be repeated)',\n required: false,\n },\n {\n name: 'no-progress',\n type: 'boolean',\n description: 'Suppress progress bar',\n required: false,\n },\n {\n name: 'save',\n type: 'boolean',\n description: 'Save to browser downloads instead of virtual filesystem',\n required: false,\n },\n ];\n\n processors: ICliCommandProcessor[] = [];\n\n async processCommand(\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ): Promise<void> {\n const url = command.value?.trim();\n if (!url) {\n context.writer.writeError('Usage: wget <url> [-o filename] [--header \"Name: Value\"]');\n context.process.exit(1);\n return;\n }\n\n let parsedUrl: URL;\n try {\n parsedUrl = new URL(url);\n } catch {\n context.writer.writeError(`Invalid URL: ${url}`);\n context.process.exit(1);\n return;\n }\n\n const outputName = command.args['output'] || command.args['o']\n || this._filenameFromUrl(parsedUrl);\n\n const headers: Record<string, string> = {};\n const rawHeaders = command.args['header'] || command.args['H'];\n if (rawHeaders) {\n const headerList = Array.isArray(rawHeaders) ? rawHeaders : [rawHeaders];\n for (const h of headerList) {\n const colonIdx = h.indexOf(':');\n if (colonIdx > 0) {\n headers[h.slice(0, colonIdx).trim()] = h.slice(colonIdx + 1).trim();\n }\n }\n }\n\n const showProgress = !command.args['no-progress'];\n const saveToBrowser = !!command.args['save'];\n\n const fileTransfer = this._getFileTransferService(context);\n\n const abortController = new AbortController();\n const abortSub = context.onAbort.subscribe(() => abortController.abort());\n\n try {\n if (showProgress) {\n context.spinner?.show(`Connecting to ${parsedUrl.hostname}...`);\n }\n\n const response = await fetch(url, {\n headers,\n signal: abortController.signal,\n });\n\n if (!response.ok) {\n context.spinner?.hide();\n context.writer.writeError(`HTTP ${response.status}: ${response.statusText}`);\n context.process.exit(1);\n return;\n }\n\n const contentLength = parseInt(response.headers.get('content-length') || '0', 10);\n const contentType = response.headers.get('content-type') || '';\n\n context.spinner?.hide();\n\n if (showProgress && contentLength > 0) {\n context.progressBar.show(`Downloading ${outputName}`);\n } else if (showProgress) {\n context.spinner?.show(`Downloading ${outputName}...`);\n }\n\n const reader = response.body?.getReader();\n if (!reader) {\n const text = await response.text();\n if (saveToBrowser) {\n fileTransfer.downloadToBrowser(outputName, text);\n } else {\n await fileTransfer.writeFile(outputName, text);\n }\n context.spinner?.hide();\n context.writer.writeSuccess(`Saved: ${outputName}`);\n return;\n }\n\n const chunks: Uint8Array[] = [];\n let receivedBytes = 0;\n\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n\n chunks.push(value);\n receivedBytes += value.length;\n\n if (showProgress && contentLength > 0) {\n const progress = receivedBytes / contentLength;\n context.progressBar.update(progress);\n context.progressBar.setText(\n `${outputName} (${this._formatBytes(receivedBytes)}/${this._formatBytes(contentLength)})`,\n );\n } else if (showProgress) {\n context.spinner?.setText(`Downloading ${outputName}... ${this._formatBytes(receivedBytes)}`);\n }\n }\n\n const combined = new Uint8Array(receivedBytes);\n let offset = 0;\n for (const chunk of chunks) {\n combined.set(chunk, offset);\n offset += chunk.length;\n }\n\n if (showProgress && contentLength > 0) {\n context.progressBar.complete();\n context.progressBar.hide();\n } else {\n context.spinner?.hide();\n }\n\n const isText = contentType.includes('text') || contentType.includes('json') || contentType.includes('xml');\n\n if (saveToBrowser) {\n const blob = new Blob([combined]);\n fileTransfer.downloadToBrowser(outputName, blob);\n } else if (isText) {\n const text = new TextDecoder().decode(combined);\n await fileTransfer.writeFile(outputName, text);\n } else {\n // Binary file — encode as base64 and save to virtual filesystem\n const base64 = this._uint8ArrayToBase64(combined);\n const dataUri = `data:${contentType || 'application/octet-stream'};base64,${base64}`;\n await fileTransfer.writeFile(outputName, dataUri);\n }\n\n context.writer.writeSuccess(`Downloaded: ${outputName} (${this._formatBytes(receivedBytes)})`);\n } catch (err: any) {\n context.spinner?.hide();\n context.progressBar.hide();\n\n if (err.name === 'AbortError') {\n context.writer.writeWarning('Download cancelled.');\n } else {\n context.writer.writeError(`Download failed: ${err.message}`);\n }\n context.process.exit(1);\n } finally {\n abortSub.unsubscribe();\n }\n }\n\n writeDescription(context: ICliExecutionContext): void {\n context.writer.writeln(this.description!);\n }\n\n private _getFileTransferService(context: ICliExecutionContext): ICliFileTransferService {\n try {\n return context.services.get<ICliFileTransferService>(ICliFileTransferService_TOKEN);\n } catch {\n return new BrowserFileTransferService();\n }\n }\n\n private _filenameFromUrl(url: URL): string {\n const pathname = url.pathname;\n const segments = pathname.split('/').filter(Boolean);\n return segments.length > 0 ? segments[segments.length - 1] : 'download';\n }\n\n private _uint8ArrayToBase64(bytes: Uint8Array): string {\n let binary = '';\n for (let i = 0; i < bytes.length; i++) {\n binary += String.fromCharCode(bytes[i]);\n }\n return btoa(binary);\n }\n\n private _formatBytes(bytes: number): string {\n if (bytes < 1024) return `${bytes} B`;\n if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KB`;\n if (bytes < 1024 * 1024 * 1024) return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;\n return `${(bytes / (1024 * 1024 * 1024)).toFixed(1)} GB`;\n }\n}\n","/*\n * Public API Surface of wget\n */\n\nexport * from './lib/processors/cli-wget-command-processor';\nexport * from './lib/version';\n\nimport { ICliModule } from '@qodalis/cli-core';\nimport { CliWgetCommandCommandProcessor } from './lib/processors/cli-wget-command-processor';\nimport { API_VERSION } from './lib/version';\n\nexport const wgetModule: ICliModule = {\n apiVersion: API_VERSION,\n name: '@qodalis/cli-wget',\n processors: [new CliWgetCommandCommandProcessor()],\n translations: {\n es: { 'cli.wget.description': 'Descargar archivos desde cualquier URL HTTP/HTTPS' },\n fr: { 'cli.wget.description': 'Télécharger des fichiers depuis une URL HTTP/HTTPS' },\n de: { 'cli.wget.description': 'Dateien von beliebigen HTTP/HTTPS-URLs herunterladen' },\n pt: { 'cli.wget.description': 'Baixar arquivos de qualquer URL HTTP/HTTPS' },\n it: { 'cli.wget.description': 'Scaricare file da qualsiasi URL HTTP/HTTPS' },\n ja: { 'cli.wget.description': 'HTTP/HTTPS URLからファイルをダウンロード' },\n ko: { 'cli.wget.description': 'HTTP/HTTPS URL에서 파일 다운로드' },\n zh: { 'cli.wget.description': '从任意 HTTP/HTTPS URL 下载文件' },\n ru: { 'cli.wget.description': 'Скачивание файлов по HTTP/HTTPS' },\n ro: { 'cli.wget.description': 'Descarcă fișiere de la orice URL HTTP/HTTPS' },\n },\n};\n"]}
1
+ {"version":3,"sources":["../../packages/plugins/wget/src/lib/version.ts","../../packages/plugins/wget/src/lib/processors/cli-wget-command-processor.ts","../../packages/plugins/wget/src/public-api.ts"],"names":["DefaultLibraryAuthor","ICliFileTransferService_TOKEN","BrowserFileTransferService"],"mappings":";;;;;;;AAEO,IAAM,eAAA,GAAkB;AACxB,IAAM,WAAA,GAAc;;;ACSpB,IAAM,iCAAN,MAAqE;AAAA,EAArE,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,OAAA,GAAU,MAAA;AAEV,IAAA,IAAA,CAAA,WAAA,GAAc,wCAAA;AAEd,IAAA,IAAA,CAAA,MAAA,GAASA,4BAAA;AAET,IAAA,IAAA,CAAA,OAAA,GAAU,eAAA;AAEV,IAAA,IAAA,CAAA,eAAA,GAAkB,IAAA;AAElB,IAAA,IAAA,CAAA,aAAA,GAAgB,IAAA;AAEhB,IAAA,IAAA,CAAA,QAAA,GAAW;AAAA,MACP,IAAA,EAAM,QAAA;AAAA,MACN,MAAA,EAAQ;AAAA,KACZ;AAEA,IAAA,IAAA,CAAA,UAAA,GAA+C;AAAA,MAC3C;AAAA,QACI,IAAA,EAAM,QAAA;AAAA,QACN,OAAA,EAAS,CAAC,GAAG,CAAA;AAAA,QACb,IAAA,EAAM,QAAA;AAAA,QACN,WAAA,EAAa,6CAAA;AAAA,QACb,QAAA,EAAU;AAAA,OACd;AAAA,MACA;AAAA,QACI,IAAA,EAAM,QAAA;AAAA,QACN,OAAA,EAAS,CAAC,GAAG,CAAA;AAAA,QACb,IAAA,EAAM,OAAA;AAAA,QACN,WAAA,EAAa,sCAAA;AAAA,QACb,QAAA,EAAU;AAAA,OACd;AAAA,MACA;AAAA,QACI,IAAA,EAAM,aAAA;AAAA,QACN,IAAA,EAAM,SAAA;AAAA,QACN,WAAA,EAAa,uBAAA;AAAA,QACb,QAAA,EAAU;AAAA,OACd;AAAA,MACA;AAAA,QACI,IAAA,EAAM,MAAA;AAAA,QACN,IAAA,EAAM,SAAA;AAAA,QACN,WAAA,EAAa,yDAAA;AAAA,QACb,QAAA,EAAU;AAAA;AACd,KACJ;AAEA,IAAA,IAAA,CAAA,UAAA,GAAqC,EAAC;AAAA,EAAA;AAAA,EAEtC,MAAM,cAAA,CACF,OAAA,EACA,OAAA,EACa;AACb,IAAA,MAAM,GAAA,GAAM,OAAA,CAAQ,KAAA,EAAO,IAAA,EAAK;AAChC,IAAA,IAAI,CAAC,GAAA,EAAK;AACN,MAAA,OAAA,CAAQ,MAAA,CAAO,WAAW,0DAA0D,CAAA;AACpF,MAAA,OAAA,CAAQ,OAAA,CAAQ,KAAK,CAAC,CAAA;AACtB,MAAA;AAAA,IACJ;AAEA,IAAA,IAAI,SAAA;AACJ,IAAA,IAAI;AACA,MAAA,SAAA,GAAY,IAAI,IAAI,GAAG,CAAA;AAAA,IAC3B,CAAA,CAAA,MAAQ;AACJ,MAAA,OAAA,CAAQ,MAAA,CAAO,UAAA,CAAW,CAAA,aAAA,EAAgB,GAAG,CAAA,CAAE,CAAA;AAC/C,MAAA,OAAA,CAAQ,OAAA,CAAQ,KAAK,CAAC,CAAA;AACtB,MAAA;AAAA,IACJ;AAEA,IAAA,MAAM,UAAA,GAAa,OAAA,CAAQ,IAAA,CAAK,QAAQ,CAAA,IAAK,OAAA,CAAQ,IAAA,CAAK,GAAG,CAAA,IACtD,IAAA,CAAK,gBAAA,CAAiB,SAAS,CAAA;AAEtC,IAAA,MAAM,UAAkC,EAAC;AACzC,IAAA,MAAM,aAAa,OAAA,CAAQ,IAAA,CAAK,QAAQ,CAAA,IAAK,OAAA,CAAQ,KAAK,GAAG,CAAA;AAC7D,IAAA,IAAI,UAAA,EAAY;AACZ,MAAA,MAAM,aAAa,KAAA,CAAM,OAAA,CAAQ,UAAU,CAAA,GAAI,UAAA,GAAa,CAAC,UAAU,CAAA;AACvE,MAAA,KAAA,MAAW,KAAK,UAAA,EAAY;AACxB,QAAA,MAAM,QAAA,GAAW,CAAA,CAAE,OAAA,CAAQ,GAAG,CAAA;AAC9B,QAAA,IAAI,WAAW,CAAA,EAAG;AACd,UAAA,OAAA,CAAQ,CAAA,CAAE,KAAA,CAAM,CAAA,EAAG,QAAQ,CAAA,CAAE,IAAA,EAAM,CAAA,GAAI,CAAA,CAAE,KAAA,CAAM,QAAA,GAAW,CAAC,EAAE,IAAA,EAAK;AAAA,QACtE;AAAA,MACJ;AAAA,IACJ;AAEA,IAAA,MAAM,YAAA,GAAe,CAAC,OAAA,CAAQ,IAAA,CAAK,aAAa,CAAA;AAChD,IAAA,MAAM,aAAA,GAAgB,CAAC,CAAC,OAAA,CAAQ,KAAK,MAAM,CAAA;AAE3C,IAAA,MAAM,YAAA,GAAe,IAAA,CAAK,uBAAA,CAAwB,OAAO,CAAA;AAEzD,IAAA,MAAM,eAAA,GAAkB,IAAI,eAAA,EAAgB;AAC5C,IAAA,MAAM,WAAW,OAAA,CAAQ,OAAA,CAAQ,UAAU,MAAM,eAAA,CAAgB,OAAO,CAAA;AAExE,IAAA,IAAI;AACA,MAAA,IAAI,YAAA,EAAc;AACd,QAAA,OAAA,CAAQ,OAAA,EAAS,IAAA,CAAK,CAAA,cAAA,EAAiB,SAAA,CAAU,QAAQ,CAAA,GAAA,CAAK,CAAA;AAAA,MAClE;AAEA,MAAA,MAAM,QAAA,GAAW,MAAM,KAAA,CAAM,GAAA,EAAK;AAAA,QAC9B,OAAA;AAAA,QACA,QAAQ,eAAA,CAAgB;AAAA,OAC3B,CAAA;AAED,MAAA,IAAI,CAAC,SAAS,EAAA,EAAI;AACd,QAAA,OAAA,CAAQ,SAAS,IAAA,EAAK;AACtB,QAAA,OAAA,CAAQ,MAAA,CAAO,WAAW,CAAA,KAAA,EAAQ,QAAA,CAAS,MAAM,CAAA,EAAA,EAAK,QAAA,CAAS,UAAU,CAAA,CAAE,CAAA;AAC3E,QAAA,OAAA,CAAQ,OAAA,CAAQ,KAAK,CAAC,CAAA;AACtB,QAAA;AAAA,MACJ;AAEA,MAAA,MAAM,aAAA,GAAgB,SAAS,QAAA,CAAS,OAAA,CAAQ,IAAI,gBAAgB,CAAA,IAAK,KAAK,EAAE,CAAA;AAChF,MAAA,MAAM,WAAA,GAAc,QAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,cAAc,CAAA,IAAK,EAAA;AAE5D,MAAA,OAAA,CAAQ,SAAS,IAAA,EAAK;AAEtB,MAAA,IAAI,YAAA,IAAgB,gBAAgB,CAAA,EAAG;AACnC,QAAA,OAAA,CAAQ,WAAA,CAAY,IAAA,CAAK,CAAA,YAAA,EAAe,UAAU,CAAA,CAAE,CAAA;AAAA,MACxD,WAAW,YAAA,EAAc;AACrB,QAAA,OAAA,CAAQ,OAAA,EAAS,IAAA,CAAK,CAAA,YAAA,EAAe,UAAU,CAAA,GAAA,CAAK,CAAA;AAAA,MACxD;AAEA,MAAA,MAAM,MAAA,GAAS,QAAA,CAAS,IAAA,EAAM,SAAA,EAAU;AACxC,MAAA,IAAI,CAAC,MAAA,EAAQ;AACT,QAAA,MAAM,IAAA,GAAO,MAAM,QAAA,CAAS,IAAA,EAAK;AACjC,QAAA,IAAI,aAAA,EAAe;AACf,UAAA,YAAA,CAAa,iBAAA,CAAkB,YAAY,IAAI,CAAA;AAAA,QACnD,CAAA,MAAO;AACH,UAAA,MAAM,YAAA,CAAa,SAAA,CAAU,UAAA,EAAY,IAAI,CAAA;AAAA,QACjD;AACA,QAAA,OAAA,CAAQ,SAAS,IAAA,EAAK;AACtB,QAAA,OAAA,CAAQ,MAAA,CAAO,YAAA,CAAa,CAAA,OAAA,EAAU,UAAU,CAAA,CAAE,CAAA;AAClD,QAAA;AAAA,MACJ;AAEA,MAAA,MAAM,SAAuB,EAAC;AAC9B,MAAA,IAAI,aAAA,GAAgB,CAAA;AAEpB,MAAA,OAAO,IAAA,EAAM;AACT,QAAA,MAAM,EAAE,IAAA,EAAM,KAAA,EAAM,GAAI,MAAM,OAAO,IAAA,EAAK;AAC1C,QAAA,IAAI,IAAA,EAAM;AAEV,QAAA,MAAA,CAAO,KAAK,KAAK,CAAA;AACjB,QAAA,aAAA,IAAiB,KAAA,CAAM,MAAA;AAEvB,QAAA,IAAI,YAAA,IAAgB,gBAAgB,CAAA,EAAG;AACnC,UAAA,MAAM,WAAW,aAAA,GAAgB,aAAA;AACjC,UAAA,OAAA,CAAQ,WAAA,CAAY,OAAO,QAAQ,CAAA;AACnC,UAAA,OAAA,CAAQ,WAAA,CAAY,OAAA;AAAA,YAChB,CAAA,EAAG,UAAU,CAAA,EAAA,EAAK,IAAA,CAAK,YAAA,CAAa,aAAa,CAAC,CAAA,CAAA,EAAI,IAAA,CAAK,YAAA,CAAa,aAAa,CAAC,CAAA,CAAA;AAAA,WAC1F;AAAA,QACJ,WAAW,YAAA,EAAc;AACrB,UAAA,OAAA,CAAQ,OAAA,EAAS,QAAQ,CAAA,YAAA,EAAe,UAAU,OAAO,IAAA,CAAK,YAAA,CAAa,aAAa,CAAC,CAAA,CAAE,CAAA;AAAA,QAC/F;AAAA,MACJ;AAEA,MAAA,MAAM,QAAA,GAAW,IAAI,UAAA,CAAW,aAAa,CAAA;AAC7C,MAAA,IAAI,MAAA,GAAS,CAAA;AACb,MAAA,KAAA,MAAW,SAAS,MAAA,EAAQ;AACxB,QAAA,QAAA,CAAS,GAAA,CAAI,OAAO,MAAM,CAAA;AAC1B,QAAA,MAAA,IAAU,KAAA,CAAM,MAAA;AAAA,MACpB;AAEA,MAAA,IAAI,YAAA,IAAgB,gBAAgB,CAAA,EAAG;AACnC,QAAA,OAAA,CAAQ,YAAY,QAAA,EAAS;AAC7B,QAAA,OAAA,CAAQ,YAAY,IAAA,EAAK;AAAA,MAC7B,CAAA,MAAO;AACH,QAAA,OAAA,CAAQ,SAAS,IAAA,EAAK;AAAA,MAC1B;AAEA,MAAA,MAAM,MAAA,GAAS,WAAA,CAAY,QAAA,CAAS,MAAM,CAAA,IAAK,WAAA,CAAY,QAAA,CAAS,MAAM,CAAA,IAAK,WAAA,CAAY,QAAA,CAAS,KAAK,CAAA;AAEzG,MAAA,IAAI,aAAA,EAAe;AACf,QAAA,MAAM,IAAA,GAAO,IAAI,IAAA,CAAK,CAAC,QAAQ,CAAC,CAAA;AAChC,QAAA,YAAA,CAAa,iBAAA,CAAkB,YAAY,IAAI,CAAA;AAAA,MACnD,WAAW,MAAA,EAAQ;AACf,QAAA,MAAM,IAAA,GAAO,IAAI,WAAA,EAAY,CAAE,OAAO,QAAQ,CAAA;AAC9C,QAAA,MAAM,YAAA,CAAa,SAAA,CAAU,UAAA,EAAY,IAAI,CAAA;AAAA,MACjD,CAAA,MAAO;AAEH,QAAA,MAAM,MAAA,GAAS,IAAA,CAAK,mBAAA,CAAoB,QAAQ,CAAA;AAChD,QAAA,MAAM,OAAA,GAAU,CAAA,KAAA,EAAQ,WAAA,IAAe,0BAA0B,WAAW,MAAM,CAAA,CAAA;AAClF,QAAA,MAAM,YAAA,CAAa,SAAA,CAAU,UAAA,EAAY,OAAO,CAAA;AAAA,MACpD;AAEA,MAAA,OAAA,CAAQ,MAAA,CAAO,aAAa,CAAA,YAAA,EAAe,UAAU,KAAK,IAAA,CAAK,YAAA,CAAa,aAAa,CAAC,CAAA,CAAA,CAAG,CAAA;AAAA,IACjG,SAAS,GAAA,EAAU;AACf,MAAA,OAAA,CAAQ,SAAS,IAAA,EAAK;AACtB,MAAA,OAAA,CAAQ,YAAY,IAAA,EAAK;AAEzB,MAAA,IAAI,GAAA,CAAI,SAAS,YAAA,EAAc;AAC3B,QAAA,OAAA,CAAQ,MAAA,CAAO,aAAa,qBAAqB,CAAA;AAAA,MACrD,CAAA,MAAO;AACH,QAAA,OAAA,CAAQ,MAAA,CAAO,UAAA,CAAW,CAAA,iBAAA,EAAoB,GAAA,CAAI,OAAO,CAAA,CAAE,CAAA;AAAA,MAC/D;AACA,MAAA,OAAA,CAAQ,OAAA,CAAQ,KAAK,CAAC,CAAA;AAAA,IAC1B,CAAA,SAAE;AACE,MAAA,QAAA,CAAS,WAAA,EAAY;AAAA,IACzB;AAAA,EACJ;AAAA,EAEA,iBAAiB,OAAA,EAAqC;AAClD,IAAA,OAAA,CAAQ,MAAA,CAAO,OAAA,CAAQ,IAAA,CAAK,WAAY,CAAA;AAAA,EAC5C;AAAA,EAEQ,wBAAwB,OAAA,EAAwD;AACpF,IAAA,IAAI;AACA,MAAA,OAAO,OAAA,CAAQ,QAAA,CAAS,GAAA,CAA6BC,qCAA6B,CAAA;AAAA,IACtF,CAAA,CAAA,MAAQ;AACJ,MAAA,OAAO,IAAIC,kCAAA,EAA2B;AAAA,IAC1C;AAAA,EACJ;AAAA,EAEQ,iBAAiB,GAAA,EAAkB;AACvC,IAAA,MAAM,WAAW,GAAA,CAAI,QAAA;AACrB,IAAA,MAAM,WAAW,QAAA,CAAS,KAAA,CAAM,GAAG,CAAA,CAAE,OAAO,OAAO,CAAA;AACnD,IAAA,OAAO,SAAS,MAAA,GAAS,CAAA,GAAI,SAAS,QAAA,CAAS,MAAA,GAAS,CAAC,CAAA,GAAI,UAAA;AAAA,EACjE;AAAA,EAEQ,oBAAoB,KAAA,EAA2B;AACnD,IAAA,IAAI,MAAA,GAAS,EAAA;AACb,IAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,KAAA,CAAM,QAAQ,CAAA,EAAA,EAAK;AACnC,MAAA,MAAA,IAAU,MAAA,CAAO,YAAA,CAAa,KAAA,CAAM,CAAC,CAAC,CAAA;AAAA,IAC1C;AACA,IAAA,OAAO,KAAK,MAAM,CAAA;AAAA,EACtB;AAAA,EAEQ,aAAa,KAAA,EAAuB;AACxC,IAAA,IAAI,KAAA,GAAQ,IAAA,EAAM,OAAO,CAAA,EAAG,KAAK,CAAA,EAAA,CAAA;AACjC,IAAA,IAAI,KAAA,GAAQ,OAAO,IAAA,EAAM,OAAO,IAAI,KAAA,GAAQ,IAAA,EAAM,OAAA,CAAQ,CAAC,CAAC,CAAA,GAAA,CAAA;AAC5D,IAAA,IAAI,KAAA,GAAQ,IAAA,GAAO,IAAA,GAAO,IAAA,EAAM,OAAO,CAAA,EAAA,CAAI,KAAA,IAAS,IAAA,GAAO,IAAA,CAAA,EAAO,OAAA,CAAQ,CAAC,CAAC,CAAA,GAAA,CAAA;AAC5E,IAAA,OAAO,IAAI,KAAA,IAAS,IAAA,GAAO,OAAO,IAAA,CAAA,EAAO,OAAA,CAAQ,CAAC,CAAC,CAAA,GAAA,CAAA;AAAA,EACvD;AACJ;;;ACxOO,IAAM,UAAA,GAAyB;AAAA,EAClC,UAAA,EAAY,WAAA;AAAA,EACZ,IAAA,EAAM,mBAAA;AAAA,EACN,UAAA,EAAY,CAAC,IAAI,8BAAA,EAAgC,CAAA;AAAA,EACjD,YAAA,EAAc;AAAA,IACV,EAAA,EAAI,EAAE,sBAAA,EAAwB,mDAAA,EAAoD;AAAA,IAClF,EAAA,EAAI,EAAE,sBAAA,EAAwB,0DAAA,EAAqD;AAAA,IACnF,EAAA,EAAI,EAAE,sBAAA,EAAwB,sDAAA,EAAuD;AAAA,IACrF,EAAA,EAAI,EAAE,sBAAA,EAAwB,4CAAA,EAA6C;AAAA,IAC3E,EAAA,EAAI,EAAE,sBAAA,EAAwB,4CAAA,EAA6C;AAAA,IAC3E,EAAA,EAAI,EAAE,sBAAA,EAAwB,8FAAA,EAA8B;AAAA,IAC5D,EAAA,EAAI,EAAE,sBAAA,EAAwB,kEAAA,EAA2B;AAAA,IACzD,EAAA,EAAI,EAAE,sBAAA,EAAwB,4DAAA,EAA0B;AAAA,IACxD,EAAA,EAAI,EAAE,sBAAA,EAAwB,2HAAA,EAAkC;AAAA,IAChE,EAAA,EAAI,EAAE,sBAAA,EAAwB,uDAAA;AAA8C;AAEpF","file":"public-api.js","sourcesContent":["\n// Automatically generated during build\nexport const LIBRARY_VERSION = '2.0.0-beta.11';\nexport const API_VERSION = 2;\n ","import {\n CliProcessCommand,\n DefaultLibraryAuthor,\n ICliCommandProcessor,\n ICliCommandParameterDescriptor,\n ICliExecutionContext,\n ICliFileTransferService,\n ICliFileTransferService_TOKEN,\n BrowserFileTransferService,\n} from '@qodalis/cli-core';\nimport { LIBRARY_VERSION } from '../version';\n\nexport class CliWgetCommandCommandProcessor implements ICliCommandProcessor {\n command = 'wget';\n\n description = 'Download files from any HTTP/HTTPS URL';\n\n author = DefaultLibraryAuthor;\n\n version = LIBRARY_VERSION;\n\n acceptsRawInput = true;\n\n valueRequired = true;\n\n metadata = {\n icon: '⬇',\n module: 'file management',\n };\n\n parameters: ICliCommandParameterDescriptor[] = [\n {\n name: 'output',\n aliases: ['o'],\n type: 'string',\n description: 'Output filename (default: derived from URL)',\n required: false,\n },\n {\n name: 'header',\n aliases: ['H'],\n type: 'array',\n description: 'Custom HTTP header (can be repeated)',\n required: false,\n },\n {\n name: 'no-progress',\n type: 'boolean',\n description: 'Suppress progress bar',\n required: false,\n },\n {\n name: 'save',\n type: 'boolean',\n description: 'Save to browser downloads instead of virtual filesystem',\n required: false,\n },\n ];\n\n processors: ICliCommandProcessor[] = [];\n\n async processCommand(\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ): Promise<void> {\n const url = command.value?.trim();\n if (!url) {\n context.writer.writeError('Usage: wget <url> [-o filename] [--header \"Name: Value\"]');\n context.process.exit(1);\n return;\n }\n\n let parsedUrl: URL;\n try {\n parsedUrl = new URL(url);\n } catch {\n context.writer.writeError(`Invalid URL: ${url}`);\n context.process.exit(1);\n return;\n }\n\n const outputName = command.args['output'] || command.args['o']\n || this._filenameFromUrl(parsedUrl);\n\n const headers: Record<string, string> = {};\n const rawHeaders = command.args['header'] || command.args['H'];\n if (rawHeaders) {\n const headerList = Array.isArray(rawHeaders) ? rawHeaders : [rawHeaders];\n for (const h of headerList) {\n const colonIdx = h.indexOf(':');\n if (colonIdx > 0) {\n headers[h.slice(0, colonIdx).trim()] = h.slice(colonIdx + 1).trim();\n }\n }\n }\n\n const showProgress = !command.args['no-progress'];\n const saveToBrowser = !!command.args['save'];\n\n const fileTransfer = this._getFileTransferService(context);\n\n const abortController = new AbortController();\n const abortSub = context.onAbort.subscribe(() => abortController.abort());\n\n try {\n if (showProgress) {\n context.spinner?.show(`Connecting to ${parsedUrl.hostname}...`);\n }\n\n const response = await fetch(url, {\n headers,\n signal: abortController.signal,\n });\n\n if (!response.ok) {\n context.spinner?.hide();\n context.writer.writeError(`HTTP ${response.status}: ${response.statusText}`);\n context.process.exit(1);\n return;\n }\n\n const contentLength = parseInt(response.headers.get('content-length') || '0', 10);\n const contentType = response.headers.get('content-type') || '';\n\n context.spinner?.hide();\n\n if (showProgress && contentLength > 0) {\n context.progressBar.show(`Downloading ${outputName}`);\n } else if (showProgress) {\n context.spinner?.show(`Downloading ${outputName}...`);\n }\n\n const reader = response.body?.getReader();\n if (!reader) {\n const text = await response.text();\n if (saveToBrowser) {\n fileTransfer.downloadToBrowser(outputName, text);\n } else {\n await fileTransfer.writeFile(outputName, text);\n }\n context.spinner?.hide();\n context.writer.writeSuccess(`Saved: ${outputName}`);\n return;\n }\n\n const chunks: Uint8Array[] = [];\n let receivedBytes = 0;\n\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n\n chunks.push(value);\n receivedBytes += value.length;\n\n if (showProgress && contentLength > 0) {\n const progress = receivedBytes / contentLength;\n context.progressBar.update(progress);\n context.progressBar.setText(\n `${outputName} (${this._formatBytes(receivedBytes)}/${this._formatBytes(contentLength)})`,\n );\n } else if (showProgress) {\n context.spinner?.setText(`Downloading ${outputName}... ${this._formatBytes(receivedBytes)}`);\n }\n }\n\n const combined = new Uint8Array(receivedBytes);\n let offset = 0;\n for (const chunk of chunks) {\n combined.set(chunk, offset);\n offset += chunk.length;\n }\n\n if (showProgress && contentLength > 0) {\n context.progressBar.complete();\n context.progressBar.hide();\n } else {\n context.spinner?.hide();\n }\n\n const isText = contentType.includes('text') || contentType.includes('json') || contentType.includes('xml');\n\n if (saveToBrowser) {\n const blob = new Blob([combined]);\n fileTransfer.downloadToBrowser(outputName, blob);\n } else if (isText) {\n const text = new TextDecoder().decode(combined);\n await fileTransfer.writeFile(outputName, text);\n } else {\n // Binary file — encode as base64 and save to virtual filesystem\n const base64 = this._uint8ArrayToBase64(combined);\n const dataUri = `data:${contentType || 'application/octet-stream'};base64,${base64}`;\n await fileTransfer.writeFile(outputName, dataUri);\n }\n\n context.writer.writeSuccess(`Downloaded: ${outputName} (${this._formatBytes(receivedBytes)})`);\n } catch (err: any) {\n context.spinner?.hide();\n context.progressBar.hide();\n\n if (err.name === 'AbortError') {\n context.writer.writeWarning('Download cancelled.');\n } else {\n context.writer.writeError(`Download failed: ${err.message}`);\n }\n context.process.exit(1);\n } finally {\n abortSub.unsubscribe();\n }\n }\n\n writeDescription(context: ICliExecutionContext): void {\n context.writer.writeln(this.description!);\n }\n\n private _getFileTransferService(context: ICliExecutionContext): ICliFileTransferService {\n try {\n return context.services.get<ICliFileTransferService>(ICliFileTransferService_TOKEN);\n } catch {\n return new BrowserFileTransferService();\n }\n }\n\n private _filenameFromUrl(url: URL): string {\n const pathname = url.pathname;\n const segments = pathname.split('/').filter(Boolean);\n return segments.length > 0 ? segments[segments.length - 1] : 'download';\n }\n\n private _uint8ArrayToBase64(bytes: Uint8Array): string {\n let binary = '';\n for (let i = 0; i < bytes.length; i++) {\n binary += String.fromCharCode(bytes[i]);\n }\n return btoa(binary);\n }\n\n private _formatBytes(bytes: number): string {\n if (bytes < 1024) return `${bytes} B`;\n if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KB`;\n if (bytes < 1024 * 1024 * 1024) return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;\n return `${(bytes / (1024 * 1024 * 1024)).toFixed(1)} GB`;\n }\n}\n","/*\n * Public API Surface of wget\n */\n\nexport * from './lib/processors/cli-wget-command-processor';\nexport * from './lib/version';\n\nimport { ICliModule } from '@qodalis/cli-core';\nimport { CliWgetCommandCommandProcessor } from './lib/processors/cli-wget-command-processor';\nimport { API_VERSION } from './lib/version';\n\nexport const wgetModule: ICliModule = {\n apiVersion: API_VERSION,\n name: '@qodalis/cli-wget',\n processors: [new CliWgetCommandCommandProcessor()],\n translations: {\n es: { 'cli.wget.description': 'Descargar archivos desde cualquier URL HTTP/HTTPS' },\n fr: { 'cli.wget.description': 'Télécharger des fichiers depuis une URL HTTP/HTTPS' },\n de: { 'cli.wget.description': 'Dateien von beliebigen HTTP/HTTPS-URLs herunterladen' },\n pt: { 'cli.wget.description': 'Baixar arquivos de qualquer URL HTTP/HTTPS' },\n it: { 'cli.wget.description': 'Scaricare file da qualsiasi URL HTTP/HTTPS' },\n ja: { 'cli.wget.description': 'HTTP/HTTPS URLからファイルをダウンロード' },\n ko: { 'cli.wget.description': 'HTTP/HTTPS URL에서 파일 다운로드' },\n zh: { 'cli.wget.description': '从任意 HTTP/HTTPS URL 下载文件' },\n ru: { 'cli.wget.description': 'Скачивание файлов по HTTP/HTTPS' },\n ro: { 'cli.wget.description': 'Descarcă fișiere de la orice URL HTTP/HTTPS' },\n },\n};\n"]}
package/public-api.mjs CHANGED
@@ -3,7 +3,7 @@ import { DefaultLibraryAuthor, ICliFileTransferService_TOKEN, BrowserFileTransfe
3
3
  // src/lib/processors/cli-wget-command-processor.ts
4
4
 
5
5
  // src/lib/version.ts
6
- var LIBRARY_VERSION = "2.0.0-beta.1";
6
+ var LIBRARY_VERSION = "2.0.0-beta.11";
7
7
  var API_VERSION = 2;
8
8
 
9
9
  // src/lib/processors/cli-wget-command-processor.ts
@@ -16,7 +16,8 @@ var CliWgetCommandCommandProcessor = class {
16
16
  this.acceptsRawInput = true;
17
17
  this.valueRequired = true;
18
18
  this.metadata = {
19
- icon: "\u2B07"
19
+ icon: "\u2B07",
20
+ module: "file management"
20
21
  };
21
22
  this.parameters = [
22
23
  {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../packages/plugins/wget/src/lib/version.ts","../../packages/plugins/wget/src/lib/processors/cli-wget-command-processor.ts","../../packages/plugins/wget/src/public-api.ts"],"names":[],"mappings":"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","file":"public-api.mjs","sourcesContent":["\n// Automatically generated during build\nexport const LIBRARY_VERSION = '2.0.0-beta.1';\nexport const API_VERSION = 2;\n ","import {\n CliProcessCommand,\n DefaultLibraryAuthor,\n ICliCommandProcessor,\n ICliCommandParameterDescriptor,\n ICliExecutionContext,\n ICliFileTransferService,\n ICliFileTransferService_TOKEN,\n BrowserFileTransferService,\n} from '@qodalis/cli-core';\nimport { LIBRARY_VERSION } from '../version';\n\nexport class CliWgetCommandCommandProcessor implements ICliCommandProcessor {\n command = 'wget';\n\n description = 'Download files from any HTTP/HTTPS URL';\n\n author = DefaultLibraryAuthor;\n\n version = LIBRARY_VERSION;\n\n acceptsRawInput = true;\n\n valueRequired = true;\n\n metadata = {\n icon: '⬇',\n };\n\n parameters: ICliCommandParameterDescriptor[] = [\n {\n name: 'output',\n aliases: ['o'],\n type: 'string',\n description: 'Output filename (default: derived from URL)',\n required: false,\n },\n {\n name: 'header',\n aliases: ['H'],\n type: 'array',\n description: 'Custom HTTP header (can be repeated)',\n required: false,\n },\n {\n name: 'no-progress',\n type: 'boolean',\n description: 'Suppress progress bar',\n required: false,\n },\n {\n name: 'save',\n type: 'boolean',\n description: 'Save to browser downloads instead of virtual filesystem',\n required: false,\n },\n ];\n\n processors: ICliCommandProcessor[] = [];\n\n async processCommand(\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ): Promise<void> {\n const url = command.value?.trim();\n if (!url) {\n context.writer.writeError('Usage: wget <url> [-o filename] [--header \"Name: Value\"]');\n context.process.exit(1);\n return;\n }\n\n let parsedUrl: URL;\n try {\n parsedUrl = new URL(url);\n } catch {\n context.writer.writeError(`Invalid URL: ${url}`);\n context.process.exit(1);\n return;\n }\n\n const outputName = command.args['output'] || command.args['o']\n || this._filenameFromUrl(parsedUrl);\n\n const headers: Record<string, string> = {};\n const rawHeaders = command.args['header'] || command.args['H'];\n if (rawHeaders) {\n const headerList = Array.isArray(rawHeaders) ? rawHeaders : [rawHeaders];\n for (const h of headerList) {\n const colonIdx = h.indexOf(':');\n if (colonIdx > 0) {\n headers[h.slice(0, colonIdx).trim()] = h.slice(colonIdx + 1).trim();\n }\n }\n }\n\n const showProgress = !command.args['no-progress'];\n const saveToBrowser = !!command.args['save'];\n\n const fileTransfer = this._getFileTransferService(context);\n\n const abortController = new AbortController();\n const abortSub = context.onAbort.subscribe(() => abortController.abort());\n\n try {\n if (showProgress) {\n context.spinner?.show(`Connecting to ${parsedUrl.hostname}...`);\n }\n\n const response = await fetch(url, {\n headers,\n signal: abortController.signal,\n });\n\n if (!response.ok) {\n context.spinner?.hide();\n context.writer.writeError(`HTTP ${response.status}: ${response.statusText}`);\n context.process.exit(1);\n return;\n }\n\n const contentLength = parseInt(response.headers.get('content-length') || '0', 10);\n const contentType = response.headers.get('content-type') || '';\n\n context.spinner?.hide();\n\n if (showProgress && contentLength > 0) {\n context.progressBar.show(`Downloading ${outputName}`);\n } else if (showProgress) {\n context.spinner?.show(`Downloading ${outputName}...`);\n }\n\n const reader = response.body?.getReader();\n if (!reader) {\n const text = await response.text();\n if (saveToBrowser) {\n fileTransfer.downloadToBrowser(outputName, text);\n } else {\n await fileTransfer.writeFile(outputName, text);\n }\n context.spinner?.hide();\n context.writer.writeSuccess(`Saved: ${outputName}`);\n return;\n }\n\n const chunks: Uint8Array[] = [];\n let receivedBytes = 0;\n\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n\n chunks.push(value);\n receivedBytes += value.length;\n\n if (showProgress && contentLength > 0) {\n const progress = receivedBytes / contentLength;\n context.progressBar.update(progress);\n context.progressBar.setText(\n `${outputName} (${this._formatBytes(receivedBytes)}/${this._formatBytes(contentLength)})`,\n );\n } else if (showProgress) {\n context.spinner?.setText(`Downloading ${outputName}... ${this._formatBytes(receivedBytes)}`);\n }\n }\n\n const combined = new Uint8Array(receivedBytes);\n let offset = 0;\n for (const chunk of chunks) {\n combined.set(chunk, offset);\n offset += chunk.length;\n }\n\n if (showProgress && contentLength > 0) {\n context.progressBar.complete();\n context.progressBar.hide();\n } else {\n context.spinner?.hide();\n }\n\n const isText = contentType.includes('text') || contentType.includes('json') || contentType.includes('xml');\n\n if (saveToBrowser) {\n const blob = new Blob([combined]);\n fileTransfer.downloadToBrowser(outputName, blob);\n } else if (isText) {\n const text = new TextDecoder().decode(combined);\n await fileTransfer.writeFile(outputName, text);\n } else {\n // Binary file — encode as base64 and save to virtual filesystem\n const base64 = this._uint8ArrayToBase64(combined);\n const dataUri = `data:${contentType || 'application/octet-stream'};base64,${base64}`;\n await fileTransfer.writeFile(outputName, dataUri);\n }\n\n context.writer.writeSuccess(`Downloaded: ${outputName} (${this._formatBytes(receivedBytes)})`);\n } catch (err: any) {\n context.spinner?.hide();\n context.progressBar.hide();\n\n if (err.name === 'AbortError') {\n context.writer.writeWarning('Download cancelled.');\n } else {\n context.writer.writeError(`Download failed: ${err.message}`);\n }\n context.process.exit(1);\n } finally {\n abortSub.unsubscribe();\n }\n }\n\n writeDescription(context: ICliExecutionContext): void {\n context.writer.writeln(this.description!);\n }\n\n private _getFileTransferService(context: ICliExecutionContext): ICliFileTransferService {\n try {\n return context.services.get<ICliFileTransferService>(ICliFileTransferService_TOKEN);\n } catch {\n return new BrowserFileTransferService();\n }\n }\n\n private _filenameFromUrl(url: URL): string {\n const pathname = url.pathname;\n const segments = pathname.split('/').filter(Boolean);\n return segments.length > 0 ? segments[segments.length - 1] : 'download';\n }\n\n private _uint8ArrayToBase64(bytes: Uint8Array): string {\n let binary = '';\n for (let i = 0; i < bytes.length; i++) {\n binary += String.fromCharCode(bytes[i]);\n }\n return btoa(binary);\n }\n\n private _formatBytes(bytes: number): string {\n if (bytes < 1024) return `${bytes} B`;\n if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KB`;\n if (bytes < 1024 * 1024 * 1024) return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;\n return `${(bytes / (1024 * 1024 * 1024)).toFixed(1)} GB`;\n }\n}\n","/*\n * Public API Surface of wget\n */\n\nexport * from './lib/processors/cli-wget-command-processor';\nexport * from './lib/version';\n\nimport { ICliModule } from '@qodalis/cli-core';\nimport { CliWgetCommandCommandProcessor } from './lib/processors/cli-wget-command-processor';\nimport { API_VERSION } from './lib/version';\n\nexport const wgetModule: ICliModule = {\n apiVersion: API_VERSION,\n name: '@qodalis/cli-wget',\n processors: [new CliWgetCommandCommandProcessor()],\n translations: {\n es: { 'cli.wget.description': 'Descargar archivos desde cualquier URL HTTP/HTTPS' },\n fr: { 'cli.wget.description': 'Télécharger des fichiers depuis une URL HTTP/HTTPS' },\n de: { 'cli.wget.description': 'Dateien von beliebigen HTTP/HTTPS-URLs herunterladen' },\n pt: { 'cli.wget.description': 'Baixar arquivos de qualquer URL HTTP/HTTPS' },\n it: { 'cli.wget.description': 'Scaricare file da qualsiasi URL HTTP/HTTPS' },\n ja: { 'cli.wget.description': 'HTTP/HTTPS URLからファイルをダウンロード' },\n ko: { 'cli.wget.description': 'HTTP/HTTPS URL에서 파일 다운로드' },\n zh: { 'cli.wget.description': '从任意 HTTP/HTTPS URL 下载文件' },\n ru: { 'cli.wget.description': 'Скачивание файлов по HTTP/HTTPS' },\n ro: { 'cli.wget.description': 'Descarcă fișiere de la orice URL HTTP/HTTPS' },\n },\n};\n"]}
1
+ {"version":3,"sources":["../../packages/plugins/wget/src/lib/version.ts","../../packages/plugins/wget/src/lib/processors/cli-wget-command-processor.ts","../../packages/plugins/wget/src/public-api.ts"],"names":[],"mappings":"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","file":"public-api.mjs","sourcesContent":["\n// Automatically generated during build\nexport const LIBRARY_VERSION = '2.0.0-beta.11';\nexport const API_VERSION = 2;\n ","import {\n CliProcessCommand,\n DefaultLibraryAuthor,\n ICliCommandProcessor,\n ICliCommandParameterDescriptor,\n ICliExecutionContext,\n ICliFileTransferService,\n ICliFileTransferService_TOKEN,\n BrowserFileTransferService,\n} from '@qodalis/cli-core';\nimport { LIBRARY_VERSION } from '../version';\n\nexport class CliWgetCommandCommandProcessor implements ICliCommandProcessor {\n command = 'wget';\n\n description = 'Download files from any HTTP/HTTPS URL';\n\n author = DefaultLibraryAuthor;\n\n version = LIBRARY_VERSION;\n\n acceptsRawInput = true;\n\n valueRequired = true;\n\n metadata = {\n icon: '⬇',\n module: 'file management',\n };\n\n parameters: ICliCommandParameterDescriptor[] = [\n {\n name: 'output',\n aliases: ['o'],\n type: 'string',\n description: 'Output filename (default: derived from URL)',\n required: false,\n },\n {\n name: 'header',\n aliases: ['H'],\n type: 'array',\n description: 'Custom HTTP header (can be repeated)',\n required: false,\n },\n {\n name: 'no-progress',\n type: 'boolean',\n description: 'Suppress progress bar',\n required: false,\n },\n {\n name: 'save',\n type: 'boolean',\n description: 'Save to browser downloads instead of virtual filesystem',\n required: false,\n },\n ];\n\n processors: ICliCommandProcessor[] = [];\n\n async processCommand(\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ): Promise<void> {\n const url = command.value?.trim();\n if (!url) {\n context.writer.writeError('Usage: wget <url> [-o filename] [--header \"Name: Value\"]');\n context.process.exit(1);\n return;\n }\n\n let parsedUrl: URL;\n try {\n parsedUrl = new URL(url);\n } catch {\n context.writer.writeError(`Invalid URL: ${url}`);\n context.process.exit(1);\n return;\n }\n\n const outputName = command.args['output'] || command.args['o']\n || this._filenameFromUrl(parsedUrl);\n\n const headers: Record<string, string> = {};\n const rawHeaders = command.args['header'] || command.args['H'];\n if (rawHeaders) {\n const headerList = Array.isArray(rawHeaders) ? rawHeaders : [rawHeaders];\n for (const h of headerList) {\n const colonIdx = h.indexOf(':');\n if (colonIdx > 0) {\n headers[h.slice(0, colonIdx).trim()] = h.slice(colonIdx + 1).trim();\n }\n }\n }\n\n const showProgress = !command.args['no-progress'];\n const saveToBrowser = !!command.args['save'];\n\n const fileTransfer = this._getFileTransferService(context);\n\n const abortController = new AbortController();\n const abortSub = context.onAbort.subscribe(() => abortController.abort());\n\n try {\n if (showProgress) {\n context.spinner?.show(`Connecting to ${parsedUrl.hostname}...`);\n }\n\n const response = await fetch(url, {\n headers,\n signal: abortController.signal,\n });\n\n if (!response.ok) {\n context.spinner?.hide();\n context.writer.writeError(`HTTP ${response.status}: ${response.statusText}`);\n context.process.exit(1);\n return;\n }\n\n const contentLength = parseInt(response.headers.get('content-length') || '0', 10);\n const contentType = response.headers.get('content-type') || '';\n\n context.spinner?.hide();\n\n if (showProgress && contentLength > 0) {\n context.progressBar.show(`Downloading ${outputName}`);\n } else if (showProgress) {\n context.spinner?.show(`Downloading ${outputName}...`);\n }\n\n const reader = response.body?.getReader();\n if (!reader) {\n const text = await response.text();\n if (saveToBrowser) {\n fileTransfer.downloadToBrowser(outputName, text);\n } else {\n await fileTransfer.writeFile(outputName, text);\n }\n context.spinner?.hide();\n context.writer.writeSuccess(`Saved: ${outputName}`);\n return;\n }\n\n const chunks: Uint8Array[] = [];\n let receivedBytes = 0;\n\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n\n chunks.push(value);\n receivedBytes += value.length;\n\n if (showProgress && contentLength > 0) {\n const progress = receivedBytes / contentLength;\n context.progressBar.update(progress);\n context.progressBar.setText(\n `${outputName} (${this._formatBytes(receivedBytes)}/${this._formatBytes(contentLength)})`,\n );\n } else if (showProgress) {\n context.spinner?.setText(`Downloading ${outputName}... ${this._formatBytes(receivedBytes)}`);\n }\n }\n\n const combined = new Uint8Array(receivedBytes);\n let offset = 0;\n for (const chunk of chunks) {\n combined.set(chunk, offset);\n offset += chunk.length;\n }\n\n if (showProgress && contentLength > 0) {\n context.progressBar.complete();\n context.progressBar.hide();\n } else {\n context.spinner?.hide();\n }\n\n const isText = contentType.includes('text') || contentType.includes('json') || contentType.includes('xml');\n\n if (saveToBrowser) {\n const blob = new Blob([combined]);\n fileTransfer.downloadToBrowser(outputName, blob);\n } else if (isText) {\n const text = new TextDecoder().decode(combined);\n await fileTransfer.writeFile(outputName, text);\n } else {\n // Binary file — encode as base64 and save to virtual filesystem\n const base64 = this._uint8ArrayToBase64(combined);\n const dataUri = `data:${contentType || 'application/octet-stream'};base64,${base64}`;\n await fileTransfer.writeFile(outputName, dataUri);\n }\n\n context.writer.writeSuccess(`Downloaded: ${outputName} (${this._formatBytes(receivedBytes)})`);\n } catch (err: any) {\n context.spinner?.hide();\n context.progressBar.hide();\n\n if (err.name === 'AbortError') {\n context.writer.writeWarning('Download cancelled.');\n } else {\n context.writer.writeError(`Download failed: ${err.message}`);\n }\n context.process.exit(1);\n } finally {\n abortSub.unsubscribe();\n }\n }\n\n writeDescription(context: ICliExecutionContext): void {\n context.writer.writeln(this.description!);\n }\n\n private _getFileTransferService(context: ICliExecutionContext): ICliFileTransferService {\n try {\n return context.services.get<ICliFileTransferService>(ICliFileTransferService_TOKEN);\n } catch {\n return new BrowserFileTransferService();\n }\n }\n\n private _filenameFromUrl(url: URL): string {\n const pathname = url.pathname;\n const segments = pathname.split('/').filter(Boolean);\n return segments.length > 0 ? segments[segments.length - 1] : 'download';\n }\n\n private _uint8ArrayToBase64(bytes: Uint8Array): string {\n let binary = '';\n for (let i = 0; i < bytes.length; i++) {\n binary += String.fromCharCode(bytes[i]);\n }\n return btoa(binary);\n }\n\n private _formatBytes(bytes: number): string {\n if (bytes < 1024) return `${bytes} B`;\n if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KB`;\n if (bytes < 1024 * 1024 * 1024) return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;\n return `${(bytes / (1024 * 1024 * 1024)).toFixed(1)} GB`;\n }\n}\n","/*\n * Public API Surface of wget\n */\n\nexport * from './lib/processors/cli-wget-command-processor';\nexport * from './lib/version';\n\nimport { ICliModule } from '@qodalis/cli-core';\nimport { CliWgetCommandCommandProcessor } from './lib/processors/cli-wget-command-processor';\nimport { API_VERSION } from './lib/version';\n\nexport const wgetModule: ICliModule = {\n apiVersion: API_VERSION,\n name: '@qodalis/cli-wget',\n processors: [new CliWgetCommandCommandProcessor()],\n translations: {\n es: { 'cli.wget.description': 'Descargar archivos desde cualquier URL HTTP/HTTPS' },\n fr: { 'cli.wget.description': 'Télécharger des fichiers depuis une URL HTTP/HTTPS' },\n de: { 'cli.wget.description': 'Dateien von beliebigen HTTP/HTTPS-URLs herunterladen' },\n pt: { 'cli.wget.description': 'Baixar arquivos de qualquer URL HTTP/HTTPS' },\n it: { 'cli.wget.description': 'Scaricare file da qualsiasi URL HTTP/HTTPS' },\n ja: { 'cli.wget.description': 'HTTP/HTTPS URLからファイルをダウンロード' },\n ko: { 'cli.wget.description': 'HTTP/HTTPS URL에서 파일 다운로드' },\n zh: { 'cli.wget.description': '从任意 HTTP/HTTPS URL 下载文件' },\n ru: { 'cli.wget.description': 'Скачивание файлов по HTTP/HTTPS' },\n ro: { 'cli.wget.description': 'Descarcă fișiere de la orice URL HTTP/HTTPS' },\n },\n};\n"]}
@@ -1827,9 +1827,11 @@ var wget = (() => {
1827
1827
  email: "nicolae.lupei@qodalis.com"
1828
1828
  };
1829
1829
  var semver = __toESM(require_semver2());
1830
+ var API_VERSION = 2;
1831
+ var VERSIONS_ENDPOINT = "/api/qcli/versions";
1830
1832
  var ServerVersionNegotiator = class {
1831
1833
  static {
1832
- this.CLIENT_SUPPORTED_VERSIONS = [2];
1834
+ this.CLIENT_SUPPORTED_VERSIONS = [API_VERSION];
1833
1835
  }
1834
1836
  /**
1835
1837
  * Given a server's version info, pick the highest mutually compatible version.
@@ -1848,14 +1850,14 @@ var wget = (() => {
1848
1850
  */
1849
1851
  static async discover(baseUrl) {
1850
1852
  try {
1851
- const response = await fetch(`${baseUrl}/api/cli/versions`);
1853
+ const response = await fetch(`${baseUrl}${VERSIONS_ENDPOINT}`);
1852
1854
  if (!response.ok) return null;
1853
1855
  const info = await response.json();
1854
1856
  const version = this.negotiate(info);
1855
1857
  if (version === null) return null;
1856
1858
  return {
1857
1859
  apiVersion: version,
1858
- basePath: `${baseUrl}/api/v${version}/cli`
1860
+ basePath: `${baseUrl}/api/v${version}/qcli`
1859
1861
  };
1860
1862
  } catch {
1861
1863
  return null;
@@ -2686,9 +2688,17 @@ var wget = (() => {
2686
2688
  const filename = path.split("/").pop() || "download";
2687
2689
  this.downloadToBrowser(filename, content);
2688
2690
  }
2691
+ /**
2692
+ * Not supported in browser — always returns an empty array.
2693
+ * Use `@qodalis/cli-files` for directory listing.
2694
+ */
2689
2695
  async listFiles(_path) {
2690
2696
  return [];
2691
2697
  }
2698
+ /**
2699
+ * Not supported in browser — always returns `false`.
2700
+ * Use `@qodalis/cli-files` for file existence checks.
2701
+ */
2692
2702
  async exists(_path) {
2693
2703
  return false;
2694
2704
  }
@@ -2733,8 +2743,8 @@ var wget = (() => {
2733
2743
  };
2734
2744
 
2735
2745
  // src/lib/version.ts
2736
- var LIBRARY_VERSION = "2.0.0-beta.1";
2737
- var API_VERSION = 2;
2746
+ var LIBRARY_VERSION = "2.0.0-beta.11";
2747
+ var API_VERSION2 = 2;
2738
2748
 
2739
2749
  // src/lib/processors/cli-wget-command-processor.ts
2740
2750
  var CliWgetCommandCommandProcessor = class {
@@ -2746,7 +2756,8 @@ var wget = (() => {
2746
2756
  this.acceptsRawInput = true;
2747
2757
  this.valueRequired = true;
2748
2758
  this.metadata = {
2749
- icon: "\u2B07"
2759
+ icon: "\u2B07",
2760
+ module: "file management"
2750
2761
  };
2751
2762
  this.parameters = [
2752
2763
  {
@@ -2931,7 +2942,7 @@ var wget = (() => {
2931
2942
 
2932
2943
  // src/cli-entrypoint.ts
2933
2944
  var module = {
2934
- apiVersion: API_VERSION,
2945
+ apiVersion: API_VERSION2,
2935
2946
  name: "@qodalis/cli-wget",
2936
2947
  processors: [new CliWgetCommandCommandProcessor()]
2937
2948
  };