connectbase-client 0.10.8 → 0.10.9
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/dist/cli.js +56 -76
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -574,100 +574,80 @@ ${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";
|
|
584
577
|
let storageId = "";
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
if (storages.length > 0) {
|
|
598
|
-
log(`
|
|
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(`
|
|
599
590
|
${colors.dim}\uAE30\uC874 \uC6F9 \uC2A4\uD1A0\uB9AC\uC9C0:${colors.reset}`);
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
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(`
|
|
605
596
|
${colors.blue}?${colors.reset} \uC120\uD0DD (\uBC88\uD638): `);
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
}
|
|
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}`);
|
|
611
601
|
}
|
|
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}`);
|
|
633
602
|
}
|
|
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: `);
|
|
638
603
|
if (!storageId) {
|
|
639
|
-
|
|
640
|
-
|
|
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}`);
|
|
641
621
|
}
|
|
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);
|
|
642
632
|
}
|
|
643
|
-
const defaultDir = detectBuildDir();
|
|
644
|
-
deployDir = await prompt(`${colors.blue}?${colors.reset} \uBC30\uD3EC \uB514\uB809\uD1A0\uB9AC (${defaultDir}): `) || defaultDir;
|
|
645
633
|
}
|
|
634
|
+
const defaultDir = detectBuildDir();
|
|
635
|
+
const deployDir = await prompt(`${colors.blue}?${colors.reset} \uBC30\uD3EC \uB514\uB809\uD1A0\uB9AC (${defaultDir}): `) || defaultDir;
|
|
646
636
|
const config = {
|
|
647
|
-
apiKey:
|
|
637
|
+
apiKey: publicKey || "",
|
|
638
|
+
storageId,
|
|
639
|
+
deployDir
|
|
648
640
|
};
|
|
649
|
-
if (storageId) config.storageId = storageId;
|
|
650
|
-
if (deployDir) config.deployDir = deployDir;
|
|
651
641
|
fs.writeFileSync(rcPath, JSON.stringify(config, null, 2) + "\n");
|
|
652
642
|
success(".connectbaserc \uC0DD\uC131 \uC644\uB8CC");
|
|
653
643
|
addToGitignore(".connectbaserc");
|
|
654
|
-
|
|
655
|
-
addDeployScript(deployDir);
|
|
656
|
-
}
|
|
644
|
+
addDeployScript(deployDir);
|
|
657
645
|
await setupClaudeCode(apiKeyForSdk, secretKey, projectRoot);
|
|
658
646
|
log(`
|
|
659
647
|
${colors.green}\uCD08\uAE30\uD654 \uC644\uB8CC!${colors.reset}
|
|
660
648
|
`);
|
|
661
|
-
|
|
662
|
-
|
|
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
|
-
}
|
|
649
|
+
log(`${colors.dim}\uBC30\uD3EC\uD558\uB824\uBA74:${colors.reset}`);
|
|
650
|
+
log(` ${colors.cyan}npm run deploy${colors.reset}`);
|
|
671
651
|
log(`
|
|
672
652
|
${colors.dim}Claude Code\uC5D0\uC11C MCP\uAC00 \uC790\uB3D9 \uC5F0\uACB0\uB429\uB2C8\uB2E4${colors.reset}
|
|
673
653
|
`);
|