pai-zero 0.11.2 → 0.11.3

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/index.js CHANGED
@@ -3477,13 +3477,15 @@ var init_detector = __esm({
3477
3477
  label: "roboco (AI \uC9C4\uB2E8)",
3478
3478
  description: "\uC124\uCE58 \uC0C1\uD0DC \uD3C9\uAC00 \uBC0F AI \uC900\uBE44\uB3C4 \uB9AC\uD3EC\uD2B8 \uC0DD\uC131",
3479
3479
  modes: ["prototype", "poc", "production"],
3480
- required: false
3480
+ required: false,
3481
+ url: "https://github.com/SoInKyu/roboco-cli"
3481
3482
  },
3482
3483
  omc: {
3483
- label: "OMC (Object Model Context)",
3484
- description: "\uAC1D\uCCB4 \uBAA8\uB378 \uCEE8\uD14D\uC2A4\uD2B8 \u2014 AI\uAC00 \uB3C4\uBA54\uC778\uC744 \uC774\uD574\uD558\uB294 \uAD6C\uC870",
3484
+ label: "OMC (oh-my-claudecode)",
3485
+ description: "\uAC1D\uCCB4 \uBAA8\uB378 \uCEE8\uD14D\uC2A4\uD2B8 + Claude Code \uBA40\uD2F0 \uC5D0\uC774\uC804\uD2B8 \uC624\uCF00\uC2A4\uD2B8\uB808\uC774\uC158",
3485
3486
  modes: ["poc", "production"],
3486
- required: false
3487
+ required: false,
3488
+ url: "https://github.com/SoInKyu/oh-my-claudecode"
3487
3489
  },
3488
3490
  vercel: {
3489
3491
  label: "Vercel \uBC30\uD3EC \uC5F0\uB3D9",
@@ -3495,7 +3497,8 @@ var init_detector = __esm({
3495
3497
  label: "gstack (QA / \uD488\uC9C8\uAD00\uB9AC)",
3496
3498
  description: "\uD14C\uC2A4\uD2B8 \uC790\uB3D9\uD654 \uBC0F \uD488\uC9C8 \uAE30\uC900 \uC124\uC815",
3497
3499
  modes: ["production"],
3498
- required: false
3500
+ required: false,
3501
+ url: "https://github.com/SoInKyu/gstack"
3499
3502
  },
3500
3503
  harness: {
3501
3504
  label: "Harness Engineering (\uAC80\uC99D \uC790\uB3D9\uD654)",
@@ -4319,7 +4322,7 @@ var init_claude_settings = __esm({
4319
4322
  "use strict";
4320
4323
  init_platform();
4321
4324
  DEFAULT_MARKETPLACE_ID = "omc";
4322
- DEFAULT_MARKETPLACE_URL = "https://github.com/Yeachan-Heo/oh-my-claudecode.git";
4325
+ DEFAULT_MARKETPLACE_URL = "https://github.com/SoInKyu/oh-my-claudecode.git";
4323
4326
  DEFAULT_PLUGIN_ID = "oh-my-claudecode@omc";
4324
4327
  ClaudeSettingsError = class extends Error {
4325
4328
  constructor(message, backupPath) {
@@ -4837,9 +4840,9 @@ async function showCompletion(projectName, projectDir, extraTools, isCurrentDir)
4837
4840
  default: true
4838
4841
  }]);
4839
4842
  if (runEval) {
4840
- const { createSpinner: createSpinner2 } = await Promise.resolve().then(() => (init_progress(), progress_exports));
4843
+ const { createSpinner: createSpinner3 } = await Promise.resolve().then(() => (init_progress(), progress_exports));
4841
4844
  await sleep2(2e3);
4842
- const spinner = createSpinner2("\uBC14\uC774\uBE0C\uCF54\uB529 \uC0C1\uD0DC \uCCB4\uD06C \uC911...");
4845
+ const spinner = createSpinner3("\uBC14\uC774\uBE0C\uCF54\uB529 \uC0C1\uD0DC \uCCB4\uD06C \uC911...");
4843
4846
  try {
4844
4847
  const { analyzeRepository: analyzeRepository2 } = await Promise.resolve().then(() => (init_analyzer2(), analyzer_exports2));
4845
4848
  const { computeResult: computeResult2 } = await Promise.resolve().then(() => (init_scorer(), scorer_exports));
@@ -4878,97 +4881,68 @@ async function showCompletion(projectName, projectDir, extraTools, isCurrentDir)
4878
4881
  success("\uC774\uC81C Claude Code\uC640 \uD568\uAED8 PRD \uBB38\uC11C\uB97C \uC791\uC131\uD558\uC138\uC694.");
4879
4882
  console.log("");
4880
4883
  console.log(colors.dim(" \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"));
4884
+ console.log("");
4885
+ const { createSpinner: createSpinner2 } = await Promise.resolve().then(() => (init_progress(), progress_exports));
4886
+ const omcSpinner = createSpinner2("OMC \uD50C\uB7EC\uADF8\uC778 \uB4F1\uB85D \uC911...");
4887
+ try {
4888
+ const { enableOmcPlugin: enableOmcPlugin2 } = await Promise.resolve().then(() => (init_claude_settings(), claude_settings_exports));
4889
+ const result = await enableOmcPlugin2();
4890
+ if (result.action === "already-enabled") {
4891
+ omcSpinner.succeed("OMC \uD50C\uB7EC\uADF8\uC778 \uC774\uBBF8 \uB4F1\uB85D\uB428");
4892
+ } else if (result.action === "created") {
4893
+ omcSpinner.succeed("Claude \uC124\uC815 \uC2E0\uADDC \uC0DD\uC131 + OMC \uD50C\uB7EC\uADF8\uC778 \uB4F1\uB85D \uC644\uB8CC");
4894
+ } else {
4895
+ omcSpinner.succeed("OMC \uD50C\uB7EC\uADF8\uC778 \uB4F1\uB85D \uC644\uB8CC");
4896
+ }
4897
+ hint("Claude Code \uAE30\uB3D9 \uC2DC \uD50C\uB7EC\uADF8\uC778\uC774 \uC790\uB3D9 \uC124\uCE58\uB429\uB2C8\uB2E4.");
4898
+ if (result.backupPath) {
4899
+ hint(`\uC124\uC815 \uBC31\uC5C5: ${result.backupPath}`);
4900
+ }
4901
+ } catch (err) {
4902
+ const msg = err instanceof Error ? err.message : String(err);
4903
+ omcSpinner.warn(`OMC \uD50C\uB7EC\uADF8\uC778 \uB4F1\uB85D \uC2E4\uD328 \u2014 ${msg}`);
4904
+ hint("Claude Code \uAE30\uB3D9 \uD6C4 \uC9C1\uC811 \uB4F1\uB85D\uD558\uC138\uC694:");
4905
+ hint(" /plugin install SoInKyu/oh-my-claudecode");
4906
+ }
4881
4907
  const { getShellRcPath: getShellRcPath2, hasYoloAlias: checkYolo } = await Promise.resolve().then(() => (init_platform(), platform_exports));
4882
4908
  const shellRc = getShellRcPath2();
4883
- let hasYoloAliasSet = false;
4909
+ let yoloAlreadyAliased = false;
4884
4910
  try {
4885
4911
  const rcContent = await fs15.readFile(shellRc, "utf8");
4886
- hasYoloAliasSet = checkYolo(rcContent);
4912
+ yoloAlreadyAliased = checkYolo(rcContent);
4887
4913
  } catch {
4888
4914
  }
4889
- let useYolo = false;
4890
- if (!hasYoloAliasSet) {
4891
- console.log("");
4892
- const { mode } = await inquirer.prompt([{
4893
- type: "list",
4894
- name: "mode",
4895
- message: "Claude Code \uC2E4\uD589 \uBAA8\uB4DC\uB97C \uC124\uC815\uD569\uB2C8\uB2E4:",
4896
- choices: [
4897
- { name: `\uC77C\uBC18 \uBAA8\uB4DC ${colors.dim("\u2500 \uAD8C\uD55C \uD655\uC778 \uD6C4 \uC2E4\uD589")}`, value: "normal" },
4898
- { name: `claude-YOLO mode ${colors.dim("\u2500 \uAD8C\uD55C \uD655\uC778 \uC5C6\uC774 \uC790\uB3D9 \uC2E4\uD589 (alias \uC124\uC815)")}`, value: "yolo" }
4899
- ]
4900
- }]);
4901
- if (mode === "yolo") {
4902
- useYolo = true;
4903
- const { getYoloAliasLine: getYoloAliasLine2 } = await Promise.resolve().then(() => (init_platform(), platform_exports));
4904
- const aliasLine = getYoloAliasLine2();
4905
- try {
4906
- const rcContent = await fs15.readFile(shellRc, "utf8").catch(() => "");
4907
- if (!rcContent.includes("claude-yolo")) {
4908
- await fs15.ensureDir(join11(shellRc, ".."));
4909
- await fs15.appendFile(shellRc, `
4910
- # PAI \u2014 claude-YOLO mode
4911
- ${aliasLine}
4912
- `);
4913
- await sleep2(500);
4914
- success("claude-yolo alias \uC124\uC815 \uC644\uB8CC");
4915
- hint("\uC0C8 \uD130\uBBF8\uB110\uC5D0\uC11C claude-yolo \uB85C \uC2E4\uD589 \uAC00\uB2A5");
4916
- }
4917
- } catch {
4918
- }
4919
- }
4920
- } else {
4921
- useYolo = true;
4922
- }
4923
4915
  console.log("");
4924
- const claudeCmd = useYolo ? "claude --dangerously-skip-permissions" : "claude";
4916
+ console.log(colors.dim(" \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"));
4925
4917
  const { launch } = await inquirer.prompt([{
4926
4918
  type: "list",
4927
4919
  name: "launch",
4928
- message: "Claude Code\uB97C \uC2DC\uC791\uD560\uAE4C\uC694?",
4920
+ message: "Claude Code\uB97C \uC5B4\uB5A4 \uBAA8\uB4DC\uB85C \uC2DC\uC791\uD560\uAE4C\uC694?",
4929
4921
  choices: [
4930
- { name: `OMC + Claude \uC2DC\uC791 ${colors.dim("\u2500 oh-my-claudecode \uC124\uC815 \uD6C4 \uC2DC\uC791")}`, value: "omc" },
4931
- { name: `Claude \uBC14\uB85C \uC2DC\uC791 ${colors.dim(`\u2500 ${claudeCmd}`)}`, value: "claude" },
4932
- { name: chalk8.gray("\uB098\uC911\uC5D0 \uC9C1\uC811 \uC2E4\uD589"), value: "none" }
4922
+ { name: `claude ${colors.dim("\u2500 \uAD8C\uD55C \uD655\uC778 \uD6C4 \uC2E4\uD589 (\uC77C\uBC18 \uBAA8\uB4DC)")}`, value: "claude" },
4923
+ { name: `claude YOLO ${colors.dim("\u2500 \uAD8C\uD55C \uD655\uC778 \uC5C6\uC774 \uC790\uB3D9 \uC2E4\uD589 (--dangerously-skip-permissions)")}`, value: "yolo" }
4933
4924
  ]
4934
4925
  }]);
4935
- if (launch === "none") {
4936
- console.log("");
4937
- hint("claude \uB97C \uC785\uB825\uD558\uBA74 \uC2DC\uC791\uB429\uB2C8\uB2E4.");
4938
- console.log("");
4939
- if (!isCurrentDir) {
4940
- const { spawnSubshell: spawnSubshell2 } = await Promise.resolve().then(() => (init_platform(), platform_exports));
4941
- spawnSubshell2(projectDir);
4942
- }
4943
- return;
4944
- }
4945
- if (launch === "omc") {
4946
- console.log("");
4947
- const { createSpinner: createSpinner2 } = await Promise.resolve().then(() => (init_progress(), progress_exports));
4948
- const spinner = createSpinner2("OMC \uD50C\uB7EC\uADF8\uC778 \uB4F1\uB85D \uC911...");
4926
+ const useYolo = launch === "yolo";
4927
+ if (useYolo && !yoloAlreadyAliased) {
4949
4928
  try {
4950
- const { enableOmcPlugin: enableOmcPlugin2, ClaudeSettingsError: ClaudeSettingsError2 } = await Promise.resolve().then(() => (init_claude_settings(), claude_settings_exports));
4951
- const result = await enableOmcPlugin2();
4952
- if (result.action === "already-enabled") {
4953
- spinner.succeed("OMC \uD50C\uB7EC\uADF8\uC778 \uC774\uBBF8 \uB4F1\uB85D\uB428");
4954
- } else if (result.action === "created") {
4955
- spinner.succeed("Claude \uC124\uC815 \uC2E0\uADDC \uC0DD\uC131 + OMC \uD50C\uB7EC\uADF8\uC778 \uB4F1\uB85D \uC644\uB8CC");
4956
- } else {
4957
- spinner.succeed("OMC \uD50C\uB7EC\uADF8\uC778 \uB4F1\uB85D \uC644\uB8CC");
4958
- }
4959
- hint("Claude Code \uAE30\uB3D9 \uC2DC \uD50C\uB7EC\uADF8\uC778\uC774 \uC790\uB3D9 \uC124\uCE58\uB429\uB2C8\uB2E4.");
4960
- if (result.backupPath) {
4961
- hint(`\uC124\uC815 \uBC31\uC5C5: ${result.backupPath}`);
4929
+ const { getYoloAliasLine: getYoloAliasLine2 } = await Promise.resolve().then(() => (init_platform(), platform_exports));
4930
+ const aliasLine = getYoloAliasLine2();
4931
+ const rcContent = await fs15.readFile(shellRc, "utf8").catch(() => "");
4932
+ if (!rcContent.includes("claude-yolo")) {
4933
+ await fs15.ensureDir(join11(shellRc, ".."));
4934
+ await fs15.appendFile(shellRc, `
4935
+ # PAI \u2014 claude-YOLO mode
4936
+ ${aliasLine}
4937
+ `);
4938
+ await sleep2(300);
4939
+ success("claude-yolo alias \uC124\uC815 \uC644\uB8CC");
4940
+ hint("\uC0C8 \uD130\uBBF8\uB110\uC5D0\uC11C claude-yolo \uB85C \uC2E4\uD589 \uAC00\uB2A5");
4962
4941
  }
4963
- void ClaudeSettingsError2;
4964
- } catch (err) {
4965
- const msg = err instanceof Error ? err.message : String(err);
4966
- spinner.warn(`OMC \uD50C\uB7EC\uADF8\uC778 \uB4F1\uB85D \uC2E4\uD328 \u2014 ${msg}`);
4967
- hint("Claude Code \uAE30\uB3D9 \uD6C4 \uC9C1\uC811 \uB4F1\uB85D\uD558\uC138\uC694:");
4968
- hint(" /plugin install Yeachan-Heo/oh-my-claudecode");
4942
+ } catch {
4969
4943
  }
4970
4944
  }
4971
- const cmd = claudeCmd;
4945
+ const cmd = useYolo ? "claude --dangerously-skip-permissions" : "claude";
4972
4946
  console.log("");
4973
4947
  if (!isCurrentDir) {
4974
4948
  console.log(colors.dim(` \u2192 cd ${projectName}`));