nolo-cli 0.31.0-alpha.7 → 0.31.0-alpha.9
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-LTMSIBS4.js → _executeModel-6FRIQJJC.js} +14 -14
- package/{agentDeleteCommand-YG2E4GEO.js → agentDeleteCommand-MD3266WY.js} +12 -12
- package/{agentEmailCommands-GA6XIW47.js → agentEmailCommands-P4Z57QRY.js} +18 -18
- package/{agentListCommands-Z2APZJVD.js → agentListCommands-S4J6EYVS.js} +14 -14
- package/{agentMachineCommands-EPSFJASS.js → agentMachineCommands-IMWA26SD.js} +12 -12
- package/{agentPullCommand-4V36XNGV.js → agentPullCommand-ARSIDNVC.js} +1 -1
- package/{agentRecordCommands-2M6NJOAO.js → agentRecordCommands-KEA6IXKP.js} +18 -18
- package/{agentRunCommand-NWZOXX5R.js → agentRunCommand-JECNTAJA.js} +18 -18
- package/{agentRuntimeLocal-ATGJY6WC.js → agentRuntimeLocal-HKJKTCW4.js} +8 -8
- package/{agentSlice-4XWW344Y.js → agentSlice-7ELXNOJA.js} +1 -1
- package/{appDeleteCommands-63JO7RXS.js → appDeleteCommands-EZRWLQSL.js} +12 -12
- package/{appDeployCommands-Y7EWYUGM.js → appDeployCommands-G3JQ5UXL.js} +12 -12
- package/{appDeployStatusCommands-ZBEY3DWB.js → appDeployStatusCommands-ZADWE6HA.js} +12 -12
- package/{appGetCommands-QSSOSEYL.js → appGetCommands-G6YN7F2Z.js} +12 -12
- package/{appListCommands-PH3XWNDX.js → appListCommands-E3TGPLEB.js} +12 -12
- package/{authCommand-3GQR43KB.js → authCommand-BBDHMSO6.js} +2 -2
- package/{authCommands-CXJ6PI2O.js → authCommands-4UDEKRE6.js} +2 -2
- package/{chunk-3FCNXC2J.js → chunk-2UFKPJJI.js} +2 -2
- package/{chunk-DLWCWUNW.js → chunk-2UX66SH3.js} +3 -3
- package/{chunk-TA6EA2A3.js → chunk-3K55GMMW.js} +2 -2
- package/{chunk-MITD7CON.js → chunk-5LZTGR74.js} +9 -9
- package/{chunk-WFHXMLHZ.js → chunk-6YABCOFU.js} +1 -1
- package/{chunk-3UGKATZQ.js → chunk-7I44EILD.js} +2 -2
- package/{chunk-V42OE5HT.js → chunk-7RP2PSIN.js} +1 -1
- package/{chunk-ODS2MVMU.js → chunk-AROB24VV.js} +3 -3
- package/{chunk-VVEH6XUE.js → chunk-AWKR4MMR.js} +1 -1
- package/{chunk-45X23W6O.js → chunk-CNTHYPHP.js} +145 -97
- package/{chunk-VQLXUSS3.js → chunk-GPKB5TIJ.js} +3 -3
- package/{chunk-LABJBLQQ.js → chunk-ILQALSPF.js} +9 -9
- package/{chunk-EEF23OOK.js → chunk-JNU5ISIG.js} +2 -2
- package/{chunk-XDHHF73Q.js → chunk-NBWOCRU3.js} +1 -1
- package/{chunk-UOJRKY5J.js → chunk-NXLUGU6X.js} +2 -2
- package/{chunk-RXVX5LFR.js → chunk-OFGTZ35R.js} +1 -1
- package/{chunk-3GZT3L6F.js → chunk-OYACR5WZ.js} +8 -8
- package/{chunk-2OUJC7YP.js → chunk-PKB24CKO.js} +4 -4
- package/{chunk-WJRJDX2W.js → chunk-Q3CSL43H.js} +1 -1
- package/{chunk-Q76I4SXI.js → chunk-Q6U2SGFX.js} +1 -1
- package/{chunk-O5OMJPPF.js → chunk-RZN2YWPC.js} +3 -3
- package/{chunk-D2BPX6DQ.js → chunk-THJJUY7I.js} +3 -3
- package/{chunk-W367V5CH.js → chunk-TVBDE6LJ.js} +5 -5
- package/{chunk-XFGM5PJP.js → chunk-VMWR7VNI.js} +1 -1
- package/{chunk-RH53LMEJ.js → chunk-VQREJRUO.js} +2 -2
- package/{chunk-AYMOSAHE.js → chunk-WCZ6NCQN.js} +10 -8
- package/{chunk-TEYN42N3.js → chunk-Z6V33HCT.js} +1 -1
- package/{chunk-OWHNFZNW.js → chunk-ZLMXXZVX.js} +1 -1
- package/{chunk-O3JR45Q2.js → chunk-ZW6KKTYZ.js} +8 -8
- package/{createAgentAutomationAction-WLRNE7C4.js → createAgentAutomationAction-ZLJRVATF.js} +3 -3
- package/{createDialogAction-Y6YV64QB.js → createDialogAction-CFYGC6NF.js} +4 -4
- package/{createPageAction-7YROVZ3W.js → createPageAction-Y2H5GYJU.js} +3 -3
- package/{dialogCommands-XLO5CAHZ.js → dialogCommands-4DYAWH6L.js} +12 -12
- package/{dialogSlice-N4HPG6HM.js → dialogSlice-23SPNP3O.js} +2 -2
- package/{docCreateCommands-GRA5BHSA.js → docCreateCommands-OXEKIA6S.js} +11 -11
- package/{docDeleteCommands-ONIJM5MD.js → docDeleteCommands-P3PR6NS7.js} +12 -12
- package/{docReadCommands-H55VQ2US.js → docReadCommands-MS2WXJIA.js} +11 -11
- package/{docStore-B5AHDNW5.js → docStore-2DWKYPQO.js} +4 -4
- package/{docUpdateCommands-ZQIQVGC2.js → docUpdateCommands-N54A2KBE.js} +11 -11
- package/{handleSendMessageAction-IN5XX5U7.js → handleSendMessageAction-RL25MK5X.js} +2 -2
- package/index.js +51 -51
- package/{localRuntimeAuthority-4IXJCHZ7.js → localRuntimeAuthority-NDUA2D7Y.js} +10 -1
- package/{localRuntimeDb-THJZGAOJ.js → localRuntimeDb-GKYRBWLQ.js} +1 -1
- package/{machineCommands-7C3NKUAW.js → machineCommands-DVMG4LQ2.js} +16 -16
- package/{machineWsRunDispatch-RE5GJPTV.js → machineWsRunDispatch-5R4FV3HQ.js} +16 -16
- package/package.json +1 -1
- package/{readlineWorkspace-LTSW7XNF.js → readlineWorkspace-3BJXQE3S.js} +21 -21
- package/{runAgentClientLoop-H7U53QB6.js → runAgentClientLoop-GNDHLSYM.js} +11 -11
- package/{runtimeDoctorCommands-E2OUORHK.js → runtimeDoctorCommands-WI2YZUSJ.js} +2 -2
- package/{spaceCommands-7VVKJBDV.js → spaceCommands-BXG3LHG4.js} +11 -11
- package/{spaceSlice-T6YK6D34.js → spaceSlice-4JKOTPHQ.js} +3 -3
- package/{streamAgentChatTurn-RQ63QFQ7.js → streamAgentChatTurn-VJ4JB3MV.js} +13 -13
- package/{tools-KYZX3BGO.js → tools-ISIPHXWB.js} +8 -8
- package/{updateDialogTitleAction-BBDSWHNG.js → updateDialogTitleAction-HRSMYRLK.js} +3 -3
|
@@ -24,10 +24,10 @@ import {
|
|
|
24
24
|
} from "./chunk-JDSUTNYY.js";
|
|
25
25
|
import {
|
|
26
26
|
getDefaultCliLocalRuntimeDb
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-Q3CSL43H.js";
|
|
28
28
|
import {
|
|
29
29
|
buildLocalAgentLookupKeys
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-AWKR4MMR.js";
|
|
31
31
|
import {
|
|
32
32
|
LOCAL_CODEX_AGENT_ID,
|
|
33
33
|
LOCAL_CODEX_AGENT_KEY,
|
|
@@ -54,7 +54,7 @@ import {
|
|
|
54
54
|
readOpenAiCompatibleSseCompletion,
|
|
55
55
|
resolveAgentNextAvailableAt,
|
|
56
56
|
resolveOpenAiCompatibleProviderConfig
|
|
57
|
-
} from "./chunk-
|
|
57
|
+
} from "./chunk-2UX66SH3.js";
|
|
58
58
|
import {
|
|
59
59
|
buildPlatformChatCompletionRequest,
|
|
60
60
|
canUsePlatformChatProvider,
|
|
@@ -74,12 +74,12 @@ import {
|
|
|
74
74
|
import {
|
|
75
75
|
inlineImageUrlsForCustomProvider,
|
|
76
76
|
prepareTools
|
|
77
|
-
} from "./chunk-
|
|
77
|
+
} from "./chunk-NBWOCRU3.js";
|
|
78
78
|
import {
|
|
79
79
|
inferCaptureIntent,
|
|
80
80
|
resolveHistoricalToolContentCap,
|
|
81
81
|
summarizeToolArguments
|
|
82
|
-
} from "./chunk-
|
|
82
|
+
} from "./chunk-WCZ6NCQN.js";
|
|
83
83
|
import {
|
|
84
84
|
getAntigravityUserAgent,
|
|
85
85
|
isAntigravityOAuthAgent,
|
|
@@ -104,7 +104,7 @@ import {
|
|
|
104
104
|
readXhsProfileFunctionSchema,
|
|
105
105
|
rememberMemoryFunctionSchema,
|
|
106
106
|
setTodoListFunc
|
|
107
|
-
} from "./chunk-
|
|
107
|
+
} from "./chunk-5LZTGR74.js";
|
|
108
108
|
import {
|
|
109
109
|
createDrainExhaustedResponse,
|
|
110
110
|
isCoreDrainingBody,
|
|
@@ -128,13 +128,13 @@ import {
|
|
|
128
128
|
parseNoloWorkspaceToolArguments,
|
|
129
129
|
resolveAgentRequiredPackIds,
|
|
130
130
|
resolveRuntimeToolSurfaceForAgent
|
|
131
|
-
} from "./chunk-
|
|
131
|
+
} from "./chunk-THJJUY7I.js";
|
|
132
132
|
import {
|
|
133
133
|
applyTokenUsageToDayStats,
|
|
134
134
|
prepareTokenUsageData,
|
|
135
135
|
resolveBuiltinPlatformAgentConfig,
|
|
136
136
|
runKeyed
|
|
137
|
-
} from "./chunk-
|
|
137
|
+
} from "./chunk-OYACR5WZ.js";
|
|
138
138
|
import {
|
|
139
139
|
BUILTIN_TITLE_LLM_CONFIG,
|
|
140
140
|
clipCompactText
|
|
@@ -145,7 +145,7 @@ import {
|
|
|
145
145
|
resolveCurrentRunRuntimeToolPolicy,
|
|
146
146
|
resolveLocalWorkspaceExecutorOptionsFromPolicy,
|
|
147
147
|
resolveRequestedRuntimeToolNames
|
|
148
|
-
} from "./chunk-
|
|
148
|
+
} from "./chunk-AROB24VV.js";
|
|
149
149
|
import {
|
|
150
150
|
createOAuthTokenStore,
|
|
151
151
|
isTokenExpired,
|
|
@@ -10622,8 +10622,62 @@ function isRemoteAuthEndpoint(endpoint) {
|
|
|
10622
10622
|
return false;
|
|
10623
10623
|
}
|
|
10624
10624
|
|
|
10625
|
+
// packages/core/concurrencyLimiter.ts
|
|
10626
|
+
function createConcurrencyLimiter(maxConcurrent) {
|
|
10627
|
+
if (!Number.isInteger(maxConcurrent) || maxConcurrent < 1) {
|
|
10628
|
+
throw new RangeError("maxConcurrent must be a positive integer");
|
|
10629
|
+
}
|
|
10630
|
+
let active = 0;
|
|
10631
|
+
const pending = [];
|
|
10632
|
+
function drain() {
|
|
10633
|
+
while (active < maxConcurrent && pending.length > 0) {
|
|
10634
|
+
const entry = pending.shift();
|
|
10635
|
+
active += 1;
|
|
10636
|
+
Promise.resolve().then(() => entry.task()).then(
|
|
10637
|
+
(value) => entry.resolve(value),
|
|
10638
|
+
(error) => entry.reject(error)
|
|
10639
|
+
).finally(() => {
|
|
10640
|
+
active -= 1;
|
|
10641
|
+
drain();
|
|
10642
|
+
});
|
|
10643
|
+
}
|
|
10644
|
+
}
|
|
10645
|
+
return {
|
|
10646
|
+
run(task) {
|
|
10647
|
+
return new Promise((resolve, reject) => {
|
|
10648
|
+
pending.push({ task, resolve, reject });
|
|
10649
|
+
drain();
|
|
10650
|
+
});
|
|
10651
|
+
},
|
|
10652
|
+
get activeCount() {
|
|
10653
|
+
return active;
|
|
10654
|
+
},
|
|
10655
|
+
get pendingCount() {
|
|
10656
|
+
return pending.length;
|
|
10657
|
+
}
|
|
10658
|
+
};
|
|
10659
|
+
}
|
|
10660
|
+
|
|
10625
10661
|
// packages/cli/client/localRuntimeDialog.ts
|
|
10626
10662
|
var import_date_fns = __toESM(require_date_fns(), 1);
|
|
10663
|
+
var MAX_TITLE_PATCH_CONCURRENT = 2;
|
|
10664
|
+
var MAX_REMOTE_SYNC_CONCURRENT = 3;
|
|
10665
|
+
var titlePatchLimiter = createConcurrencyLimiter(MAX_TITLE_PATCH_CONCURRENT);
|
|
10666
|
+
var remoteSyncLimiter = createConcurrencyLimiter(MAX_REMOTE_SYNC_CONCURRENT);
|
|
10667
|
+
function createPerfTracker(env) {
|
|
10668
|
+
const enabled = env?.NOLO_CLI_PERF === "1";
|
|
10669
|
+
const t0 = enabled ? performance.now() : 0;
|
|
10670
|
+
return {
|
|
10671
|
+
enabled,
|
|
10672
|
+
mark(label, since) {
|
|
10673
|
+
if (!enabled) return;
|
|
10674
|
+
const ms = (performance.now() - (since ?? t0)).toFixed(1);
|
|
10675
|
+
process.stderr.write(`[nolo-perf] writeDialog ${label}: ${ms}ms
|
|
10676
|
+
`);
|
|
10677
|
+
},
|
|
10678
|
+
t0
|
|
10679
|
+
};
|
|
10680
|
+
}
|
|
10627
10681
|
async function resolveStore(deps) {
|
|
10628
10682
|
if (deps.store) return deps.store;
|
|
10629
10683
|
return createCliHybridRecordStore({
|
|
@@ -10688,6 +10742,66 @@ function createLocalDialogTitleGenerator(deps, ctx) {
|
|
|
10688
10742
|
return result.source === "llm" ? result.title : null;
|
|
10689
10743
|
};
|
|
10690
10744
|
}
|
|
10745
|
+
function patchDialogTitleInBackground(args) {
|
|
10746
|
+
return args.titlePromise.then(async (resolvedTitle) => {
|
|
10747
|
+
if (!resolvedTitle) return;
|
|
10748
|
+
const limiter = args.limiter ?? titlePatchLimiter;
|
|
10749
|
+
await limiter.run(async () => {
|
|
10750
|
+
try {
|
|
10751
|
+
const existing = await args.store.read(args.dialogKey);
|
|
10752
|
+
if (!existing || typeof existing !== "object") return;
|
|
10753
|
+
if (existing?.titleSource === "manual") return;
|
|
10754
|
+
const existingTitleUpdatedAtMs = parseTitleUpdatedAtMs(existing);
|
|
10755
|
+
if (existingTitleUpdatedAtMs > args.nowMs) return;
|
|
10756
|
+
await args.store.write(args.dialogKey, {
|
|
10757
|
+
...existing,
|
|
10758
|
+
title: resolvedTitle,
|
|
10759
|
+
titleSource: "auto",
|
|
10760
|
+
titleUpdatedAt: new Date(args.nowMs).toISOString()
|
|
10761
|
+
});
|
|
10762
|
+
} catch {
|
|
10763
|
+
}
|
|
10764
|
+
});
|
|
10765
|
+
});
|
|
10766
|
+
}
|
|
10767
|
+
function syncDialogEvidence(args) {
|
|
10768
|
+
const syncArgs = {
|
|
10769
|
+
env: args.env,
|
|
10770
|
+
fetchImpl: args.fetchImpl,
|
|
10771
|
+
input: args.input,
|
|
10772
|
+
ops: args.ops,
|
|
10773
|
+
output: args.output,
|
|
10774
|
+
userId: args.userId
|
|
10775
|
+
};
|
|
10776
|
+
if (args.hasSubjectRefs) {
|
|
10777
|
+
return (async () => {
|
|
10778
|
+
const syncResult = await syncLocalDialogEvidenceToRemote(syncArgs);
|
|
10779
|
+
if (!syncResult.attempted) {
|
|
10780
|
+
args.output?.write(
|
|
10781
|
+
"[nolo] Local dialog evidence is local-only; set NOLO_SERVER and AUTH_TOKEN to make subjectRefs remotely queryable.\n"
|
|
10782
|
+
);
|
|
10783
|
+
}
|
|
10784
|
+
})();
|
|
10785
|
+
}
|
|
10786
|
+
const limiter = args.limiter ?? remoteSyncLimiter;
|
|
10787
|
+
return limiter.run(() => syncLocalDialogEvidenceToRemote(syncArgs)).catch((error) => {
|
|
10788
|
+
args.output?.write(
|
|
10789
|
+
`[nolo] Remote dialog evidence sync failed; local dialog only: ${toErrorMessage(error)}
|
|
10790
|
+
`
|
|
10791
|
+
);
|
|
10792
|
+
});
|
|
10793
|
+
}
|
|
10794
|
+
function shouldRegenerateTitle(existingDialog, nowMs) {
|
|
10795
|
+
const existingTitle = typeof existingDialog?.title === "string" ? existingDialog.title.trim() : "";
|
|
10796
|
+
const existingTitleSource = existingDialog?.titleSource;
|
|
10797
|
+
if (existingTitleSource === "manual") return false;
|
|
10798
|
+
if (!existingTitle) return true;
|
|
10799
|
+
const titleUpdatedAtMs = parseTitleUpdatedAtMs(existingDialog);
|
|
10800
|
+
if (titleUpdatedAtMs > 0) {
|
|
10801
|
+
return nowMs - titleUpdatedAtMs >= 30 * 60 * 1e3;
|
|
10802
|
+
}
|
|
10803
|
+
return false;
|
|
10804
|
+
}
|
|
10691
10805
|
async function writeLocalTokenRecord(args) {
|
|
10692
10806
|
const usageRecords = args.input.usageRecords?.length ? args.input.usageRecords : args.input.result.usage ? [{
|
|
10693
10807
|
callId: typeof args.input.result.usage?.provider_call_id === "string" && args.input.result.usage.provider_call_id.trim() ? args.input.result.usage.provider_call_id.trim() : args.createId(),
|
|
@@ -10756,36 +10870,15 @@ async function writeLocalTokenRecord(args) {
|
|
|
10756
10870
|
return ops;
|
|
10757
10871
|
}
|
|
10758
10872
|
async function writeDialog(args) {
|
|
10759
|
-
const
|
|
10760
|
-
const __perfT0 = __perfEnabled ? performance.now() : 0;
|
|
10873
|
+
const perf = createPerfTracker(args.env);
|
|
10761
10874
|
let existingDialog = null;
|
|
10762
10875
|
if (args.input.continueDialogId) {
|
|
10763
10876
|
const dialogKey = `dialog-${args.userId}-${args.input.continueDialogId}`;
|
|
10764
|
-
existingDialog = await args.store.read(dialogKey);
|
|
10765
|
-
}
|
|
10766
|
-
if (__perfEnabled) {
|
|
10767
|
-
const ms = (performance.now() - __perfT0).toFixed(1);
|
|
10768
|
-
process.stderr.write(`[nolo-perf] writeDialog A:read-dialog: ${ms}ms
|
|
10769
|
-
`);
|
|
10877
|
+
existingDialog = await args.store.read(dialogKey, { remote: false });
|
|
10770
10878
|
}
|
|
10879
|
+
perf.mark("A:read-dialog");
|
|
10771
10880
|
const nowMs = args.now();
|
|
10772
|
-
const
|
|
10773
|
-
const existingTitleSource = existingDialog?.titleSource;
|
|
10774
|
-
let needsTitleUpdate = false;
|
|
10775
|
-
if (existingTitleSource === "manual") {
|
|
10776
|
-
needsTitleUpdate = false;
|
|
10777
|
-
} else if (!existingTitle) {
|
|
10778
|
-
needsTitleUpdate = true;
|
|
10779
|
-
} else {
|
|
10780
|
-
const titleUpdatedAtMs = parseTitleUpdatedAtMs(existingDialog);
|
|
10781
|
-
if (titleUpdatedAtMs > 0) {
|
|
10782
|
-
if (nowMs - titleUpdatedAtMs >= 30 * 60 * 1e3) {
|
|
10783
|
-
needsTitleUpdate = true;
|
|
10784
|
-
}
|
|
10785
|
-
} else {
|
|
10786
|
-
needsTitleUpdate = false;
|
|
10787
|
-
}
|
|
10788
|
-
}
|
|
10881
|
+
const needsTitleUpdate = shouldRegenerateTitle(existingDialog, nowMs);
|
|
10789
10882
|
let titlePromise;
|
|
10790
10883
|
if (needsTitleUpdate && args.titleGenerator) {
|
|
10791
10884
|
const rawLastUserText = extractLastUserText(args.input.messages);
|
|
@@ -10801,11 +10894,7 @@ async function writeDialog(args) {
|
|
|
10801
10894
|
cwd: args.cwd
|
|
10802
10895
|
});
|
|
10803
10896
|
await args.store.batch(plan.ops);
|
|
10804
|
-
|
|
10805
|
-
const ms = (performance.now() - __perfT0).toFixed(1);
|
|
10806
|
-
process.stderr.write(`[nolo-perf] writeDialog C:store-batch (cumulative): ${ms}ms
|
|
10807
|
-
`);
|
|
10808
|
-
}
|
|
10897
|
+
perf.mark("C:store-batch (cumulative)");
|
|
10809
10898
|
let tokenOps = [];
|
|
10810
10899
|
try {
|
|
10811
10900
|
tokenOps = await writeLocalTokenRecord({
|
|
@@ -10823,74 +10912,33 @@ async function writeDialog(args) {
|
|
|
10823
10912
|
`
|
|
10824
10913
|
);
|
|
10825
10914
|
}
|
|
10826
|
-
|
|
10827
|
-
const ms = (performance.now() - __perfT0).toFixed(1);
|
|
10828
|
-
process.stderr.write(`[nolo-perf] writeDialog D:token-record (cumulative): ${ms}ms
|
|
10829
|
-
`);
|
|
10830
|
-
}
|
|
10915
|
+
perf.mark("D:token-record (cumulative)");
|
|
10831
10916
|
const hasSubjectRefs = localTurnHasSubjectRefs(args.input);
|
|
10832
10917
|
const isLocalUser = args.userId === "local";
|
|
10833
10918
|
let remoteSyncPromise;
|
|
10834
10919
|
if (!isLocalUser) {
|
|
10835
|
-
|
|
10836
|
-
|
|
10837
|
-
|
|
10838
|
-
|
|
10839
|
-
|
|
10840
|
-
|
|
10841
|
-
|
|
10842
|
-
|
|
10843
|
-
|
|
10844
|
-
|
|
10845
|
-
if (!syncResult.attempted) {
|
|
10846
|
-
args.output?.write(
|
|
10847
|
-
"[nolo] Local dialog evidence is local-only; set NOLO_SERVER and AUTH_TOKEN to make subjectRefs remotely queryable.\n"
|
|
10848
|
-
);
|
|
10849
|
-
}
|
|
10850
|
-
})();
|
|
10851
|
-
await remoteSyncPromise;
|
|
10852
|
-
} else {
|
|
10853
|
-
remoteSyncPromise = syncLocalDialogEvidenceToRemote({
|
|
10854
|
-
env: args.env,
|
|
10855
|
-
fetchImpl: args.fetchImpl,
|
|
10856
|
-
input: args.input,
|
|
10857
|
-
ops: [...plan.ops, ...tokenOps],
|
|
10858
|
-
output: args.output,
|
|
10859
|
-
userId: args.userId
|
|
10860
|
-
}).catch((error) => {
|
|
10861
|
-
args.output?.write(
|
|
10862
|
-
`[nolo] Remote dialog evidence sync failed; local dialog only: ${toErrorMessage(error)}
|
|
10863
|
-
`
|
|
10864
|
-
);
|
|
10865
|
-
});
|
|
10866
|
-
}
|
|
10920
|
+
remoteSyncPromise = syncDialogEvidence({
|
|
10921
|
+
env: args.env,
|
|
10922
|
+
fetchImpl: args.fetchImpl,
|
|
10923
|
+
input: args.input,
|
|
10924
|
+
ops: [...plan.ops, ...tokenOps],
|
|
10925
|
+
output: args.output,
|
|
10926
|
+
userId: args.userId,
|
|
10927
|
+
hasSubjectRefs
|
|
10928
|
+
});
|
|
10929
|
+
if (hasSubjectRefs) await remoteSyncPromise;
|
|
10867
10930
|
}
|
|
10868
10931
|
let titlePatchPromise;
|
|
10869
10932
|
if (titlePromise) {
|
|
10870
10933
|
const dialogKey = `dialog-${args.userId}-${plan.dialogId}`;
|
|
10871
|
-
titlePatchPromise =
|
|
10872
|
-
|
|
10873
|
-
|
|
10874
|
-
|
|
10875
|
-
|
|
10876
|
-
if (existing?.titleSource === "manual") return;
|
|
10877
|
-
const existingTitleUpdatedAtMs = parseTitleUpdatedAtMs(existing);
|
|
10878
|
-
if (existingTitleUpdatedAtMs > nowMs) return;
|
|
10879
|
-
await args.store.write(dialogKey, {
|
|
10880
|
-
...existing,
|
|
10881
|
-
title: resolvedTitle,
|
|
10882
|
-
titleSource: "auto",
|
|
10883
|
-
titleUpdatedAt: new Date(nowMs).toISOString()
|
|
10884
|
-
});
|
|
10885
|
-
} catch {
|
|
10886
|
-
}
|
|
10934
|
+
titlePatchPromise = patchDialogTitleInBackground({
|
|
10935
|
+
store: args.store,
|
|
10936
|
+
dialogKey,
|
|
10937
|
+
titlePromise,
|
|
10938
|
+
nowMs
|
|
10887
10939
|
});
|
|
10888
10940
|
}
|
|
10889
|
-
|
|
10890
|
-
const ms = (performance.now() - __perfT0).toFixed(1);
|
|
10891
|
-
process.stderr.write(`[nolo-perf] writeDialog total (blocking): ${ms}ms
|
|
10892
|
-
`);
|
|
10893
|
-
}
|
|
10941
|
+
perf.mark("total (blocking)");
|
|
10894
10942
|
return { dialogId: plan.dialogId, title: plan.title, titlePatchPromise, remoteSyncPromise };
|
|
10895
10943
|
}
|
|
10896
10944
|
function resolveCliDialogRecordKey(userId, dialogId) {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
clearCliLocalRuntimePreparedAgentCache
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-CNTHYPHP.js";
|
|
4
4
|
import {
|
|
5
5
|
getReadableCliDb
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-6YABCOFU.js";
|
|
7
7
|
import {
|
|
8
8
|
buildCreatedAgentRecord,
|
|
9
9
|
buildUpdatedAgentRecord,
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
resolveAgentRecordFromHybridStore,
|
|
13
13
|
sanitizeAgentRecordForCliOutput,
|
|
14
14
|
writeAgentRecord
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-7RP2PSIN.js";
|
|
16
16
|
import {
|
|
17
17
|
resolveCliAgentKeyInput
|
|
18
18
|
} from "./chunk-K6QEHQZ3.js";
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
parseAgentRunEvent,
|
|
20
20
|
t,
|
|
21
21
|
toolLabel
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-CNTHYPHP.js";
|
|
23
23
|
import {
|
|
24
24
|
createRunActivityTracker,
|
|
25
25
|
finalizeRunRecord,
|
|
@@ -30,15 +30,15 @@ import {
|
|
|
30
30
|
} from "./chunk-JDSUTNYY.js";
|
|
31
31
|
import {
|
|
32
32
|
getDefaultCliLocalRuntimeDb
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-Q3CSL43H.js";
|
|
34
34
|
import {
|
|
35
35
|
getReadableCliDb
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-6YABCOFU.js";
|
|
37
37
|
import {
|
|
38
38
|
normalizeAgentHandle,
|
|
39
39
|
readDbRecord,
|
|
40
40
|
resolveAgentRecordFromHybridStore
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-7RP2PSIN.js";
|
|
42
42
|
import {
|
|
43
43
|
NOLO_PROJECT_MANAGER_AGENT_KEY,
|
|
44
44
|
isLocalCliAgentKey
|
|
@@ -58,7 +58,7 @@ import {
|
|
|
58
58
|
LOCAL_TURN_ABORTED_CODE,
|
|
59
59
|
readActionGate,
|
|
60
60
|
readCommandActionGatePayload
|
|
61
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-WCZ6NCQN.js";
|
|
62
62
|
import {
|
|
63
63
|
createThinkParserState,
|
|
64
64
|
flushThinkParser,
|
|
@@ -76,7 +76,7 @@ import {
|
|
|
76
76
|
} from "./chunk-UDA3ZYLW.js";
|
|
77
77
|
import {
|
|
78
78
|
formatAgentListCard
|
|
79
|
-
} from "./chunk-
|
|
79
|
+
} from "./chunk-5LZTGR74.js";
|
|
80
80
|
import {
|
|
81
81
|
isGatewayHttpStatus
|
|
82
82
|
} from "./chunk-Z5MXSEOJ.js";
|
|
@@ -95,14 +95,14 @@ import {
|
|
|
95
95
|
chooseMemoryOwners,
|
|
96
96
|
loadMemoryCandidatesFromDb,
|
|
97
97
|
resolveAgentMemoryPolicy
|
|
98
|
-
} from "./chunk-
|
|
98
|
+
} from "./chunk-3K55GMMW.js";
|
|
99
99
|
import {
|
|
100
100
|
API_REPORTED_COST_MULTIPLIER,
|
|
101
101
|
DEFAULT_CONTEXT_WINDOW,
|
|
102
102
|
getModelContextWindow,
|
|
103
103
|
normalizeUsage,
|
|
104
104
|
parseUiAskChoiceContent
|
|
105
|
-
} from "./chunk-
|
|
105
|
+
} from "./chunk-OYACR5WZ.js";
|
|
106
106
|
import {
|
|
107
107
|
clipCompactText
|
|
108
108
|
} from "./chunk-BGTUGS3T.js";
|
|
@@ -3538,7 +3538,7 @@ function findCollapsedPasteSpanAt(buffer, pos, opts = {}) {
|
|
|
3538
3538
|
// packages/cli/client/agentRun.ts
|
|
3539
3539
|
import { ulid } from "ulid";
|
|
3540
3540
|
async function loadRunLocalAgentTurn() {
|
|
3541
|
-
const { runLocalAgentTurn } = await import("./agentRuntimeLocal-
|
|
3541
|
+
const { runLocalAgentTurn } = await import("./agentRuntimeLocal-HKJKTCW4.js");
|
|
3542
3542
|
return runLocalAgentTurn;
|
|
3543
3543
|
}
|
|
3544
3544
|
async function resolveCurrentMachineId(options) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
updateContentTitle
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-2UFKPJJI.js";
|
|
4
4
|
import {
|
|
5
5
|
require_date_fns
|
|
6
6
|
} from "./chunk-M76ECQRD.js";
|
|
@@ -367,7 +367,7 @@ async function saveDocState(arg, { dispatch, getState }) {
|
|
|
367
367
|
}
|
|
368
368
|
}
|
|
369
369
|
async function createDocState(args, thunkApi) {
|
|
370
|
-
const { createPageAction } = await import("./createPageAction-
|
|
370
|
+
const { createPageAction } = await import("./createPageAction-Y2H5GYJU.js");
|
|
371
371
|
return createPageAction(args, thunkApi);
|
|
372
372
|
}
|
|
373
373
|
function subscribe(listener) {
|
|
@@ -7,11 +7,11 @@ import {
|
|
|
7
7
|
listUserRecordsFromServers,
|
|
8
8
|
readDbRecordFromServers,
|
|
9
9
|
readLiveDbRecordAfterTombstoneMerge
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-Q6U2SGFX.js";
|
|
11
11
|
import {
|
|
12
12
|
buildDialogAttachmentPlan,
|
|
13
13
|
extractFileContentIds
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-OYACR5WZ.js";
|
|
15
15
|
import {
|
|
16
16
|
toErrorMessage
|
|
17
17
|
} from "./chunk-HNMXYYJR.js";
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
} from "./chunk-ATK5WJOA.js";
|
|
17
17
|
import {
|
|
18
18
|
runLlm
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-AROB24VV.js";
|
|
20
20
|
import {
|
|
21
21
|
getActiveDialogAgentId,
|
|
22
22
|
getDialogAgentIds,
|
|
@@ -3584,7 +3584,7 @@ var messageSlice = createSliceWithThunks({
|
|
|
3584
3584
|
runtimeOptions: args.runtimeOptions
|
|
3585
3585
|
});
|
|
3586
3586
|
if (agentKeyToUse) {
|
|
3587
|
-
const { streamAgentChatTurn } = await import("./agentSlice-
|
|
3587
|
+
const { streamAgentChatTurn } = await import("./agentSlice-7ELXNOJA.js");
|
|
3588
3588
|
await dispatch(
|
|
3589
3589
|
streamAgentChatTurn({
|
|
3590
3590
|
agentKey: agentKeyToUse,
|
|
@@ -4851,7 +4851,7 @@ var deleteDialogThunk = async (payload, thunkApi) => {
|
|
|
4851
4851
|
}
|
|
4852
4852
|
if (isCurrentDialog) {
|
|
4853
4853
|
await thunkApi.dispatch(resetMsgs());
|
|
4854
|
-
const { clearPendingAttachments: clearPendingAttachments2 } = await import("./dialogSlice-
|
|
4854
|
+
const { clearPendingAttachments: clearPendingAttachments2 } = await import("./dialogSlice-23SPNP3O.js");
|
|
4855
4855
|
dispatch(clearPendingAttachments2());
|
|
4856
4856
|
clearWorkflow();
|
|
4857
4857
|
}
|
|
@@ -4860,15 +4860,15 @@ var deleteDialogThunk = async (payload, thunkApi) => {
|
|
|
4860
4860
|
|
|
4861
4861
|
// packages/chat/dialog/dialogSlice.ts
|
|
4862
4862
|
var runCreateDialogAction = async (args, thunkApi) => {
|
|
4863
|
-
const { createDialogAction } = await import("./createDialogAction-
|
|
4863
|
+
const { createDialogAction } = await import("./createDialogAction-CFYGC6NF.js");
|
|
4864
4864
|
return createDialogAction(args, thunkApi);
|
|
4865
4865
|
};
|
|
4866
4866
|
var runCreateAgentAutomationAction = async (args, thunkApi) => {
|
|
4867
|
-
const { createAgentAutomationAction } = await import("./createAgentAutomationAction-
|
|
4867
|
+
const { createAgentAutomationAction } = await import("./createAgentAutomationAction-ZLJRVATF.js");
|
|
4868
4868
|
return createAgentAutomationAction(args, thunkApi);
|
|
4869
4869
|
};
|
|
4870
4870
|
var runUpdateDialogTitleAction = async (args, thunkApi) => {
|
|
4871
|
-
const { updateDialogTitleAction } = await import("./updateDialogTitleAction-
|
|
4871
|
+
const { updateDialogTitleAction } = await import("./updateDialogTitleAction-HRSMYRLK.js");
|
|
4872
4872
|
return updateDialogTitleAction(args, thunkApi);
|
|
4873
4873
|
};
|
|
4874
4874
|
var runAddDialogAgentAction = async (args, thunkApi) => {
|
|
@@ -4892,7 +4892,7 @@ var runSetDialogExtraReferencesAction = async (args, thunkApi) => {
|
|
|
4892
4892
|
return setDialogExtraReferencesAction(args, thunkApi);
|
|
4893
4893
|
};
|
|
4894
4894
|
var runHandleSendMessageAction = async (args, thunkApi) => {
|
|
4895
|
-
const { handleSendMessageAction } = await import("./handleSendMessageAction-
|
|
4895
|
+
const { handleSendMessageAction } = await import("./handleSendMessageAction-RL25MK5X.js");
|
|
4896
4896
|
return handleSendMessageAction(args, thunkApi);
|
|
4897
4897
|
};
|
|
4898
4898
|
function clearDialogState() {
|
|
@@ -4905,7 +4905,7 @@ var createPageAndAddReference = createAsyncThunk(
|
|
|
4905
4905
|
async (payload, { dispatch, getState, rejectWithValue }) => {
|
|
4906
4906
|
const { slateData, jsonData, title, type, fileId, groupId, dialogKey } = payload;
|
|
4907
4907
|
try {
|
|
4908
|
-
const { createDocState } = await import("./docStore-
|
|
4908
|
+
const { createDocState } = await import("./docStore-2DWKYPQO.js");
|
|
4909
4909
|
const pageKey = await createDocState(
|
|
4910
4910
|
{ slateData, title },
|
|
4911
4911
|
{ dispatch, getState }
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createCliLocalRuntimeAdapter,
|
|
3
3
|
summarizeEndpoint
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-CNTHYPHP.js";
|
|
5
5
|
import {
|
|
6
6
|
runLocalAgentTurn
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-WCZ6NCQN.js";
|
|
8
8
|
import {
|
|
9
9
|
clipMultilineText
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-THJJUY7I.js";
|
|
11
11
|
import {
|
|
12
12
|
resolveLocalRuntimeEnvFromPolicy
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-AROB24VV.js";
|
|
14
14
|
import {
|
|
15
15
|
toErrorMessage
|
|
16
16
|
} from "./chunk-HNMXYYJR.js";
|
|
@@ -14,7 +14,7 @@ function buildCliLocalRuntimeDbEnv(env = process.env) {
|
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
16
|
async function getDefaultCliLocalRuntimeDb(options = {}) {
|
|
17
|
-
const { getDefaultCliLocalRuntimeDb: getAuthorityBackedDb } = await import("./localRuntimeAuthority-
|
|
17
|
+
const { getDefaultCliLocalRuntimeDb: getAuthorityBackedDb } = await import("./localRuntimeAuthority-NDUA2D7Y.js");
|
|
18
18
|
return getAuthorityBackedDb(options);
|
|
19
19
|
}
|
|
20
20
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
listUserRecordsFromServers,
|
|
3
3
|
readLiveDbRecordAfterTombstoneMerge
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-Q6U2SGFX.js";
|
|
5
5
|
import {
|
|
6
6
|
agentRecordHasConfiguredCredential
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-7RP2PSIN.js";
|
|
8
8
|
import {
|
|
9
9
|
toSafeAgentSummary
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-Z6V33HCT.js";
|
|
11
11
|
import {
|
|
12
12
|
PUBLIC_AGENT_KEY_PREFIX,
|
|
13
13
|
isOwnedAgentKey,
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
} from "./chunk-DCDL3GC4.js";
|
|
7
7
|
import {
|
|
8
8
|
fetchAndCacheTableRows
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-2UFKPJJI.js";
|
|
10
10
|
import {
|
|
11
11
|
toErrorMessage
|
|
12
12
|
} from "./chunk-HNMXYYJR.js";
|
|
@@ -1621,7 +1621,7 @@ var executeToolRun = createAsyncThunk(
|
|
|
1621
1621
|
if (!executionInput) {
|
|
1622
1622
|
throw new Error(`ToolRun ${id} has no input to execute with.`);
|
|
1623
1623
|
}
|
|
1624
|
-
const { findToolExecutor } = await import("./tools-
|
|
1624
|
+
const { findToolExecutor } = await import("./tools-ISIPHXWB.js");
|
|
1625
1625
|
const { executor } = findToolExecutor(run.toolName);
|
|
1626
1626
|
toolRunStarted({
|
|
1627
1627
|
id: run.id,
|
|
@@ -1645,7 +1645,7 @@ var executeToolRun = createAsyncThunk(
|
|
|
1645
1645
|
const latestState = thunkApi.getState();
|
|
1646
1646
|
const userId = latestState.auth?.currentUser?.userId;
|
|
1647
1647
|
if (userId) {
|
|
1648
|
-
const { fetchUserSpaceMemberships } = await import("./spaceSlice-
|
|
1648
|
+
const { fetchUserSpaceMemberships } = await import("./spaceSlice-4JKOTPHQ.js");
|
|
1649
1649
|
await thunkApi.dispatch(fetchUserSpaceMemberships(userId));
|
|
1650
1650
|
}
|
|
1651
1651
|
}
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
requiresBareImageUrl,
|
|
10
10
|
resolveToolGuidedSections,
|
|
11
11
|
toBareImageUrlMessages
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-7I44EILD.js";
|
|
13
13
|
import {
|
|
14
14
|
convertMessagesToResponsesInput,
|
|
15
15
|
preserveAgentStateFields
|
|
@@ -26,7 +26,7 @@ import {
|
|
|
26
26
|
} from "./chunk-XFG3BAKN.js";
|
|
27
27
|
import {
|
|
28
28
|
waitForAbortableDelay
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-5LZTGR74.js";
|
|
30
30
|
import {
|
|
31
31
|
createDrainExhaustedResponse,
|
|
32
32
|
isCoreDrainingBody,
|
|
@@ -36,17 +36,17 @@ import {
|
|
|
36
36
|
} from "./chunk-Z5MXSEOJ.js";
|
|
37
37
|
import {
|
|
38
38
|
resolveBuiltinSkillPage
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-THJJUY7I.js";
|
|
40
40
|
import {
|
|
41
41
|
shouldUseServerProxy
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-OYACR5WZ.js";
|
|
43
43
|
import {
|
|
44
44
|
estimateTokenCount
|
|
45
45
|
} from "./chunk-BGTUGS3T.js";
|
|
46
46
|
import {
|
|
47
47
|
createFileCredentialBroker,
|
|
48
48
|
fetchServerSyncedCredential
|
|
49
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-AROB24VV.js";
|
|
50
50
|
import {
|
|
51
51
|
toErrorMessage
|
|
52
52
|
} from "./chunk-HNMXYYJR.js";
|