@iruidong/code 0.1.4 → 0.1.5

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/QUICKSTART.md CHANGED
@@ -10,7 +10,7 @@ ruidong --version
10
10
  Expected output:
11
11
 
12
12
  ```bash
13
- Ruidong Code v0.1.4
13
+ Ruidong Code v0.1.5
14
14
  ```
15
15
 
16
16
  ## 2. Initialize provider config
package/dist/cli.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- // ruidong v0.1.4 (built from source)
2
+ // ruidong v0.1.5 (built from source)
3
3
  // Copyright (c) Anthropic PBC. All rights reserved.
4
4
  import { createRequire as __createRequire } from "module";const require=__createRequire(import.meta.url);
5
5
  var __defProp = Object.defineProperty;
@@ -81,7 +81,7 @@ var __callDispose = (stack, error, hasError) => {
81
81
  var PUBLIC_CLI_VERSION, BUILD_TIME, API_COMPAT_VERSION, API_COMPAT_VERSION_BASE;
82
82
  var init_version = __esm({
83
83
  "build-src/src/constants/version.ts"() {
84
- PUBLIC_CLI_VERSION = "0.1.4";
84
+ PUBLIC_CLI_VERSION = "0.1.5";
85
85
  BUILD_TIME = "2026-04-01T06:00:31.912Z";
86
86
  API_COMPAT_VERSION = "2.1.88";
87
87
  API_COMPAT_VERSION_BASE = API_COMPAT_VERSION.match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/)?.[0];
@@ -75142,7 +75142,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
75142
75142
  {
75143
75143
  name: "ruidong-code",
75144
75144
  title: "ruidong",
75145
- version: "0.1.4",
75145
+ version: "0.1.5",
75146
75146
  description: "Ruidong Code agentic coding tool",
75147
75147
  websiteUrl: PRODUCT_URL
75148
75148
  },
@@ -75565,7 +75565,7 @@ var init_client3 = __esm({
75565
75565
  {
75566
75566
  name: "ruidong-code",
75567
75567
  title: "ruidong",
75568
- version: "0.1.4",
75568
+ version: "0.1.5",
75569
75569
  description: "Ruidong Code agentic coding tool",
75570
75570
  websiteUrl: PRODUCT_URL
75571
75571
  },
@@ -87264,7 +87264,7 @@ async function installGlobalPackage(specificVersion) {
87264
87264
  );
87265
87265
  logEvent("tengu_auto_updater_lock_contention", {
87266
87266
  pid: process.pid,
87267
- currentVersion: "0.1.4"
87267
+ currentVersion: "0.1.5"
87268
87268
  });
87269
87269
  return "in_progress";
87270
87270
  }
@@ -87273,7 +87273,7 @@ async function installGlobalPackage(specificVersion) {
87273
87273
  if (!env.isRunningWithBun() && env.isNpmFromWindowsPath()) {
87274
87274
  logError(new Error("Windows NPM detected in WSL environment"));
87275
87275
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
87276
- currentVersion: "0.1.4"
87276
+ currentVersion: "0.1.5"
87277
87277
  });
87278
87278
  console.error(`
87279
87279
  Error: Windows NPM detected in WSL
@@ -87940,7 +87940,7 @@ function detectLinuxGlobPatternWarnings() {
87940
87940
  }
87941
87941
  async function getDoctorDiagnostic() {
87942
87942
  const installationType = await getCurrentInstallationType();
87943
- const version2 = typeof MACRO !== "undefined" && "0.1.4" ? "0.1.4" : "unknown";
87943
+ const version2 = typeof MACRO !== "undefined" && "0.1.5" ? "0.1.5" : "unknown";
87944
87944
  const installationPath = await getInstallationPath();
87945
87945
  const invokedBinary = getInvokedBinary();
87946
87946
  const multipleInstallations = await detectMultipleInstallations();
@@ -89020,7 +89020,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
89020
89020
  version2 = maxVersion;
89021
89021
  }
89022
89022
  }
89023
- if (!forceReinstall && version2 === "0.1.4" && await versionIsAvailable(version2) && await isPossibleClaudeBinary(executablePath)) {
89023
+ if (!forceReinstall && version2 === "0.1.5" && await versionIsAvailable(version2) && await isPossibleClaudeBinary(executablePath)) {
89024
89024
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
89025
89025
  logEvent("tengu_native_update_complete", {
89026
89026
  latency_ms: Date.now() - startTime,
@@ -185203,6 +185203,10 @@ function useTextInput({
185203
185203
  }
185204
185204
  return cursor.del();
185205
185205
  }
185206
+ function submitCurrentValue() {
185207
+ onSubmit?.(originalValue);
185208
+ return cursor;
185209
+ }
185206
185210
  function killToLineEnd() {
185207
185211
  const { cursor: newCursor, killed } = cursor.deleteToLineEnd();
185208
185212
  pushToKillRing(killed, "append");
@@ -185249,7 +185253,11 @@ function useTextInput({
185249
185253
  ["e", () => cursor.endOfLine()],
185250
185254
  ["f", () => cursor.right()],
185251
185255
  ["h", () => cursor.deleteTokenBefore() ?? cursor.backspace()],
185256
+ // Some terminal/IME combinations swallow plain Enter in raw mode.
185257
+ // Keep Ctrl+J / Ctrl+M as reliable submit fallbacks.
185258
+ ["j", submitCurrentValue],
185252
185259
  ["k", killToLineEnd],
185260
+ ["m", submitCurrentValue],
185253
185261
  ["n", () => downOrHistoryDown()],
185254
185262
  ["p", () => upOrHistoryUp()],
185255
185263
  ["u", killToLineStart],
@@ -187872,7 +187880,7 @@ ${sanitizedDescription}
187872
187880
  **Environment Info**
187873
187881
  - Platform: ${env.platform}
187874
187882
  - Terminal: ${env.terminal}
187875
- - Version: ${"0.1.4"}
187883
+ - Version: ${"0.1.5"}
187876
187884
  - Feedback ID: ${feedbackId}
187877
187885
 
187878
187886
  **Errors**
@@ -218449,6 +218457,11 @@ function extractConversationText(messages) {
218449
218457
  const text = parts.join("\n");
218450
218458
  return text.length > MAX_CONVERSATION_TEXT ? text.slice(-MAX_CONVERSATION_TEXT) : text;
218451
218459
  }
218460
+ function normalizeJsonLikeResponse(text) {
218461
+ const trimmed = text.trim();
218462
+ const fencedMatch = trimmed.match(/^```(?:json)?\s*([\s\S]*?)\s*```$/i);
218463
+ return fencedMatch?.[1]?.trim() || trimmed;
218464
+ }
218452
218465
  async function generateSessionTitle(description, signal) {
218453
218466
  const trimmed = description.trim();
218454
218467
  if (!trimmed) return null;
@@ -218480,7 +218493,8 @@ async function generateSessionTitle(description, signal) {
218480
218493
  }
218481
218494
  });
218482
218495
  const text = extractTextContent(result.message.content);
218483
- const parsed = titleSchema().safeParse(safeParseJSON(text));
218496
+ const normalizedText = normalizeJsonLikeResponse(text);
218497
+ const parsed = titleSchema().safeParse(safeParseJSON(normalizedText));
218484
218498
  const title = parsed.success ? parsed.data.title.trim() || null : null;
218485
218499
  logEvent("tengu_session_title_generated", { success: title !== null });
218486
218500
  return title;
@@ -254180,7 +254194,7 @@ function generateHtmlReport(data, insights) {
254180
254194
  </html>`;
254181
254195
  }
254182
254196
  function buildExportData(data, insights, facets, remoteStats) {
254183
- const version2 = typeof MACRO !== "undefined" ? "0.1.4" : "unknown";
254197
+ const version2 = typeof MACRO !== "undefined" ? "0.1.5" : "unknown";
254184
254198
  const remote_hosts_collected = remoteStats?.hosts.filter((h) => h.sessionCount > 0).map((h) => h.name);
254185
254199
  const facets_summary = {
254186
254200
  total: facets.size,
@@ -257944,7 +257958,7 @@ var init_sessionStorage = __esm({
257944
257958
  init_settings2();
257945
257959
  init_slowOperations();
257946
257960
  init_uuid();
257947
- VERSION2 = typeof MACRO !== "undefined" ? "0.1.4" : "unknown";
257961
+ VERSION2 = typeof MACRO !== "undefined" ? "0.1.5" : "unknown";
257948
257962
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
257949
257963
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
257950
257964
  EPHEMERAL_PROGRESS_TYPES = /* @__PURE__ */ new Set([
@@ -305561,7 +305575,7 @@ async function _temp199() {
305561
305575
  logForDebugging("Showing marketplace installation success notification");
305562
305576
  notifs.push({
305563
305577
  key: "marketplace-installed",
305564
- jsx: /* @__PURE__ */ jsx444(ThemedText, { color: "success", children: "\u2713 Anthropic marketplace installed \xB7 /plugin to see available plugins" }),
305578
+ jsx: /* @__PURE__ */ jsx444(ThemedText, { color: "success", children: "\u2713 Ruidong marketplace installed \xB7 /plugin to see available plugins" }),
305565
305579
  priority: "immediate",
305566
305580
  timeoutMs: 7e3
305567
305581
  });
@@ -305570,7 +305584,7 @@ async function _temp199() {
305570
305584
  logForDebugging("Showing marketplace installation failure notification");
305571
305585
  notifs.push({
305572
305586
  key: "marketplace-install-failed",
305573
- jsx: /* @__PURE__ */ jsx444(ThemedText, { color: "warning", children: "Failed to install Anthropic marketplace \xB7 Will retry on next startup" }),
305587
+ jsx: /* @__PURE__ */ jsx444(ThemedText, { color: "warning", children: "Failed to install Ruidong marketplace \xB7 Will retry on next startup" }),
305574
305588
  priority: "immediate",
305575
305589
  timeoutMs: 8e3
305576
305590
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iruidong/code",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "description": "Ruidong Code CLI for anthropic-compatible coding workflows",
5
5
  "type": "module",
6
6
  "private": false,