codeam-cli 1.1.7 → 1.1.8
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/index.js +14 -16
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -110,7 +110,7 @@ var import_picocolors = __toESM(require("picocolors"));
|
|
|
110
110
|
// package.json
|
|
111
111
|
var package_default = {
|
|
112
112
|
name: "codeam-cli",
|
|
113
|
-
version: "1.1.
|
|
113
|
+
version: "1.1.8",
|
|
114
114
|
description: "Remote control Claude Code from your mobile device",
|
|
115
115
|
main: "dist/index.js",
|
|
116
116
|
bin: {
|
|
@@ -842,32 +842,30 @@ function renderToLines(raw) {
|
|
|
842
842
|
}
|
|
843
843
|
function detectSelector(raw) {
|
|
844
844
|
const stripped = raw.replace(/\x1B\[[^@-~]*[@-~]/g, "").replace(/\x1B\][^\x07\x1B]*(?:\x07|\x1B\\)/g, "").replace(/\x1B[@-Z\\-_]/g, "");
|
|
845
|
+
if (!stripped.includes("\u276F")) return null;
|
|
845
846
|
const segments = stripped.split(/[\r\n]+/);
|
|
846
847
|
const optionMap = /* @__PURE__ */ new Map();
|
|
847
848
|
let hasHighlight = false;
|
|
849
|
+
let question = "";
|
|
850
|
+
const optRe = /(?:(❯)\s*)?(\d+)\.\s+((?:(?!\s*\d+\.\s).)+)/g;
|
|
848
851
|
for (const seg of segments) {
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
const m = t.match(/^(❯)?\s*(\d+)\.\s+(.+)/);
|
|
852
|
-
if (m) {
|
|
852
|
+
if (!seg.trim()) continue;
|
|
853
|
+
for (const m of seg.matchAll(optRe)) {
|
|
853
854
|
if (m[1] === "\u276F") hasHighlight = true;
|
|
854
855
|
const num = parseInt(m[2], 10);
|
|
855
|
-
|
|
856
|
+
const label = m[3].replace(/\s+/g, " ").trim();
|
|
857
|
+
if (label && !optionMap.has(num)) optionMap.set(num, label);
|
|
858
|
+
}
|
|
859
|
+
const beforeOptions = seg.replace(/(?:❯\s*)?\d+\.\s+.*/g, "").trim();
|
|
860
|
+
if (beforeOptions.endsWith("?")) {
|
|
861
|
+
const q = beforeOptions.match(/([^?]+\?)$/);
|
|
862
|
+
if (q) question = q[1].trim();
|
|
856
863
|
}
|
|
857
864
|
}
|
|
858
865
|
if (!hasHighlight) return null;
|
|
859
866
|
const keys = [...optionMap.keys()].sort((a, b) => a - b);
|
|
860
867
|
if (keys.length < 2 || keys[0] !== 1) return null;
|
|
861
|
-
|
|
862
|
-
let question = "";
|
|
863
|
-
for (let i = segments.length - 1; i >= 0; i--) {
|
|
864
|
-
const t = segments[i].trim();
|
|
865
|
-
if (t.endsWith("?") && !/^❯?\s*\d+\./.test(t)) {
|
|
866
|
-
question = t;
|
|
867
|
-
break;
|
|
868
|
-
}
|
|
869
|
-
}
|
|
870
|
-
return { question, options };
|
|
868
|
+
return { question, options: keys.map((k) => optionMap.get(k)) };
|
|
871
869
|
}
|
|
872
870
|
function filterChrome(lines) {
|
|
873
871
|
return lines.filter((line) => {
|