@makerbi/openclaude 0.15.0 → 0.15.1

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 (3) hide show
  1. package/dist/cli.mjs +62 -30
  2. package/dist/sdk.mjs +15 -15
  3. package/package.json +1 -1
package/dist/cli.mjs CHANGED
@@ -232488,7 +232488,7 @@ var init_metadata = __esm(() => {
232488
232488
  isClaudeAiAuth: isClaudeAISubscriber(),
232489
232489
  version: "99.0.0",
232490
232490
  versionBase: getVersionBase(),
232491
- buildTime: "2026-05-27T07:41:16.072Z",
232491
+ buildTime: "2026-05-27T08:20:35.775Z",
232492
232492
  deploymentEnvironment: env2.detectDeploymentEnvironment(),
232493
232493
  ...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
232494
232494
  githubEventName: process.env.GITHUB_EVENT_NAME,
@@ -367258,6 +367258,9 @@ async function performVersionUpdate(version2, forceReinstall) {
367258
367258
  }
367259
367259
  await removeDirectoryIfEmpty(executablePath);
367260
367260
  await updateSymlink(executablePath, installPath);
367261
+ if (!await executableMatchesInstallPath(executablePath, installPath)) {
367262
+ throw new Error(`Failed to update executable at ${executablePath} to installed version ${version2}. ` + `The executable does not match ${installPath}. ` + `Check write permissions to ${executablePath}.`);
367263
+ }
367261
367264
  if (!await isPossibleClaudeBinary(executablePath)) {
367262
367265
  let installPathExists = false;
367263
367266
  try {
@@ -367420,7 +367423,7 @@ async function updateSymlink(symlinkPath, targetPath) {
367420
367423
  return true;
367421
367424
  } catch (error42) {
367422
367425
  logError2(new Error(`Failed to copy executable from ${targetPath} to ${symlinkPath}: ${error42}`));
367423
- return false;
367426
+ throw error42;
367424
367427
  }
367425
367428
  }
367426
367429
  const parentDir = dirname27(symlinkPath);
@@ -367429,7 +367432,7 @@ async function updateSymlink(symlinkPath, targetPath) {
367429
367432
  logForDebugging(`Created directory ${parentDir} for symlink`);
367430
367433
  } catch (mkdirError) {
367431
367434
  logError2(new Error(`Failed to create directory ${parentDir}: ${mkdirError}`));
367432
- return false;
367435
+ throw mkdirError;
367433
367436
  }
367434
367437
  try {
367435
367438
  let symlinkExists = false;
@@ -367462,9 +367465,38 @@ async function updateSymlink(symlinkPath, targetPath) {
367462
367465
  await unlink7(tempSymlink);
367463
367466
  } catch {}
367464
367467
  logError2(new Error(`Failed to create symlink from ${symlinkPath} to ${targetPath}: ${error42}`));
367468
+ throw error42;
367469
+ }
367470
+ }
367471
+ async function filesHaveSameContent(leftPath, rightPath) {
367472
+ try {
367473
+ const [leftStats, rightStats] = await Promise.all([
367474
+ stat20(leftPath),
367475
+ stat20(rightPath)
367476
+ ]);
367477
+ if (!leftStats.isFile() || !rightStats.isFile() || leftStats.size !== rightStats.size) {
367478
+ return false;
367479
+ }
367480
+ const [leftContent, rightContent] = await Promise.all([
367481
+ readFile15(leftPath),
367482
+ readFile15(rightPath)
367483
+ ]);
367484
+ return leftContent.equals(rightContent);
367485
+ } catch {
367465
367486
  return false;
367466
367487
  }
367467
367488
  }
367489
+ async function executableMatchesInstallPath(executablePath, installPath) {
367490
+ if (getPlatform2().startsWith("win32")) {
367491
+ return filesHaveSameContent(executablePath, installPath);
367492
+ }
367493
+ try {
367494
+ const target = await readlink(executablePath);
367495
+ return resolve20(dirname27(executablePath), target) === resolve20(installPath) && await isPossibleClaudeBinary(installPath);
367496
+ } catch {
367497
+ return filesHaveSameContent(executablePath, installPath);
367498
+ }
367499
+ }
367468
367500
  async function checkInstall(force = false) {
367469
367501
  if (isEnvTruthy(process.env.DISABLE_INSTALLATION_CHECKS)) {
367470
367502
  return [];
@@ -472033,7 +472065,7 @@ function getAnthropicEnvMetadata() {
472033
472065
  function getBuildAgeMinutes() {
472034
472066
  if (false)
472035
472067
  ;
472036
- const buildTime = new Date("2026-05-27T07:41:16.072Z").getTime();
472068
+ const buildTime = new Date("2026-05-27T08:20:35.775Z").getTime();
472037
472069
  if (isNaN(buildTime))
472038
472070
  return;
472039
472071
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -500172,7 +500204,7 @@ function buildPrimarySection() {
500172
500204
  }, undefined, false, undefined, this);
500173
500205
  return [{
500174
500206
  label: "Version",
500175
- value: "0.15.0"
500207
+ value: "0.15.1"
500176
500208
  }, {
500177
500209
  label: "Session name",
500178
500210
  value: nameValue
@@ -515067,7 +515099,7 @@ function getReleaseTagUrl(version2 = publicBuildVersion) {
515067
515099
  return `${OPENCLAUDE_RELEASES_URL}/tag/v${normalizePublicVersion(version2)}`;
515068
515100
  }
515069
515101
  function getPublicBuildVersion() {
515070
- return "0.15.0";
515102
+ return "0.15.1";
515071
515103
  }
515072
515104
  var import_semver9, OPENCLAUDE_RELEASES_URL = "https://github.com/AndersonBY/openclaude/releases", fallbackBuildVersion, publicBuildVersion;
515073
515105
  var init_version = __esm(() => {
@@ -572064,7 +572096,7 @@ var init_bridge_kick = __esm(() => {
572064
572096
  var call66 = async () => {
572065
572097
  return {
572066
572098
  type: "text",
572067
- value: `${"99.0.0"} (built ${"2026-05-27T07:41:16.072Z"})`
572099
+ value: `${"99.0.0"} (built ${"2026-05-27T08:20:35.775Z"})`
572068
572100
  };
572069
572101
  }, version2, version_default;
572070
572102
  var init_version2 = __esm(() => {
@@ -604561,7 +604593,7 @@ function printStartupScreen(modelOverride) {
604561
604593
  const sLen = ` ● ${sL} Ready — type /help to begin`.length;
604562
604594
  out.push(boxRow(sRow, W2, sLen, BORDER));
604563
604595
  out.push(`${ansiRgb(...BORDER)}╚${"═".repeat(W2 - 2)}╝${RESET2}`);
604564
- out.push(` ${DIM2}${ansiRgb(...DIMCOL)}openclaude ${RESET2}${ansiRgb(...ACCENT)}v${"0.15.0"}${RESET2}`);
604596
+ out.push(` ${DIM2}${ansiRgb(...DIMCOL)}openclaude ${RESET2}${ansiRgb(...ACCENT)}v${"0.15.1"}${RESET2}`);
604565
604597
  out.push("");
604566
604598
  process.stdout.write(out.join(`
604567
604599
  `) + `
@@ -656022,7 +656054,7 @@ function WelcomeV2() {
656022
656054
  dimColor: true,
656023
656055
  children: [
656024
656056
  "v",
656025
- "0.15.0",
656057
+ "0.15.1",
656026
656058
  " "
656027
656059
  ]
656028
656060
  }, undefined, true, undefined, this)
@@ -656222,7 +656254,7 @@ function WelcomeV2() {
656222
656254
  dimColor: true,
656223
656255
  children: [
656224
656256
  "v",
656225
- "0.15.0",
656257
+ "0.15.1",
656226
656258
  " "
656227
656259
  ]
656228
656260
  }, undefined, true, undefined, this)
@@ -656448,7 +656480,7 @@ function AppleTerminalWelcomeV2(t0) {
656448
656480
  dimColor: true,
656449
656481
  children: [
656450
656482
  "v",
656451
- "0.15.0",
656483
+ "0.15.1",
656452
656484
  " "
656453
656485
  ]
656454
656486
  }, undefined, true, undefined, this);
@@ -656702,7 +656734,7 @@ function AppleTerminalWelcomeV2(t0) {
656702
656734
  dimColor: true,
656703
656735
  children: [
656704
656736
  "v",
656705
- "0.15.0",
656737
+ "0.15.1",
656706
656738
  " "
656707
656739
  ]
656708
656740
  }, undefined, true, undefined, this);
@@ -674251,7 +674283,7 @@ __export(exports_update, {
674251
674283
  async function update() {
674252
674284
  if (getAPIProvider() !== "firstParty") {
674253
674285
  writeToStdout(source_default.yellow(`Auto-update is not available for third-party provider builds.
674254
- `) + `Current version: ${"0.15.0"}
674286
+ `) + `Current version: ${"0.15.1"}
674255
674287
 
674256
674288
  ` + `To update, reinstall from npm:
674257
674289
  ` + source_default.bold(` npm install -g ${"@makerbi/openclaude"}@latest`) + `
@@ -674262,7 +674294,7 @@ async function update() {
674262
674294
  await gracefulShutdown(0);
674263
674295
  }
674264
674296
  logEvent("tengu_update_check", {});
674265
- writeToStdout(`Current version: ${"0.15.0"}
674297
+ writeToStdout(`Current version: ${"0.15.1"}
674266
674298
  `);
674267
674299
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
674268
674300
  writeToStdout(`Checking for updates to ${channel} version...
@@ -674347,8 +674379,8 @@ async function update() {
674347
674379
  writeToStdout(`Claude is managed by Homebrew.
674348
674380
  `);
674349
674381
  const latest = await getLatestVersion(channel);
674350
- if (latest && !gte("0.15.0", latest)) {
674351
- writeToStdout(`Update available: ${"0.15.0"} → ${latest}
674382
+ if (latest && !gte("0.15.1", latest)) {
674383
+ writeToStdout(`Update available: ${"0.15.1"} → ${latest}
674352
674384
  `);
674353
674385
  writeToStdout(`
674354
674386
  `);
@@ -674364,8 +674396,8 @@ async function update() {
674364
674396
  writeToStdout(`Claude is managed by winget.
674365
674397
  `);
674366
674398
  const latest = await getLatestVersion(channel);
674367
- if (latest && !gte("0.15.0", latest)) {
674368
- writeToStdout(`Update available: ${"0.15.0"} → ${latest}
674399
+ if (latest && !gte("0.15.1", latest)) {
674400
+ writeToStdout(`Update available: ${"0.15.1"} → ${latest}
674369
674401
  `);
674370
674402
  writeToStdout(`
674371
674403
  `);
@@ -674381,8 +674413,8 @@ async function update() {
674381
674413
  writeToStdout(`Claude is managed by apk.
674382
674414
  `);
674383
674415
  const latest = await getLatestVersion(channel);
674384
- if (latest && !gte("0.15.0", latest)) {
674385
- writeToStdout(`Update available: ${"0.15.0"} → ${latest}
674416
+ if (latest && !gte("0.15.1", latest)) {
674417
+ writeToStdout(`Update available: ${"0.15.1"} → ${latest}
674386
674418
  `);
674387
674419
  writeToStdout(`
674388
674420
  `);
@@ -674447,11 +674479,11 @@ async function update() {
674447
674479
  `);
674448
674480
  await gracefulShutdown(1);
674449
674481
  }
674450
- if (result.latestVersion === "0.15.0") {
674451
- writeToStdout(source_default.green(`OpenClaude is up to date (${"0.15.0"})`) + `
674482
+ if (result.latestVersion === "0.15.1") {
674483
+ writeToStdout(source_default.green(`OpenClaude is up to date (${"0.15.1"})`) + `
674452
674484
  `);
674453
674485
  } else {
674454
- writeToStdout(source_default.green(`Successfully updated from ${"0.15.0"} to version ${result.latestVersion}`) + `
674486
+ writeToStdout(source_default.green(`Successfully updated from ${"0.15.1"} to version ${result.latestVersion}`) + `
674455
674487
  `);
674456
674488
  await regenerateCompletionCache();
674457
674489
  }
@@ -674511,12 +674543,12 @@ async function update() {
674511
674543
  `);
674512
674544
  await gracefulShutdown(1);
674513
674545
  }
674514
- if (latestVersion === "0.15.0") {
674515
- writeToStdout(source_default.green(`OpenClaude is up to date (${"0.15.0"})`) + `
674546
+ if (latestVersion === "0.15.1") {
674547
+ writeToStdout(source_default.green(`OpenClaude is up to date (${"0.15.1"})`) + `
674516
674548
  `);
674517
674549
  await gracefulShutdown(0);
674518
674550
  }
674519
- writeToStdout(`New version available: ${latestVersion} (current: ${"0.15.0"})
674551
+ writeToStdout(`New version available: ${latestVersion} (current: ${"0.15.1"})
674520
674552
  `);
674521
674553
  writeToStdout(`Installing update...
674522
674554
  `);
@@ -674561,7 +674593,7 @@ async function update() {
674561
674593
  logForDebugging(`update: Installation status: ${status2}`);
674562
674594
  switch (status2) {
674563
674595
  case "success":
674564
- writeToStdout(source_default.green(`Successfully updated from ${"0.15.0"} to version ${latestVersion}`) + `
674596
+ writeToStdout(source_default.green(`Successfully updated from ${"0.15.1"} to version ${latestVersion}`) + `
674565
674597
  `);
674566
674598
  await regenerateCompletionCache();
674567
674599
  break;
@@ -676618,7 +676650,7 @@ Usage: openclaude --remote "your task description"`, () => gracefulShutdown(1));
676618
676650
  pendingHookMessages
676619
676651
  }, renderAndRun);
676620
676652
  }
676621
- }).version("0.15.0 (OpenClaude)", "-v, --version", "Output the version number");
676653
+ }).version("0.15.1 (OpenClaude)", "-v, --version", "Output the version number");
676622
676654
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
676623
676655
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
676624
676656
  if (canUserConfigureAdvisor()) {
@@ -677195,7 +677227,7 @@ if (false) {}
677195
677227
  async function main2() {
677196
677228
  const args = process.argv.slice(2);
677197
677229
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
677198
- console.log(`${"0.15.0"} (OpenClaude)`);
677230
+ console.log(`${"0.15.1"} (OpenClaude)`);
677199
677231
  return;
677200
677232
  }
677201
677233
  if (args.includes("--provider")) {
@@ -677348,4 +677380,4 @@ async function main2() {
677348
677380
  }
677349
677381
  main2();
677350
677382
 
677351
- //# debugId=7A5287DBF0759A3864756E2164756E21
677383
+ //# debugId=C804D214A872920D64756E2164756E21
package/dist/sdk.mjs CHANGED
@@ -35557,7 +35557,7 @@ function getAttributionHeader(fingerprint) {
35557
35557
  if (!isAttributionHeaderEnabled()) {
35558
35558
  return "";
35559
35559
  }
35560
- const version = `${"0.15.0"}.${fingerprint}`;
35560
+ const version = `${"0.15.1"}.${fingerprint}`;
35561
35561
  const entrypoint = process.env.CLAUDE_CODE_ENTRYPOINT ?? "unknown";
35562
35562
  const cch = "";
35563
35563
  const workload = getWorkload();
@@ -193142,7 +193142,7 @@ var init_metadata = __esm(() => {
193142
193142
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
193143
193143
  WHITESPACE_REGEX = /\s+/;
193144
193144
  getVersionBase = memoize_default(() => {
193145
- const match = "0.15.0".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
193145
+ const match = "0.15.1".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
193146
193146
  return match ? match[0] : undefined;
193147
193147
  });
193148
193148
  buildEnvContext = memoize_default(async () => {
@@ -193182,9 +193182,9 @@ var init_metadata = __esm(() => {
193182
193182
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
193183
193183
  isClaudeCodeAction: isEnvTruthy(process.env.CLAUDE_CODE_ACTION),
193184
193184
  isClaudeAiAuth: isClaudeAISubscriber(),
193185
- version: "0.15.0",
193185
+ version: "0.15.1",
193186
193186
  versionBase: getVersionBase(),
193187
- buildTime: "2026-05-27T07:41:17.731Z",
193187
+ buildTime: "2026-05-27T08:20:37.459Z",
193188
193188
  deploymentEnvironment: env2.detectDeploymentEnvironment(),
193189
193189
  ...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
193190
193190
  githubEventName: process.env.GITHUB_EVENT_NAME,
@@ -201401,7 +201401,7 @@ var init_effort = __esm(() => {
201401
201401
 
201402
201402
  // src/utils/userAgent.ts
201403
201403
  function getClaudeCodeUserAgent() {
201404
- return `claude-code/${"0.15.0"}`;
201404
+ return `claude-code/${"0.15.1"}`;
201405
201405
  }
201406
201406
 
201407
201407
  // src/utils/http.ts
@@ -201410,7 +201410,7 @@ function getUserAgent() {
201410
201410
  const clientApp = process.env.CLAUDE_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}` : "";
201411
201411
  const workload = getWorkload();
201412
201412
  const workloadSuffix = workload ? `, workload/${workload}` : "";
201413
- return `claude-cli/${"0.15.0"} (${process.env.USER_TYPE}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
201413
+ return `claude-cli/${"0.15.1"} (${process.env.USER_TYPE}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
201414
201414
  }
201415
201415
  function getMCPUserAgent() {
201416
201416
  const parts = [];
@@ -201424,7 +201424,7 @@ function getMCPUserAgent() {
201424
201424
  parts.push(`client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}`);
201425
201425
  }
201426
201426
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
201427
- return `claude-code/${"0.15.0"}${suffix}`;
201427
+ return `claude-code/${"0.15.1"}${suffix}`;
201428
201428
  }
201429
201429
  function getWebFetchUserAgent() {
201430
201430
  const supportUrl = getAPIProvider() === "firstParty" ? "https://support.anthropic.com/" : "https://github.com/AndersonBY/openclaude";
@@ -236905,7 +236905,7 @@ function computeFingerprint(messageText, version2) {
236905
236905
  }
236906
236906
  function computeFingerprintFromMessages(messages) {
236907
236907
  const firstMessageText = extractFirstMessageText(messages);
236908
- return computeFingerprint(firstMessageText, "0.15.0");
236908
+ return computeFingerprint(firstMessageText, "0.15.1");
236909
236909
  }
236910
236910
  var FINGERPRINT_SALT = "59cf53e54c78";
236911
236911
  var init_fingerprint = () => {};
@@ -236947,7 +236947,7 @@ async function sideQuery(opts) {
236947
236947
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
236948
236948
  }
236949
236949
  const messageText = extractFirstUserMessageText(messages);
236950
- const fingerprint = computeFingerprint(messageText, "0.15.0");
236950
+ const fingerprint = computeFingerprint(messageText, "0.15.1");
236951
236951
  const attributionHeader = getAttributionHeader(fingerprint);
236952
236952
  const systemBlocks = [
236953
236953
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -238192,7 +238192,7 @@ var init_client2 = __esm(() => {
238192
238192
  const client = new Client({
238193
238193
  name: "claude-code",
238194
238194
  title: "OpenClaude",
238195
- version: "0.15.0",
238195
+ version: "0.15.1",
238196
238196
  description: "OpenClaude — coding-agent CLI for any LLM provider",
238197
238197
  websiteUrl: PRODUCT_URL
238198
238198
  }, {
@@ -313519,7 +313519,7 @@ function getAnthropicEnvMetadata() {
313519
313519
  function getBuildAgeMinutes() {
313520
313520
  if (false)
313521
313521
  ;
313522
- const buildTime = new Date("2026-05-27T07:41:17.731Z").getTime();
313522
+ const buildTime = new Date("2026-05-27T08:20:37.459Z").getTime();
313523
313523
  if (isNaN(buildTime))
313524
313524
  return;
313525
313525
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -347422,7 +347422,7 @@ var init_sessionStorage = __esm(() => {
347422
347422
  init_settings2();
347423
347423
  init_slowOperations();
347424
347424
  init_uuid();
347425
- VERSION3 = typeof MACRO !== "undefined" ? "0.15.0" : "unknown";
347425
+ VERSION3 = typeof MACRO !== "undefined" ? "0.15.1" : "unknown";
347426
347426
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
347427
347427
  SKIP_FIRST_PROMPT_PATTERN2 = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
347428
347428
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -348724,7 +348724,7 @@ var init_filesystem = __esm(() => {
348724
348724
  });
348725
348725
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
348726
348726
  const nonce = randomBytes7(16).toString("hex");
348727
- return join80(getClaudeTempDir(), "bundled-skills", "0.15.0", nonce);
348727
+ return join80(getClaudeTempDir(), "bundled-skills", "0.15.1", nonce);
348728
348728
  });
348729
348729
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
348730
348730
  });
@@ -363898,7 +363898,7 @@ function buildSystemInitMessage(inputs) {
363898
363898
  slash_commands: inputs.commands.filter((c7) => c7.userInvocable !== false).map((c7) => c7.name),
363899
363899
  apiKeySource: getAnthropicApiKeyWithSource().source,
363900
363900
  betas: getSdkBetas2(),
363901
- claude_code_version: "0.15.0",
363901
+ claude_code_version: "0.15.1",
363902
363902
  output_style: outputStyle,
363903
363903
  agents: inputs.agents.map((agent2) => agent2.agentType),
363904
363904
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
@@ -367953,4 +367953,4 @@ export {
367953
367953
  AbortError
367954
367954
  };
367955
367955
 
367956
- //# debugId=93DEFD24DD3B4EA864756E2164756E21
367956
+ //# debugId=FD5D1A6CE219B45864756E2164756E21
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@makerbi/openclaude",
3
- "version": "0.15.0",
3
+ "version": "0.15.1",
4
4
  "description": "OpenClaude opens coding-agent workflows to any LLM — OpenAI, Gemini, DeepSeek, Ollama, and 200+ models",
5
5
  "type": "module",
6
6
  "bin": {