permaweb-deploy 4.0.0 → 5.0.0
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/README.md +174 -511
- package/dist/chunks/chalk-BP_cCc9v.js +49 -0
- package/dist/chunks/chalk-BP_cCc9v.js.map +1 -0
- package/dist/chunks/{display-WYdGiMxZ.js → display-CZV6KUcG.js} +2 -2
- package/dist/chunks/{display-WYdGiMxZ.js.map → display-CZV6KUcG.js.map} +1 -1
- package/dist/chunks/upload-workflow-f3hExxtV.js +620 -0
- package/dist/chunks/upload-workflow-f3hExxtV.js.map +1 -0
- package/dist/chunks/{uploader-CC-qBdlV.js → uploader-Bz9jraY2.js} +15 -17
- package/dist/chunks/uploader-Bz9jraY2.js.map +1 -0
- package/dist/commands/deploy.js +72 -98
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/hyperbeam-uploaders.js +48 -0
- package/dist/commands/hyperbeam-uploaders.js.map +1 -0
- package/dist/commands/upload.js +11 -12
- package/dist/commands/upload.js.map +1 -1
- package/dist/constants/flags.js +66 -97
- package/dist/constants/flags.js.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/prompts/names.js +13 -0
- package/dist/prompts/names.js.map +1 -0
- package/dist/src/commands/deploy.d.ts +1 -1
- package/dist/src/commands/deploy.d.ts.map +1 -1
- package/dist/src/commands/hyperbeam-uploaders.d.ts +14 -0
- package/dist/src/commands/hyperbeam-uploaders.d.ts.map +1 -0
- package/dist/src/commands/upload.d.ts +1 -1
- package/dist/src/commands/upload.d.ts.map +1 -1
- package/dist/src/constants/flags.d.ts +271 -100
- package/dist/src/constants/flags.d.ts.map +1 -1
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/prompts/names.d.ts +2 -0
- package/dist/src/prompts/names.d.ts.map +1 -0
- package/dist/src/types/index.d.ts +0 -29
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/utils/__tests__/hyperbeam-uploaders-cli.test.d.ts +2 -0
- package/dist/src/utils/__tests__/hyperbeam-uploaders-cli.test.d.ts.map +1 -0
- package/dist/src/utils/__tests__/names.test.d.ts +2 -0
- package/dist/src/utils/__tests__/names.test.d.ts.map +1 -0
- package/dist/src/utils/__tests__/permawebos-bundlers.test.d.ts +2 -0
- package/dist/src/utils/__tests__/permawebos-bundlers.test.d.ts.map +1 -0
- package/dist/src/utils/config-resolver.d.ts +29 -11
- package/dist/src/utils/config-resolver.d.ts.map +1 -1
- package/dist/src/utils/constants.d.ts +0 -2
- package/dist/src/utils/constants.d.ts.map +1 -1
- package/dist/src/utils/hyperbeam-uploader.d.ts +7 -0
- package/dist/src/utils/hyperbeam-uploader.d.ts.map +1 -1
- package/dist/src/utils/hyperbeam-uploaders-cli.d.ts +7 -0
- package/dist/src/utils/hyperbeam-uploaders-cli.d.ts.map +1 -0
- package/dist/src/utils/legacy-bundler-uploader.d.ts +29 -0
- package/dist/src/utils/legacy-bundler-uploader.d.ts.map +1 -0
- package/dist/src/utils/names.d.ts +46 -0
- package/dist/src/utils/names.d.ts.map +1 -0
- package/dist/src/utils/permawebos-bundlers.d.ts +28 -0
- package/dist/src/utils/permawebos-bundlers.d.ts.map +1 -0
- package/dist/src/utils/signer.d.ts +4 -6
- package/dist/src/utils/signer.d.ts.map +1 -1
- package/dist/src/utils/uploader.d.ts +5 -7
- package/dist/src/utils/uploader.d.ts.map +1 -1
- package/dist/src/utils/validators.d.ts +13 -20
- package/dist/src/utils/validators.d.ts.map +1 -1
- package/dist/src/workflows/upload-workflow.d.ts +3 -4
- package/dist/src/workflows/upload-workflow.d.ts.map +1 -1
- package/dist/tests/mocks/{turbo-handlers.d.ts → legacy-handlers.d.ts} +12 -27
- package/dist/tests/mocks/legacy-handlers.d.ts.map +1 -0
- package/dist/tests/setup.d.ts +2 -2
- package/dist/tests/setup.d.ts.map +1 -1
- package/dist/tests/types/payment-service.d.ts +2 -2
- package/dist/tests/types/payment-service.d.ts.map +1 -1
- package/dist/tests/types/upload-service.d.ts +1 -1
- package/dist/tests/types/upload-service.d.ts.map +1 -1
- package/dist/utils/config-resolver.js +4 -1
- package/dist/utils/config-resolver.js.map +1 -1
- package/dist/utils/constants.js +1 -3
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/hyperbeam-uploaders-cli.js +32 -0
- package/dist/utils/hyperbeam-uploaders-cli.js.map +1 -0
- package/dist/utils/names.js +157 -0
- package/dist/utils/names.js.map +1 -0
- package/dist/utils/permawebos-bundlers.js +120 -0
- package/dist/utils/permawebos-bundlers.js.map +1 -0
- package/dist/utils/signer.js +3 -2
- package/dist/utils/signer.js.map +1 -1
- package/dist/utils/uploader.js +1 -1
- package/dist/utils/validators.js +3 -39
- package/dist/utils/validators.js.map +1 -1
- package/dist/workflows/upload-workflow.js +5 -6
- package/dist/workflows/upload-workflow.js.map +1 -1
- package/package.json +5 -5
- package/dist/chunks/upload-workflow-BnN8mhkm.js +0 -1195
- package/dist/chunks/upload-workflow-BnN8mhkm.js.map +0 -1
- package/dist/chunks/uploader-CC-qBdlV.js.map +0 -1
- package/dist/prompts/arns.js +0 -89
- package/dist/prompts/arns.js.map +0 -1
- package/dist/src/prompts/arns.d.ts +0 -13
- package/dist/src/prompts/arns.d.ts.map +0 -1
- package/dist/tests/mocks/turbo-handlers.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.js","sources":["../../src/commands/deploy.ts"],"sourcesContent":["import fs from 'node:fs'\n\nimport { ANT, AOProcess, ARIO } from '@ar.io/sdk'\nimport { Command } from '@oclif/core'\nimport { connect } from '@permaweb/aoconnect'\nimport ora from 'ora'\n\nimport { type DeployConfig, deployFlagConfigs } from '../constants/flags.js'\nimport { promptAdvancedOptions } from '../prompts/arns.js'\nimport { getWalletConfig } from '../prompts/wallet.js'\nimport type { SignerType } from '../types/index.js'\nimport { chalk } from '../utils/chalk.js'\nimport { extractFlags, resolveConfig } from '../utils/config-resolver.js'\nimport { type DisplayRow, formatDisplayRows, formatUploadError } from '../utils/display.js'\nimport { hyperbeamBundlerLink } from '../utils/hyperbeam-uploader.js'\nimport { expandPath } from '../utils/path.js'\nimport { createSigner } from '../utils/signer.js'\nimport { runUploadWorkflow } from '../workflows/upload-workflow.js'\n\nexport default class Deploy extends Command {\n static override args = {}\n\n static override description = 'Deploy an application to the permaweb with optional ArNS update'\n\n static override examples = [\n '<%= config.bin %> deploy --wallet ./wallet.json',\n '<%= config.bin %> deploy --wallet ./wallet.json --deploy-folder ./dist',\n '<%= config.bin %> deploy --wallet ./wallet.json --deploy-file ./dist/index.html',\n '<%= config.bin %> deploy --wallet ./wallet.json --uploader-type hyperbeam --uploader https://hyperbeam.example.com',\n '<%= config.bin %> deploy --wallet ./wallet.json --use-arns --arns-name my-app',\n '<%= config.bin %> deploy --wallet ./wallet.json --use-arns --arns-name my-app --undername staging',\n ]\n\n static override flags = extractFlags(deployFlagConfigs)\n\n public async run(): Promise<void> {\n try {\n const { flags } = await this.parse(Deploy)\n\n const useArns = Boolean(flags['use-arns'] || flags['arns-name'])\n const interactive = useArns && !flags['arns-name']\n\n if (interactive) {\n this.log(chalk.bold(chalk.cyan('\\nInteractive ArNS Deployment Mode\\n')))\n }\n\n const baseConfig = (await resolveConfig<typeof deployFlagConfigs>(deployFlagConfigs, flags, {\n interactive,\n })) as DeployConfig\n\n let walletConfig: { privateKey?: string; wallet?: string } = {\n privateKey: baseConfig['private-key'],\n wallet: baseConfig.wallet,\n }\n\n const shouldPromptWallet =\n !baseConfig.wallet &&\n !baseConfig['private-key'] &&\n (interactive || !process.env.DEPLOY_KEY?.trim())\n\n if (shouldPromptWallet) {\n const config = await getWalletConfig()\n walletConfig = {\n privateKey: config.privateKey,\n wallet: config.wallet,\n }\n }\n\n let advancedOptions:\n | {\n arioProcess: string\n maxTokenAmount?: string\n onDemand?: string\n ttlSeconds: string\n undername: string\n }\n | undefined\n\n if (interactive) {\n const options = await promptAdvancedOptions()\n advancedOptions = options || undefined\n }\n\n const effectiveCacheMaxEntries = baseConfig['no-dedupe']\n ? 0\n : baseConfig['dedupe-cache-max-entries']\n\n const deployConfig: DeployConfig = {\n 'ario-process': advancedOptions?.arioProcess || baseConfig['ario-process'],\n 'arns-name': baseConfig['arns-name'],\n 'dedupe-cache-max-entries': effectiveCacheMaxEntries,\n 'deploy-file': baseConfig['deploy-file'],\n 'deploy-folder': baseConfig['deploy-folder'],\n 'hyperbeam-ao-state-url': baseConfig['hyperbeam-ao-state-url'],\n 'hyperbeam-auto-fund': baseConfig['hyperbeam-auto-fund'],\n 'hyperbeam-fund-amount': baseConfig['hyperbeam-fund-amount'],\n 'hyperbeam-ledger-id': baseConfig['hyperbeam-ledger-id'],\n 'hyperbeam-token-id': baseConfig['hyperbeam-token-id'],\n 'hyperbeam-upload-path': baseConfig['hyperbeam-upload-path'],\n 'max-token-amount': advancedOptions?.maxTokenAmount || baseConfig['max-token-amount'],\n 'no-dedupe': baseConfig['no-dedupe'],\n 'on-demand': advancedOptions?.onDemand || baseConfig['on-demand'],\n 'private-key': walletConfig.privateKey,\n 'sig-type': baseConfig['sig-type'],\n 'ttl-seconds': advancedOptions?.ttlSeconds || baseConfig['ttl-seconds'],\n undername: advancedOptions?.undername || baseConfig.undername,\n uploader: baseConfig.uploader,\n 'uploader-type': baseConfig['uploader-type'],\n 'use-arns': useArns,\n wallet: walletConfig.wallet,\n }\n\n if (interactive) {\n this.log('')\n }\n\n let deployKey: string\n if (deployConfig.wallet) {\n const walletPath = expandPath(deployConfig.wallet)\n if (!fs.existsSync(walletPath)) {\n this.error(`Wallet file [${deployConfig.wallet}] does not exist`)\n }\n\n const walletContent = fs.readFileSync(walletPath, 'utf8')\n deployKey =\n deployConfig['sig-type'] === 'arweave'\n ? Buffer.from(walletContent).toString('base64')\n : walletContent.trim()\n } else if (deployConfig['private-key']) {\n deployKey =\n deployConfig['sig-type'] === 'arweave'\n ? Buffer.from(deployConfig['private-key']).toString('base64')\n : deployConfig['private-key'].trim()\n } else {\n deployKey = process.env.DEPLOY_KEY || ''\n if (!deployKey) {\n this.error(\n 'DEPLOY_KEY environment variable not set. Use --wallet, --private-key, or set DEPLOY_KEY',\n )\n }\n }\n\n this.log(chalk.bold(chalk.cyan('\\nStarting deployment...\\n')))\n try {\n if (!deployConfig['use-arns']) {\n const { transactionId: txOrManifestId } = await runUploadWorkflow(\n deployKey,\n deployConfig,\n {\n error: (msg) => this.error(msg),\n },\n )\n\n this.log('')\n\n const bundlerLink =\n deployConfig['uploader-type'] === 'hyperbeam' && deployConfig.uploader\n ? hyperbeamBundlerLink(\n deployConfig.uploader,\n txOrManifestId,\n !deployConfig['deploy-file'],\n )\n : undefined\n\n const rows: DisplayRow[] = [['Tx ID', chalk.green(txOrManifestId)]]\n if (deployConfig.uploader) {\n rows.push(\n ['Bundler service', chalk.cyan(deployConfig.uploader)],\n ['Uploader type', chalk.cyan(deployConfig['uploader-type'])],\n )\n }\n\n if (bundlerLink) {\n rows.push(['Bundler link', chalk.yellow(bundlerLink)])\n }\n\n rows.push(['Arweave URL', chalk.yellow(`https://arweave.net/${txOrManifestId}`)])\n\n this.log(chalk.bold(chalk.green('Deployment Successful!')))\n this.log(formatDisplayRows(rows))\n\n return\n }\n\n const arioProcess = deployConfig['ario-process']\n const arnsName = deployConfig['arns-name']\n if (!arnsName) {\n this.error('--use-arns requires --arns-name')\n }\n\n const spinner = ora()\n\n spinner.start('Initializing ARIO')\n\n const ao = connect({\n CU_URL: 'https://cu.ardrive.io',\n MODE: 'legacy',\n MU_URL: 'https://mu.ao-testnet.xyz',\n })\n\n const ario = ARIO.init({\n process: new AOProcess({\n ao,\n processId: arioProcess,\n }),\n })\n\n spinner.succeed('ARIO initialized')\n\n spinner.start(`Fetching ArNS record for ${chalk.yellow(arnsName)}`)\n const arnsNameRecord = await ario.getArNSRecord({ name: arnsName }).catch(() => {\n spinner.fail(`ArNS name ${chalk.red(arnsName)} does not exist`)\n this.error(`ArNS name [${arnsName}] does not exist`)\n })\n\n spinner.succeed(`ArNS record fetched for ${chalk.green(arnsName)}`)\n\n const { transactionId: txOrManifestId } = await runUploadWorkflow(deployKey, deployConfig, {\n error: (msg) => this.error(msg),\n })\n\n this.log('')\n\n spinner.start('Updating ANT record')\n const { signer } = createSigner(deployConfig['sig-type'] as SignerType, deployKey)\n const ant = ANT.init({ processId: arnsNameRecord.processId, signer })\n\n await ant.setRecord(\n {\n transactionId: txOrManifestId,\n ttlSeconds: Number.parseInt(deployConfig['ttl-seconds'], 10),\n undername: deployConfig.undername,\n },\n {\n tags: [\n {\n name: 'App-Name',\n value: 'Permaweb-Deploy',\n },\n ...(process.env.GITHUB_SHA\n ? [\n {\n name: 'GIT-HASH',\n value: process.env.GITHUB_SHA,\n },\n ]\n : []),\n ],\n },\n )\n\n spinner.succeed('ANT record updated')\n\n const bundlerLink =\n deployConfig['uploader-type'] === 'hyperbeam' && deployConfig.uploader\n ? hyperbeamBundlerLink(\n deployConfig.uploader,\n txOrManifestId,\n !deployConfig['deploy-file'],\n )\n : undefined\n\n const rows: DisplayRow[] = [['Tx ID', chalk.green(txOrManifestId)]]\n if (deployConfig.uploader) {\n rows.push(\n ['Bundler service', chalk.cyan(deployConfig.uploader)],\n ['Uploader type', chalk.cyan(deployConfig['uploader-type'])],\n )\n }\n\n if (bundlerLink) {\n rows.push(['Bundler link', chalk.yellow(bundlerLink)])\n }\n\n rows.push(\n ['ArNS Name', chalk.yellow(arnsName)],\n ['Undername', chalk.yellow(deployConfig.undername)],\n ['ANT', chalk.cyan(arnsNameRecord.processId)],\n ['ARIO Process', chalk.gray(arioProcess)],\n ['TTL Seconds', chalk.blue(deployConfig['ttl-seconds'])],\n ['Arweave URL', chalk.yellow(`https://arweave.net/${txOrManifestId}`)],\n )\n\n this.log(chalk.bold(chalk.green('Deployment Successful!')))\n this.log(formatDisplayRows(rows))\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : String(error)\n const normalizedError = errorMessage.startsWith('Upload failed:')\n ? errorMessage.replace(/^Upload failed:\\s*/, '')\n : errorMessage\n\n if (errorMessage.startsWith('Upload failed:') && !process.env.CI && process.stdout.isTTY) {\n this.log(`\\n${formatUploadError(normalizedError, 'Deployment failed')}`)\n this.exit(1)\n }\n\n this.error(chalk.red(`Deployment failed: ${errorMessage}`))\n }\n } catch (error) {\n if (error instanceof Error && error.name === 'ExitPromptError') {\n this.log(chalk.yellow('\\n\\nDeployment cancelled'))\n this.exit(0)\n }\n\n throw error\n }\n }\n}\n"],"names":["txOrManifestId","bundlerLink","rows"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"deploy.js","sources":["../../src/commands/deploy.ts"],"sourcesContent":["import fs from 'node:fs'\n\nimport { Command } from '@oclif/core'\nimport ora from 'ora'\n\nimport {\n DEFAULT_LEGACY_UPLOADER,\n type DeployConfig,\n deployFlagConfigs,\n} from '../constants/flags.js'\nimport { getWalletConfig } from '../prompts/wallet.js'\nimport type { SignerType } from '../types/index.js'\nimport { chalk } from '../utils/chalk.js'\nimport { extractFlags, resolveConfig } from '../utils/config-resolver.js'\nimport { type DisplayRow, formatDisplayRows, formatUploadError } from '../utils/display.js'\nimport { hyperbeamBundlerLink } from '../utils/hyperbeam-uploader.js'\nimport { preflightNamesUpdate, publishNamesUpdate } from '../utils/names.js'\nimport { expandPath } from '../utils/path.js'\nimport { runUploadWorkflow } from '../workflows/upload-workflow.js'\n\nexport default class Deploy extends Command {\n static override args = {}\n\n static override description = 'Deploy an application to the permaweb with optional names update'\n\n static override examples = [\n '<%= config.bin %> deploy --wallet ./wallet.json',\n '<%= config.bin %> deploy --wallet ./wallet.json --deploy-folder ./dist',\n '<%= config.bin %> deploy --wallet ./wallet.json --deploy-file ./dist/index.html',\n '<%= config.bin %> deploy --wallet ./wallet.json --uploader-type hyperbeam --uploader https://hyperbeam.example.com',\n '<%= config.bin %> deploy --wallet ./wallet.json --use-names --name my-app',\n '<%= config.bin %> deploy --wallet ./wallet.json --use-names --reference-id REFERENCE_ID',\n ]\n\n static override flags = extractFlags(deployFlagConfigs)\n\n public async run(): Promise<void> {\n try {\n const { flags } = await this.parse(Deploy)\n\n const useNames = Boolean(flags['use-names'] || flags.name || flags['reference-id'])\n const interactive = useNames && !flags.name && !flags['reference-id']\n\n if (interactive) {\n this.log(chalk.bold(chalk.cyan('\\nInteractive Names Deployment Mode\\n')))\n }\n\n const baseConfig = (await resolveConfig<typeof deployFlagConfigs>(deployFlagConfigs, flags, {\n interactive,\n })) as DeployConfig\n\n let walletConfig: { privateKey?: string; wallet?: string } = {\n privateKey: baseConfig['private-key'],\n wallet: baseConfig.wallet,\n }\n\n const shouldPromptWallet =\n !baseConfig.wallet &&\n !baseConfig['private-key'] &&\n (interactive || !process.env.DEPLOY_KEY?.trim())\n\n if (shouldPromptWallet) {\n const config = await getWalletConfig()\n walletConfig = {\n privateKey: config.privateKey,\n wallet: config.wallet,\n }\n }\n\n const effectiveCacheMaxEntries = baseConfig['no-dedupe']\n ? 0\n : baseConfig['dedupe-cache-max-entries']\n const uploader =\n baseConfig.uploader ??\n (baseConfig['uploader-type'] === 'legacy' ? DEFAULT_LEGACY_UPLOADER : undefined)\n\n const deployConfig: DeployConfig = {\n 'dedupe-cache-max-entries': effectiveCacheMaxEntries,\n 'deploy-file': baseConfig['deploy-file'],\n 'deploy-folder': baseConfig['deploy-folder'],\n 'hyperbeam-ao-state-url': baseConfig['hyperbeam-ao-state-url'],\n 'hyperbeam-auto-fund': baseConfig['hyperbeam-auto-fund'],\n 'hyperbeam-fund-amount': baseConfig['hyperbeam-fund-amount'],\n 'hyperbeam-ledger-id': baseConfig['hyperbeam-ledger-id'],\n 'hyperbeam-token-id': baseConfig['hyperbeam-token-id'],\n 'hyperbeam-upload-path': baseConfig['hyperbeam-upload-path'],\n name: baseConfig.name,\n 'names-gateway': baseConfig['names-gateway'],\n 'names-graphql': baseConfig['names-graphql'],\n 'names-namespace': baseConfig['names-namespace'],\n 'no-dedupe': baseConfig['no-dedupe'],\n 'private-key': walletConfig.privateKey,\n 'reference-id': baseConfig['reference-id'],\n 'sig-type': baseConfig['sig-type'],\n uploader,\n 'uploader-type': baseConfig['uploader-type'],\n 'use-names': useNames,\n wallet: walletConfig.wallet,\n }\n\n if (interactive) {\n this.log('')\n }\n\n let deployKey: string\n if (deployConfig.wallet) {\n const walletPath = expandPath(deployConfig.wallet)\n if (!fs.existsSync(walletPath)) {\n this.error(`Wallet file [${deployConfig.wallet}] does not exist`)\n }\n\n const walletContent = fs.readFileSync(walletPath, 'utf8')\n deployKey =\n deployConfig['sig-type'] === 'arweave'\n ? Buffer.from(walletContent).toString('base64')\n : walletContent.trim()\n } else if (deployConfig['private-key']) {\n deployKey =\n deployConfig['sig-type'] === 'arweave'\n ? Buffer.from(deployConfig['private-key']).toString('base64')\n : deployConfig['private-key'].trim()\n } else {\n deployKey = process.env.DEPLOY_KEY || ''\n if (!deployKey) {\n this.error(\n 'DEPLOY_KEY environment variable not set. Use --wallet, --private-key, or set DEPLOY_KEY',\n )\n }\n }\n\n this.log(chalk.bold(chalk.cyan('\\nStarting deployment...\\n')))\n try {\n if (!deployConfig['use-names']) {\n const uploadResult = await runUploadWorkflow(deployKey, deployConfig, {\n error: (msg) => this.error(msg),\n })\n const txOrManifestId = uploadResult.transactionId\n const effectiveUploader = uploadResult.uploader ?? deployConfig.uploader\n\n this.log('')\n\n const bundlerLink =\n deployConfig['uploader-type'] === 'hyperbeam' && effectiveUploader\n ? hyperbeamBundlerLink(\n effectiveUploader,\n txOrManifestId,\n !deployConfig['deploy-file'],\n )\n : undefined\n\n const rows: DisplayRow[] = [['Tx ID', chalk.green(txOrManifestId)]]\n if (effectiveUploader) {\n rows.push(\n ['Bundler service', chalk.cyan(effectiveUploader)],\n ['Uploader type', chalk.cyan(deployConfig['uploader-type'])],\n )\n }\n\n if (bundlerLink) {\n rows.push(['Bundler link', chalk.yellow(bundlerLink)])\n }\n\n rows.push(['Arweave URL', chalk.yellow(`https://arweave.net/${txOrManifestId}`)])\n\n this.log(chalk.bold(chalk.green('Deployment Successful!')))\n this.log(formatDisplayRows(rows))\n\n return\n }\n\n if (deployConfig['sig-type'] !== 'arweave') {\n this.error('Names updates currently require --sig-type arweave')\n }\n\n if (!deployConfig.name && !deployConfig['reference-id']) {\n this.error('--use-names requires --name or --reference-id')\n }\n\n const spinner = ora()\n\n spinner.start('Validating names reference')\n const namesTarget = await preflightNamesUpdate({\n deployKey,\n gateway: deployConfig['names-gateway'],\n graphql: deployConfig['names-graphql'],\n name: deployConfig.name,\n namespace: deployConfig['names-namespace'],\n referenceId: deployConfig['reference-id'],\n sigType: deployConfig['sig-type'] as SignerType,\n }).catch((error) => {\n spinner.fail('Names reference validation failed')\n throw error\n })\n\n spinner.succeed('Names reference validated')\n\n const uploadResult = await runUploadWorkflow(deployKey, deployConfig, {\n error: (msg) => this.error(msg),\n })\n const txOrManifestId = uploadResult.transactionId\n const effectiveUploader = uploadResult.uploader ?? deployConfig.uploader\n\n this.log('')\n\n spinner.start('Updating names reference')\n const namesUpdate = await publishNamesUpdate({\n deployKey,\n gateway: deployConfig['names-gateway'],\n graphql: deployConfig['names-graphql'],\n name: namesTarget.name,\n namespace: deployConfig['names-namespace'],\n referenceId: namesTarget.referenceId,\n sigType: deployConfig['sig-type'] as SignerType,\n value: txOrManifestId,\n }).catch((error) => {\n spinner.fail('Names reference update failed')\n throw error\n })\n\n spinner.succeed('Names reference updated')\n\n const bundlerLink =\n deployConfig['uploader-type'] === 'hyperbeam' && effectiveUploader\n ? hyperbeamBundlerLink(effectiveUploader, txOrManifestId, !deployConfig['deploy-file'])\n : undefined\n\n const rows: DisplayRow[] = [['Tx ID', chalk.green(txOrManifestId)]]\n if (effectiveUploader) {\n rows.push(\n ['Bundler service', chalk.cyan(effectiveUploader)],\n ['Uploader type', chalk.cyan(deployConfig['uploader-type'])],\n )\n }\n\n if (bundlerLink) {\n rows.push(['Bundler link', chalk.yellow(bundlerLink)])\n }\n\n rows.push(\n ...(namesUpdate.name ? ([['Name', chalk.yellow(namesUpdate.name)]] as DisplayRow[]) : []),\n ['Reference ID', chalk.cyan(namesUpdate.referenceId)],\n ['Names Update ID', chalk.green(namesUpdate.updateId)],\n ['Names Namespace', chalk.gray(namesUpdate.namespace)],\n ['Arweave URL', chalk.yellow(`https://arweave.net/${txOrManifestId}`)],\n )\n\n this.log(chalk.bold(chalk.green('Deployment Successful!')))\n this.log(formatDisplayRows(rows))\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : String(error)\n const normalizedError = errorMessage.startsWith('Upload failed:')\n ? errorMessage.replace(/^Upload failed:\\s*/, '')\n : errorMessage\n\n if (errorMessage.startsWith('Upload failed:') && !process.env.CI && process.stdout.isTTY) {\n this.log(`\\n${formatUploadError(normalizedError, 'Deployment failed')}`)\n this.exit(1)\n }\n\n this.error(chalk.red(`Deployment failed: ${errorMessage}`))\n }\n } catch (error) {\n if (error instanceof Error && error.name === 'ExitPromptError') {\n this.log(chalk.yellow('\\n\\nDeployment cancelled'))\n this.exit(0)\n }\n\n throw error\n }\n }\n}\n"],"names":["uploadResult","txOrManifestId","effectiveUploader","bundlerLink","rows"],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Command, Flags } from '@oclif/core';
|
|
2
|
+
import { formatActiveHyperbeamUploaders } from '../utils/hyperbeam-uploaders-cli.js';
|
|
3
|
+
import { DEFAULT_PERMAWEBOS_BUNDLER_STAKING_PROCESS, DEFAULT_PERMAWEBOS_BUNDLER_GATEWAY } from '../utils/permawebos-bundlers.js';
|
|
4
|
+
|
|
5
|
+
class HyperbeamUploaders extends Command {
|
|
6
|
+
static args = {};
|
|
7
|
+
static description = "List active HyperBEAM uploader endpoints";
|
|
8
|
+
static examples = [
|
|
9
|
+
"<%= config.bin %> hyperbeam-uploaders",
|
|
10
|
+
"<%= config.bin %> hyperbeam-uploaders --ring permawebos-v0.1-gold",
|
|
11
|
+
"<%= config.bin %> hyperbeam-uploaders --json"
|
|
12
|
+
];
|
|
13
|
+
static flags = {
|
|
14
|
+
gateway: Flags.string({
|
|
15
|
+
default: DEFAULT_PERMAWEBOS_BUNDLER_GATEWAY,
|
|
16
|
+
description: "Gateway used to read PermawebOS bundler staking state.",
|
|
17
|
+
required: false
|
|
18
|
+
}),
|
|
19
|
+
json: Flags.boolean({
|
|
20
|
+
default: false,
|
|
21
|
+
description: "Output uploaders as JSON.",
|
|
22
|
+
required: false
|
|
23
|
+
}),
|
|
24
|
+
"process-id": Flags.string({
|
|
25
|
+
default: DEFAULT_PERMAWEBOS_BUNDLER_STAKING_PROCESS,
|
|
26
|
+
description: "PermawebOS bundler staking process ID.",
|
|
27
|
+
required: false
|
|
28
|
+
}),
|
|
29
|
+
ring: Flags.string({
|
|
30
|
+
description: "Only include uploaders in this staking ring.",
|
|
31
|
+
required: false
|
|
32
|
+
})
|
|
33
|
+
};
|
|
34
|
+
async run() {
|
|
35
|
+
const { flags } = await this.parse(HyperbeamUploaders);
|
|
36
|
+
this.log(
|
|
37
|
+
await formatActiveHyperbeamUploaders({
|
|
38
|
+
gateway: flags.gateway,
|
|
39
|
+
json: flags.json,
|
|
40
|
+
processId: flags["process-id"],
|
|
41
|
+
ring: flags.ring
|
|
42
|
+
})
|
|
43
|
+
);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export { HyperbeamUploaders as default };
|
|
48
|
+
//# sourceMappingURL=hyperbeam-uploaders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hyperbeam-uploaders.js","sources":["../../src/commands/hyperbeam-uploaders.ts"],"sourcesContent":["import { Command, Flags } from '@oclif/core'\n\nimport { formatActiveHyperbeamUploaders } from '../utils/hyperbeam-uploaders-cli.js'\nimport {\n DEFAULT_PERMAWEBOS_BUNDLER_GATEWAY,\n DEFAULT_PERMAWEBOS_BUNDLER_STAKING_PROCESS,\n} from '../utils/permawebos-bundlers.js'\n\nexport default class HyperbeamUploaders extends Command {\n static override args = {}\n\n static override description = 'List active HyperBEAM uploader endpoints'\n\n static override examples = [\n '<%= config.bin %> hyperbeam-uploaders',\n '<%= config.bin %> hyperbeam-uploaders --ring permawebos-v0.1-gold',\n '<%= config.bin %> hyperbeam-uploaders --json',\n ]\n\n static override flags = {\n gateway: Flags.string({\n default: DEFAULT_PERMAWEBOS_BUNDLER_GATEWAY,\n description: 'Gateway used to read PermawebOS bundler staking state.',\n required: false,\n }),\n json: Flags.boolean({\n default: false,\n description: 'Output uploaders as JSON.',\n required: false,\n }),\n 'process-id': Flags.string({\n default: DEFAULT_PERMAWEBOS_BUNDLER_STAKING_PROCESS,\n description: 'PermawebOS bundler staking process ID.',\n required: false,\n }),\n ring: Flags.string({\n description: 'Only include uploaders in this staking ring.',\n required: false,\n }),\n }\n\n public async run(): Promise<void> {\n const { flags } = await this.parse(HyperbeamUploaders)\n\n this.log(\n await formatActiveHyperbeamUploaders({\n gateway: flags.gateway,\n json: flags.json,\n processId: flags['process-id'],\n ring: flags.ring,\n }),\n )\n }\n}\n"],"names":[],"mappings":";;;;AAQA,MAAqB,2BAA2B,OAAA,CAAQ;AAAA,EACtD,OAAgB,OAAO,EAAC;AAAA,EAExB,OAAgB,WAAA,GAAc,0CAAA;AAAA,EAE9B,OAAgB,QAAA,GAAW;AAAA,IACzB,uCAAA;AAAA,IACA,mEAAA;AAAA,IACA;AAAA,GACF;AAAA,EAEA,OAAgB,KAAA,GAAQ;AAAA,IACtB,OAAA,EAAS,MAAM,MAAA,CAAO;AAAA,MACpB,OAAA,EAAS,kCAAA;AAAA,MACT,WAAA,EAAa,wDAAA;AAAA,MACb,QAAA,EAAU;AAAA,KACX,CAAA;AAAA,IACD,IAAA,EAAM,MAAM,OAAA,CAAQ;AAAA,MAClB,OAAA,EAAS,KAAA;AAAA,MACT,WAAA,EAAa,2BAAA;AAAA,MACb,QAAA,EAAU;AAAA,KACX,CAAA;AAAA,IACD,YAAA,EAAc,MAAM,MAAA,CAAO;AAAA,MACzB,OAAA,EAAS,0CAAA;AAAA,MACT,WAAA,EAAa,wCAAA;AAAA,MACb,QAAA,EAAU;AAAA,KACX,CAAA;AAAA,IACD,IAAA,EAAM,MAAM,MAAA,CAAO;AAAA,MACjB,WAAA,EAAa,8CAAA;AAAA,MACb,QAAA,EAAU;AAAA,KACX;AAAA,GACH;AAAA,EAEA,MAAa,GAAA,GAAqB;AAChC,IAAA,MAAM,EAAE,KAAA,EAAM,GAAI,MAAM,IAAA,CAAK,MAAM,kBAAkB,CAAA;AAErD,IAAA,IAAA,CAAK,GAAA;AAAA,MACH,MAAM,8BAAA,CAA+B;AAAA,QACnC,SAAS,KAAA,CAAM,OAAA;AAAA,QACf,MAAM,KAAA,CAAM,IAAA;AAAA,QACZ,SAAA,EAAW,MAAM,YAAY,CAAA;AAAA,QAC7B,MAAM,KAAA,CAAM;AAAA,OACb;AAAA,KACH;AAAA,EACF;AACF;;;;"}
|
package/dist/commands/upload.js
CHANGED
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
import fs from 'node:fs';
|
|
2
2
|
import { Command } from '@oclif/core';
|
|
3
|
-
import { uploadFlagConfigs } from '../constants/flags.js';
|
|
3
|
+
import { uploadFlagConfigs, DEFAULT_LEGACY_UPLOADER } from '../constants/flags.js';
|
|
4
4
|
import { getWalletConfig } from '../prompts/wallet.js';
|
|
5
|
-
import { c as chalk
|
|
5
|
+
import { c as chalk } from '../chunks/chalk-BP_cCc9v.js';
|
|
6
6
|
import { extractFlags, resolveConfig } from '../utils/config-resolver.js';
|
|
7
|
-
import { b as formatUploadSize, c as formatUploadCost, f as formatDisplayRows, a as formatUploadError } from '../chunks/display-
|
|
7
|
+
import { b as formatUploadSize, c as formatUploadCost, f as formatDisplayRows, a as formatUploadError } from '../chunks/display-CZV6KUcG.js';
|
|
8
|
+
import { r as runUploadWorkflow, h as hyperbeamBundlerLink } from '../chunks/upload-workflow-f3hExxtV.js';
|
|
8
9
|
import { expandPath } from '../utils/path.js';
|
|
9
10
|
|
|
10
11
|
class Upload extends Command {
|
|
11
12
|
static args = {};
|
|
12
|
-
static description = "Upload a file or folder to Arweave
|
|
13
|
+
static description = "Upload a file or folder to Arweave without updating names";
|
|
13
14
|
static examples = [
|
|
14
15
|
"<%= config.bin %> upload --wallet ./wallet.json",
|
|
15
16
|
"<%= config.bin %> upload --wallet ./wallet.json --deploy-folder ./dist",
|
|
16
17
|
"<%= config.bin %> upload --wallet ./wallet.json --deploy-file ./dist/index.html",
|
|
17
|
-
'<%= config.bin %> upload --private-key "$(cat wallet.json)" --on-demand ario --max-token-amount 1.5',
|
|
18
|
-
"<%= config.bin %> upload --wallet ./wallet.json --uploader https://up.arweave.net",
|
|
19
18
|
"<%= config.bin %> upload --wallet ./wallet.json --uploader-type hyperbeam --uploader https://hyperbeam.example.com"
|
|
20
19
|
];
|
|
21
20
|
static flags = extractFlags(uploadFlagConfigs);
|
|
@@ -41,6 +40,7 @@ class Upload extends Command {
|
|
|
41
40
|
};
|
|
42
41
|
}
|
|
43
42
|
const effectiveCacheMaxEntries = baseConfig["no-dedupe"] ? 0 : baseConfig["dedupe-cache-max-entries"];
|
|
43
|
+
const uploader = baseConfig.uploader ?? (baseConfig["uploader-type"] === "legacy" ? DEFAULT_LEGACY_UPLOADER : void 0);
|
|
44
44
|
const uploadCfg = {
|
|
45
45
|
"dedupe-cache-max-entries": effectiveCacheMaxEntries,
|
|
46
46
|
"deploy-file": baseConfig["deploy-file"],
|
|
@@ -51,10 +51,8 @@ class Upload extends Command {
|
|
|
51
51
|
"hyperbeam-ledger-id": baseConfig["hyperbeam-ledger-id"],
|
|
52
52
|
"hyperbeam-token-id": baseConfig["hyperbeam-token-id"],
|
|
53
53
|
"hyperbeam-upload-path": baseConfig["hyperbeam-upload-path"],
|
|
54
|
-
"max-token-amount": baseConfig["max-token-amount"],
|
|
55
|
-
"on-demand": baseConfig["on-demand"],
|
|
56
54
|
"sig-type": baseConfig["sig-type"],
|
|
57
|
-
uploader
|
|
55
|
+
uploader,
|
|
58
56
|
"uploader-type": baseConfig["uploader-type"]
|
|
59
57
|
};
|
|
60
58
|
if (interactive) {
|
|
@@ -86,9 +84,10 @@ class Upload extends Command {
|
|
|
86
84
|
error: (msg) => this.error(msg)
|
|
87
85
|
});
|
|
88
86
|
const txOrManifestId = uploadResult.transactionId;
|
|
87
|
+
const effectiveUploader = uploadResult.uploader ?? uploadCfg.uploader;
|
|
89
88
|
this.log("");
|
|
90
89
|
const uploadSize = uploadResult.size;
|
|
91
|
-
const bundlerLink = uploadCfg["uploader-type"] === "hyperbeam" &&
|
|
90
|
+
const bundlerLink = uploadCfg["uploader-type"] === "hyperbeam" && effectiveUploader ? hyperbeamBundlerLink(effectiveUploader, txOrManifestId, !uploadCfg["deploy-file"]) : void 0;
|
|
92
91
|
const rows = [["Tx ID", chalk.green(txOrManifestId)]];
|
|
93
92
|
if (uploadSize) {
|
|
94
93
|
rows.push(["Upload size", chalk.blue(formatUploadSize(uploadSize))]);
|
|
@@ -96,9 +95,9 @@ class Upload extends Command {
|
|
|
96
95
|
if (uploadResult.cost) {
|
|
97
96
|
rows.push(["Upload cost", chalk.blue(formatUploadCost(uploadResult.cost))]);
|
|
98
97
|
}
|
|
99
|
-
if (
|
|
98
|
+
if (effectiveUploader) {
|
|
100
99
|
rows.push(
|
|
101
|
-
["Bundler service", chalk.cyan(
|
|
100
|
+
["Bundler service", chalk.cyan(effectiveUploader)],
|
|
102
101
|
["Uploader type", chalk.cyan(uploadCfg["uploader-type"])]
|
|
103
102
|
);
|
|
104
103
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload.js","sources":["../../src/commands/upload.ts"],"sourcesContent":["import fs from 'node:fs'\n\nimport { Command } from '@oclif/core'\n\nimport { type UploadConfig, uploadFlagConfigs } from '../constants/flags.js'\nimport { getWalletConfig } from '../prompts/wallet.js'\nimport { chalk } from '../utils/chalk.js'\nimport { extractFlags, resolveConfig } from '../utils/config-resolver.js'\nimport {\n type DisplayRow,\n formatDisplayRows,\n formatUploadCost,\n formatUploadError,\n formatUploadSize,\n} from '../utils/display.js'\nimport { hyperbeamBundlerLink } from '../utils/hyperbeam-uploader.js'\nimport { expandPath } from '../utils/path.js'\nimport { runUploadWorkflow } from '../workflows/upload-workflow.js'\n\nexport default class Upload extends Command {\n static override args = {}\n\n static override description = 'Upload a file or folder to Arweave via Turbo without updating ArNS'\n\n static override examples = [\n '<%= config.bin %> upload --wallet ./wallet.json',\n '<%= config.bin %> upload --wallet ./wallet.json --deploy-folder ./dist',\n '<%= config.bin %> upload --wallet ./wallet.json --deploy-file ./dist/index.html',\n '<%= config.bin %> upload --private-key \"$(cat wallet.json)\" --on-demand ario --max-token-amount 1.5',\n '<%= config.bin %> upload --wallet ./wallet.json --uploader https://up.arweave.net',\n '<%= config.bin %> upload --wallet ./wallet.json --uploader-type hyperbeam --uploader https://hyperbeam.example.com',\n ]\n\n static override flags = extractFlags(uploadFlagConfigs)\n\n public async run(): Promise<void> {\n try {\n const { flags } = await this.parse(Upload)\n\n const interactive = !flags.wallet && !flags['private-key'] && !process.env.DEPLOY_KEY?.trim()\n\n if (interactive) {\n this.log(chalk.bold(chalk.cyan('\\nInteractive upload mode\\n')))\n }\n\n const baseConfig = (await resolveConfig<typeof uploadFlagConfigs>(uploadFlagConfigs, flags, {\n interactive,\n })) as UploadConfig\n\n let walletConfig: { privateKey?: string; wallet?: string } = {\n privateKey: baseConfig['private-key'],\n wallet: baseConfig.wallet,\n }\n\n if (interactive && !baseConfig.wallet && !baseConfig['private-key']) {\n const config = await getWalletConfig()\n walletConfig = {\n privateKey: config.privateKey,\n wallet: config.wallet,\n }\n }\n\n const effectiveCacheMaxEntries = baseConfig['no-dedupe']\n ? 0\n : baseConfig['dedupe-cache-max-entries']\n\n const uploadCfg = {\n 'dedupe-cache-max-entries': effectiveCacheMaxEntries,\n 'deploy-file': baseConfig['deploy-file'],\n 'deploy-folder': baseConfig['deploy-folder'],\n 'hyperbeam-ao-state-url': baseConfig['hyperbeam-ao-state-url'],\n 'hyperbeam-auto-fund': baseConfig['hyperbeam-auto-fund'],\n 'hyperbeam-fund-amount': baseConfig['hyperbeam-fund-amount'],\n 'hyperbeam-ledger-id': baseConfig['hyperbeam-ledger-id'],\n 'hyperbeam-token-id': baseConfig['hyperbeam-token-id'],\n 'hyperbeam-upload-path': baseConfig['hyperbeam-upload-path'],\n 'max-token-amount': baseConfig['max-token-amount'],\n 'on-demand': baseConfig['on-demand'],\n 'sig-type': baseConfig['sig-type'],\n uploader: baseConfig.uploader,\n 'uploader-type': baseConfig['uploader-type'],\n }\n\n if (interactive) {\n this.log('')\n }\n\n const { privateKey, wallet } = walletConfig\n const sigType = uploadCfg['sig-type']\n\n let deployKey: string\n if (wallet) {\n const walletPath = expandPath(wallet)\n if (!fs.existsSync(walletPath)) {\n this.error(`Wallet file [${wallet}] does not exist`)\n }\n\n const walletContent = fs.readFileSync(walletPath, 'utf8')\n deployKey =\n sigType === 'arweave'\n ? Buffer.from(walletContent).toString('base64')\n : walletContent.trim()\n } else if (privateKey) {\n deployKey =\n sigType === 'arweave' ? Buffer.from(privateKey).toString('base64') : privateKey.trim()\n } else {\n deployKey = process.env.DEPLOY_KEY || ''\n if (!deployKey) {\n this.error(\n 'DEPLOY_KEY environment variable not set. Use --wallet, --private-key, or set DEPLOY_KEY',\n )\n }\n }\n\n this.log(chalk.bold(chalk.cyan('\\nStarting upload...\\n')))\n\n try {\n const uploadResult = await runUploadWorkflow(deployKey, uploadCfg, {\n error: (msg) => this.error(msg),\n })\n const txOrManifestId = uploadResult.transactionId\n\n this.log('')\n\n const uploadSize = uploadResult.size\n const bundlerLink =\n uploadCfg['uploader-type'] === 'hyperbeam' && uploadCfg.uploader\n ? hyperbeamBundlerLink(uploadCfg.uploader, txOrManifestId, !uploadCfg['deploy-file'])\n : undefined\n\n const rows: DisplayRow[] = [['Tx ID', chalk.green(txOrManifestId)]]\n if (uploadSize) {\n rows.push(['Upload size', chalk.blue(formatUploadSize(uploadSize))])\n }\n\n if (uploadResult.cost) {\n rows.push(['Upload cost', chalk.blue(formatUploadCost(uploadResult.cost))])\n }\n\n if (uploadCfg.uploader) {\n rows.push(\n ['Bundler service', chalk.cyan(uploadCfg.uploader)],\n ['Uploader type', chalk.cyan(uploadCfg['uploader-type'])],\n )\n }\n\n if (bundlerLink) {\n rows.push(['Bundler link', chalk.yellow(bundlerLink)])\n }\n\n rows.push(['Arweave URL', chalk.yellow(`https://arweave.net/${txOrManifestId}`)])\n\n this.log(chalk.bold(chalk.green('Upload successful!')))\n this.log(formatDisplayRows(rows))\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : String(error)\n const normalizedError = errorMessage.startsWith('Upload failed:')\n ? errorMessage.replace(/^Upload failed:\\s*/, '')\n : errorMessage\n\n if (!process.env.CI && process.stdout.isTTY) {\n this.log(`\\n${formatUploadError(normalizedError)}`)\n this.exit(1)\n }\n\n this.error(\n chalk.red(\n errorMessage.startsWith('Upload failed:')\n ? errorMessage\n : `Upload failed: ${errorMessage}`,\n ),\n )\n }\n } catch (error) {\n if (error instanceof Error && error.name === 'ExitPromptError') {\n this.log(chalk.yellow('\\n\\nUpload cancelled'))\n this.exit(0)\n }\n\n throw error\n }\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"upload.js","sources":["../../src/commands/upload.ts"],"sourcesContent":["import fs from 'node:fs'\n\nimport { Command } from '@oclif/core'\n\nimport {\n DEFAULT_LEGACY_UPLOADER,\n type UploadConfig,\n uploadFlagConfigs,\n} from '../constants/flags.js'\nimport { getWalletConfig } from '../prompts/wallet.js'\nimport { chalk } from '../utils/chalk.js'\nimport { extractFlags, resolveConfig } from '../utils/config-resolver.js'\nimport {\n type DisplayRow,\n formatDisplayRows,\n formatUploadCost,\n formatUploadError,\n formatUploadSize,\n} from '../utils/display.js'\nimport { hyperbeamBundlerLink } from '../utils/hyperbeam-uploader.js'\nimport { expandPath } from '../utils/path.js'\nimport { runUploadWorkflow } from '../workflows/upload-workflow.js'\n\nexport default class Upload extends Command {\n static override args = {}\n\n static override description = 'Upload a file or folder to Arweave without updating names'\n\n static override examples = [\n '<%= config.bin %> upload --wallet ./wallet.json',\n '<%= config.bin %> upload --wallet ./wallet.json --deploy-folder ./dist',\n '<%= config.bin %> upload --wallet ./wallet.json --deploy-file ./dist/index.html',\n '<%= config.bin %> upload --wallet ./wallet.json --uploader-type hyperbeam --uploader https://hyperbeam.example.com',\n ]\n\n static override flags = extractFlags(uploadFlagConfigs)\n\n public async run(): Promise<void> {\n try {\n const { flags } = await this.parse(Upload)\n\n const interactive = !flags.wallet && !flags['private-key'] && !process.env.DEPLOY_KEY?.trim()\n\n if (interactive) {\n this.log(chalk.bold(chalk.cyan('\\nInteractive upload mode\\n')))\n }\n\n const baseConfig = (await resolveConfig<typeof uploadFlagConfigs>(uploadFlagConfigs, flags, {\n interactive,\n })) as UploadConfig\n\n let walletConfig: { privateKey?: string; wallet?: string } = {\n privateKey: baseConfig['private-key'],\n wallet: baseConfig.wallet,\n }\n\n if (interactive && !baseConfig.wallet && !baseConfig['private-key']) {\n const config = await getWalletConfig()\n walletConfig = {\n privateKey: config.privateKey,\n wallet: config.wallet,\n }\n }\n\n const effectiveCacheMaxEntries = baseConfig['no-dedupe']\n ? 0\n : baseConfig['dedupe-cache-max-entries']\n const uploader =\n baseConfig.uploader ??\n (baseConfig['uploader-type'] === 'legacy' ? DEFAULT_LEGACY_UPLOADER : undefined)\n\n const uploadCfg = {\n 'dedupe-cache-max-entries': effectiveCacheMaxEntries,\n 'deploy-file': baseConfig['deploy-file'],\n 'deploy-folder': baseConfig['deploy-folder'],\n 'hyperbeam-ao-state-url': baseConfig['hyperbeam-ao-state-url'],\n 'hyperbeam-auto-fund': baseConfig['hyperbeam-auto-fund'],\n 'hyperbeam-fund-amount': baseConfig['hyperbeam-fund-amount'],\n 'hyperbeam-ledger-id': baseConfig['hyperbeam-ledger-id'],\n 'hyperbeam-token-id': baseConfig['hyperbeam-token-id'],\n 'hyperbeam-upload-path': baseConfig['hyperbeam-upload-path'],\n 'sig-type': baseConfig['sig-type'],\n uploader,\n 'uploader-type': baseConfig['uploader-type'],\n }\n\n if (interactive) {\n this.log('')\n }\n\n const { privateKey, wallet } = walletConfig\n const sigType = uploadCfg['sig-type']\n\n let deployKey: string\n if (wallet) {\n const walletPath = expandPath(wallet)\n if (!fs.existsSync(walletPath)) {\n this.error(`Wallet file [${wallet}] does not exist`)\n }\n\n const walletContent = fs.readFileSync(walletPath, 'utf8')\n deployKey =\n sigType === 'arweave'\n ? Buffer.from(walletContent).toString('base64')\n : walletContent.trim()\n } else if (privateKey) {\n deployKey =\n sigType === 'arweave' ? Buffer.from(privateKey).toString('base64') : privateKey.trim()\n } else {\n deployKey = process.env.DEPLOY_KEY || ''\n if (!deployKey) {\n this.error(\n 'DEPLOY_KEY environment variable not set. Use --wallet, --private-key, or set DEPLOY_KEY',\n )\n }\n }\n\n this.log(chalk.bold(chalk.cyan('\\nStarting upload...\\n')))\n\n try {\n const uploadResult = await runUploadWorkflow(deployKey, uploadCfg, {\n error: (msg) => this.error(msg),\n })\n const txOrManifestId = uploadResult.transactionId\n const effectiveUploader = uploadResult.uploader ?? uploadCfg.uploader\n\n this.log('')\n\n const uploadSize = uploadResult.size\n const bundlerLink =\n uploadCfg['uploader-type'] === 'hyperbeam' && effectiveUploader\n ? hyperbeamBundlerLink(effectiveUploader, txOrManifestId, !uploadCfg['deploy-file'])\n : undefined\n\n const rows: DisplayRow[] = [['Tx ID', chalk.green(txOrManifestId)]]\n if (uploadSize) {\n rows.push(['Upload size', chalk.blue(formatUploadSize(uploadSize))])\n }\n\n if (uploadResult.cost) {\n rows.push(['Upload cost', chalk.blue(formatUploadCost(uploadResult.cost))])\n }\n\n if (effectiveUploader) {\n rows.push(\n ['Bundler service', chalk.cyan(effectiveUploader)],\n ['Uploader type', chalk.cyan(uploadCfg['uploader-type'])],\n )\n }\n\n if (bundlerLink) {\n rows.push(['Bundler link', chalk.yellow(bundlerLink)])\n }\n\n rows.push(['Arweave URL', chalk.yellow(`https://arweave.net/${txOrManifestId}`)])\n\n this.log(chalk.bold(chalk.green('Upload successful!')))\n this.log(formatDisplayRows(rows))\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : String(error)\n const normalizedError = errorMessage.startsWith('Upload failed:')\n ? errorMessage.replace(/^Upload failed:\\s*/, '')\n : errorMessage\n\n if (!process.env.CI && process.stdout.isTTY) {\n this.log(`\\n${formatUploadError(normalizedError)}`)\n this.exit(1)\n }\n\n this.error(\n chalk.red(\n errorMessage.startsWith('Upload failed:')\n ? errorMessage\n : `Upload failed: ${errorMessage}`,\n ),\n )\n }\n } catch (error) {\n if (error instanceof Error && error.name === 'ExitPromptError') {\n this.log(chalk.yellow('\\n\\nUpload cancelled'))\n this.exit(0)\n }\n\n throw error\n }\n }\n}\n"],"names":[],"mappings":"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"}
|
package/dist/constants/flags.js
CHANGED
|
@@ -1,39 +1,13 @@
|
|
|
1
|
-
import { ARIO_MAINNET_PROCESS_ID } from '@ar.io/sdk';
|
|
2
1
|
import { Flags } from '@oclif/core';
|
|
3
|
-
import { promptArnsName, promptArioProcess } from '../prompts/arns.js';
|
|
4
2
|
import { promptDeployTarget } from '../prompts/deployment.js';
|
|
3
|
+
import { promptName } from '../prompts/names.js';
|
|
5
4
|
import { promptSignerType } from '../prompts/wallet.js';
|
|
6
5
|
import { createFlagConfig } from '../utils/config-resolver.js';
|
|
7
|
-
import {
|
|
8
|
-
import { validateFileExists, validateUndername, validateFolderExists, resolveArioProcess, validateTtl, validateArioProcess } from '../utils/validators.js';
|
|
6
|
+
import { validateFileExists, validateName, validateFolderExists } from '../utils/validators.js';
|
|
9
7
|
import { D as DEFAULT_CACHE_MAX_ENTRIES } from '../chunks/cache-BssFyqB-.js';
|
|
10
8
|
|
|
9
|
+
const DEFAULT_LEGACY_UPLOADER = "https://up.arweave.net";
|
|
11
10
|
const globalFlags = {
|
|
12
|
-
arioProcess: createFlagConfig({
|
|
13
|
-
flag: Flags.string({
|
|
14
|
-
char: "p",
|
|
15
|
-
default: ARIO_MAINNET_PROCESS_ID,
|
|
16
|
-
description: "The ARIO process to use (mainnet, testnet, or process ID)",
|
|
17
|
-
async parse(input) {
|
|
18
|
-
const validation = validateArioProcess(input);
|
|
19
|
-
if (validation !== true) {
|
|
20
|
-
throw new Error(validation);
|
|
21
|
-
}
|
|
22
|
-
return resolveArioProcess(input);
|
|
23
|
-
},
|
|
24
|
-
required: false
|
|
25
|
-
}),
|
|
26
|
-
prompt: promptArioProcess
|
|
27
|
-
}),
|
|
28
|
-
arnsName: createFlagConfig({
|
|
29
|
-
flag: Flags.string({
|
|
30
|
-
char: "n",
|
|
31
|
-
description: "The ArNS name to deploy to",
|
|
32
|
-
required: false
|
|
33
|
-
}),
|
|
34
|
-
prompt: promptArnsName,
|
|
35
|
-
triggersInteractive: true
|
|
36
|
-
}),
|
|
37
11
|
dedupeCacheMaxEntries: createFlagConfig({
|
|
38
12
|
flag: Flags.integer({
|
|
39
13
|
default: DEFAULT_CACHE_MAX_ENTRIES,
|
|
@@ -118,24 +92,45 @@ const globalFlags = {
|
|
|
118
92
|
required: false
|
|
119
93
|
})
|
|
120
94
|
}),
|
|
121
|
-
|
|
122
|
-
|
|
95
|
+
name: createFlagConfig({
|
|
96
|
+
flag: Flags.string({
|
|
97
|
+
char: "n",
|
|
98
|
+
description: "Namespace name to update with the deployed transaction ID",
|
|
99
|
+
async parse(input) {
|
|
100
|
+
const validation = validateName(input);
|
|
101
|
+
if (validation !== true) {
|
|
102
|
+
throw new Error(validation);
|
|
103
|
+
}
|
|
104
|
+
return input;
|
|
105
|
+
},
|
|
106
|
+
required: false
|
|
107
|
+
}),
|
|
108
|
+
prompt: promptName,
|
|
109
|
+
triggersInteractive: true
|
|
110
|
+
}),
|
|
111
|
+
namesGateway: createFlagConfig({
|
|
123
112
|
flag: Flags.string({
|
|
124
|
-
|
|
113
|
+
default: "https://arweave.net",
|
|
114
|
+
description: "Gateway used for names reference and namespace reads.",
|
|
125
115
|
required: false
|
|
126
116
|
})
|
|
127
117
|
}),
|
|
128
|
-
|
|
129
|
-
flag: Flags.
|
|
130
|
-
|
|
131
|
-
description: "Disable deduplication (do not cache or reuse previous uploads)",
|
|
118
|
+
namesGraphql: createFlagConfig({
|
|
119
|
+
flag: Flags.string({
|
|
120
|
+
description: "GraphQL endpoint used for names reference discovery.",
|
|
132
121
|
required: false
|
|
133
122
|
})
|
|
134
123
|
}),
|
|
135
|
-
|
|
124
|
+
namesNamespace: createFlagConfig({
|
|
136
125
|
flag: Flags.string({
|
|
137
|
-
description: "
|
|
138
|
-
|
|
126
|
+
description: "Namespace root reference or manifest ID used to resolve --name.",
|
|
127
|
+
required: false
|
|
128
|
+
})
|
|
129
|
+
}),
|
|
130
|
+
noDedupe: createFlagConfig({
|
|
131
|
+
flag: Flags.boolean({
|
|
132
|
+
default: false,
|
|
133
|
+
description: "Disable deduplication (do not cache or reuse previous uploads)",
|
|
139
134
|
required: false
|
|
140
135
|
})
|
|
141
136
|
}),
|
|
@@ -147,6 +142,12 @@ const globalFlags = {
|
|
|
147
142
|
required: false
|
|
148
143
|
})
|
|
149
144
|
}),
|
|
145
|
+
referenceId: createFlagConfig({
|
|
146
|
+
flag: Flags.string({
|
|
147
|
+
description: "Reference ID to update directly, bypassing namespace name lookup.",
|
|
148
|
+
required: false
|
|
149
|
+
})
|
|
150
|
+
}),
|
|
150
151
|
sigType: createFlagConfig({
|
|
151
152
|
flag: Flags.string({
|
|
152
153
|
char: "s",
|
|
@@ -157,54 +158,24 @@ const globalFlags = {
|
|
|
157
158
|
}),
|
|
158
159
|
prompt: promptSignerType
|
|
159
160
|
}),
|
|
160
|
-
ttlSeconds: createFlagConfig({
|
|
161
|
-
flag: Flags.string({
|
|
162
|
-
char: "t",
|
|
163
|
-
default: "60",
|
|
164
|
-
description: `ArNS TTL in seconds (${TTL_MIN}-${TTL_MAX})`,
|
|
165
|
-
async parse(input) {
|
|
166
|
-
const validation = validateTtl(input);
|
|
167
|
-
if (validation !== true) {
|
|
168
|
-
throw new Error(validation);
|
|
169
|
-
}
|
|
170
|
-
return input;
|
|
171
|
-
},
|
|
172
|
-
required: false
|
|
173
|
-
})
|
|
174
|
-
}),
|
|
175
|
-
undername: createFlagConfig({
|
|
176
|
-
flag: Flags.string({
|
|
177
|
-
char: "u",
|
|
178
|
-
default: "@",
|
|
179
|
-
description: "ANT undername to update",
|
|
180
|
-
async parse(input) {
|
|
181
|
-
const validation = validateUndername(input);
|
|
182
|
-
if (validation !== true) {
|
|
183
|
-
throw new Error(validation);
|
|
184
|
-
}
|
|
185
|
-
return input;
|
|
186
|
-
},
|
|
187
|
-
required: false
|
|
188
|
-
})
|
|
189
|
-
}),
|
|
190
161
|
uploader: createFlagConfig({
|
|
191
162
|
flag: Flags.string({
|
|
192
|
-
description: "Base URL of the bundler service to use.
|
|
163
|
+
description: "Base URL of the bundler service to use. Legacy uploads default to https://up.arweave.net; HyperBEAM uploads discover a PermawebOS uploader when omitted.",
|
|
193
164
|
required: false
|
|
194
165
|
})
|
|
195
166
|
}),
|
|
196
167
|
uploaderType: createFlagConfig({
|
|
197
168
|
flag: Flags.string({
|
|
198
|
-
default: "
|
|
199
|
-
description: "
|
|
200
|
-
options: ["
|
|
169
|
+
default: "legacy",
|
|
170
|
+
description: "Bundler protocol to use. legacy posts ANS-104 items to legacy upload endpoints; hyperbeam posts ANS-104 items to a HyperBEAM bundler route.",
|
|
171
|
+
options: ["legacy", "hyperbeam"],
|
|
201
172
|
required: false
|
|
202
173
|
})
|
|
203
174
|
}),
|
|
204
|
-
|
|
175
|
+
useNames: createFlagConfig({
|
|
205
176
|
flag: Flags.boolean({
|
|
206
177
|
default: false,
|
|
207
|
-
description: "Update
|
|
178
|
+
description: "Update a Permaweb Names reference after upload.",
|
|
208
179
|
required: false
|
|
209
180
|
})
|
|
210
181
|
}),
|
|
@@ -225,8 +196,6 @@ const globalFlags = {
|
|
|
225
196
|
})
|
|
226
197
|
};
|
|
227
198
|
const deployFlags = {
|
|
228
|
-
"ario-process": globalFlags.arioProcess.flag,
|
|
229
|
-
"arns-name": globalFlags.arnsName.flag,
|
|
230
199
|
"dedupe-cache-max-entries": globalFlags.dedupeCacheMaxEntries.flag,
|
|
231
200
|
"deploy-file": globalFlags.deployFile.flag,
|
|
232
201
|
"deploy-folder": globalFlags.deployFolder.flag,
|
|
@@ -236,23 +205,26 @@ const deployFlags = {
|
|
|
236
205
|
"hyperbeam-ledger-id": globalFlags.hyperbeamLedgerId.flag,
|
|
237
206
|
"hyperbeam-token-id": globalFlags.hyperbeamTokenId.flag,
|
|
238
207
|
"hyperbeam-upload-path": globalFlags.hyperbeamUploadPath.flag,
|
|
239
|
-
|
|
208
|
+
name: globalFlags.name.flag,
|
|
209
|
+
"names-gateway": globalFlags.namesGateway.flag,
|
|
210
|
+
"names-graphql": globalFlags.namesGraphql.flag,
|
|
211
|
+
"names-namespace": globalFlags.namesNamespace.flag,
|
|
240
212
|
"no-dedupe": globalFlags.noDedupe.flag,
|
|
241
|
-
"on-demand": globalFlags.onDemand.flag,
|
|
242
213
|
"private-key": globalFlags.privateKey.flag,
|
|
214
|
+
"reference-id": globalFlags.referenceId.flag,
|
|
243
215
|
"sig-type": globalFlags.sigType.flag,
|
|
244
|
-
"ttl-seconds": globalFlags.ttlSeconds.flag,
|
|
245
|
-
undername: globalFlags.undername.flag,
|
|
246
216
|
uploader: globalFlags.uploader.flag,
|
|
247
217
|
"uploader-type": globalFlags.uploaderType.flag,
|
|
248
|
-
"use-
|
|
218
|
+
"use-names": globalFlags.useNames.flag,
|
|
249
219
|
wallet: globalFlags.wallet.flag
|
|
250
220
|
};
|
|
251
|
-
const
|
|
252
|
-
|
|
253
|
-
"
|
|
254
|
-
"
|
|
255
|
-
|
|
221
|
+
const namesFlags = {
|
|
222
|
+
name: globalFlags.name.flag,
|
|
223
|
+
"names-gateway": globalFlags.namesGateway.flag,
|
|
224
|
+
"names-graphql": globalFlags.namesGraphql.flag,
|
|
225
|
+
"names-namespace": globalFlags.namesNamespace.flag,
|
|
226
|
+
"reference-id": globalFlags.referenceId.flag,
|
|
227
|
+
"use-names": globalFlags.useNames.flag
|
|
256
228
|
};
|
|
257
229
|
const walletFlags = {
|
|
258
230
|
"private-key": globalFlags.privateKey.flag,
|
|
@@ -260,8 +232,6 @@ const walletFlags = {
|
|
|
260
232
|
wallet: globalFlags.wallet.flag
|
|
261
233
|
};
|
|
262
234
|
const deployFlagConfigs = {
|
|
263
|
-
"ario-process": globalFlags.arioProcess,
|
|
264
|
-
"arns-name": globalFlags.arnsName,
|
|
265
235
|
"dedupe-cache-max-entries": globalFlags.dedupeCacheMaxEntries,
|
|
266
236
|
"deploy-file": globalFlags.deployFile,
|
|
267
237
|
"deploy-folder": globalFlags.deployFolder,
|
|
@@ -271,16 +241,17 @@ const deployFlagConfigs = {
|
|
|
271
241
|
"hyperbeam-ledger-id": globalFlags.hyperbeamLedgerId,
|
|
272
242
|
"hyperbeam-token-id": globalFlags.hyperbeamTokenId,
|
|
273
243
|
"hyperbeam-upload-path": globalFlags.hyperbeamUploadPath,
|
|
274
|
-
|
|
244
|
+
name: globalFlags.name,
|
|
245
|
+
"names-gateway": globalFlags.namesGateway,
|
|
246
|
+
"names-graphql": globalFlags.namesGraphql,
|
|
247
|
+
"names-namespace": globalFlags.namesNamespace,
|
|
275
248
|
"no-dedupe": globalFlags.noDedupe,
|
|
276
|
-
"on-demand": globalFlags.onDemand,
|
|
277
249
|
"private-key": globalFlags.privateKey,
|
|
250
|
+
"reference-id": globalFlags.referenceId,
|
|
278
251
|
"sig-type": globalFlags.sigType,
|
|
279
|
-
"ttl-seconds": globalFlags.ttlSeconds,
|
|
280
|
-
undername: globalFlags.undername,
|
|
281
252
|
uploader: globalFlags.uploader,
|
|
282
253
|
"uploader-type": globalFlags.uploaderType,
|
|
283
|
-
"use-
|
|
254
|
+
"use-names": globalFlags.useNames,
|
|
284
255
|
wallet: globalFlags.wallet
|
|
285
256
|
};
|
|
286
257
|
const uploadFlagConfigs = {
|
|
@@ -293,9 +264,7 @@ const uploadFlagConfigs = {
|
|
|
293
264
|
"hyperbeam-ledger-id": globalFlags.hyperbeamLedgerId,
|
|
294
265
|
"hyperbeam-token-id": globalFlags.hyperbeamTokenId,
|
|
295
266
|
"hyperbeam-upload-path": globalFlags.hyperbeamUploadPath,
|
|
296
|
-
"max-token-amount": globalFlags.maxTokenAmount,
|
|
297
267
|
"no-dedupe": globalFlags.noDedupe,
|
|
298
|
-
"on-demand": globalFlags.onDemand,
|
|
299
268
|
"private-key": globalFlags.privateKey,
|
|
300
269
|
"sig-type": globalFlags.sigType,
|
|
301
270
|
uploader: globalFlags.uploader,
|
|
@@ -303,5 +272,5 @@ const uploadFlagConfigs = {
|
|
|
303
272
|
wallet: globalFlags.wallet
|
|
304
273
|
};
|
|
305
274
|
|
|
306
|
-
export {
|
|
275
|
+
export { DEFAULT_LEGACY_UPLOADER, deployFlagConfigs, deployFlags, globalFlags, namesFlags, uploadFlagConfigs, walletFlags };
|
|
307
276
|
//# sourceMappingURL=flags.js.map
|