codex-to-im 1.0.32 → 1.0.34

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.
@@ -4574,6 +4574,25 @@ import os5 from "node:os";
4574
4574
  import fs from "node:fs";
4575
4575
  import os from "node:os";
4576
4576
  import path from "node:path";
4577
+
4578
+ // src/runtime-options.ts
4579
+ function parseSandboxMode(value) {
4580
+ if (value === "read-only" || value === "workspace-write" || value === "danger-full-access") {
4581
+ return value;
4582
+ }
4583
+ return void 0;
4584
+ }
4585
+ function parseReasoningEffort(value) {
4586
+ if (value === "minimal" || value === "low" || value === "medium" || value === "high" || value === "xhigh") {
4587
+ return value;
4588
+ }
4589
+ return void 0;
4590
+ }
4591
+ function normalizeChannelId(value) {
4592
+ return value.trim().toLowerCase().replace(/[^a-z0-9_-]+/g, "-").replace(/^-+|-+$/g, "") || "channel";
4593
+ }
4594
+
4595
+ // src/config.ts
4577
4596
  function toFeishuConfig(channel) {
4578
4597
  return channel?.provider === "feishu" ? channel.config : void 0;
4579
4598
  }
@@ -4626,18 +4645,6 @@ function parsePositiveInt(value) {
4626
4645
  if (!Number.isFinite(parsed) || parsed <= 0) return void 0;
4627
4646
  return Math.floor(parsed);
4628
4647
  }
