connectbase-client 0.10.7 → 0.10.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/cli.js +76 -56
  2. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -574,80 +574,100 @@ ${colors.blue}?${colors.reset} \uC120\uD0DD (\uBC88\uD638): `);
574
574
  }
575
575
  }
576
576
  const apiKeyForSdk = publicKey || secretKey;
577
+ log(`
578
+ ${colors.dim}\uC6A9\uB3C4\uB97C \uC120\uD0DD\uD558\uC138\uC694:${colors.reset}`);
579
+ log(` ${colors.cyan}1${colors.reset}) \uC6F9 \uBC30\uD3EC (\uC2A4\uD1A0\uB9AC\uC9C0 + \uBC30\uD3EC \uC124\uC815)`);
580
+ log(` ${colors.cyan}2${colors.reset}) \uD130\uB110 \uC804\uC6A9 (\uB85C\uCEEC \uC11C\uBE44\uC2A4 \uB178\uCD9C)`);
581
+ log(` ${colors.cyan}3${colors.reset}) SDK \uC5F0\uB3D9 (API Key\uB9CC)
582
+ `);
583
+ const useCase = await prompt(`${colors.blue}?${colors.reset} \uC120\uD0DD (1/2/3): `) || "1";
577
584
  let storageId = "";
578
- try {
579
- info("\uC6F9 \uC2A4\uD1A0\uB9AC\uC9C0 \uC870\uD68C \uC911...");
580
- const listRes = await makeRequest(
581
- `${DEFAULT_BASE_URL}/v1/public/storages/webs`,
582
- "GET",
583
- { "X-API-Key": apiKeyForSdk }
584
- );
585
- if (listRes.status === 200) {
586
- const listData = listRes.data;
587
- const storages = listData.storages || [];
588
- if (storages.length > 0) {
589
- log(`
585
+ let deployDir = "";
586
+ if (useCase === "1") {
587
+ try {
588
+ info("\uC6F9 \uC2A4\uD1A0\uB9AC\uC9C0 \uC870\uD68C \uC911...");
589
+ const listRes = await makeRequest(
590
+ `${DEFAULT_BASE_URL}/v1/public/storages/webs`,
591
+ "GET",
592
+ { "X-API-Key": apiKeyForSdk }
593
+ );
594
+ if (listRes.status === 200) {
595
+ const listData = listRes.data;
596
+ const storages = listData.storages || [];
597
+ if (storages.length > 0) {
598
+ log(`
590
599
  ${colors.dim}\uAE30\uC874 \uC6F9 \uC2A4\uD1A0\uB9AC\uC9C0:${colors.reset}`);
591
- storages.forEach((s, i) => {
592
- log(` ${colors.cyan}${i + 1}${colors.reset}) ${s.name} (${colors.dim}${s.id}${colors.reset})`);
593
- });
594
- log(` ${colors.cyan}0${colors.reset}) \uC0C8\uB85C \uC0DD\uC131`);
595
- const choice = await prompt(`
600
+ storages.forEach((s, i) => {
601
+ log(` ${colors.cyan}${i + 1}${colors.reset}) ${s.name} (${colors.dim}${s.id}${colors.reset})`);
602
+ });
603
+ log(` ${colors.cyan}0${colors.reset}) \uC0C8\uB85C \uC0DD\uC131`);
604
+ const choice = await prompt(`
596
605
  ${colors.blue}?${colors.reset} \uC120\uD0DD (\uBC88\uD638): `);
597
- const num = parseInt(choice, 10);
598
- if (num > 0 && num <= storages.length) {
599
- storageId = storages[num - 1].id;
600
- success(`\uC120\uD0DD\uB428: ${storages[num - 1].name}`);
606
+ const num = parseInt(choice, 10);
607
+ if (num > 0 && num <= storages.length) {
608
+ storageId = storages[num - 1].id;
609
+ success(`\uC120\uD0DD\uB428: ${storages[num - 1].name}`);
610
+ }
601
611
  }
612
+ if (!storageId) {
613
+ const projectName = path.basename(cwd);
614
+ const name = await prompt(`${colors.blue}?${colors.reset} \uC2A4\uD1A0\uB9AC\uC9C0 \uC774\uB984 (${projectName}): `) || projectName;
615
+ info("\uC6F9 \uC2A4\uD1A0\uB9AC\uC9C0 \uC0DD\uC131 \uC911...");
616
+ const createRes = await makeRequest(
617
+ `${DEFAULT_BASE_URL}/v1/public/storages/webs`,
618
+ "POST",
619
+ { "X-API-Key": apiKeyForSdk },
620
+ JSON.stringify({ name })
621
+ );
622
+ if (createRes.status !== 200) {
623
+ const data = createRes.data;
624
+ error(`\uC0DD\uC131 \uC2E4\uD328: ${data?.error || data?.message || `HTTP ${createRes.status}`}`);
625
+ process.exit(1);
626
+ }
627
+ const createData = createRes.data;
628
+ storageId = createData.storage_web_id;
629
+ success(`\uC6F9 \uC2A4\uD1A0\uB9AC\uC9C0 \uC0DD\uC131 \uC644\uB8CC: ${createData.name}`);
630
+ }
631
+ } else {
632
+ throw new Error(`HTTP ${listRes.status}`);
602
633
  }
634
+ } catch (err) {
635
+ error(`\uB124\uD2B8\uC6CC\uD06C \uC624\uB958: ${err instanceof Error ? err.message : err}`);
636
+ log(`${colors.dim}\uC218\uB3D9\uC73C\uB85C Storage ID\uB97C \uC785\uB825\uD558\uC138\uC694${colors.reset}`);
637
+ storageId = await prompt(`${colors.blue}?${colors.reset} Storage ID: `);
603
638
  if (!storageId) {
604
- const projectName = path.basename(cwd);
605
- const name = await prompt(`${colors.blue}?${colors.reset} \uC2A4\uD1A0\uB9AC\uC9C0 \uC774\uB984 (${projectName}): `) || projectName;
606
- info("\uC6F9 \uC2A4\uD1A0\uB9AC\uC9C0 \uC0DD\uC131 \uC911...");
607
- const createRes = await makeRequest(
608
- `${DEFAULT_BASE_URL}/v1/public/storages/webs`,
609
- "POST",
610
- { "X-API-Key": apiKeyForSdk },
611
- JSON.stringify({ name })
612
- );
613
- if (createRes.status !== 200) {
614
- const data = createRes.data;
615
- error(`\uC0DD\uC131 \uC2E4\uD328: ${data?.error || data?.message || `HTTP ${createRes.status}`}`);
616
- process.exit(1);
617
- }
618
- const createData = createRes.data;
619
- storageId = createData.storage_web_id;
620
- success(`\uC6F9 \uC2A4\uD1A0\uB9AC\uC9C0 \uC0DD\uC131 \uC644\uB8CC: ${createData.name}`);
639
+ error("Storage ID\uB294 \uD544\uC218\uC785\uB2C8\uB2E4");
640
+ process.exit(1);
621
641
  }
622
- } else {
623
- throw new Error(`HTTP ${listRes.status}`);
624
- }
625
- } catch (err) {
626
- error(`\uB124\uD2B8\uC6CC\uD06C \uC624\uB958: ${err instanceof Error ? err.message : err}`);
627
- log(`${colors.dim}\uC218\uB3D9\uC73C\uB85C Storage ID\uB97C \uC785\uB825\uD558\uC138\uC694${colors.reset}`);
628
- storageId = await prompt(`${colors.blue}?${colors.reset} Storage ID: `);
629
- if (!storageId) {
630
- error("Storage ID\uB294 \uD544\uC218\uC785\uB2C8\uB2E4");
631
- process.exit(1);
632
642
  }
643
+ const defaultDir = detectBuildDir();
644
+ deployDir = await prompt(`${colors.blue}?${colors.reset} \uBC30\uD3EC \uB514\uB809\uD1A0\uB9AC (${defaultDir}): `) || defaultDir;
633
645
  }
634
- const defaultDir = detectBuildDir();
635
- const deployDir = await prompt(`${colors.blue}?${colors.reset} \uBC30\uD3EC \uB514\uB809\uD1A0\uB9AC (${defaultDir}): `) || defaultDir;
636
646
  const config = {
637
- apiKey: publicKey || "",
638
- storageId,
639
- deployDir
647
+ apiKey: useCase === "2" ? secretKey : publicKey || ""
640
648
  };
649
+ if (storageId) config.storageId = storageId;
650
+ if (deployDir) config.deployDir = deployDir;
641
651
  fs.writeFileSync(rcPath, JSON.stringify(config, null, 2) + "\n");
642
652
  success(".connectbaserc \uC0DD\uC131 \uC644\uB8CC");
643
653
  addToGitignore(".connectbaserc");
644
- addDeployScript(deployDir);
654
+ if (useCase === "1" && deployDir) {
655
+ addDeployScript(deployDir);
656
+ }
645
657
  await setupClaudeCode(apiKeyForSdk, secretKey, projectRoot);
646
658
  log(`
647
659
  ${colors.green}\uCD08\uAE30\uD654 \uC644\uB8CC!${colors.reset}
648
660
  `);
649
- log(`${colors.dim}\uBC30\uD3EC\uD558\uB824\uBA74:${colors.reset}`);
650
- log(` ${colors.cyan}npm run deploy${colors.reset}`);
661
+ if (useCase === "1") {
662
+ log(`${colors.dim}\uBC30\uD3EC\uD558\uB824\uBA74:${colors.reset}`);
663
+ log(` ${colors.cyan}npm run deploy${colors.reset}`);
664
+ } else if (useCase === "2") {
665
+ log(`${colors.dim}\uD130\uB110 \uC2DC\uC791\uD558\uB824\uBA74:${colors.reset}`);
666
+ log(` ${colors.cyan}npx connectbase tunnel <\uD3EC\uD2B8>${colors.reset}`);
667
+ } else {
668
+ log(`${colors.dim}SDK \uC0AC\uC6A9\uBC95:${colors.reset}`);
669
+ log(` ${colors.cyan}import ConnectBase from 'connectbase-client'${colors.reset}`);
670
+ }
651
671
  log(`
652
672
  ${colors.dim}Claude Code\uC5D0\uC11C MCP\uAC00 \uC790\uB3D9 \uC5F0\uACB0\uB429\uB2C8\uB2E4${colors.reset}
653
673
  `);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "connectbase-client",
3
- "version": "0.10.7",
3
+ "version": "0.10.8",
4
4
  "description": "Connect Base JavaScript/TypeScript SDK for browser and Node.js",
5
5
  "repository": {
6
6
  "type": "git",