nolo-cli 0.156.0-alpha.2 → 0.156.0
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/{_executeModel-5WS2PA62.js → _executeModel-3FMHTHSS.js} +55 -55
- package/{accountResolver-7RYB4D2P.js → accountResolver-55EDKEIK.js} +1 -1
- package/{action-ZJYUBXFC.js → action-GPPJC5TI.js} +5 -5
- package/{addContentAction-TVHB4526.js → addContentAction-XJQEJ4XW.js} +8 -8
- package/{addDialogAgentAction-FDPBU6K6.js → addDialogAgentAction-5WZX5CAY.js} +7 -7
- package/{agentDeleteCommand-MDC7OS3I.js → agentDeleteCommand-VRHLJZKX.js} +75 -76
- package/{agentEmailCommands-WN4EOPKQ.js → agentEmailCommands-YGBQXOL3.js} +78 -79
- package/{agentListCommands-G36AMSBR.js → agentListCommands-GOCGOQUB.js} +36 -36
- package/{agentMachineCommands-63GXO27A.js → agentMachineCommands-FBAWZYHI.js} +35 -32
- package/{agentProviderCommands-X2HQE6HY.js → agentProviderCommands-CXBHNONN.js} +5 -5
- package/{agentPullCommand-FA43RBRU.js → agentPullCommand-GXXEDOSA.js} +4 -4
- package/{agentRecordCommands-X4WJRHDW.js → agentRecordCommands-KAK2G56H.js} +72 -73
- package/{agentRunCommand-4YMIVVHF.js → agentRunCommand-62P3AGJA.js} +75 -75
- package/{agentRunControl-2C5GM3BW.js → agentRunControl-XBSNHHZE.js} +7 -7
- package/{agentRuntimeLocal-Q7ZOMZC7.js → agentRuntimeLocal-J6I63NZC.js} +21 -19
- package/{agentSlice-E3XS5FTQ.js → agentSlice-IZFU3WWH.js} +8 -8
- package/{appDeleteCommands-MMWT54BR.js → appDeleteCommands-KKLAK2UR.js} +31 -29
- package/{appDeployCommands-OIFXVDOF.js → appDeployCommands-PXWK4FAX.js} +31 -29
- package/{appDeployStatusCommands-OTXMSDFB.js → appDeployStatusCommands-3NGWDZTX.js} +31 -29
- package/{appGetCommands-JPY36ANL.js → appGetCommands-APWYPEO3.js} +31 -29
- package/{appListCommands-IHJGN36O.js → appListCommands-OP7IRALO.js} +31 -29
- package/{authCommand-J3XILHWW.js → authCommand-3Z52KJID.js} +22 -302
- package/{authCommands-77CHYBGF.js → authCommands-QOCKVPX3.js} +5 -5
- package/{builtinSkillRegistry-A6VSPJEJ.js → builtinSkillRegistry-LJV7FHNI.js} +4 -4
- package/{chromeCommands-OBBNJCLS.js → chromeCommands-IY4NVSXZ.js} +17 -10
- package/{chunk-SW4S4XYB.js → chunk-2AB2HA4M.js} +84 -34
- package/{chunk-H4KACZMG.js → chunk-2QQ7D3P5.js} +271 -138
- package/{chunk-C5VPAHIU.js → chunk-32ZKZET7.js} +1 -1
- package/{chunk-FPWT3RH2.js → chunk-36IWXF25.js} +22 -22
- package/{chunk-XPWGOTBQ.js → chunk-3L2WKC3W.js} +1 -8
- package/{chunk-3XZKV7QQ.js → chunk-3L5MSPWX.js} +1 -1
- package/{chunk-QLQ573SU.js → chunk-3M52COK5.js} +120 -0
- package/{chunk-Z6KQDSZW.js → chunk-43OFVLWJ.js} +6 -6
- package/{chunk-7A4LJCDR.js → chunk-4FDDVVCE.js} +5 -5
- package/{chunk-TJ2VPCBE.js → chunk-4JCAW7TO.js} +2 -2
- package/{chunk-6TF64IF2.js → chunk-4L4K6YR7.js} +16 -2
- package/{chunk-ZG73GDYU.js → chunk-5E5VB7PS.js} +332 -59
- package/{chunk-HKT6QXP3.js → chunk-5IKRTRRR.js} +5 -5
- package/{chunk-P5QACQDK.js → chunk-62TBKWTV.js} +1 -1
- package/{chunk-TRW43TSC.js → chunk-6EQD4AQL.js} +41 -1
- package/{chunk-RUNKPFM5.js → chunk-6QIBWOPT.js} +12 -8
- package/{chunk-YLMMECCH.js → chunk-6XIE5ZGI.js} +1 -1
- package/{chunk-7GC3EKUG.js → chunk-7PDNSQZC.js} +3 -3
- package/{chunk-DW7MGLMG.js → chunk-7YQQXP42.js} +35 -207
- package/{chunk-WZ6OU4NX.js → chunk-BAWAKW7X.js} +2 -2
- package/{chunk-UUPR3TD7.js → chunk-BL4HFN6L.js} +2 -4
- package/{chunk-2GGXHQIW.js → chunk-BLVSFYQ3.js} +4 -2
- package/{chunk-HP6O6LTV.js → chunk-CDLP56BS.js} +9 -9
- package/{chunk-4LRK5Q2Z.js → chunk-CI6YDDL2.js} +18 -17
- package/{chunk-5MM7NNO6.js → chunk-CNWKLQRL.js} +8 -3
- package/{chunk-UTIMX333.js → chunk-DJ2BOPJY.js} +1 -1
- package/{chunk-36OMEXXR.js → chunk-DLV3H464.js} +8 -8
- package/{chunk-X5SUT4CN.js → chunk-EDJND3FK.js} +6 -6
- package/{chunk-CE7PIHQD.js → chunk-ESMZW5PE.js} +3 -3
- package/{chunk-PSJWPSKS.js → chunk-EWO77ZGF.js} +9 -43
- package/{chunk-ZWG3C7VI.js → chunk-F3SOW2EU.js} +81 -1
- package/{chunk-FY4SDK2E.js → chunk-FDLDMJTM.js} +1 -1
- package/chunk-FTHF2P2I.js +2685 -0
- package/{chunk-7KYVUFDG.js → chunk-G3VYRPTV.js} +5 -267
- package/{chunk-NQ64VVAI.js → chunk-GXZZOTDM.js} +826 -689
- package/{chunk-6MJNEXUU.js → chunk-HGDKT2D6.js} +4 -0
- package/{chunk-6KVZAZJA.js → chunk-HRZW3SQN.js} +7 -7
- package/{chunk-B2EGWZJG.js → chunk-I7S63QUU.js} +1 -1
- package/{chunk-ROPSATAB.js → chunk-IF7V3CBU.js} +1 -1
- package/{chunk-T6CBQ6BN.js → chunk-INFHX73M.js} +1 -1
- package/{chunk-YBNHPX4S.js → chunk-IW64YHXL.js} +155 -31
- package/{chunk-VSOWPETY.js → chunk-JIAZK434.js} +10 -10
- package/{chunk-K43ZF2C3.js → chunk-JPPQ3GUO.js} +1 -1
- package/{chunk-TZTWMGE3.js → chunk-JWEXJ573.js} +3 -3
- package/{chunk-OH2M7WEU.js → chunk-K3N2DWLT.js} +3 -3
- package/{chunk-I2ZMGXXF.js → chunk-KFHREHUQ.js} +1 -1
- package/{chunk-3C2QLERX.js → chunk-KMDDG73K.js} +1 -1
- package/{chunk-EM3YOZJ4.js → chunk-L2JMH4I5.js} +3 -3
- package/{chunk-D4OWHT5Y.js → chunk-MAYW6V3E.js} +2 -2
- package/{chunk-IPAW7XLD.js → chunk-MFVOJ6KF.js} +2 -2
- package/{chunk-CBHGZRCE.js → chunk-MYOH447Z.js} +1 -1
- package/{chunk-6MPAEODB.js → chunk-NHEWV5FD.js} +17 -3
- package/{chunk-SUKSWFLP.js → chunk-PIG2IUVZ.js} +1 -1
- package/{chunk-WP6RXNE6.js → chunk-PNACBSRF.js} +134 -126
- package/{chunk-SEJ5OS6F.js → chunk-PXYBUFDB.js} +4 -0
- package/{chunk-SKPPKHD3.js → chunk-Q5LVXPGT.js} +2 -2
- package/{chunk-2MTE2PEH.js → chunk-QA2C5NKI.js} +5 -739
- package/{chunk-XFKZ3MCV.js → chunk-QFL42TMV.js} +251 -77
- package/{chunk-L6EQV5OC.js → chunk-QXZH5UDF.js} +3 -3
- package/{chunk-TNIX77YM.js → chunk-R5GO3YZP.js} +34 -1
- package/{chunk-4Z245KOA.js → chunk-SH3XD4E2.js} +8 -4
- package/{chunk-MM3662RS.js → chunk-SNAWGDXT.js} +263 -4
- package/{chunk-JGRPBIZZ.js → chunk-SQX235S2.js} +1 -1
- package/chunk-TT644UJD.js +188 -0
- package/{chunk-IYBIRCQV.js → chunk-U34KT53V.js} +29 -11
- package/{chunk-KOB75UNU.js → chunk-U5U4WAFS.js} +19 -3
- package/{chunk-ANJTRG52.js → chunk-ULQAD7ZY.js} +18 -43
- package/{chunk-FDT27L7S.js → chunk-UUPXTEZA.js} +19 -17
- package/{chunk-QDA4Y5O6.js → chunk-V67W64OY.js} +21 -17
- package/{chunk-I2RMFLLH.js → chunk-V7PCFWX3.js} +1 -1
- package/{chunk-HXHSTRGH.js → chunk-VYNMQ6HW.js} +0 -27
- package/{chunk-G47IPDOK.js → chunk-W7FGZRLK.js} +1 -1
- package/{chunk-7BSQK2UC.js → chunk-WRCZXJ4N.js} +2 -2
- package/{chunk-KX6LPG7W.js → chunk-WYJTNSVL.js} +9 -9
- package/chunk-Y5GCAMGP.js +9 -0
- package/{chunk-JZX2XLKC.js → chunk-YCRROBDY.js} +1 -1
- package/{chunk-SCJD2PNK.js → chunk-YPG7TUQD.js} +3 -3
- package/{chunk-YANF2RR4.js → chunk-ZPKUJROL.js} +1 -1
- package/{chunk-TYND6RDQ.js → chunk-ZZDVBZOP.js} +74 -3
- package/{commandRegistry-NE2JOCQT.js → commandRegistry-2DDDET7G.js} +88 -96
- package/{contentThunks-B3FRQGP7.js → contentThunks-5DNEHJ2Z.js} +21 -21
- package/{createAgentAutomationAction-T2YFJ6MY.js → createAgentAutomationAction-4SUS2EFX.js} +21 -21
- package/{createDialogAction-2NFGFBXW.js → createDialogAction-JSFXX6JE.js} +25 -25
- package/{createPageAction-LDAVZDN7.js → createPageAction-37HHOXZ2.js} +24 -25
- package/{dbSlice-5QGKMQLO.js → dbSlice-6PVPY44C.js} +7 -7
- package/{deleteFile-EW6QNRRT.js → deleteFile-YM6NDPAR.js} +5 -5
- package/{dialogCommands-H3K7PTF6.js → dialogCommands-ZJRMCP4S.js} +35 -32
- package/{dialogSlice-64S3J6CP.js → dialogSlice-2Z66AWEW.js} +20 -20
- package/{dist-NJC2W7I4.js → dist-Q2JSMAKA.js} +7 -361
- package/{docCreateCommands-KP64KMVL.js → docCreateCommands-KQHQNLRX.js} +32 -30
- package/{docDeleteCommands-C3F4SZSR.js → docDeleteCommands-O3DWFX2W.js} +33 -31
- package/{docReadCommands-7H6BDOUR.js → docReadCommands-2U2BUONC.js} +32 -30
- package/{docStore-NIP7OO4I.js → docStore-XMTUF3GX.js} +8 -8
- package/{docUpdateCommands-JDW4BRBH.js → docUpdateCommands-MF3C52XI.js} +32 -30
- package/{getPricing-TX35D7PI.js → getPricing-XQ3N3RBP.js} +2 -2
- package/{handleSendMessageAction-TOKA7ED7.js → handleSendMessageAction-4VFVXTF2.js} +43 -39
- package/index.js +8 -8
- package/{localRuntimeAdapter-OPPDLUG3.js → localRuntimeAdapter-KKIVRYVN.js} +70 -69
- package/{localRuntimeAuthority-JDAD7CB6.js → localRuntimeAuthority-BPN5OAQG.js} +2 -2
- package/{localRuntimeDb-CVC62PM5.js → localRuntimeDb-QIVAXMUL.js} +1 -1
- package/{machineCommands-OPLQR7XY.js → machineCommands-UHQVCOD3.js} +80 -79
- package/{machineWsRunDispatch-PTS42QDK.js → machineWsRunDispatch-TX4X7TOJ.js} +70 -71
- package/{memberThunks-KRV5YXOB.js → memberThunks-AZINUM4S.js} +10 -10
- package/package.json +6 -2
- package/{profileConfig-ZGOFORWV.js → profileConfig-KN3N2BLF.js} +7 -1
- package/{providerPresetApply-CRZFMQD5.js → providerPresetApply-PKUOHQJT.js} +5 -5
- package/{providerRegistry-7IS43D3X.js → providerRegistry-HNQLIFN2.js} +5 -5
- package/{read-5KAZHHDM.js → read-7JPIWRBQ.js} +5 -5
- package/{readDocTool-5QO34OSX.js → readDocTool-AAQTB2Y3.js} +1 -1
- package/{readlineWorkspace-3XC7SEMZ.js → readlineWorkspace-BFVB2ON5.js} +375 -200
- package/{removeDialogAgentAction-6X63HMI3.js → removeDialogAgentAction-RMVRILLK.js} +9 -9
- package/{runAgentClientLoop-5QIGEALK.js → runAgentClientLoop-HHLHNMBE.js} +59 -54
- package/{runtimeDoctorCommands-56NWKNON.js → runtimeDoctorCommands-MMCP4B4U.js} +12 -12
- package/{secretCommands-ZXZRLR3R.js → secretCommands-DNY56NSU.js} +11 -1
- package/{setDialogExtraReferencesAction-4MAYKKYW.js → setDialogExtraReferencesAction-L3V7JTMG.js} +8 -8
- package/{setPrimaryDialogAgentAction-EGBAMREH.js → setPrimaryDialogAgentAction-X52JQGTJ.js} +9 -9
- package/settingThunks-N6XFWPOU.js +923 -0
- package/{spaceCommands-JQN7D4FE.js → spaceCommands-NDPGHDMD.js} +29 -27
- package/{streamAgentChatTurn-456DWXNY.js → streamAgentChatTurn-KNPOLET7.js} +154 -95
- package/{switchDialogAgentAction-YBKTD6DO.js → switchDialogAgentAction-ZJ5CGU7J.js} +7 -7
- package/{tableCommands-U3QDY4L6.js → tableCommands-IVC5S7Y3.js} +11 -11
- package/{toolApiClient-7WSJJJBV.js → toolApiClient-HGNO53TC.js} +2 -2
- package/{tools-IWNXKK4Y.js → tools-ULA7XJQT.js} +43 -44
- package/{tuiSummaryLlmCaller-KLK6K3Q3.js → tuiSummaryLlmCaller-FESHBDTT.js} +7 -7
- package/{updateCommands-NQXAGFM7.js → updateCommands-FJHGWD3Q.js} +5 -3
- package/{updateDialogTitleAction-SX53FZWO.js → updateDialogTitleAction-VUIVBDAS.js} +21 -21
- package/{workloadLifecycle-36DXRZKU.js → workloadLifecycle-6O6PMISX.js} +2 -2
- package/chunk-IA7TRNNR.js +0 -11
- package/chunk-UKZX3NHN.js +0 -48
- package/chunk-VAZHH6FO.js +0 -7012
- package/chunk-W4S6OTSC.js +0 -35
- package/clipboardy-GCO3GT3I.js +0 -11793
- package/settingThunks-FTDRZNSJ.js +0 -1371
- package/{agentGrantCommands-HOJ3JBBQ.js → agentGrantCommands-5DPHYEKP.js} +3 -3
- package/{chromeOpsCommands-3Z34RKSE.js → chromeOpsCommands-GZVVK7HU.js} +4 -4
- package/{chunk-XETG4RIX.js → chunk-AETZ7AD6.js} +4 -4
- package/{chunk-2IXDJNZI.js → chunk-GAGGEA7D.js} +3 -3
- package/{memoryCommands-CUNBFRVS.js → memoryCommands-ZS3VQJAL.js} +3 -3
- package/{offlineMarxistsAgentCommand-2QTHJCHV.js → offlineMarxistsAgentCommand-3GLX4QQY.js} +3 -3
|
@@ -607,7 +607,11 @@ function createDockerToolChannel(runGrant, backend) {
|
|
|
607
607
|
|
|
608
608
|
export {
|
|
609
609
|
SANDBOX_WORKSPACE_ROOT,
|
|
610
|
+
SANDBOX_HELPER_PATH,
|
|
610
611
|
buildSandboxHelperUploadArgv,
|
|
612
|
+
SANDBOX_OUTPUT_LIMITS,
|
|
613
|
+
buildWorkspaceHelperSource,
|
|
614
|
+
parseToolOutput,
|
|
611
615
|
buildPrimaryExecutionTicket,
|
|
612
616
|
dockerExecutionToolNames,
|
|
613
617
|
createDockerToolChannel
|
|
@@ -3,10 +3,10 @@ import {
|
|
|
3
3
|
} from "./chunk-U4STABYN.js";
|
|
4
4
|
import {
|
|
5
5
|
getReadableCliDb
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-62TBKWTV.js";
|
|
7
7
|
import {
|
|
8
8
|
clearCliLocalRuntimePreparedAgentCache
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-GXZZOTDM.js";
|
|
10
10
|
import {
|
|
11
11
|
readCredentialAvailability
|
|
12
12
|
} from "./chunk-6MXDOUMH.js";
|
|
@@ -19,17 +19,17 @@ import {
|
|
|
19
19
|
resolveAgentRecordFromHybridStore,
|
|
20
20
|
sanitizeAgentRecordForCliOutput,
|
|
21
21
|
writeAgentRecord
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-5IKRTRRR.js";
|
|
23
23
|
import {
|
|
24
24
|
resolveCliAgentKeyInput
|
|
25
25
|
} from "./chunk-NBTY7YJF.js";
|
|
26
|
-
import {
|
|
27
|
-
toErrorMessage
|
|
28
|
-
} from "./chunk-HNMXYYJR.js";
|
|
29
26
|
import {
|
|
30
27
|
parseUserIdFromAuthToken,
|
|
31
28
|
resolveAuthToken
|
|
32
29
|
} from "./chunk-A7GB5UGH.js";
|
|
30
|
+
import {
|
|
31
|
+
toErrorMessage
|
|
32
|
+
} from "./chunk-HNMXYYJR.js";
|
|
33
33
|
|
|
34
34
|
// packages/cli/agentRecordCommands.ts
|
|
35
35
|
async function runAgentReadCommand(args, deps = {}) {
|
|
@@ -244,7 +244,7 @@ async function runAgentCreateCommand(args, deps = {}) {
|
|
|
244
244
|
let verifyResult;
|
|
245
245
|
if (parsed.verify) {
|
|
246
246
|
try {
|
|
247
|
-
const { verifyCustomProvider } = await import("./agentProviderCommands-
|
|
247
|
+
const { verifyCustomProvider } = await import("./agentProviderCommands-CXBHNONN.js");
|
|
248
248
|
const rec = built.nextRecord;
|
|
249
249
|
verifyResult = await verifyCustomProvider({
|
|
250
250
|
providerUrl: rec.customProviderUrl,
|
|
@@ -4,15 +4,15 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
DEFAULT_NOLO_SERVER_URL
|
|
6
6
|
} from "./chunk-OLZBQWZU.js";
|
|
7
|
-
import {
|
|
8
|
-
normalizeServerOrigin
|
|
9
|
-
} from "./chunk-CF7PE763.js";
|
|
10
7
|
import {
|
|
11
8
|
loadProfileConfig
|
|
12
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-R5GO3YZP.js";
|
|
13
10
|
import {
|
|
14
11
|
resolveDefaultSpawn
|
|
15
12
|
} from "./chunk-Y6ROFCZO.js";
|
|
13
|
+
import {
|
|
14
|
+
normalizeServerOrigin
|
|
15
|
+
} from "./chunk-CF7PE763.js";
|
|
16
16
|
|
|
17
17
|
// packages/cli/updateCommands.ts
|
|
18
18
|
import { existsSync as existsSync2, readFileSync as readFileSync2, accessSync, constants } from "node:fs";
|
|
@@ -912,6 +912,144 @@ async function runShellScript(script, {
|
|
|
912
912
|
]);
|
|
913
913
|
return exitCode;
|
|
914
914
|
}
|
|
915
|
+
function shellQuote(value) {
|
|
916
|
+
return "'" + value.replace(/'/g, "'\\''") + "'";
|
|
917
|
+
}
|
|
918
|
+
function buildStandaloneUpdateScript(args) {
|
|
919
|
+
const curl = "curl -fL --progress-bar --connect-timeout 20 --max-time 600 --speed-limit 1 --speed-time 60";
|
|
920
|
+
return `set -eu
|
|
921
|
+
EXTRACT_DIR=${shellQuote(args.extractDir)}
|
|
922
|
+
ENTRY=${shellQuote(args.symlinkPath)}
|
|
923
|
+
CURRENT_VERSION=${shellQuote(args.currentVersion)}
|
|
924
|
+
STAGING="$EXTRACT_DIR.new.$$"
|
|
925
|
+
BACKUP="$EXTRACT_DIR.old.$$"
|
|
926
|
+
LINK="$ENTRY.new.$$"
|
|
927
|
+
old_moved=0
|
|
928
|
+
new_moved=0
|
|
929
|
+
committed=0
|
|
930
|
+
cleanup() {
|
|
931
|
+
status=$?
|
|
932
|
+
trap - 0 HUP INT TERM
|
|
933
|
+
if [ "$committed" = 0 ]; then
|
|
934
|
+
if [ "$new_moved" = 1 ] && [ -d "$EXTRACT_DIR" ]; then
|
|
935
|
+
mv "$EXTRACT_DIR" "$STAGING" || exit 1
|
|
936
|
+
fi
|
|
937
|
+
if [ "$old_moved" = 1 ] && [ -d "$BACKUP" ]; then
|
|
938
|
+
mv "$BACKUP" "$EXTRACT_DIR" || exit 1
|
|
939
|
+
fi
|
|
940
|
+
fi
|
|
941
|
+
rm -rf "$STAGING" || true
|
|
942
|
+
rm -f "$LINK" || true
|
|
943
|
+
exit "$status"
|
|
944
|
+
}
|
|
945
|
+
# Refuse collisions before installing cleanup: never remove somebody else's path.
|
|
946
|
+
if [ -e "$STAGING" ] || [ -L "$STAGING" ] ||
|
|
947
|
+
[ -e "$BACKUP" ] || [ -L "$BACKUP" ] ||
|
|
948
|
+
[ -e "$LINK" ] || [ -L "$LINK" ]; then
|
|
949
|
+
echo "Error: update staging path already exists" >&2
|
|
950
|
+
exit 1
|
|
951
|
+
fi
|
|
952
|
+
mkdir -p "\${EXTRACT_DIR%/*}"
|
|
953
|
+
mkdir "$STAGING"
|
|
954
|
+
trap cleanup 0
|
|
955
|
+
trap 'exit 1' HUP INT TERM
|
|
956
|
+
|
|
957
|
+
echo ${shellQuote(`Downloading nolo from ${args.tarballUrl}...`)}
|
|
958
|
+
if ! ${curl} ${shellQuote(args.tarballUrl)} -o "$STAGING/bundle.tar.gz"; then
|
|
959
|
+
${args.tarballUrl !== args.fallbackUrl ? `echo ${shellQuote(`Primary source unavailable, trying ${args.fallbackUrl}...`)}
|
|
960
|
+
if ! ${curl} ${shellQuote(args.fallbackUrl)} -o "$STAGING/bundle.tar.gz"; then
|
|
961
|
+
echo "Error: download failed" >&2
|
|
962
|
+
exit 1
|
|
963
|
+
fi` : `echo "Error: download failed" >&2
|
|
964
|
+
exit 1`}
|
|
965
|
+
fi
|
|
966
|
+
tar -xzf "$STAGING/bundle.tar.gz" -C "$STAGING"
|
|
967
|
+
rm -f "$STAGING/bundle.tar.gz"
|
|
968
|
+
chmod +x "$STAGING/nolo"
|
|
969
|
+
# A failing, empty or malformed version response must not touch the live install.
|
|
970
|
+
VERSION_TEXT=$("$STAGING/nolo" -v)
|
|
971
|
+
case "$VERSION_TEXT" in
|
|
972
|
+
"nolo-cli "*) VERSION=\${VERSION_TEXT#nolo-cli } ;;
|
|
973
|
+
*) VERSION=$VERSION_TEXT ;;
|
|
974
|
+
esac
|
|
975
|
+
CORE=\${VERSION%%[-+]*}
|
|
976
|
+
MAJOR=\${CORE%%.*}
|
|
977
|
+
REST=\${CORE#*.}
|
|
978
|
+
MINOR=\${REST%%.*}
|
|
979
|
+
PATCH=\${REST#*.}
|
|
980
|
+
case "$MAJOR:$MINOR:$PATCH" in
|
|
981
|
+
*[!0-9:]*|:*|*::*|*:) echo "Error: invalid bundle version" >&2; exit 1 ;;
|
|
982
|
+
esac
|
|
983
|
+
if [ "$CORE" != "$MAJOR.$MINOR.$PATCH" ]; then
|
|
984
|
+
echo "Error: invalid bundle version" >&2
|
|
985
|
+
exit 1
|
|
986
|
+
fi
|
|
987
|
+
case "$VERSION" in
|
|
988
|
+
*[!0-9A-Za-z.+-]*) echo "Error: invalid bundle version" >&2; exit 1 ;;
|
|
989
|
+
esac
|
|
990
|
+
case "$CURRENT_VERSION" in
|
|
991
|
+
"nolo-cli "*) CUR_VER=\${CURRENT_VERSION#nolo-cli } ;;
|
|
992
|
+
*) CUR_VER=$CURRENT_VERSION ;;
|
|
993
|
+
esac
|
|
994
|
+
CUR_CORE=\${CUR_VER%%[-+]*}
|
|
995
|
+
CUR_MAJOR=\${CUR_CORE%%.*}
|
|
996
|
+
CUR_REST=\${CUR_CORE#*.}
|
|
997
|
+
CUR_MINOR=\${CUR_REST%%.*}
|
|
998
|
+
CUR_PATCH=\${CUR_REST#*.}
|
|
999
|
+
if [ -n "$CUR_MAJOR" ] && [ -n "$CUR_MINOR" ] && [ -n "$CUR_PATCH" ]; then
|
|
1000
|
+
case "$CUR_MAJOR:$CUR_MINOR:$CUR_PATCH" in
|
|
1001
|
+
*[!0-9:]*|:*|*::*|*:) ;;
|
|
1002
|
+
*)
|
|
1003
|
+
if [ "$CUR_CORE" = "$CUR_MAJOR.$CUR_MINOR.$CUR_PATCH" ]; then
|
|
1004
|
+
is_downgrade=0
|
|
1005
|
+
if [ "$MAJOR" -lt "$CUR_MAJOR" ]; then
|
|
1006
|
+
is_downgrade=1
|
|
1007
|
+
elif [ "$MAJOR" -eq "$CUR_MAJOR" ]; then
|
|
1008
|
+
if [ "$MINOR" -lt "$CUR_MINOR" ]; then
|
|
1009
|
+
is_downgrade=1
|
|
1010
|
+
elif [ "$MINOR" -eq "$CUR_MINOR" ]; then
|
|
1011
|
+
if [ "$PATCH" -lt "$CUR_PATCH" ]; then
|
|
1012
|
+
is_downgrade=1
|
|
1013
|
+
fi
|
|
1014
|
+
fi
|
|
1015
|
+
fi
|
|
1016
|
+
if [ "$is_downgrade" = 1 ]; then
|
|
1017
|
+
echo "Error: refusing downgrade from $CURRENT_VERSION to $VERSION" >&2
|
|
1018
|
+
exit 11
|
|
1019
|
+
fi
|
|
1020
|
+
fi
|
|
1021
|
+
;;
|
|
1022
|
+
esac
|
|
1023
|
+
fi
|
|
1024
|
+
if [ "$VERSION" = "$CURRENT_VERSION" ]; then
|
|
1025
|
+
echo "\u2713 Already up to date (nolo-cli $VERSION)."
|
|
1026
|
+
exit 10
|
|
1027
|
+
fi
|
|
1028
|
+
mkdir -p "\${ENTRY%/*}"
|
|
1029
|
+
# mv without -T is portable only when the destination is not a directory.
|
|
1030
|
+
if [ -d "$ENTRY" ] || [ -L "$EXTRACT_DIR" ]; then
|
|
1031
|
+
echo "Error: refusing directory entrypoint or symlink bundle directory" >&2
|
|
1032
|
+
exit 1
|
|
1033
|
+
fi
|
|
1034
|
+
ln -s "$EXTRACT_DIR/nolo" "$LINK"
|
|
1035
|
+
if [ -e "$EXTRACT_DIR" ]; then
|
|
1036
|
+
old_moved=1
|
|
1037
|
+
mv "$EXTRACT_DIR" "$BACKUP"
|
|
1038
|
+
fi
|
|
1039
|
+
new_moved=1
|
|
1040
|
+
mv "$STAGING" "$EXTRACT_DIR"
|
|
1041
|
+
mv -f "$LINK" "$ENTRY"
|
|
1042
|
+
committed=1
|
|
1043
|
+
# Retain only the newest recovery copy from this run; prune older backups.
|
|
1044
|
+
for old_copy in "$EXTRACT_DIR.old."*; do
|
|
1045
|
+
if [ -d "$old_copy" ] && [ ! -L "$old_copy" ] && [ "$old_copy" != "$BACKUP" ]; then
|
|
1046
|
+
rm -rf "$old_copy" || true
|
|
1047
|
+
fi
|
|
1048
|
+
done
|
|
1049
|
+
# Retain the previous bundle as a recovery copy; never unlink the live entry.
|
|
1050
|
+
echo "nolo updated to $ENTRY"
|
|
1051
|
+
`;
|
|
1052
|
+
}
|
|
915
1053
|
async function runStandaloneBundleUpdate(options) {
|
|
916
1054
|
const output = options.output ?? process.stdout;
|
|
917
1055
|
const spawn2 = options.spawn ?? resolveDefaultSpawn();
|
|
@@ -937,33 +1075,13 @@ async function runStandaloneBundleUpdate(options) {
|
|
|
937
1075
|
const extractDir = join2(homedir2(), ".nolo", extractSubdir);
|
|
938
1076
|
const installDir = resolveStandaloneInstallDir();
|
|
939
1077
|
const symlinkPath = join2(installDir, "nolo");
|
|
940
|
-
const script =
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
if ! curl -fL --progress-bar "${fallbackUrl}" -o "$TEMP_DIR/${tarballName}"; then
|
|
948
|
-
echo "Error: download failed from ${fallbackUrl}" >&2
|
|
949
|
-
exit 1
|
|
950
|
-
fi` : `echo "Error: download failed from ${tarballUrl}" >&2
|
|
951
|
-
exit 1`}
|
|
952
|
-
fi
|
|
953
|
-
|
|
954
|
-
mkdir -p "${extractDir}"
|
|
955
|
-
tar -xzf "$TEMP_DIR/${tarballName}" -C "${extractDir}"
|
|
956
|
-
chmod +x "${extractDir}/nolo"
|
|
957
|
-
|
|
958
|
-
mkdir -p "${installDir}"
|
|
959
|
-
if [ -e "${symlinkPath}" ] || [ -L "${symlinkPath}" ]; then
|
|
960
|
-
rm -f "${symlinkPath}"
|
|
961
|
-
fi
|
|
962
|
-
ln -s "${extractDir}/nolo" "${symlinkPath}"
|
|
963
|
-
trap - EXIT
|
|
964
|
-
|
|
965
|
-
echo "nolo updated to ${installDir}/nolo"
|
|
966
|
-
`;
|
|
1078
|
+
const script = buildStandaloneUpdateScript({
|
|
1079
|
+
tarballUrl,
|
|
1080
|
+
fallbackUrl,
|
|
1081
|
+
extractDir,
|
|
1082
|
+
symlinkPath,
|
|
1083
|
+
currentVersion: readPackageInfo().version
|
|
1084
|
+
});
|
|
967
1085
|
output.write(`
|
|
968
1086
|
Nolo Agent CLI Installer & Updater
|
|
969
1087
|
`);
|
|
@@ -980,6 +1098,11 @@ Nolo Agent CLI Installer & Updater
|
|
|
980
1098
|
env,
|
|
981
1099
|
useCustomSink
|
|
982
1100
|
});
|
|
1101
|
+
if (exitCode === 10) {
|
|
1102
|
+
output.write(` ${renderProgressBar(100)}
|
|
1103
|
+
`);
|
|
1104
|
+
return 0;
|
|
1105
|
+
}
|
|
983
1106
|
if (exitCode === 0) {
|
|
984
1107
|
output.write(` ${renderProgressBar(100)}
|
|
985
1108
|
`);
|
|
@@ -1167,6 +1290,7 @@ export {
|
|
|
1167
1290
|
buildSelfUpdateCommand,
|
|
1168
1291
|
resolveSelfUpdateServerUrl,
|
|
1169
1292
|
buildCliDoctorText,
|
|
1293
|
+
buildStandaloneUpdateScript,
|
|
1170
1294
|
runStandaloneBundleUpdate,
|
|
1171
1295
|
NOLO_UPDATE_CHECK_KILL_SWITCH,
|
|
1172
1296
|
compareCliVersions,
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
clipMultilineText,
|
|
3
3
|
fetchAndSerializeTable,
|
|
4
4
|
waitForAbortableDelay
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-6QIBWOPT.js";
|
|
6
6
|
import {
|
|
7
7
|
isGatewayHttpStatus
|
|
8
8
|
} from "./chunk-NF64D32W.js";
|
|
@@ -11,34 +11,37 @@ import {
|
|
|
11
11
|
isCoreDrainingBody,
|
|
12
12
|
normalizeNonNegativeMs,
|
|
13
13
|
parseRetryAfterHeaderMs
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-3L2WKC3W.js";
|
|
15
15
|
import {
|
|
16
16
|
resolvePageReadMarkdown,
|
|
17
17
|
slateToSimplifiedMarkdown
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-3L5MSPWX.js";
|
|
19
19
|
import {
|
|
20
20
|
extractCategorizedMentions
|
|
21
21
|
} from "./chunk-AGIM7IMJ.js";
|
|
22
22
|
import {
|
|
23
23
|
fetchAndCacheMessages
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-2QQ7D3P5.js";
|
|
25
25
|
import {
|
|
26
26
|
createSpaceKey
|
|
27
27
|
} from "./chunk-UAD2WT54.js";
|
|
28
28
|
import {
|
|
29
29
|
read
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-CDLP56BS.js";
|
|
31
31
|
import {
|
|
32
32
|
getRuntimeServerContext
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-43OFVLWJ.js";
|
|
34
34
|
import {
|
|
35
35
|
extractRuntimePageCapabilities,
|
|
36
36
|
resolveBuiltinSkillPage,
|
|
37
37
|
resolveSkillGraphFromRoots
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-SH3XD4E2.js";
|
|
39
39
|
import {
|
|
40
40
|
isAbortError
|
|
41
41
|
} from "./chunk-7DPNBQSV.js";
|
|
42
|
+
import {
|
|
43
|
+
wrapHistoricalSummaryWithReplayGuard
|
|
44
|
+
} from "./chunk-4VJAC32I.js";
|
|
42
45
|
import {
|
|
43
46
|
extractCustomId
|
|
44
47
|
} from "./chunk-M2EJHDJP.js";
|
|
@@ -51,9 +54,6 @@ import {
|
|
|
51
54
|
import {
|
|
52
55
|
asTrimmedString
|
|
53
56
|
} from "./chunk-3EUW3WEO.js";
|
|
54
|
-
import {
|
|
55
|
-
wrapHistoricalSummaryWithReplayGuard
|
|
56
|
-
} from "./chunk-4VJAC32I.js";
|
|
57
57
|
|
|
58
58
|
// packages/ai/chat/errorDiagnostics.ts
|
|
59
59
|
var record = (value) => value !== null && typeof value === "object" && !Array.isArray(value) ? value : {};
|
|
@@ -4,14 +4,14 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
patch,
|
|
6
6
|
read
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-CDLP56BS.js";
|
|
8
8
|
import {
|
|
9
9
|
DEVICE_LOCAL_OWNER_ID,
|
|
10
10
|
isDeviceLocalSpaceBody
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-43OFVLWJ.js";
|
|
12
12
|
import {
|
|
13
13
|
selectIdentityUserId
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-PXYBUFDB.js";
|
|
15
15
|
|
|
16
16
|
// packages/create/space/utils/permissions.ts
|
|
17
17
|
var checkSpaceMembership = (spaceData, userId) => {
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
import {
|
|
8
8
|
patch,
|
|
9
9
|
readAndWait
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-CDLP56BS.js";
|
|
11
11
|
import {
|
|
12
12
|
toErrorMessage
|
|
13
13
|
} from "./chunk-HNMXYYJR.js";
|
|
@@ -333,7 +333,7 @@ async function saveDocState(arg, { dispatch, getState }) {
|
|
|
333
333
|
).unwrap();
|
|
334
334
|
if (dbSpaceId) {
|
|
335
335
|
try {
|
|
336
|
-
const { updateContentTitle } = await import("./contentThunks-
|
|
336
|
+
const { updateContentTitle } = await import("./contentThunks-5DNEHJ2Z.js");
|
|
337
337
|
await dispatch(
|
|
338
338
|
updateContentTitle({
|
|
339
339
|
spaceId: dbSpaceId,
|
|
@@ -372,7 +372,7 @@ async function saveDocState(arg, { dispatch, getState }) {
|
|
|
372
372
|
}
|
|
373
373
|
}
|
|
374
374
|
async function createDocState(args, thunkApi) {
|
|
375
|
-
const { createPageAction } = await import("./createPageAction-
|
|
375
|
+
const { createPageAction } = await import("./createPageAction-37HHOXZ2.js");
|
|
376
376
|
return createPageAction(args, thunkApi);
|
|
377
377
|
}
|
|
378
378
|
function subscribe(listener) {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
listUserRecordsFromServers,
|
|
3
3
|
readLiveDbRecordAfterTombstoneMerge
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-W7FGZRLK.js";
|
|
5
5
|
import {
|
|
6
6
|
agentRecordHasConfiguredCredential
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-5IKRTRRR.js";
|
|
8
8
|
import {
|
|
9
9
|
deriveCredentialGroup
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-WYJTNSVL.js";
|
|
11
11
|
import {
|
|
12
12
|
isTombstoneRecord
|
|
13
13
|
} from "./chunk-D2MDMY2M.js";
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getRuntimeServerContext,
|
|
3
3
|
scheduleDeleteReplication
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-43OFVLWJ.js";
|
|
5
5
|
import {
|
|
6
6
|
fetchFromClientDb
|
|
7
7
|
} from "./chunk-6Q7UTJKR.js";
|
|
8
8
|
import {
|
|
9
9
|
selectIdentityToken
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-PXYBUFDB.js";
|
|
11
11
|
import {
|
|
12
12
|
buildTombstoneRecord
|
|
13
13
|
} from "./chunk-D2MDMY2M.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getModelPricing
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-ZPKUJROL.js";
|
|
4
4
|
import {
|
|
5
5
|
PUBLIC_DEEPSEEK_V4_FLASH_AGENT_ID,
|
|
6
6
|
PUBLIC_DEEPSEEK_V4_PRO_AGENT_ID,
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
} from "./chunk-M2EJHDJP.js";
|
|
24
24
|
import {
|
|
25
25
|
getModelConfig
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-6EQD4AQL.js";
|
|
27
27
|
import {
|
|
28
28
|
isRecord
|
|
29
29
|
} from "./chunk-KUG52IAP.js";
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
scheduleExistingRecordReplication,
|
|
8
8
|
shouldReplaceLocalWithRemoteRecord,
|
|
9
9
|
shouldReplicateLocalRecord
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-43OFVLWJ.js";
|
|
11
11
|
import {
|
|
12
12
|
fetchFromClientDb,
|
|
13
13
|
fetchFromServer,
|
|
@@ -270,7 +270,7 @@ var readAction = async (payload, thunkApi) => {
|
|
|
270
270
|
authorityServer: preferredServerOrigin ?? authority.authorityServer,
|
|
271
271
|
serverOrigin: authority.serverOrigin
|
|
272
272
|
});
|
|
273
|
-
|
|
273
|
+
let { preferredServer, fallbackServers, orderedServersForLocalHit } = partitionReadServers({
|
|
274
274
|
allServers: authorityPlannedServers,
|
|
275
275
|
preferredServerOrigin: preferredServerOrigin ?? authority.authorityServer
|
|
276
276
|
});
|
|
@@ -290,7 +290,17 @@ var readAction = async (payload, thunkApi) => {
|
|
|
290
290
|
);
|
|
291
291
|
}
|
|
292
292
|
}
|
|
293
|
-
|
|
293
|
+
let authoritativeServerOrigin = null;
|
|
294
|
+
if (typeof payload.authoritativeServerOrigin === "string") {
|
|
295
|
+
try {
|
|
296
|
+
const origin = new URL(payload.authoritativeServerOrigin.trim());
|
|
297
|
+
if ((origin.protocol === "https:" || origin.protocol === "http:") && origin.pathname === "/" && !origin.search && !origin.hash && !origin.username && !origin.password) {
|
|
298
|
+
authoritativeServerOrigin = origin.origin;
|
|
299
|
+
}
|
|
300
|
+
} catch {
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
if (authorityPlannedServers.length === 0 && (localData || !authoritativeServerOrigin)) {
|
|
294
304
|
if (localData) {
|
|
295
305
|
if (isDialogKey) {
|
|
296
306
|
console.info("[readAction-perf] dialog offline-local-hit", {
|
|
@@ -342,6 +352,10 @@ var readAction = async (payload, thunkApi) => {
|
|
|
342
352
|
}
|
|
343
353
|
return normalizeReadRecord(dbKey, localData);
|
|
344
354
|
}
|
|
355
|
+
if (authoritativeServerOrigin) {
|
|
356
|
+
preferredServer = authoritativeServerOrigin;
|
|
357
|
+
fallbackServers = [];
|
|
358
|
+
}
|
|
345
359
|
if (preferredServer) {
|
|
346
360
|
try {
|
|
347
361
|
const preferredRemoteData = await fetchFromServer(
|