permaweb-deploy 3.4.3 → 3.4.4
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 +18 -14
- package/bin/run.js +0 -0
- package/dist/chunks/display-BgIiyBIu.js +60 -0
- package/dist/chunks/display-BgIiyBIu.js.map +1 -0
- package/dist/chunks/{upload-workflow-zlELdPNp.js → upload-workflow-DMKlwZve.js} +156 -19
- package/dist/chunks/upload-workflow-DMKlwZve.js.map +1 -0
- package/dist/chunks/{uploader-DDS_d-O_.js → uploader-CIHu22Fw.js} +5 -1
- package/dist/chunks/uploader-CIHu22Fw.js.map +1 -0
- package/dist/commands/deploy.js +99 -30
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/upload.js +28 -5
- package/dist/commands/upload.js.map +1 -1
- package/dist/constants/flags.js +9 -0
- package/dist/constants/flags.js.map +1 -1
- package/dist/src/commands/deploy.d.ts.map +1 -1
- package/dist/src/commands/upload.d.ts.map +1 -1
- package/dist/src/constants/flags.d.ts +5 -1
- package/dist/src/constants/flags.d.ts.map +1 -1
- package/dist/src/types/index.d.ts +1 -1
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/utils/__tests__/display.test.d.ts +2 -0
- package/dist/src/utils/__tests__/display.test.d.ts.map +1 -0
- package/dist/src/utils/display.d.ts +5 -0
- package/dist/src/utils/display.d.ts.map +1 -0
- package/dist/src/utils/hyperbeam-uploader.d.ts +36 -7
- package/dist/src/utils/hyperbeam-uploader.d.ts.map +1 -1
- package/dist/src/utils/uploader.d.ts +3 -1
- package/dist/src/utils/uploader.d.ts.map +1 -1
- package/dist/src/workflows/upload-workflow.d.ts +7 -1
- package/dist/src/workflows/upload-workflow.d.ts.map +1 -1
- package/dist/tests/setup.d.ts +1 -1
- package/dist/tests/setup.d.ts.map +1 -1
- package/dist/utils/uploader.js +1 -1
- package/dist/workflows/upload-workflow.js +2 -2
- package/package.json +25 -24
- package/dist/chunks/upload-workflow-zlELdPNp.js.map +0 -1
- package/dist/chunks/uploader-DDS_d-O_.js.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 boxen from 'boxen'\nimport chalk from 'chalk'\n// eslint-disable-next-line import/no-named-as-default\nimport Table from 'cli-table3'\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 { extractFlags, resolveConfig } from '../utils/config-resolver.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 your application to the permaweb'\n\n static override examples = [\n '<%= config.bin %> deploy # Interactive mode',\n '<%= config.bin %> deploy --arns-name my-app --wallet ./wallet.json',\n '<%= config.bin %> deploy --arns-name my-app --private-key \"$(cat wallet.json)\"',\n '<%= config.bin %> deploy --arns-name my-app --undername staging',\n '<%= config.bin %> deploy --arns-name my-app --deploy-file ./dist/index.html',\n '<%= config.bin %> deploy --arns-name my-app --sig-type ethereum --wallet ./private-key.txt',\n '<%= config.bin %> deploy --arns-name my-app --sig-type ethereum --private-key \"0x...\"',\n '<%= config.bin %> deploy --arns-name my-app --on-demand ario --max-token-amount 1000',\n '<%= config.bin %> deploy --arns-name my-app --uploader https://up.arweave.net',\n '<%= config.bin %> deploy --arns-name my-app --uploader-type hyperbeam --uploader https://hyperbeam.example.com',\n '<%= config.bin %> upload --wallet ./wallet.json # Upload only (no ArNS update)',\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 interactive = !flags['arns-name']\n\n if (interactive) {\n this.log(chalk.cyan.bold('\\nInteractive 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 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 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 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 const arioProcess = deployConfig['ario-process']\n\n this.log(chalk.cyan.bold('\\nStarting deployment...\\n'))\n try {\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(deployConfig['arns-name'])}`)\n const arnsNameRecord = await ario\n .getArNSRecord({ name: deployConfig['arns-name'] })\n .catch(() => {\n spinner.fail(`ArNS name ${chalk.red(deployConfig['arns-name'])} does not exist`)\n this.error(`ArNS name [${deployConfig['arns-name']}] does not exist`)\n })\n\n spinner.succeed(`ArNS record fetched for ${chalk.green(deployConfig['arns-name'])}`)\n\n const 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 isCI = Boolean(process.env.CI)\n const bundlerLink =\n deployConfig['uploader-type'] === 'hyperbeam' && deployConfig.uploader\n ? hyperbeamBundlerLink(deployConfig.uploader, txOrManifestId)\n : undefined\n\n if (isCI) {\n this.log('Deployment Successful!')\n this.log('Tx ID: ' + txOrManifestId)\n if (deployConfig.uploader) {\n this.log('Bundler service: ' + deployConfig.uploader)\n this.log('Uploader type: ' + deployConfig['uploader-type'])\n }\n\n if (bundlerLink) {\n this.log('Bundler link: ' + bundlerLink)\n }\n\n this.log('ArNS Name: ' + deployConfig['arns-name'])\n this.log('Undername: ' + deployConfig.undername)\n this.log('ANT: ' + arnsNameRecord.processId)\n this.log('ARIO Process: ' + arioProcess)\n this.log('TTL Seconds: ' + deployConfig['ttl-seconds'])\n this.log(`Arweave URL: https://arweave.net/${txOrManifestId}`)\n } else {\n const table = new Table({\n head: [chalk.cyan.bold('Property'), chalk.cyan.bold('Value')],\n style: {\n head: [],\n },\n })\n\n table.push(\n ['Tx ID', chalk.green(txOrManifestId)],\n ...(deployConfig.uploader\n ? ([\n ['Bundler service', chalk.cyan(deployConfig.uploader)],\n ['Uploader type', chalk.cyan(deployConfig['uploader-type'])],\n ] as [string, string][])\n : []),\n ...(bundlerLink\n ? ([['Bundler link', chalk.yellow(bundlerLink)]] as [string, string][])\n : []),\n ['ArNS Name', chalk.yellow(deployConfig['arns-name'])],\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 const successMessage = boxen(\n `${chalk.green.bold('Deployment Successful!')}\\n\\n${table.toString()}`,\n {\n borderColor: 'green',\n borderStyle: 'round',\n padding: 1,\n title: chalk.bold('Permaweb Deploy'),\n titleAlignment: 'center',\n },\n )\n\n this.log(`\\n${successMessage}`)\n }\n } catch (error) {\n this.error(\n chalk.red(`Deployment failed: ${error instanceof Error ? error.message : String(error)}`),\n )\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":[],"mappings":"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"}
|
|
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 boxen from 'boxen'\nimport chalk from 'chalk'\n// eslint-disable-next-line import/no-named-as-default\nimport Table from 'cli-table3'\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 { extractFlags, resolveConfig } from '../utils/config-resolver.js'\nimport { uploadErrorTable } 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.cyan.bold('\\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.cyan.bold('\\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 isCI = Boolean(process.env.CI)\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 if (isCI) {\n this.log('Deployment Successful!')\n this.log('Tx ID: ' + txOrManifestId)\n if (deployConfig.uploader) {\n this.log('Bundler service: ' + deployConfig.uploader)\n this.log('Uploader type: ' + deployConfig['uploader-type'])\n }\n\n if (bundlerLink) {\n this.log('Bundler link: ' + bundlerLink)\n }\n\n this.log(`Arweave URL: https://arweave.net/${txOrManifestId}`)\n } else {\n const table = new Table({\n style: {\n head: [],\n },\n })\n\n table.push(\n ['Tx ID', chalk.green(txOrManifestId)],\n ...(deployConfig.uploader\n ? ([\n ['Bundler service', chalk.cyan(deployConfig.uploader)],\n ['Uploader type', chalk.cyan(deployConfig['uploader-type'])],\n ] as [string, string][])\n : []),\n ...(bundlerLink\n ? ([['Bundler link', chalk.yellow(bundlerLink)]] as [string, string][])\n : []),\n ['Arweave URL', chalk.yellow(`https://arweave.net/${txOrManifestId}`)],\n )\n\n const successMessage = boxen(\n `${chalk.green.bold('Deployment Successful!')}\\n\\n${table.toString()}`,\n {\n borderColor: 'green',\n borderStyle: 'round',\n padding: 1,\n title: chalk.bold('Permaweb Deploy'),\n titleAlignment: 'center',\n },\n )\n\n this.log(`\\n${successMessage}`)\n }\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 isCI = Boolean(process.env.CI)\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 if (isCI) {\n this.log('Deployment Successful!')\n this.log('Tx ID: ' + txOrManifestId)\n if (deployConfig.uploader) {\n this.log('Bundler service: ' + deployConfig.uploader)\n this.log('Uploader type: ' + deployConfig['uploader-type'])\n }\n\n if (bundlerLink) {\n this.log('Bundler link: ' + bundlerLink)\n }\n\n this.log('ArNS Name: ' + arnsName)\n this.log('Undername: ' + deployConfig.undername)\n this.log('ANT: ' + arnsNameRecord.processId)\n this.log('ARIO Process: ' + arioProcess)\n this.log('TTL Seconds: ' + deployConfig['ttl-seconds'])\n this.log(`Arweave URL: https://arweave.net/${txOrManifestId}`)\n } else {\n const table = new Table({\n style: {\n head: [],\n },\n })\n\n table.push(\n ['Tx ID', chalk.green(txOrManifestId)],\n ...(deployConfig.uploader\n ? ([\n ['Bundler service', chalk.cyan(deployConfig.uploader)],\n ['Uploader type', chalk.cyan(deployConfig['uploader-type'])],\n ] as [string, string][])\n : []),\n ...(bundlerLink\n ? ([['Bundler link', chalk.yellow(bundlerLink)]] as [string, string][])\n : []),\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 const successMessage = boxen(\n `${chalk.green.bold('Deployment Successful!')}\\n\\n${table.toString()}`,\n {\n borderColor: 'green',\n borderStyle: 'round',\n padding: 1,\n title: chalk.bold('Permaweb Deploy'),\n titleAlignment: 'center',\n },\n )\n\n this.log(`\\n${successMessage}`)\n }\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${uploadErrorTable(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","isCI","bundlerLink"],"mappings":"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"}
|
package/dist/commands/upload.js
CHANGED
|
@@ -6,7 +6,8 @@ import Table from 'cli-table3';
|
|
|
6
6
|
import { uploadFlagConfigs } from '../constants/flags.js';
|
|
7
7
|
import { getWalletConfig } from '../prompts/wallet.js';
|
|
8
8
|
import { extractFlags, resolveConfig } from '../utils/config-resolver.js';
|
|
9
|
-
import {
|
|
9
|
+
import { f as formatUploadSize, a as formatUploadCost, u as uploadErrorTable } from '../chunks/display-BgIiyBIu.js';
|
|
10
|
+
import { r as runUploadWorkflow, h as hyperbeamBundlerLink } from '../chunks/upload-workflow-DMKlwZve.js';
|
|
10
11
|
import { expandPath } from '../utils/path.js';
|
|
11
12
|
|
|
12
13
|
class Upload extends Command {
|
|
@@ -84,15 +85,23 @@ class Upload extends Command {
|
|
|
84
85
|
}
|
|
85
86
|
this.log(chalk.cyan.bold("\nStarting upload...\n"));
|
|
86
87
|
try {
|
|
87
|
-
const
|
|
88
|
+
const uploadResult = await runUploadWorkflow(deployKey, uploadCfg, {
|
|
88
89
|
error: (msg) => this.error(msg)
|
|
89
90
|
});
|
|
91
|
+
const txOrManifestId = uploadResult.transactionId;
|
|
90
92
|
this.log("");
|
|
91
93
|
const isCI = Boolean(process.env.CI);
|
|
92
|
-
const
|
|
94
|
+
const uploadSize = uploadResult.size;
|
|
95
|
+
const bundlerLink = uploadCfg["uploader-type"] === "hyperbeam" && uploadCfg.uploader ? hyperbeamBundlerLink(uploadCfg.uploader, txOrManifestId, !uploadCfg["deploy-file"]) : void 0;
|
|
93
96
|
if (isCI) {
|
|
94
97
|
this.log("Upload successful!");
|
|
95
98
|
this.log("Tx ID: " + txOrManifestId);
|
|
99
|
+
if (uploadSize) {
|
|
100
|
+
this.log("Upload size: " + formatUploadSize(uploadSize));
|
|
101
|
+
}
|
|
102
|
+
if (uploadResult.cost) {
|
|
103
|
+
this.log("Upload cost: " + formatUploadCost(uploadResult.cost));
|
|
104
|
+
}
|
|
96
105
|
if (uploadCfg.uploader) {
|
|
97
106
|
this.log("Bundler service: " + uploadCfg.uploader);
|
|
98
107
|
this.log("Uploader type: " + uploadCfg["uploader-type"]);
|
|
@@ -103,10 +112,15 @@ class Upload extends Command {
|
|
|
103
112
|
this.log(`Arweave URL: https://arweave.net/${txOrManifestId}`);
|
|
104
113
|
} else {
|
|
105
114
|
const table = new Table({
|
|
106
|
-
head: [chalk.cyan.bold("Property"), chalk.cyan.bold("Value")],
|
|
107
115
|
style: { head: [] }
|
|
108
116
|
});
|
|
109
117
|
table.push(["Tx ID", chalk.green(txOrManifestId)]);
|
|
118
|
+
if (uploadSize) {
|
|
119
|
+
table.push(["Upload size", chalk.blue(formatUploadSize(uploadSize))]);
|
|
120
|
+
}
|
|
121
|
+
if (uploadResult.cost) {
|
|
122
|
+
table.push(["Upload cost", chalk.blue(formatUploadCost(uploadResult.cost))]);
|
|
123
|
+
}
|
|
110
124
|
if (uploadCfg.uploader) {
|
|
111
125
|
table.push(
|
|
112
126
|
["Bundler service", chalk.cyan(uploadCfg.uploader)],
|
|
@@ -133,8 +147,17 @@ ${table.toString()}`,
|
|
|
133
147
|
${successMessage}`);
|
|
134
148
|
}
|
|
135
149
|
} catch (error) {
|
|
150
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
151
|
+
const normalizedError = errorMessage.startsWith("Upload failed:") ? errorMessage.replace(/^Upload failed:\s*/, "") : errorMessage;
|
|
152
|
+
if (!process.env.CI && process.stdout.isTTY) {
|
|
153
|
+
this.log(`
|
|
154
|
+
${uploadErrorTable(normalizedError)}`);
|
|
155
|
+
this.exit(1);
|
|
156
|
+
}
|
|
136
157
|
this.error(
|
|
137
|
-
chalk.red(
|
|
158
|
+
chalk.red(
|
|
159
|
+
errorMessage.startsWith("Upload failed:") ? errorMessage : `Upload failed: ${errorMessage}`
|
|
160
|
+
)
|
|
138
161
|
);
|
|
139
162
|
}
|
|
140
163
|
} catch (error) {
|
|
@@ -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'\nimport boxen from 'boxen'\nimport chalk from 'chalk'\n// eslint-disable-next-line import/no-named-as-default\nimport Table from 'cli-table3'\n\nimport { type UploadConfig, uploadFlagConfigs } from '../constants/flags.js'\nimport { getWalletConfig } from '../prompts/wallet.js'\nimport { extractFlags, resolveConfig } from '../utils/config-resolver.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.cyan.bold('\\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.cyan.bold('\\nStarting upload...\\n'))\n\n try {\n const txOrManifestId = await runUploadWorkflow(deployKey, uploadCfg, {\n error: (msg) => this.error(msg),\n })\n\n this.log('')\n\n const isCI = Boolean(process.env.CI)\n const bundlerLink =\n uploadCfg['uploader-type'] === 'hyperbeam' && uploadCfg.uploader\n ? hyperbeamBundlerLink(uploadCfg.uploader, txOrManifestId)\n : undefined\n\n if (isCI) {\n this.log('Upload successful!')\n this.log('Tx ID: ' + txOrManifestId)\n if (uploadCfg.uploader) {\n this.log('Bundler service: ' + uploadCfg.uploader)\n this.log('Uploader type: ' + uploadCfg['uploader-type'])\n }\n\n if (bundlerLink) {\n this.log('Bundler link: ' + bundlerLink)\n }\n\n this.log(`Arweave URL: https://arweave.net/${txOrManifestId}`)\n } else {\n const table = new Table({\n head: [chalk.cyan.bold('Property'), chalk.cyan.bold('Value')],\n style: { head: [] },\n })\n\n table.push(['Tx ID', chalk.green(txOrManifestId)])\n\n if (uploadCfg.uploader) {\n table.push(\n ['Bundler service', chalk.cyan(uploadCfg.uploader)],\n ['Uploader type', chalk.cyan(uploadCfg['uploader-type'])],\n )\n }\n\n if (bundlerLink) {\n table.push(['Bundler link', chalk.yellow(bundlerLink)])\n }\n\n table.push(['Arweave URL', chalk.yellow(`https://arweave.net/${txOrManifestId}`)])\n\n const successMessage = boxen(\n `${chalk.green.bold('Upload successful!')}\\n\\n${table.toString()}`,\n {\n borderColor: 'green',\n borderStyle: 'round',\n padding: 1,\n title: chalk.bold('Permaweb Deploy'),\n titleAlignment: 'center',\n },\n )\n\n this.log(`\\n${successMessage}`)\n }\n } catch (error) {\n this.error(\n chalk.red(`Upload failed: ${error instanceof Error ? error.message : String(error)}`),\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'\nimport boxen from 'boxen'\nimport chalk from 'chalk'\n// eslint-disable-next-line import/no-named-as-default\nimport Table from 'cli-table3'\n\nimport { type UploadConfig, uploadFlagConfigs } from '../constants/flags.js'\nimport { getWalletConfig } from '../prompts/wallet.js'\nimport { extractFlags, resolveConfig } from '../utils/config-resolver.js'\nimport { formatUploadCost, formatUploadSize, uploadErrorTable } 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.cyan.bold('\\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.cyan.bold('\\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 isCI = Boolean(process.env.CI)\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 if (isCI) {\n this.log('Upload successful!')\n this.log('Tx ID: ' + txOrManifestId)\n if (uploadSize) {\n this.log('Upload size: ' + formatUploadSize(uploadSize))\n }\n\n if (uploadResult.cost) {\n this.log('Upload cost: ' + formatUploadCost(uploadResult.cost))\n }\n\n if (uploadCfg.uploader) {\n this.log('Bundler service: ' + uploadCfg.uploader)\n this.log('Uploader type: ' + uploadCfg['uploader-type'])\n }\n\n if (bundlerLink) {\n this.log('Bundler link: ' + bundlerLink)\n }\n\n this.log(`Arweave URL: https://arweave.net/${txOrManifestId}`)\n } else {\n const table = new Table({\n style: { head: [] },\n })\n\n table.push(['Tx ID', chalk.green(txOrManifestId)])\n if (uploadSize) {\n table.push(['Upload size', chalk.blue(formatUploadSize(uploadSize))])\n }\n\n if (uploadResult.cost) {\n table.push(['Upload cost', chalk.blue(formatUploadCost(uploadResult.cost))])\n }\n\n if (uploadCfg.uploader) {\n table.push(\n ['Bundler service', chalk.cyan(uploadCfg.uploader)],\n ['Uploader type', chalk.cyan(uploadCfg['uploader-type'])],\n )\n }\n\n if (bundlerLink) {\n table.push(['Bundler link', chalk.yellow(bundlerLink)])\n }\n\n table.push(['Arweave URL', chalk.yellow(`https://arweave.net/${txOrManifestId}`)])\n\n const successMessage = boxen(\n `${chalk.green.bold('Upload successful!')}\\n\\n${table.toString()}`,\n {\n borderColor: 'green',\n borderStyle: 'round',\n padding: 1,\n title: chalk.bold('Permaweb Deploy'),\n titleAlignment: 'center',\n },\n )\n\n this.log(`\\n${successMessage}`)\n }\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${uploadErrorTable(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
|
@@ -201,6 +201,13 @@ const globalFlags = {
|
|
|
201
201
|
required: false
|
|
202
202
|
})
|
|
203
203
|
}),
|
|
204
|
+
useArns: createFlagConfig({
|
|
205
|
+
flag: Flags.boolean({
|
|
206
|
+
default: false,
|
|
207
|
+
description: "Update an ArNS/ANT record after upload.",
|
|
208
|
+
required: false
|
|
209
|
+
})
|
|
210
|
+
}),
|
|
204
211
|
wallet: createFlagConfig({
|
|
205
212
|
flag: Flags.string({
|
|
206
213
|
char: "w",
|
|
@@ -238,6 +245,7 @@ const deployFlags = {
|
|
|
238
245
|
undername: globalFlags.undername.flag,
|
|
239
246
|
uploader: globalFlags.uploader.flag,
|
|
240
247
|
"uploader-type": globalFlags.uploaderType.flag,
|
|
248
|
+
"use-arns": globalFlags.useArns.flag,
|
|
241
249
|
wallet: globalFlags.wallet.flag
|
|
242
250
|
};
|
|
243
251
|
const arnsFlags = {
|
|
@@ -272,6 +280,7 @@ const deployFlagConfigs = {
|
|
|
272
280
|
undername: globalFlags.undername,
|
|
273
281
|
uploader: globalFlags.uploader,
|
|
274
282
|
"uploader-type": globalFlags.uploaderType,
|
|
283
|
+
"use-arns": globalFlags.useArns,
|
|
275
284
|
wallet: globalFlags.wallet
|
|
276
285
|
};
|
|
277
286
|
const uploadFlagConfigs = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flags.js","sources":["../../src/constants/flags.ts"],"sourcesContent":["import { ARIO_MAINNET_PROCESS_ID } from '@ar.io/sdk'\nimport { Flags } from '@oclif/core'\n\nimport { promptArioProcess, promptArnsName } from '../prompts/arns.js'\nimport { promptDeployTarget } from '../prompts/deployment.js'\nimport { promptSignerType } from '../prompts/wallet.js'\nimport { createFlagConfig, type ResolvedConfig } from '../utils/config-resolver.js'\nimport { TTL_MAX, TTL_MIN } from '../utils/constants.js'\nimport {\n resolveArioProcess,\n validateArioProcess,\n validateFileExists,\n validateFolderExists,\n validateTtl,\n validateUndername,\n} from '../utils/validators.js'\nimport { DEFAULT_CACHE_MAX_ENTRIES } from './cache.js'\n\n/**\n * Global flag definitions - single source of truth for all flags\n * Each flag includes its oclif definition and optional prompt function\n */\nexport const globalFlags = {\n arioProcess: createFlagConfig<string>({\n flag: Flags.string({\n char: 'p',\n default: ARIO_MAINNET_PROCESS_ID,\n description: 'The ARIO process to use (mainnet, testnet, or process ID)',\n async parse(input) {\n const validation = validateArioProcess(input)\n if (validation !== true) {\n throw new Error(validation)\n }\n\n return resolveArioProcess(input)\n },\n required: false,\n }),\n prompt: promptArioProcess,\n }),\n arnsName: createFlagConfig<string>({\n flag: Flags.string({\n char: 'n',\n description: 'The ArNS name to deploy to',\n required: false,\n }),\n prompt: promptArnsName,\n triggersInteractive: true,\n }),\n dedupeCacheMaxEntries: createFlagConfig<number>({\n flag: Flags.integer({\n default: DEFAULT_CACHE_MAX_ENTRIES,\n description: 'Maximum number of entries to keep in the dedupe cache (LRU)',\n min: 0,\n required: false,\n }),\n }),\n deployFile: createFlagConfig<string | undefined>({\n flag: Flags.string({\n char: 'f',\n description: 'File to deploy (overrides deploy-folder)',\n async parse(input) {\n const validation = validateFileExists(input)\n if (validation !== true) {\n throw new Error(validation)\n }\n\n return input\n },\n required: false,\n }),\n async prompt() {\n const target = await promptDeployTarget()\n return target.type === 'file' ? target.path : undefined\n },\n }),\n deployFolder: createFlagConfig<string>({\n flag: Flags.string({\n char: 'd',\n default: './dist',\n description: 'Folder to deploy',\n async parse(input) {\n const validation = validateFolderExists(input)\n if (validation !== true) {\n throw new Error(validation)\n }\n\n return input\n },\n required: false,\n }),\n async prompt() {\n const target = await promptDeployTarget()\n return target.type === 'folder' ? target.path : './dist'\n },\n }),\n hyperbeamAoStateUrl: createFlagConfig<string>({\n flag: Flags.string({\n default: 'https://state.forward.computer',\n description: 'AO state endpoint used to wait for HyperBEAM auto-fund transfer assignment.',\n required: false,\n }),\n }),\n hyperbeamAutoFund: createFlagConfig<boolean>({\n flag: Flags.boolean({\n default: false,\n description: 'Automatically fund the HyperBEAM local ledger before upload.',\n required: false,\n }),\n }),\n hyperbeamFundAmount: createFlagConfig<string | undefined>({\n flag: Flags.string({\n description: 'Optional minimum HyperBEAM local ledger balance override, in token base units.',\n required: false,\n }),\n }),\n hyperbeamLedgerId: createFlagConfig<string | undefined>({\n flag: Flags.string({\n description: 'Advanced: local HyperBEAM ledger ID to use for AO auto-funding.',\n required: false,\n }),\n }),\n hyperbeamTokenId: createFlagConfig<string | undefined>({\n flag: Flags.string({\n description: 'Advanced: AO token process ID to use for HyperBEAM auto-funding.',\n required: false,\n }),\n }),\n hyperbeamUploadPath: createFlagConfig<string>({\n flag: Flags.string({\n default: '/~bundler@1.0/item?codec-device=ans104@1.0',\n description: 'HyperBEAM bundler route used when --uploader-type hyperbeam is set.',\n required: false,\n }),\n }),\n // Advanced payment settings\n maxTokenAmount: createFlagConfig<string | undefined>({\n flag: Flags.string({\n description: 'Maximum token amount for on-demand payment',\n required: false,\n }),\n }),\n noDedupe: createFlagConfig<boolean>({\n flag: Flags.boolean({\n default: false,\n description: 'Disable deduplication (do not cache or reuse previous uploads)',\n required: false,\n }),\n }),\n onDemand: createFlagConfig<string | undefined>({\n flag: Flags.string({\n description: 'Enable on-demand payment with specified token (ario or base-eth)',\n options: ['ario', 'base-eth'],\n required: false,\n }),\n }),\n privateKey: createFlagConfig<string | undefined>({\n flag: Flags.string({\n char: 'k',\n description: 'Private key or JWK JSON string (alternative to --wallet)',\n exclusive: ['wallet'],\n required: false,\n }),\n }),\n sigType: createFlagConfig<string>({\n flag: Flags.string({\n char: 's',\n default: 'arweave',\n description: 'Signer type for deployment',\n options: ['arweave', 'ethereum', 'polygon', 'kyve'],\n required: false,\n }),\n prompt: promptSignerType,\n }),\n ttlSeconds: createFlagConfig<string>({\n flag: Flags.string({\n char: 't',\n default: '60',\n description: `ArNS TTL in seconds (${TTL_MIN}-${TTL_MAX})`,\n async parse(input) {\n const validation = validateTtl(input)\n if (validation !== true) {\n throw new Error(validation)\n }\n\n return input\n },\n required: false,\n }),\n }),\n undername: createFlagConfig<string>({\n flag: Flags.string({\n char: 'u',\n default: '@',\n description: 'ANT undername to update',\n async parse(input) {\n const validation = validateUndername(input)\n if (validation !== true) {\n throw new Error(validation)\n }\n\n return input\n },\n required: false,\n }),\n }),\n uploader: createFlagConfig<string | undefined>({\n flag: Flags.string({\n description:\n 'Base URL of the bundler service to use. For Turbo, omit for ArDrive production: https://upload.ardrive.io. For HyperBEAM, pass the node URL, for example https://hyperbeam.example.com.',\n required: false,\n }),\n }),\n uploaderType: createFlagConfig<string>({\n flag: Flags.string({\n default: 'turbo',\n description:\n 'Uploader protocol to use. turbo uses the Turbo bundler API; hyperbeam signs ANS-104 items and posts them to a HyperBEAM bundler route.',\n options: ['turbo', 'hyperbeam'],\n required: false,\n }),\n }),\n wallet: createFlagConfig<string | undefined>({\n flag: Flags.string({\n char: 'w',\n description: 'Path to wallet file (JWK for Arweave, private key for others)',\n exclusive: ['private-key'],\n async parse(input) {\n const validation = validateFileExists(input)\n if (validation !== true) {\n throw new Error(validation)\n }\n\n return input\n },\n required: false,\n }),\n }),\n}\n\n/**\n * Complete set of flags for the deploy command\n */\nexport const deployFlags = {\n 'ario-process': globalFlags.arioProcess.flag,\n 'arns-name': globalFlags.arnsName.flag,\n 'dedupe-cache-max-entries': globalFlags.dedupeCacheMaxEntries.flag,\n 'deploy-file': globalFlags.deployFile.flag,\n 'deploy-folder': globalFlags.deployFolder.flag,\n 'hyperbeam-ao-state-url': globalFlags.hyperbeamAoStateUrl.flag,\n 'hyperbeam-auto-fund': globalFlags.hyperbeamAutoFund.flag,\n 'hyperbeam-fund-amount': globalFlags.hyperbeamFundAmount.flag,\n 'hyperbeam-ledger-id': globalFlags.hyperbeamLedgerId.flag,\n 'hyperbeam-token-id': globalFlags.hyperbeamTokenId.flag,\n 'hyperbeam-upload-path': globalFlags.hyperbeamUploadPath.flag,\n 'max-token-amount': globalFlags.maxTokenAmount.flag,\n 'no-dedupe': globalFlags.noDedupe.flag,\n 'on-demand': globalFlags.onDemand.flag,\n 'private-key': globalFlags.privateKey.flag,\n 'sig-type': globalFlags.sigType.flag,\n 'ttl-seconds': globalFlags.ttlSeconds.flag,\n undername: globalFlags.undername.flag,\n uploader: globalFlags.uploader.flag,\n 'uploader-type': globalFlags.uploaderType.flag,\n wallet: globalFlags.wallet.flag,\n}\n\n/**\n * ArNS-specific flags (subset of deploy flags)\n */\nexport const arnsFlags = {\n 'ario-process': globalFlags.arioProcess.flag,\n 'arns-name': globalFlags.arnsName.flag,\n 'ttl-seconds': globalFlags.ttlSeconds.flag,\n undername: globalFlags.undername.flag,\n}\n\n/**\n * Wallet/authentication flags (subset of deploy flags)\n */\nexport const walletFlags = {\n 'private-key': globalFlags.privateKey.flag,\n 'sig-type': globalFlags.sigType.flag,\n wallet: globalFlags.wallet.flag,\n}\n\n/**\n * Deploy command configuration type\n */\nexport interface DeployConfig {\n 'ario-process': string\n 'arns-name': string\n 'dedupe-cache-max-entries': number\n 'deploy-file'?: string\n 'deploy-folder': string\n 'hyperbeam-ao-state-url': string\n 'hyperbeam-auto-fund': boolean\n 'hyperbeam-fund-amount'?: string\n 'hyperbeam-ledger-id'?: string\n 'hyperbeam-token-id'?: string\n 'hyperbeam-upload-path': string\n 'max-token-amount'?: string\n 'no-dedupe': boolean\n 'on-demand'?: string\n 'private-key'?: string\n 'sig-type': string\n 'ttl-seconds': string\n undername: string\n uploader?: string\n 'uploader-type': string\n wallet?: string\n}\n\n/**\n * Deploy command flag configurations\n * Maps kebab-case flag names to their camelCase globalFlags definitions\n */\nexport const deployFlagConfigs = {\n 'ario-process': globalFlags.arioProcess,\n 'arns-name': globalFlags.arnsName,\n 'dedupe-cache-max-entries': globalFlags.dedupeCacheMaxEntries,\n 'deploy-file': globalFlags.deployFile,\n 'deploy-folder': globalFlags.deployFolder,\n 'hyperbeam-ao-state-url': globalFlags.hyperbeamAoStateUrl,\n 'hyperbeam-auto-fund': globalFlags.hyperbeamAutoFund,\n 'hyperbeam-fund-amount': globalFlags.hyperbeamFundAmount,\n 'hyperbeam-ledger-id': globalFlags.hyperbeamLedgerId,\n 'hyperbeam-token-id': globalFlags.hyperbeamTokenId,\n 'hyperbeam-upload-path': globalFlags.hyperbeamUploadPath,\n 'max-token-amount': globalFlags.maxTokenAmount,\n 'no-dedupe': globalFlags.noDedupe,\n 'on-demand': globalFlags.onDemand,\n 'private-key': globalFlags.privateKey,\n 'sig-type': globalFlags.sigType,\n 'ttl-seconds': globalFlags.ttlSeconds,\n undername: globalFlags.undername,\n uploader: globalFlags.uploader,\n 'uploader-type': globalFlags.uploaderType,\n wallet: globalFlags.wallet,\n} as const\n\n/**\n * Upload command — file/folder to Arweave via Turbo without updating ArNS\n */\nexport const uploadFlagConfigs = {\n 'dedupe-cache-max-entries': globalFlags.dedupeCacheMaxEntries,\n 'deploy-file': globalFlags.deployFile,\n 'deploy-folder': globalFlags.deployFolder,\n 'hyperbeam-ao-state-url': globalFlags.hyperbeamAoStateUrl,\n 'hyperbeam-auto-fund': globalFlags.hyperbeamAutoFund,\n 'hyperbeam-fund-amount': globalFlags.hyperbeamFundAmount,\n 'hyperbeam-ledger-id': globalFlags.hyperbeamLedgerId,\n 'hyperbeam-token-id': globalFlags.hyperbeamTokenId,\n 'hyperbeam-upload-path': globalFlags.hyperbeamUploadPath,\n 'max-token-amount': globalFlags.maxTokenAmount,\n 'no-dedupe': globalFlags.noDedupe,\n 'on-demand': globalFlags.onDemand,\n 'private-key': globalFlags.privateKey,\n 'sig-type': globalFlags.sigType,\n uploader: globalFlags.uploader,\n 'uploader-type': globalFlags.uploaderType,\n wallet: globalFlags.wallet,\n} as const\n\nexport type UploadConfig = ResolvedConfig<typeof uploadFlagConfigs>\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"flags.js","sources":["../../src/constants/flags.ts"],"sourcesContent":["import { ARIO_MAINNET_PROCESS_ID } from '@ar.io/sdk'\nimport { Flags } from '@oclif/core'\n\nimport { promptArioProcess, promptArnsName } from '../prompts/arns.js'\nimport { promptDeployTarget } from '../prompts/deployment.js'\nimport { promptSignerType } from '../prompts/wallet.js'\nimport { createFlagConfig, type ResolvedConfig } from '../utils/config-resolver.js'\nimport { TTL_MAX, TTL_MIN } from '../utils/constants.js'\nimport {\n resolveArioProcess,\n validateArioProcess,\n validateFileExists,\n validateFolderExists,\n validateTtl,\n validateUndername,\n} from '../utils/validators.js'\nimport { DEFAULT_CACHE_MAX_ENTRIES } from './cache.js'\n\n/**\n * Global flag definitions - single source of truth for all flags\n * Each flag includes its oclif definition and optional prompt function\n */\nexport const globalFlags = {\n arioProcess: createFlagConfig<string>({\n flag: Flags.string({\n char: 'p',\n default: ARIO_MAINNET_PROCESS_ID,\n description: 'The ARIO process to use (mainnet, testnet, or process ID)',\n async parse(input) {\n const validation = validateArioProcess(input)\n if (validation !== true) {\n throw new Error(validation)\n }\n\n return resolveArioProcess(input)\n },\n required: false,\n }),\n prompt: promptArioProcess,\n }),\n arnsName: createFlagConfig<string>({\n flag: Flags.string({\n char: 'n',\n description: 'The ArNS name to deploy to',\n required: false,\n }),\n prompt: promptArnsName,\n triggersInteractive: true,\n }),\n dedupeCacheMaxEntries: createFlagConfig<number>({\n flag: Flags.integer({\n default: DEFAULT_CACHE_MAX_ENTRIES,\n description: 'Maximum number of entries to keep in the dedupe cache (LRU)',\n min: 0,\n required: false,\n }),\n }),\n deployFile: createFlagConfig<string | undefined>({\n flag: Flags.string({\n char: 'f',\n description: 'File to deploy (overrides deploy-folder)',\n async parse(input) {\n const validation = validateFileExists(input)\n if (validation !== true) {\n throw new Error(validation)\n }\n\n return input\n },\n required: false,\n }),\n async prompt() {\n const target = await promptDeployTarget()\n return target.type === 'file' ? target.path : undefined\n },\n }),\n deployFolder: createFlagConfig<string>({\n flag: Flags.string({\n char: 'd',\n default: './dist',\n description: 'Folder to deploy',\n async parse(input) {\n const validation = validateFolderExists(input)\n if (validation !== true) {\n throw new Error(validation)\n }\n\n return input\n },\n required: false,\n }),\n async prompt() {\n const target = await promptDeployTarget()\n return target.type === 'folder' ? target.path : './dist'\n },\n }),\n hyperbeamAoStateUrl: createFlagConfig<string>({\n flag: Flags.string({\n default: 'https://state.forward.computer',\n description: 'AO state endpoint used to wait for HyperBEAM auto-fund transfer assignment.',\n required: false,\n }),\n }),\n hyperbeamAutoFund: createFlagConfig<boolean>({\n flag: Flags.boolean({\n default: false,\n description: 'Automatically fund the HyperBEAM local ledger before upload.',\n required: false,\n }),\n }),\n hyperbeamFundAmount: createFlagConfig<string | undefined>({\n flag: Flags.string({\n description: 'Optional minimum HyperBEAM local ledger balance override, in token base units.',\n required: false,\n }),\n }),\n hyperbeamLedgerId: createFlagConfig<string | undefined>({\n flag: Flags.string({\n description: 'Advanced: local HyperBEAM ledger ID to use for AO auto-funding.',\n required: false,\n }),\n }),\n hyperbeamTokenId: createFlagConfig<string | undefined>({\n flag: Flags.string({\n description: 'Advanced: AO token process ID to use for HyperBEAM auto-funding.',\n required: false,\n }),\n }),\n hyperbeamUploadPath: createFlagConfig<string>({\n flag: Flags.string({\n default: '/~bundler@1.0/item?codec-device=ans104@1.0',\n description: 'HyperBEAM bundler route used when --uploader-type hyperbeam is set.',\n required: false,\n }),\n }),\n // Advanced payment settings\n maxTokenAmount: createFlagConfig<string | undefined>({\n flag: Flags.string({\n description: 'Maximum token amount for on-demand payment',\n required: false,\n }),\n }),\n noDedupe: createFlagConfig<boolean>({\n flag: Flags.boolean({\n default: false,\n description: 'Disable deduplication (do not cache or reuse previous uploads)',\n required: false,\n }),\n }),\n onDemand: createFlagConfig<string | undefined>({\n flag: Flags.string({\n description: 'Enable on-demand payment with specified token (ario or base-eth)',\n options: ['ario', 'base-eth'],\n required: false,\n }),\n }),\n privateKey: createFlagConfig<string | undefined>({\n flag: Flags.string({\n char: 'k',\n description: 'Private key or JWK JSON string (alternative to --wallet)',\n exclusive: ['wallet'],\n required: false,\n }),\n }),\n sigType: createFlagConfig<string>({\n flag: Flags.string({\n char: 's',\n default: 'arweave',\n description: 'Signer type for deployment',\n options: ['arweave', 'ethereum', 'polygon', 'kyve'],\n required: false,\n }),\n prompt: promptSignerType,\n }),\n ttlSeconds: createFlagConfig<string>({\n flag: Flags.string({\n char: 't',\n default: '60',\n description: `ArNS TTL in seconds (${TTL_MIN}-${TTL_MAX})`,\n async parse(input) {\n const validation = validateTtl(input)\n if (validation !== true) {\n throw new Error(validation)\n }\n\n return input\n },\n required: false,\n }),\n }),\n undername: createFlagConfig<string>({\n flag: Flags.string({\n char: 'u',\n default: '@',\n description: 'ANT undername to update',\n async parse(input) {\n const validation = validateUndername(input)\n if (validation !== true) {\n throw new Error(validation)\n }\n\n return input\n },\n required: false,\n }),\n }),\n uploader: createFlagConfig<string | undefined>({\n flag: Flags.string({\n description:\n 'Base URL of the bundler service to use. For Turbo, omit for ArDrive production: https://upload.ardrive.io. For HyperBEAM, pass the node URL, for example https://hyperbeam.example.com.',\n required: false,\n }),\n }),\n uploaderType: createFlagConfig<string>({\n flag: Flags.string({\n default: 'turbo',\n description:\n 'Uploader protocol to use. turbo uses the Turbo bundler API; hyperbeam signs ANS-104 items and posts them to a HyperBEAM bundler route.',\n options: ['turbo', 'hyperbeam'],\n required: false,\n }),\n }),\n useArns: createFlagConfig<boolean>({\n flag: Flags.boolean({\n default: false,\n description: 'Update an ArNS/ANT record after upload.',\n required: false,\n }),\n }),\n wallet: createFlagConfig<string | undefined>({\n flag: Flags.string({\n char: 'w',\n description: 'Path to wallet file (JWK for Arweave, private key for others)',\n exclusive: ['private-key'],\n async parse(input) {\n const validation = validateFileExists(input)\n if (validation !== true) {\n throw new Error(validation)\n }\n\n return input\n },\n required: false,\n }),\n }),\n}\n\n/**\n * Complete set of flags for the deploy command\n */\nexport const deployFlags = {\n 'ario-process': globalFlags.arioProcess.flag,\n 'arns-name': globalFlags.arnsName.flag,\n 'dedupe-cache-max-entries': globalFlags.dedupeCacheMaxEntries.flag,\n 'deploy-file': globalFlags.deployFile.flag,\n 'deploy-folder': globalFlags.deployFolder.flag,\n 'hyperbeam-ao-state-url': globalFlags.hyperbeamAoStateUrl.flag,\n 'hyperbeam-auto-fund': globalFlags.hyperbeamAutoFund.flag,\n 'hyperbeam-fund-amount': globalFlags.hyperbeamFundAmount.flag,\n 'hyperbeam-ledger-id': globalFlags.hyperbeamLedgerId.flag,\n 'hyperbeam-token-id': globalFlags.hyperbeamTokenId.flag,\n 'hyperbeam-upload-path': globalFlags.hyperbeamUploadPath.flag,\n 'max-token-amount': globalFlags.maxTokenAmount.flag,\n 'no-dedupe': globalFlags.noDedupe.flag,\n 'on-demand': globalFlags.onDemand.flag,\n 'private-key': globalFlags.privateKey.flag,\n 'sig-type': globalFlags.sigType.flag,\n 'ttl-seconds': globalFlags.ttlSeconds.flag,\n undername: globalFlags.undername.flag,\n uploader: globalFlags.uploader.flag,\n 'uploader-type': globalFlags.uploaderType.flag,\n 'use-arns': globalFlags.useArns.flag,\n wallet: globalFlags.wallet.flag,\n}\n\n/**\n * ArNS-specific flags (subset of deploy flags)\n */\nexport const arnsFlags = {\n 'ario-process': globalFlags.arioProcess.flag,\n 'arns-name': globalFlags.arnsName.flag,\n 'ttl-seconds': globalFlags.ttlSeconds.flag,\n undername: globalFlags.undername.flag,\n}\n\n/**\n * Wallet/authentication flags (subset of deploy flags)\n */\nexport const walletFlags = {\n 'private-key': globalFlags.privateKey.flag,\n 'sig-type': globalFlags.sigType.flag,\n wallet: globalFlags.wallet.flag,\n}\n\n/**\n * Deploy command configuration type\n */\nexport interface DeployConfig {\n 'ario-process': string\n 'arns-name'?: string\n 'dedupe-cache-max-entries': number\n 'deploy-file'?: string\n 'deploy-folder': string\n 'hyperbeam-ao-state-url': string\n 'hyperbeam-auto-fund': boolean\n 'hyperbeam-fund-amount'?: string\n 'hyperbeam-ledger-id'?: string\n 'hyperbeam-token-id'?: string\n 'hyperbeam-upload-path': string\n 'max-token-amount'?: string\n 'no-dedupe': boolean\n 'on-demand'?: string\n 'private-key'?: string\n 'sig-type': string\n 'ttl-seconds': string\n undername: string\n 'use-arns': boolean\n uploader?: string\n 'uploader-type': string\n wallet?: string\n}\n\n/**\n * Deploy command flag configurations\n * Maps kebab-case flag names to their camelCase globalFlags definitions\n */\nexport const deployFlagConfigs = {\n 'ario-process': globalFlags.arioProcess,\n 'arns-name': globalFlags.arnsName,\n 'dedupe-cache-max-entries': globalFlags.dedupeCacheMaxEntries,\n 'deploy-file': globalFlags.deployFile,\n 'deploy-folder': globalFlags.deployFolder,\n 'hyperbeam-ao-state-url': globalFlags.hyperbeamAoStateUrl,\n 'hyperbeam-auto-fund': globalFlags.hyperbeamAutoFund,\n 'hyperbeam-fund-amount': globalFlags.hyperbeamFundAmount,\n 'hyperbeam-ledger-id': globalFlags.hyperbeamLedgerId,\n 'hyperbeam-token-id': globalFlags.hyperbeamTokenId,\n 'hyperbeam-upload-path': globalFlags.hyperbeamUploadPath,\n 'max-token-amount': globalFlags.maxTokenAmount,\n 'no-dedupe': globalFlags.noDedupe,\n 'on-demand': globalFlags.onDemand,\n 'private-key': globalFlags.privateKey,\n 'sig-type': globalFlags.sigType,\n 'ttl-seconds': globalFlags.ttlSeconds,\n undername: globalFlags.undername,\n uploader: globalFlags.uploader,\n 'uploader-type': globalFlags.uploaderType,\n 'use-arns': globalFlags.useArns,\n wallet: globalFlags.wallet,\n} as const\n\n/**\n * Upload command — file/folder to Arweave via Turbo without updating ArNS\n */\nexport const uploadFlagConfigs = {\n 'dedupe-cache-max-entries': globalFlags.dedupeCacheMaxEntries,\n 'deploy-file': globalFlags.deployFile,\n 'deploy-folder': globalFlags.deployFolder,\n 'hyperbeam-ao-state-url': globalFlags.hyperbeamAoStateUrl,\n 'hyperbeam-auto-fund': globalFlags.hyperbeamAutoFund,\n 'hyperbeam-fund-amount': globalFlags.hyperbeamFundAmount,\n 'hyperbeam-ledger-id': globalFlags.hyperbeamLedgerId,\n 'hyperbeam-token-id': globalFlags.hyperbeamTokenId,\n 'hyperbeam-upload-path': globalFlags.hyperbeamUploadPath,\n 'max-token-amount': globalFlags.maxTokenAmount,\n 'no-dedupe': globalFlags.noDedupe,\n 'on-demand': globalFlags.onDemand,\n 'private-key': globalFlags.privateKey,\n 'sig-type': globalFlags.sigType,\n uploader: globalFlags.uploader,\n 'uploader-type': globalFlags.uploaderType,\n wallet: globalFlags.wallet,\n} as const\n\nexport type UploadConfig = ResolvedConfig<typeof uploadFlagConfigs>\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/commands/deploy.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/commands/deploy.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAmBrC,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,OAAO;IACzC,OAAgB,IAAI,KAAK;IAEzB,OAAgB,WAAW,SAAoE;IAE/F,OAAgB,QAAQ,WAOvB;IAED,OAAgB,KAAK,sBAAkC;IAE1C,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAmVlC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../../src/commands/upload.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../../src/commands/upload.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAcrC,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,OAAO;IACzC,OAAgB,IAAI,KAAK;IAEzB,OAAgB,WAAW,SAAuE;IAElG,OAAgB,QAAQ,WAOvB;IAED,OAAgB,KAAK,sBAAkC;IAE1C,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAyLlC"}
|
|
@@ -24,6 +24,7 @@ export declare const globalFlags: {
|
|
|
24
24
|
undername: import("../utils/config-resolver.js").FlagConfig<string, any>;
|
|
25
25
|
uploader: import("../utils/config-resolver.js").FlagConfig<string | undefined, any>;
|
|
26
26
|
uploaderType: import("../utils/config-resolver.js").FlagConfig<string, any>;
|
|
27
|
+
useArns: import("../utils/config-resolver.js").FlagConfig<boolean, any>;
|
|
27
28
|
wallet: import("../utils/config-resolver.js").FlagConfig<string | undefined, any>;
|
|
28
29
|
};
|
|
29
30
|
/**
|
|
@@ -50,6 +51,7 @@ export declare const deployFlags: {
|
|
|
50
51
|
undername: any;
|
|
51
52
|
uploader: any;
|
|
52
53
|
'uploader-type': any;
|
|
54
|
+
'use-arns': any;
|
|
53
55
|
wallet: any;
|
|
54
56
|
};
|
|
55
57
|
/**
|
|
@@ -74,7 +76,7 @@ export declare const walletFlags: {
|
|
|
74
76
|
*/
|
|
75
77
|
export interface DeployConfig {
|
|
76
78
|
'ario-process': string;
|
|
77
|
-
'arns-name'
|
|
79
|
+
'arns-name'?: string;
|
|
78
80
|
'dedupe-cache-max-entries': number;
|
|
79
81
|
'deploy-file'?: string;
|
|
80
82
|
'deploy-folder': string;
|
|
@@ -91,6 +93,7 @@ export interface DeployConfig {
|
|
|
91
93
|
'sig-type': string;
|
|
92
94
|
'ttl-seconds': string;
|
|
93
95
|
undername: string;
|
|
96
|
+
'use-arns': boolean;
|
|
94
97
|
uploader?: string;
|
|
95
98
|
'uploader-type': string;
|
|
96
99
|
wallet?: string;
|
|
@@ -120,6 +123,7 @@ export declare const deployFlagConfigs: {
|
|
|
120
123
|
readonly undername: import("../utils/config-resolver.js").FlagConfig<string, any>;
|
|
121
124
|
readonly uploader: import("../utils/config-resolver.js").FlagConfig<string | undefined, any>;
|
|
122
125
|
readonly 'uploader-type': import("../utils/config-resolver.js").FlagConfig<string, any>;
|
|
126
|
+
readonly 'use-arns': import("../utils/config-resolver.js").FlagConfig<boolean, any>;
|
|
123
127
|
readonly wallet: import("../utils/config-resolver.js").FlagConfig<string | undefined, any>;
|
|
124
128
|
};
|
|
125
129
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flags.d.ts","sourceRoot":"","sources":["../../../src/constants/flags.ts"],"names":[],"mappings":"AAMA,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAYnF;;;GAGG;AACH,eAAO,MAAM,WAAW
|
|
1
|
+
{"version":3,"file":"flags.d.ts","sourceRoot":"","sources":["../../../src/constants/flags.ts"],"names":[],"mappings":"AAMA,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAYnF;;;GAGG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;CA+NvB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;CAuBvB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;CAKrB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,WAAW;;;;CAIvB,CAAA;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,0BAA0B,EAAE,MAAM,CAAA;IAClC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,MAAM,CAAA;IACvB,wBAAwB,EAAE,MAAM,CAAA;IAChC,qBAAqB,EAAE,OAAO,CAAA;IAC9B,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,uBAAuB,EAAE,MAAM,CAAA;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,WAAW,EAAE,OAAO,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;CAuBpB,CAAA;AAEV;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;CAkBpB,CAAA;AAEV,MAAM,MAAM,YAAY,GAAG,cAAc,CAAC,OAAO,iBAAiB,CAAC,CAAA"}
|
|
@@ -2,7 +2,7 @@ import type { Flag } from '@oclif/core/lib/interfaces';
|
|
|
2
2
|
export type SignerType = 'arweave' | 'ethereum' | 'kyve' | 'polygon';
|
|
3
3
|
export interface DeployOptions {
|
|
4
4
|
'ario-process': string;
|
|
5
|
-
'arns-name'
|
|
5
|
+
'arns-name'?: string;
|
|
6
6
|
'deploy-file': string;
|
|
7
7
|
'deploy-folder': string;
|
|
8
8
|
'private-key': string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAA;AAEtD,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAA;AAEpE,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAA;AAEtD,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAA;AAEpE,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;IACvB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,UAAU,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;AAE5E,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,CAAC,EAAE;QACT,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KACtC,CAAA;IACD,gBAAgB,CAAC,EAAE;QACjB,EAAE,EAAE,MAAM,CAAA;KACX,CAAA;CACF;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CACtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"display.test.d.ts","sourceRoot":"","sources":["../../../../src/utils/__tests__/display.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { UploadCost, UploadSize } from './hyperbeam-uploader.js';
|
|
2
|
+
export declare function formatUploadSize(size: UploadSize): string;
|
|
3
|
+
export declare function formatUploadCost(cost: UploadCost): string;
|
|
4
|
+
export declare function uploadErrorTable(message: string, title?: string): string;
|
|
5
|
+
//# sourceMappingURL=display.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../../src/utils/display.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAIrE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAEzD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAazD;AAkBD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,SAAkB,GAAG,MAAM,CAsCjF"}
|
|
@@ -12,13 +12,25 @@ export interface UploadFileArgs {
|
|
|
12
12
|
fundingMode?: unknown;
|
|
13
13
|
}
|
|
14
14
|
export interface UploadClient {
|
|
15
|
-
uploadFile: (args: UploadFileArgs) => Promise<
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
uploadFile: (args: UploadFileArgs) => Promise<UploadClientResult>;
|
|
16
|
+
}
|
|
17
|
+
export interface UploadClientResult {
|
|
18
|
+
cost?: UploadCost;
|
|
19
|
+
id?: string;
|
|
20
|
+
size?: UploadSize;
|
|
21
|
+
}
|
|
22
|
+
export interface UploadCost {
|
|
23
|
+
amount: bigint;
|
|
24
|
+
token: 'AO';
|
|
25
|
+
}
|
|
26
|
+
export interface UploadSize {
|
|
27
|
+
payloadBytes: number;
|
|
28
|
+
signedBytes?: number;
|
|
18
29
|
}
|
|
19
30
|
export interface HyperbeamBundlerOptions {
|
|
20
31
|
autoFund?: HyperbeamBundlerAutoFundOptions;
|
|
21
32
|
deployKey: string;
|
|
33
|
+
quote?: HyperbeamBundlerQuoteOptions;
|
|
22
34
|
uploadPath: string;
|
|
23
35
|
uploader: string;
|
|
24
36
|
}
|
|
@@ -43,22 +55,39 @@ export interface HyperbeamBundlerAutoFundOptions {
|
|
|
43
55
|
tokenId?: string;
|
|
44
56
|
uploader: string;
|
|
45
57
|
}
|
|
58
|
+
export interface HyperbeamBundlerQuoteOptions {
|
|
59
|
+
ledgerId?: string;
|
|
60
|
+
quoteAction?: string;
|
|
61
|
+
tokenId?: string;
|
|
62
|
+
uploader: string;
|
|
63
|
+
}
|
|
46
64
|
export declare function parseHyperbeamFundAmount(value: string): bigint;
|
|
47
65
|
export declare function autoFundHyperbeamLedger(options: HyperbeamAutoFundOptions): Promise<FundingResult>;
|
|
48
66
|
export declare function autoFundQuotedHyperbeamLedger(options: {
|
|
49
67
|
signedBytes: number;
|
|
50
68
|
} & HyperbeamBundlerAutoFundOptions): Promise<FundingResult>;
|
|
51
|
-
export declare function
|
|
69
|
+
export declare function quoteHyperbeamUpload(options: {
|
|
70
|
+
signedBytes: number;
|
|
71
|
+
} & HyperbeamBundlerQuoteOptions): Promise<{
|
|
72
|
+
amount: bigint;
|
|
73
|
+
ledgerId?: string;
|
|
74
|
+
tokenId?: string;
|
|
75
|
+
}>;
|
|
76
|
+
export declare function hyperbeamBundlerLink(uploader: string, id: string, isManifest?: boolean): string;
|
|
52
77
|
export declare class HyperbeamBundlerClient implements UploadClient {
|
|
53
78
|
private readonly autoFund?;
|
|
79
|
+
private readonly quote;
|
|
80
|
+
private seedPreflight?;
|
|
54
81
|
private readonly signer;
|
|
55
82
|
private readonly uploader;
|
|
56
83
|
private readonly uploadUrl;
|
|
57
|
-
constructor({ autoFund, deployKey, uploadPath, uploader }: HyperbeamBundlerOptions);
|
|
84
|
+
constructor({ autoFund, deployKey, quote, uploadPath, uploader }: HyperbeamBundlerOptions);
|
|
58
85
|
uploadFile(args: UploadFileArgs): Promise<{
|
|
59
86
|
id: string;
|
|
60
|
-
}>;
|
|
87
|
+
} & UploadClientResult>;
|
|
61
88
|
private paymentHint;
|
|
62
89
|
}
|
|
63
|
-
export declare function hyperbeamAoFundingHint(profile: HyperbalanceProfile
|
|
90
|
+
export declare function hyperbeamAoFundingHint(profile: HyperbalanceProfile, options?: {
|
|
91
|
+
includeAutoFundInstruction?: boolean;
|
|
92
|
+
}): string | undefined;
|
|
64
93
|
//# sourceMappingURL=hyperbeam-uploader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hyperbeam-uploader.d.ts","sourceRoot":"","sources":["../../../src/utils/hyperbeam-uploader.ts"],"names":[],"mappings":"AAMA,OAAO,EAIL,KAAK,aAAa,EAElB,KAAK,mBAAmB,
|
|
1
|
+
{"version":3,"file":"hyperbeam-uploader.d.ts","sourceRoot":"","sources":["../../../src/utils/hyperbeam-uploader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { OnDemandFunding } from '@ardrive/turbo-sdk';
|
|
2
2
|
import { type TransactionCache } from './cache.js';
|
|
3
|
-
import type { UploadClient } from './hyperbeam-uploader.js';
|
|
3
|
+
import type { UploadClient, UploadCost, UploadSize } from './hyperbeam-uploader.js';
|
|
4
4
|
export interface UploadResult {
|
|
5
5
|
cacheHit: boolean;
|
|
6
|
+
cost?: UploadCost;
|
|
7
|
+
size?: UploadSize;
|
|
6
8
|
transactionId: string;
|
|
7
9
|
updatedCache?: TransactionCache;
|
|
8
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploader.d.ts","sourceRoot":"","sources":["../../../src/utils/uploader.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAIpD,OAAO,EAML,KAAK,gBAAgB,EACtB,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"uploader.d.ts","sourceRoot":"","sources":["../../../src/utils/uploader.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAIpD,OAAO,EAML,KAAK,gBAAgB,EACtB,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAEnF,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,OAAO,CAAA;IACjB,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,gBAAgB,CAAA;CAChC;AAED,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACtD,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAA;IACjB,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAA;IAClB,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,wBAAsB,UAAU,CAC9B,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;IACR,KAAK,CAAC,EAAE,gBAAgB,CAAA;IACxB,WAAW,CAAC,EAAE,eAAe,CAAA;CAC9B,GACA,OAAO,CAAC,YAAY,CAAC,CA+DvB;AAYD;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;IACR,KAAK,CAAC,EAAE,gBAAgB,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,eAAe,CAAA;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,GACA,OAAO,CAAC,kBAAkB,CAAC,CAmJ7B"}
|