@bash0816/claude-code 2.1.154-1 → 2.1.154-2
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.
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"canonical_package_name": "@bash0816/claude-code",
|
|
5
5
|
"canonical_manifest_url": "https://raw.githubusercontent.com/bash0816/ClaudeCode-Termux/main/config/claude-termux-release-manifest.json",
|
|
6
6
|
"canonical_repository_url": "https://github.com/bash0816/ClaudeCode-Termux",
|
|
7
|
-
"bridge_package_version": "2.1.154-
|
|
7
|
+
"bridge_package_version": "2.1.154-2",
|
|
8
8
|
"default_native_version": "2.1.154",
|
|
9
9
|
"latest_audited_version": "2.1.154",
|
|
10
10
|
"latest_candidate_version": "2.1.154",
|
|
@@ -351,6 +351,104 @@ function wrapAnsi(str, columns, options) {
|
|
|
351
351
|
return result.join('');
|
|
352
352
|
}
|
|
353
353
|
|
|
354
|
+
const YAML = {
|
|
355
|
+
parse(text) {
|
|
356
|
+
try {
|
|
357
|
+
const lines = String(text).split('\n');
|
|
358
|
+
const result = {};
|
|
359
|
+
for (const line of lines) {
|
|
360
|
+
const m = line.match(/^([^:#]+):\s*(.*)$/);
|
|
361
|
+
if (m) result[m[1].trim()] = m[2].trim().replace(/^['"]|['"]$/g, '');
|
|
362
|
+
}
|
|
363
|
+
return result;
|
|
364
|
+
} catch { return {}; }
|
|
365
|
+
},
|
|
366
|
+
stringify(obj) {
|
|
367
|
+
try {
|
|
368
|
+
return Object.entries(obj || {}).map(([k, v]) => k + ': ' + v).join('\n') + '\n';
|
|
369
|
+
} catch { return ''; }
|
|
370
|
+
},
|
|
371
|
+
};
|
|
372
|
+
|
|
373
|
+
function parseSemverVersion(value) {
|
|
374
|
+
const text = String(value ?? '').trim().replace(/^[v=]/, '');
|
|
375
|
+
const match = text.match(/^(0|[1-9]\d*)(?:\.(0|[1-9]\d*))?(?:\.(0|[1-9]\d*))?(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/);
|
|
376
|
+
if (!match) return null;
|
|
377
|
+
return {
|
|
378
|
+
parts: [match[1], match[2] ?? '0', match[3] ?? '0'].map(Number),
|
|
379
|
+
pre: match[4] ? match[4].split('.') : null,
|
|
380
|
+
};
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
function comparePrerelease(a, b) {
|
|
384
|
+
const size = Math.max(a.length, b.length);
|
|
385
|
+
for (let i = 0; i < size; i++) {
|
|
386
|
+
if (a[i] === undefined) return -1;
|
|
387
|
+
if (b[i] === undefined) return 1;
|
|
388
|
+
const aNum = /^\d+$/.test(a[i]);
|
|
389
|
+
const bNum = /^\d+$/.test(b[i]);
|
|
390
|
+
if (aNum && bNum) { const d = Number(a[i]) - Number(b[i]); if (d) return d < 0 ? -1 : 1; }
|
|
391
|
+
else if (aNum) return -1;
|
|
392
|
+
else if (bNum) return 1;
|
|
393
|
+
else if (a[i] < b[i]) return -1;
|
|
394
|
+
else if (a[i] > b[i]) return 1;
|
|
395
|
+
}
|
|
396
|
+
return 0;
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
const semver = {
|
|
400
|
+
order(left, right) {
|
|
401
|
+
const a = parseSemverVersion(left), b = parseSemverVersion(right);
|
|
402
|
+
if (!a || !b) return NaN;
|
|
403
|
+
for (let i = 0; i < 3; i++) {
|
|
404
|
+
const d = a.parts[i] - b.parts[i];
|
|
405
|
+
if (d) return d < 0 ? -1 : 1;
|
|
406
|
+
}
|
|
407
|
+
if (a.pre && !b.pre) return -1;
|
|
408
|
+
if (!a.pre && b.pre) return 1;
|
|
409
|
+
if (a.pre && b.pre) return comparePrerelease(a.pre, b.pre);
|
|
410
|
+
return 0;
|
|
411
|
+
},
|
|
412
|
+
satisfies(version, range) {
|
|
413
|
+
if (!version || !range) return false;
|
|
414
|
+
const v = String(version).replace(/^[v=]/, '');
|
|
415
|
+
const clean = String(range).trim();
|
|
416
|
+
if (!clean) return false;
|
|
417
|
+
if (clean.includes('||')) return clean.split('||').some(r => semver.satisfies(v, r.trim()));
|
|
418
|
+
const parts = clean.split(/\s+/).filter(Boolean);
|
|
419
|
+
if (parts.length > 1) return parts.every(p => semver.satisfies(v, p));
|
|
420
|
+
const caret = clean.match(/^\^([0-9].*)$/);
|
|
421
|
+
if (caret) {
|
|
422
|
+
const p = parseSemverVersion(caret[1]);
|
|
423
|
+
if (!p) return false;
|
|
424
|
+
const upper = p.parts[0] > 0 ? (p.parts[0] + 1) + '.0.0'
|
|
425
|
+
: p.parts[1] > 0 ? '0.' + (p.parts[1] + 1) + '.0'
|
|
426
|
+
: '0.0.' + (p.parts[2] + 1);
|
|
427
|
+
return semver.satisfies(v, '>=' + caret[1]) && semver.satisfies(v, '<' + upper);
|
|
428
|
+
}
|
|
429
|
+
const tilde = clean.match(/^~([0-9].*)$/);
|
|
430
|
+
if (tilde) {
|
|
431
|
+
const p = parseSemverVersion(tilde[1]);
|
|
432
|
+
if (!p) return false;
|
|
433
|
+
const original = tilde[1].split('.');
|
|
434
|
+
const upper = original.length >= 2
|
|
435
|
+
? p.parts[0] + '.' + (p.parts[1] + 1) + '.0'
|
|
436
|
+
: (p.parts[0] + 1) + '.0.0';
|
|
437
|
+
return semver.satisfies(v, '>=' + tilde[1]) && semver.satisfies(v, '<' + upper);
|
|
438
|
+
}
|
|
439
|
+
const m = clean.match(/^([><=!]{1,2})\s*([0-9].*)$/);
|
|
440
|
+
if (m) {
|
|
441
|
+
const cmp = semver.order(v, m[2]);
|
|
442
|
+
if (!Number.isFinite(cmp)) return false;
|
|
443
|
+
return m[1] === '>=' ? cmp >= 0 : m[1] === '>' ? cmp > 0 :
|
|
444
|
+
m[1] === '<=' ? cmp <= 0 : m[1] === '<' ? cmp < 0 :
|
|
445
|
+
m[1] === '=' || m[1] === '==' ? cmp === 0 : m[1] === '!=' ? cmp !== 0 : false;
|
|
446
|
+
}
|
|
447
|
+
const exact = parseSemverVersion(clean);
|
|
448
|
+
return exact ? semver.order(v, clean) === 0 : false;
|
|
449
|
+
},
|
|
450
|
+
};
|
|
451
|
+
|
|
354
452
|
async function main() {
|
|
355
453
|
const extractedFile = ensureEntryFile();
|
|
356
454
|
const code = fs.readFileSync(extractedFile, 'utf8');
|
|
@@ -379,6 +477,15 @@ async function main() {
|
|
|
379
477
|
which,
|
|
380
478
|
wrapAnsi,
|
|
381
479
|
stripANSI,
|
|
480
|
+
semver,
|
|
481
|
+
YAML,
|
|
482
|
+
gc: (sync) => {
|
|
483
|
+
try {
|
|
484
|
+
if (typeof global.gc === 'function') global.gc(sync === false ? false : true);
|
|
485
|
+
} catch {}
|
|
486
|
+
},
|
|
487
|
+
stdin: { stream: null },
|
|
488
|
+
embeddedFiles: [],
|
|
382
489
|
};
|
|
383
490
|
const BunProxy = new Proxy(BunShim, {
|
|
384
491
|
get(target, key, receiver) {
|