@metaphi-ai/hum 0.2.63 → 0.2.65
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/cli.mjs +49 -35
- package/package.json +2 -2
package/dist/cli.mjs
CHANGED
|
@@ -3729,7 +3729,7 @@ var init_src = __esm({
|
|
|
3729
3729
|
// node_modules/ink/node_modules/ansi-regex/index.js
|
|
3730
3730
|
function ansiRegex({ onlyFirst = false } = {}) {
|
|
3731
3731
|
const ST = "(?:\\u0007|\\u001B\\u005C|\\u009C)";
|
|
3732
|
-
const osc = `(?:\\u001B\\][^\\u0007\\u001B\\u009C]*${ST})`;
|
|
3732
|
+
const osc = `(?:(?:\\u001B\\]|\\u009D)[^\\u0007\\u001B\\u009C\\u009D]*${ST})`;
|
|
3733
3733
|
const csi = "[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]";
|
|
3734
3734
|
const pattern = `${osc}|${csi}`;
|
|
3735
3735
|
return new RegExp(pattern, onlyFirst ? void 0 : "g");
|
|
@@ -3885,10 +3885,8 @@ function isDoubleWidthNonRgiEmojiSequence(segment) {
|
|
|
3885
3885
|
return false;
|
|
3886
3886
|
}
|
|
3887
3887
|
function baseVisible(segment) {
|
|
3888
|
-
|
|
3889
|
-
|
|
3890
|
-
function isZeroWidthCluster(segment) {
|
|
3891
|
-
return zeroWidthClusterRegex.test(segment);
|
|
3888
|
+
const index = segment.search(visibleCharacterRegex);
|
|
3889
|
+
return index === -1 ? void 0 : segment.slice(index);
|
|
3892
3890
|
}
|
|
3893
3891
|
function isHangulLeadingJamo(codePoint) {
|
|
3894
3892
|
return codePoint >= 4352 && codePoint <= 4447 || codePoint >= 43360 && codePoint <= 43388;
|
|
@@ -3905,7 +3903,7 @@ function isHangulJamo(codePoint) {
|
|
|
3905
3903
|
function hangulClusterWidth(visibleSegment, eastAsianWidthOptions) {
|
|
3906
3904
|
const codePoints = [];
|
|
3907
3905
|
for (const character of visibleSegment) {
|
|
3908
|
-
if (
|
|
3906
|
+
if (!visibleCharacterRegex.test(character)) {
|
|
3909
3907
|
continue;
|
|
3910
3908
|
}
|
|
3911
3909
|
codePoints.push(character.codePointAt(0));
|
|
@@ -3969,14 +3967,14 @@ function stringWidth(input, options2 = {}) {
|
|
|
3969
3967
|
let width = 0;
|
|
3970
3968
|
const eastAsianWidthOptions = { ambiguousAsWide: !ambiguousIsNarrow };
|
|
3971
3969
|
for (const { segment } of segmenter.segment(string)) {
|
|
3972
|
-
|
|
3970
|
+
const visibleSegment = baseVisible(segment);
|
|
3971
|
+
if (visibleSegment === void 0) {
|
|
3973
3972
|
continue;
|
|
3974
3973
|
}
|
|
3975
3974
|
if (rgiEmojiRegex.test(segment) || isDoubleWidthNonRgiEmojiSequence(segment)) {
|
|
3976
3975
|
width += 2;
|
|
3977
3976
|
continue;
|
|
3978
3977
|
}
|
|
3979
|
-
const visibleSegment = baseVisible(segment);
|
|
3980
3978
|
const hangulWidth = hangulClusterWidth(visibleSegment, eastAsianWidthOptions);
|
|
3981
3979
|
if (hangulWidth !== void 0) {
|
|
3982
3980
|
width += hangulWidth;
|
|
@@ -3988,15 +3986,14 @@ function stringWidth(input, options2 = {}) {
|
|
|
3988
3986
|
}
|
|
3989
3987
|
return width;
|
|
3990
3988
|
}
|
|
3991
|
-
var segmenter,
|
|
3989
|
+
var segmenter, visibleCharacterRegex, spacingMarkRegex, rgiEmojiRegex, unqualifiedKeycapRegex, extendedPictographicRegex;
|
|
3992
3990
|
var init_string_width = __esm({
|
|
3993
3991
|
"node_modules/ink/node_modules/string-width/index.js"() {
|
|
3994
3992
|
init_define_HUM_CORE_SUBS();
|
|
3995
3993
|
init_strip_ansi();
|
|
3996
3994
|
init_get_east_asian_width();
|
|
3997
3995
|
segmenter = new Intl.Segmenter();
|
|
3998
|
-
|
|
3999
|
-
leadingNonPrintingRegex = new RegExp("^[\\p{Default_Ignorable_Code_Point}\\p{Control}\\p{Format}\\p{Nonspacing_Mark}\\p{Enclosing_Mark}\\p{Surrogate}]+", "v");
|
|
3996
|
+
visibleCharacterRegex = new RegExp("[^\\p{Default_Ignorable_Code_Point}\\p{Control}\\p{Format}\\p{Nonspacing_Mark}\\p{Enclosing_Mark}\\p{Surrogate}]", "v");
|
|
4000
3997
|
spacingMarkRegex = new RegExp("\\p{Spacing_Mark}", "v");
|
|
4001
3998
|
rgiEmojiRegex = new RegExp("^\\p{RGI_Emoji}$", "v");
|
|
4002
3999
|
unqualifiedKeycapRegex = /^[\d#*]\u20E3$/;
|
|
@@ -4198,9 +4195,9 @@ var init_ansi_styles = __esm({
|
|
|
4198
4195
|
|
|
4199
4196
|
// node_modules/ink/node_modules/wrap-ansi/index.js
|
|
4200
4197
|
function wrapAnsi(string, columns, options2) {
|
|
4201
|
-
return String(string)
|
|
4198
|
+
return normalizeText(String(string)).replaceAll("\r\n", "\n").split("\n").map((line) => exec(expandTabs(line), columns, options2)).join("\n");
|
|
4202
4199
|
}
|
|
4203
|
-
var ANSI_ESCAPE, ANSI_ESCAPE_BELL, C1_CSI, ANSI_CSI, ANSI_OSC, ANSI_SGR_TERMINATOR, ANSI_SGR_RESET, ANSI_SGR_RESET_FOREGROUND, ANSI_SGR_RESET_BACKGROUND, ANSI_SGR_RESET_UNDERLINE_COLOR, ANSI_SGR_FOREGROUND_EXTENDED, ANSI_SGR_BACKGROUND_EXTENDED, ANSI_SGR_UNDERLINE_COLOR_EXTENDED, ANSI_SGR_COLOR_MODE_RGB, ANSI_SGR_COLOR_MODE_256, ANSI_ESCAPE_LINK, ESCAPES, ESCAPE_CHARACTERS, CSI_INTRODUCER, CSI_PARAMETERS, SGR_PARAMETERS, OSC_STRING_TERMINATOR, OSC_STRING_PAYLOAD, LINK_PARAMETERS, OSC_STRING, ANSI_ESCAPE_REGEX, ANSI_SGR_MODIFIER_CLOSE_CODES, segmenter2, getStringWidth, TAB_SIZE, ESCAPE_INTRODUCER_REGEX, ROW_BOUNDARY_REGEX, ASCII_PRINTABLE_REGEX, wrapAnsiCode, wrapAnsiHyperlink, matchAnsiEscape, forEachSegment, getWidth, getTokens, splitWords, getColonColorToken, getSgrTokens, removeActiveStyle, upsertActiveStyle, removeModifierStylesByClose, getColorStyle, applySgrResetCode, applySgrToken, applySgrParameters, applySgrResets, applyLeadingSgrResets, getClosingSgrSequence, getOpeningSgrSequence, wrapWord, stringVisibleTrimSpacesRight, expandTabs, restoreStylesAcrossRows, exec;
|
|
4200
|
+
var ANSI_ESCAPE, ANSI_ESCAPE_BELL, C1_CSI, ANSI_CSI, ANSI_OSC, ANSI_SGR_TERMINATOR, ANSI_SGR_RESET, ANSI_SGR_RESET_FOREGROUND, ANSI_SGR_RESET_BACKGROUND, ANSI_SGR_RESET_UNDERLINE_COLOR, ANSI_SGR_FOREGROUND_EXTENDED, ANSI_SGR_BACKGROUND_EXTENDED, ANSI_SGR_UNDERLINE_COLOR_EXTENDED, ANSI_SGR_COLOR_MODE_RGB, ANSI_SGR_COLOR_MODE_256, ANSI_ESCAPE_LINK, ESCAPES, ESCAPE_CHARACTERS, CSI_INTRODUCER, CSI_PARAMETERS, SGR_PARAMETERS, OSC_STRING_TERMINATOR, OSC_STRING_PAYLOAD, LINK_PARAMETERS, OSC_STRING, ANSI_ESCAPE_REGEX, ANSI_SGR_MODIFIER_CLOSE_CODES, segmenter2, getStringWidth, TAB_SIZE, ESCAPE_INTRODUCER_REGEX, ROW_BOUNDARY_REGEX, ASCII_PRINTABLE_REGEX, wrapAnsiCode, wrapAnsiHyperlink, matchAnsiEscape, forEachSegment, getWidth, getTokens, splitWords, getColonColorToken, getSgrTokens, removeActiveStyle, upsertActiveStyle, removeModifierStylesByClose, getColorStyle, applySgrResetCode, applySgrToken, applySgrParameters, applySgrResets, applyLeadingSgrResets, getClosingSgrSequence, getOpeningSgrSequence, wrapWord, stringVisibleTrimSpacesRight, expandTabs, restoreStylesAcrossRows, exec, normalizeText;
|
|
4204
4201
|
var init_wrap_ansi = __esm({
|
|
4205
4202
|
"node_modules/ink/node_modules/wrap-ansi/index.js"() {
|
|
4206
4203
|
init_define_HUM_CORE_SUBS();
|
|
@@ -4680,6 +4677,15 @@ var init_wrap_ansi = __esm({
|
|
|
4680
4677
|
}
|
|
4681
4678
|
return restoreStylesAcrossRows(rows.join("\n"));
|
|
4682
4679
|
};
|
|
4680
|
+
normalizeText = (string) => {
|
|
4681
|
+
let normalizedString = "";
|
|
4682
|
+
forEachSegment(string, (plainText) => {
|
|
4683
|
+
normalizedString += plainText.normalize();
|
|
4684
|
+
}, (escape4) => {
|
|
4685
|
+
normalizedString += escape4;
|
|
4686
|
+
});
|
|
4687
|
+
return normalizedString;
|
|
4688
|
+
};
|
|
4683
4689
|
}
|
|
4684
4690
|
});
|
|
4685
4691
|
|
|
@@ -27377,10 +27383,10 @@ function isDoubleWidthNonRgiEmojiSequence2(segment) {
|
|
|
27377
27383
|
return false;
|
|
27378
27384
|
}
|
|
27379
27385
|
function baseVisible2(segment) {
|
|
27380
|
-
return segment.replace(
|
|
27386
|
+
return segment.replace(leadingNonPrintingRegex, "");
|
|
27381
27387
|
}
|
|
27382
|
-
function
|
|
27383
|
-
return
|
|
27388
|
+
function isZeroWidthCluster(segment) {
|
|
27389
|
+
return zeroWidthClusterRegex.test(segment);
|
|
27384
27390
|
}
|
|
27385
27391
|
function isHangulLeadingJamo2(codePoint) {
|
|
27386
27392
|
return codePoint >= 4352 && codePoint <= 4447 || codePoint >= 43360 && codePoint <= 43388;
|
|
@@ -27397,7 +27403,7 @@ function isHangulJamo2(codePoint) {
|
|
|
27397
27403
|
function hangulClusterWidth2(visibleSegment, eastAsianWidthOptions) {
|
|
27398
27404
|
const codePoints = [];
|
|
27399
27405
|
for (const character of visibleSegment) {
|
|
27400
|
-
if (
|
|
27406
|
+
if (zeroWidthClusterRegex.test(character)) {
|
|
27401
27407
|
continue;
|
|
27402
27408
|
}
|
|
27403
27409
|
codePoints.push(character.codePointAt(0));
|
|
@@ -27461,7 +27467,7 @@ function stringWidth2(input, options2 = {}) {
|
|
|
27461
27467
|
let width = 0;
|
|
27462
27468
|
const eastAsianWidthOptions = { ambiguousAsWide: !ambiguousIsNarrow };
|
|
27463
27469
|
for (const { segment } of segmenter3.segment(string)) {
|
|
27464
|
-
if (
|
|
27470
|
+
if (isZeroWidthCluster(segment)) {
|
|
27465
27471
|
continue;
|
|
27466
27472
|
}
|
|
27467
27473
|
if (rgiEmojiRegex2.test(segment) || isDoubleWidthNonRgiEmojiSequence2(segment)) {
|
|
@@ -27480,15 +27486,15 @@ function stringWidth2(input, options2 = {}) {
|
|
|
27480
27486
|
}
|
|
27481
27487
|
return width;
|
|
27482
27488
|
}
|
|
27483
|
-
var segmenter3,
|
|
27489
|
+
var segmenter3, zeroWidthClusterRegex, leadingNonPrintingRegex, spacingMarkRegex2, rgiEmojiRegex2, unqualifiedKeycapRegex2, extendedPictographicRegex2;
|
|
27484
27490
|
var init_string_width2 = __esm({
|
|
27485
27491
|
"node_modules/widest-line/node_modules/string-width/index.js"() {
|
|
27486
27492
|
init_define_HUM_CORE_SUBS();
|
|
27487
27493
|
init_strip_ansi2();
|
|
27488
27494
|
init_get_east_asian_width();
|
|
27489
27495
|
segmenter3 = new Intl.Segmenter();
|
|
27490
|
-
|
|
27491
|
-
|
|
27496
|
+
zeroWidthClusterRegex = new RegExp("^(?:\\p{Default_Ignorable_Code_Point}|\\p{Control}|\\p{Format}|\\p{Nonspacing_Mark}|\\p{Enclosing_Mark}|\\p{Surrogate})+$", "v");
|
|
27497
|
+
leadingNonPrintingRegex = new RegExp("^[\\p{Default_Ignorable_Code_Point}\\p{Control}\\p{Format}\\p{Nonspacing_Mark}\\p{Enclosing_Mark}\\p{Surrogate}]+", "v");
|
|
27492
27498
|
spacingMarkRegex2 = new RegExp("\\p{Spacing_Mark}", "v");
|
|
27493
27499
|
rgiEmojiRegex2 = new RegExp("^\\p{RGI_Emoji}$", "v");
|
|
27494
27500
|
unqualifiedKeycapRegex2 = /^[\d#*]\u20E3$/;
|
|
@@ -28452,10 +28458,10 @@ function isDoubleWidthNonRgiEmojiSequence3(segment) {
|
|
|
28452
28458
|
return false;
|
|
28453
28459
|
}
|
|
28454
28460
|
function baseVisible3(segment) {
|
|
28455
|
-
return segment.replace(
|
|
28461
|
+
return segment.replace(leadingNonPrintingRegex2, "");
|
|
28456
28462
|
}
|
|
28457
|
-
function
|
|
28458
|
-
return
|
|
28463
|
+
function isZeroWidthCluster2(segment) {
|
|
28464
|
+
return zeroWidthClusterRegex2.test(segment);
|
|
28459
28465
|
}
|
|
28460
28466
|
function isHangulLeadingJamo3(codePoint) {
|
|
28461
28467
|
return codePoint >= 4352 && codePoint <= 4447 || codePoint >= 43360 && codePoint <= 43388;
|
|
@@ -28472,7 +28478,7 @@ function isHangulJamo3(codePoint) {
|
|
|
28472
28478
|
function hangulClusterWidth3(visibleSegment, eastAsianWidthOptions) {
|
|
28473
28479
|
const codePoints = [];
|
|
28474
28480
|
for (const character of visibleSegment) {
|
|
28475
|
-
if (
|
|
28481
|
+
if (zeroWidthClusterRegex2.test(character)) {
|
|
28476
28482
|
continue;
|
|
28477
28483
|
}
|
|
28478
28484
|
codePoints.push(character.codePointAt(0));
|
|
@@ -28536,7 +28542,7 @@ function stringWidth3(input, options2 = {}) {
|
|
|
28536
28542
|
let width = 0;
|
|
28537
28543
|
const eastAsianWidthOptions = { ambiguousAsWide: !ambiguousIsNarrow };
|
|
28538
28544
|
for (const { segment } of segmenter4.segment(string)) {
|
|
28539
|
-
if (
|
|
28545
|
+
if (isZeroWidthCluster2(segment)) {
|
|
28540
28546
|
continue;
|
|
28541
28547
|
}
|
|
28542
28548
|
if (rgiEmojiRegex3.test(segment) || isDoubleWidthNonRgiEmojiSequence3(segment)) {
|
|
@@ -28555,15 +28561,15 @@ function stringWidth3(input, options2 = {}) {
|
|
|
28555
28561
|
}
|
|
28556
28562
|
return width;
|
|
28557
28563
|
}
|
|
28558
|
-
var segmenter4,
|
|
28564
|
+
var segmenter4, zeroWidthClusterRegex2, leadingNonPrintingRegex2, spacingMarkRegex3, rgiEmojiRegex3, unqualifiedKeycapRegex3, extendedPictographicRegex3;
|
|
28559
28565
|
var init_string_width3 = __esm({
|
|
28560
28566
|
"node_modules/cli-truncate/node_modules/string-width/index.js"() {
|
|
28561
28567
|
init_define_HUM_CORE_SUBS();
|
|
28562
28568
|
init_strip_ansi3();
|
|
28563
28569
|
init_get_east_asian_width();
|
|
28564
28570
|
segmenter4 = new Intl.Segmenter();
|
|
28565
|
-
|
|
28566
|
-
|
|
28571
|
+
zeroWidthClusterRegex2 = new RegExp("^(?:\\p{Default_Ignorable_Code_Point}|\\p{Control}|\\p{Format}|\\p{Nonspacing_Mark}|\\p{Enclosing_Mark}|\\p{Surrogate})+$", "v");
|
|
28572
|
+
leadingNonPrintingRegex2 = new RegExp("^[\\p{Default_Ignorable_Code_Point}\\p{Control}\\p{Format}\\p{Nonspacing_Mark}\\p{Enclosing_Mark}\\p{Surrogate}]+", "v");
|
|
28567
28573
|
spacingMarkRegex3 = new RegExp("\\p{Spacing_Mark}", "v");
|
|
28568
28574
|
rgiEmojiRegex3 = new RegExp("^\\p{RGI_Emoji}$", "v");
|
|
28569
28575
|
unqualifiedKeycapRegex3 = /^[\d#*]\u20E3$/;
|
|
@@ -40570,7 +40576,7 @@ var require_cli_spinners = __commonJS({
|
|
|
40570
40576
|
// node_modules/wrap-ansi/node_modules/ansi-regex/index.js
|
|
40571
40577
|
function ansiRegex5({ onlyFirst = false } = {}) {
|
|
40572
40578
|
const ST = "(?:\\u0007|\\u001B\\u005C|\\u009C)";
|
|
40573
|
-
const osc = `(?:\\u001B\\][^\\u0007\\u001B\\u009C]*${ST})`;
|
|
40579
|
+
const osc = `(?:(?:\\u001B\\]|\\u009D)[^\\u0007\\u001B\\u009C\\u009D]*${ST})`;
|
|
40574
40580
|
const csi = "[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]";
|
|
40575
40581
|
const pattern = `${osc}|${csi}`;
|
|
40576
40582
|
return new RegExp(pattern, onlyFirst ? void 0 : "g");
|
|
@@ -89511,7 +89517,7 @@ var init_install = __esm({
|
|
|
89511
89517
|
"src/install.js"() {
|
|
89512
89518
|
init_define_HUM_CORE_SUBS();
|
|
89513
89519
|
win = process.platform === "win32";
|
|
89514
|
-
MINE = true ? "0.2.
|
|
89520
|
+
MINE = true ? "0.2.65" : "";
|
|
89515
89521
|
npmFix = (version = "") => `npm i -g @metaphi-ai/hum@${version || "latest"} --foreground-scripts`;
|
|
89516
89522
|
NPM_FIX = npmFix("latest");
|
|
89517
89523
|
humHome = (env3 = process.env) => env3.HUM_HOME || path.join(os3.homedir(), ".hum");
|
|
@@ -89866,10 +89872,10 @@ function clientEnv() {
|
|
|
89866
89872
|
platform: process.platform,
|
|
89867
89873
|
arch: process.arch,
|
|
89868
89874
|
terminal: process.env.TERM_PROGRAM || (process.env.WT_SESSION ? "Windows Terminal" : process.env.TERM || ""),
|
|
89869
|
-
tui: true ? "0.2.
|
|
89875
|
+
tui: true ? "0.2.65" : ""
|
|
89870
89876
|
};
|
|
89871
89877
|
}
|
|
89872
|
-
function startFailure(failures, { npm = /^(node|bun)(\.exe)?$/i.test(String(process.execPath).split(/[\\/]/).pop()), platform: platform2 = process.platform, version = true ? "0.2.
|
|
89878
|
+
function startFailure(failures, { npm = /^(node|bun)(\.exe)?$/i.test(String(process.execPath).split(/[\\/]/).pop()), platform: platform2 = process.platform, version = true ? "0.2.65" : "" } = {}) {
|
|
89873
89879
|
const refused = failures.find((f) => f.error && f.error.code !== "ENOENT");
|
|
89874
89880
|
const fix = npm ? npmFix(version) : updateCommand({ kind: "native" }, platform2);
|
|
89875
89881
|
if (!refused) {
|
|
@@ -91384,7 +91390,7 @@ var after = (ms, fn) => {
|
|
|
91384
91390
|
|
|
91385
91391
|
// src/app.jsx
|
|
91386
91392
|
var import_jsx_runtime3 = __toESM(require_jsx_runtime(), 1);
|
|
91387
|
-
var MINE2 = true ? "0.2.
|
|
91393
|
+
var MINE2 = true ? "0.2.65" : "";
|
|
91388
91394
|
var fmtDur = (s) => s < 60 ? `${Math.max(1, Math.round(s))}s` : `${Math.floor(s / 60)}m ${Math.round(s % 60)}s`;
|
|
91389
91395
|
var plural = (n, w) => `${n} ${w}${n === 1 ? "" : "s"}`;
|
|
91390
91396
|
var shortSession = (name) => (name || "").replace(/\.jsonl$/, "");
|
|
@@ -91514,6 +91520,7 @@ var COMMANDS = [
|
|
|
91514
91520
|
{ name: "/usage-credits", desc: "your credits on our models, and the page that adds more (a code from Metaphi, or a purchase)" },
|
|
91515
91521
|
{ name: "/approve", desc: "approvals on|off \u2014 whether every change and command waits for you first (leaving the sandbox always asks)" },
|
|
91516
91522
|
{ name: "/agent", desc: "speak to one running sub-agent (/agent 2 <what it should do>), or end it (/agent 2 stop); enter on its row starts the line" },
|
|
91523
|
+
{ name: "/background", desc: "the tool calls still out past their turns (a server's task, a long call), by call id; /background cancel <call id> stops one (a task is cancelled on its server)" },
|
|
91517
91524
|
{ name: "/continue", desc: "after a pause: let the agent carry on" },
|
|
91518
91525
|
{ name: "/goal", desc: "the goal the session keeps working toward on its own, exchange after exchange, until the model marks it complete or blocked (/goal <objective>; /goal pause \xB7 resume \xB7 clear; /goal alone shows where it stands)" },
|
|
91519
91526
|
{ name: "/image", desc: "attach an image file to your next message (/image <path>); ctrl+v pastes a screenshot" },
|
|
@@ -93179,6 +93186,13 @@ ${r.content}`).join("\n\n") };
|
|
|
93179
93186
|
core2.send(m[2].trim() === "stop" ? { cmd: "agent", agent: Number(m[1]), stop: true } : { cmd: "agent", agent: Number(m[1]), text: m[2].trim() });
|
|
93180
93187
|
break;
|
|
93181
93188
|
}
|
|
93189
|
+
case "/background": {
|
|
93190
|
+
const m = /^cancel\s+(\S+)$/.exec(arg);
|
|
93191
|
+
if (!arg) core2.send({ cmd: "background" });
|
|
93192
|
+
else if (m) core2.send({ cmd: "background", cancel: m[1] });
|
|
93193
|
+
else append({ kind: "info", text: "/background lists the calls still out; /background cancel <call id> stops one" });
|
|
93194
|
+
break;
|
|
93195
|
+
}
|
|
93182
93196
|
case "/approve": {
|
|
93183
93197
|
const mode = arg === "on" ? "approve" : arg === "off" ? "off" : gate === "approve" ? "off" : "approve";
|
|
93184
93198
|
core2.send({ cmd: "gate", mode });
|
|
@@ -94070,7 +94084,7 @@ async function sendPending({
|
|
|
94070
94084
|
await init_theme();
|
|
94071
94085
|
var import_jsx_runtime5 = __toESM(require_jsx_runtime(), 1);
|
|
94072
94086
|
import { spawnSync as spawnSync6 } from "node:child_process";
|
|
94073
|
-
var MINE3 = true ? "0.2.
|
|
94087
|
+
var MINE3 = true ? "0.2.65" : "0.0.0";
|
|
94074
94088
|
var layout = installLayout();
|
|
94075
94089
|
function completeInstall() {
|
|
94076
94090
|
if (layout.kind !== "npm" || !needsInstall(MINE3)) return;
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@metaphi-ai/hum",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.65",
|
|
4
4
|
"description": "Hum: a self-improving coding agent for your terminal.",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"bin": { "hum": "bin/hum.js" },
|
|
8
8
|
"files": ["bin", "dist", "scripts"],
|
|
9
9
|
"scripts": { "postinstall": "node scripts/postinstall.js" },
|
|
10
|
-
"engines": { "node": "
|
|
10
|
+
"engines": { "node": "v26.12.0" },
|
|
11
11
|
"repository": { "type": "git", "url": "git+https://github.com/metaphi-labs/hum.git" }
|
|
12
12
|
}
|