4629
- function parseSandboxMode(value) {
4630
- if (value === "read-only" || value === "workspace-write" || value === "danger-full-access") {
4631
- return value;
4632
- }
4633
- return void 0;
4634
- }
4635
- function parseReasoningEffort(value) {
4636
- if (value === "minimal" || value === "low" || value === "medium" || value === "high" || value === "xhigh") {
4637
- return value;
4638
- }
4639
- return void 0;
4640
- }
4641
4648
  function normalizeFeishuSite(value) {
4642
4649
  const normalized = (value || "").trim().replace(/\/+$/, "").toLowerCase();
4643
4650
  if (!normalized) return "feishu";
@@ -4672,9 +4679,6 @@ function writeConfigV2File(config) {
4672
4679
  fs.writeFileSync(tmpPath, JSON.stringify(config, null, 2), { mode: 384 });
4673
4680
  fs.renameSync(tmpPath, CONFIG_V2_PATH);
4674
4681
  }
4675
- function normalizeChannelId(value) {
4676
- return value.trim().toLowerCase().replace(/[^a-z0-9_-]+/g, "-").replace(/^-+|-+$/g, "") || "channel";
4677
- }
4678
4682
  function defaultAliasForProvider(provider) {
4679
4683
  return provider === "feishu" ? "\u98DE\u4E66" : "\u5FAE\u4FE1";
4680
4684
  }
@@ -5425,7 +5429,6 @@ function assertBindingTargetAvailable(store, current, opts) {
5425
5429
  }
5426
5430
  function getSessionName(session) {
5427
5431
  if (session.session_type === "draft") return "\u4E34\u65F6\u8349\u7A3F\u7EBF\u7A0B";
5428
- if (session.session_type === "history_summary") return "\u5386\u53F2\u6458\u8981\u7EBF\u7A0B";
5429
5432
  if (session.name?.trim()) return session.name.trim();
5430
5433
  if (session.working_directory) return path3.basename(session.working_directory);
5431
5434
  return session.id.slice(0, 8);
@@ -6767,7 +6770,7 @@ function ensureRuntimeDir() {
6767
6770
  function escapeHtml(text2) {
6768
6771
  return text2.replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;").replaceAll('"', "&quot;");
6769
6772
  }
6770
- function buildQrHtml(session, qrSvg) {
6773
+ function buildQrHtml(qrSvg) {
6771
6774
  return `<!doctype html>
6772
6775
  <html lang="zh-CN">
6773
6776
  <head>
@@ -7075,7 +7078,7 @@ function buildWeixinLoginPopupHtml(sessionId) {
7075
7078
  async function writeQrHtml(session) {
7076
7079
  ensureRuntimeDir();
7077
7080
  const qrSvg = await buildQrSvg(session.qrImageUrl);
7078
- fs6.writeFileSync(HTML_PATH, buildQrHtml(session, qrSvg), "utf-8");
7081
+ fs6.writeFileSync(HTML_PATH, buildQrHtml(qrSvg), "utf-8");
7079
7082
  }
7080
7083
  function openQrHtml() {
7081
7084
  try {
@@ -7504,11 +7507,8 @@ function normalizeChannelAlias(value, provider) {
7504
7507
  if (trimmed) return trimmed;
7505
7508
  return provider === "feishu" ? "\u98DE\u4E66" : "\u5FAE\u4FE1";
7506
7509
  }
7507
- function normalizeChannelId2(value) {
7508
- return value.trim().toLowerCase().replace(/[^a-z0-9_-]+/g, "-").replace(/^-+|-+$/g, "") || "channel";
7509
- }
7510
7510
  function buildChannelId(provider, alias, takenIds, currentId) {
7511
- const base = normalizeChannelId2(`${provider}-${alias}`);
7511
+ const base = normalizeChannelId(`${provider}-${alias}`);
7512
7512
  if (!takenIds.has(base) || base === currentId) return base;
7513
7513
  let suffix = 2;
7514
7514
  while (takenIds.has(`${base}-${suffix}`) && `${base}-${suffix}` !== currentId) {
@@ -9583,8 +9583,8 @@ function renderHtml() {
9583
9583
  <div class="command-item"><div class="command-col-command"><code>/t &lt;\u5E8F\u53F7&gt;</code></div><div class="command-col-original"><code>/thread &lt;\u5E8F\u53F7&gt;</code></div><div class="command-col-desc">\u6309\u5E8F\u53F7\u63A5\u7BA1\u684C\u9762\u4F1A\u8BDD\u3002</div></div>
9584
9584
  <div class="command-item"><div class="command-col-command"><code>/n [\u7EDD\u5BF9\u8DEF\u5F84 | \u9879\u76EE\u540D]</code></div><div class="command-col-original"><code>/new [\u7EDD\u5BF9\u8DEF\u5F84 | \u9879\u76EE\u540D]</code></div><div class="command-col-desc">\u4E0D\u5E26\u53C2\u6570\u65F6\u5728\u5F53\u524D\u6B63\u5F0F\u4F1A\u8BDD\u76EE\u5F55\u4E0B\u65B0\u5EFA\u7EBF\u7A0B\uFF1B\u76F8\u5BF9\u9879\u76EE\u540D\u4F1A\u5728\u201C\u9ED8\u8BA4\u5DE5\u4F5C\u7A7A\u95F4\u201D\u4E0B\u521B\u5EFA\u76EE\u5F55\uFF1B\u5F53\u524D\u82E5\u662F\u4E34\u65F6\u8349\u7A3F\u7EBF\u7A0B\u5219\u4F1A\u62A5\u9519\u3002\u901A\u8FC7 IM \u521B\u5EFA\u7684\u65B0\u7EBF\u7A0B\u5F53\u524D\u53EA\u4FDD\u8BC1\u5728 IM \u4E2D\u53EF\u7EE7\u7EED\uFF0C\u4E0D\u4F1A\u81EA\u52A8\u51FA\u73B0\u5728 Codex Desktop \u4F1A\u8BDD\u5217\u8868\u4E2D\u3002</div></div>
9585
9585
  <div class="command-item"><div class="command-col-command"><code>\u76F4\u63A5\u53D1\u9001\u6587\u672C</code></div><div class="command-col-original">\u2014</div><div class="command-col-desc">\u7EE7\u7EED\u5F53\u524D\u5DF2\u7ED1\u5B9A\u4F1A\u8BDD\uFF1B\u672A\u7ED1\u5B9A\u65F6\u4F1A\u81EA\u52A8\u8FDB\u5165\u4E34\u65F6\u8349\u7A3F\u7EBF\u7A0B\u3002</div></div>
9586
- <div class="command-item"><div class="command-col-command"><code>/his</code></div><div class="command-col-original"><code>/history</code></div><div class="command-col-desc">\u67E5\u770B\u5F53\u524D\u4F1A\u8BDD\u6574\u7406\u540E\u7684\u6458\u8981\u3002</div></div>
9587
- <div class="command-item"><div class="command-col-command"><code>/his raw</code></div><div class="command-col-original"><code>/history raw</code></div><div class="command-col-desc">\u67E5\u770B\u6700\u8FD1 N \u6761\u539F\u59CB\u6D88\u606F\u3002</div></div>
9586
+ <div class="command-item"><div class="command-col-command"><code>/his</code></div><div class="command-col-original"><code>/history</code></div><div class="command-col-desc">\u67E5\u770B\u6700\u8FD1 N \u6761\u539F\u59CB\u6D88\u606F\u3002</div></div>
9587
+ <div class="command-item"><div class="command-col-command"><code>/his raw</code></div><div class="command-col-original"><code>/history raw</code></div><div class="command-col-desc">\u67E5\u770B\u6700\u8FD1 N \u6761\u539F\u59CB\u6D88\u606F\uFF08\u517C\u5BB9\u522B\u540D\uFF09\u3002</div></div>
9588
9588
  </div>
9589
9589
  </section>
9590
9590
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codex-to-im",
3
- "version": "1.0.32",
3
+ "version": "1.0.34",
4
4
  "description": "Installable Codex-to-IM bridge with local setup UI and background service",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/zhangle1987/codex-to-im#readme",