chainlesschain 0.166.30 → 0.166.32
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/README.md +4 -2
- package/package.json +1 -1
- package/src/assets/web-panel/assets/{AIOps-D0L1OM_i.js → AIOps-DKUOkYex.js} +1 -1
- package/src/assets/web-panel/assets/{ActionButton-CeZUkX_V.js → ActionButton-B3luFrPA.js} +1 -1
- package/src/assets/web-panel/assets/{Analytics-P_7CIOew.js → Analytics-jbZ8R2S3.js} +3 -3
- package/src/assets/web-panel/assets/{AppLayout-NuqDYrlO.js → AppLayout-CFS2vzPS.js} +5 -5
- package/src/assets/web-panel/assets/{Artifacts-D1BTQqJM.js → Artifacts-sS0Qpy5q.js} +1 -1
- package/src/assets/web-panel/assets/{Audit-D9XL6DVf.js → Audit-CZ7kfjCG.js} +1 -1
- package/src/assets/web-panel/assets/{BackgroundAgents-Ci2DB2gV.js → BackgroundAgents-BpWc5SgP.js} +1 -1
- package/src/assets/web-panel/assets/{Backup-CreK3Yqn.js → Backup-DpEYnvoy.js} +1 -1
- package/src/assets/web-panel/assets/{BaseInput-BkIRKFXX.js → BaseInput-kFzUGLnl.js} +1 -1
- package/src/assets/web-panel/assets/{Chat-BoJjlCDT.js → Chat-BP_8aAfJ.js} +6 -6
- package/src/assets/web-panel/assets/ChatBubbleRenderer-yFeZ15D4.js +1 -0
- package/src/assets/web-panel/assets/{Checkbox-BbA932P3.js → Checkbox-HR1HQ06d.js} +1 -1
- package/src/assets/web-panel/assets/{Codegen-BS_f3kQy.js → Codegen-DxAqDPjT.js} +1 -1
- package/src/assets/web-panel/assets/{Col-BJ1tzpRh.js → Col-BaCLih7J.js} +1 -1
- package/src/assets/web-panel/assets/{Community-DYsZZlgI.js → Community-ZX64uW8D.js} +1 -1
- package/src/assets/web-panel/assets/{Compact-Cq41A43W.js → Compact-CLtMoXTt.js} +1 -1
- package/src/assets/web-panel/assets/{Compliance-CBqSz1op.js → Compliance-BlyxBDrs.js} +1 -1
- package/src/assets/web-panel/assets/{Cowork-ZAn8buD_.js → Cowork-CtQZIYPh.js} +3 -3
- package/src/assets/web-panel/assets/{Cron-DM4WTZQT.js → Cron-BebN-ajI.js} +2 -2
- package/src/assets/web-panel/assets/{Crosschain-S65sJZwe.js → Crosschain-3gRU0-58.js} +1 -1
- package/src/assets/web-panel/assets/{DID-0Av7FTMv.js → DID-DSVTtLnb.js} +2 -2
- package/src/assets/web-panel/assets/{Dashboard-D-1vFtiV.js → Dashboard-CvnhOWqc.js} +2 -2
- package/src/assets/web-panel/assets/{Dropdown-BZufOCir.js → Dropdown-BhdofmCJ.js} +1 -1
- package/src/assets/web-panel/assets/{EmailListRenderer-DJE8szQZ.js → EmailListRenderer-Dhpua9Lo.js} +1 -1
- package/src/assets/web-panel/assets/{FamilyGuardDashboard-BqqPHaZn.js → FamilyGuardDashboard-DA1mLqQ4.js} +1 -1
- package/src/assets/web-panel/assets/{Federation-CslSyj60.js → Federation-D6SUyKGb.js} +1 -1
- package/src/assets/web-panel/assets/{FormItemContext-uTfAl63o.js → FormItemContext-BcMiwguB.js} +1 -1
- package/src/assets/web-panel/assets/{GenericCardRenderer-BIP2obER.js → GenericCardRenderer-CGEB1WcH.js} +1 -1
- package/src/assets/web-panel/assets/{Git-CoVpUKSg.js → Git-DGCNNqR_.js} +2 -2
- package/src/assets/web-panel/assets/{Governance-zW6mlFcK.js → Governance-D4HVyFdL.js} +1 -1
- package/src/assets/web-panel/assets/{Inference-zfu2tMaa.js → Inference-BOoEmvKl.js} +1 -1
- package/src/assets/web-panel/assets/{KnowledgeGraph-Dd38pMCe.js → KnowledgeGraph-ECLI0C0_.js} +1 -1
- package/src/assets/web-panel/assets/{Logs-BhX28L73.js → Logs-Cf9GjHtX.js} +2 -2
- package/src/assets/web-panel/assets/MarkdownRenderer-C3J59f8v.js +1 -0
- package/src/assets/web-panel/assets/{Marketplace-DGBKtVL6.js → Marketplace-DeL4rOAJ.js} +1 -1
- package/src/assets/web-panel/assets/{McpTools-C0jSXrYN.js → McpTools-Dvn3KpLW.js} +2 -2
- package/src/assets/web-panel/assets/{Memory-_xyOJV55.js → Memory-CSlLy-aw.js} +2 -2
- package/src/assets/web-panel/assets/{MobileBridge-DGm6cS5Y.js → MobileBridge-yNIe8-74.js} +1 -1
- package/src/assets/web-panel/assets/{MobileProjects-DqNyu4pO.js → MobileProjects-CsS8Lozw.js} +1 -1
- package/src/assets/web-panel/assets/{Mtc-CSfoeF9f.js → Mtc-Q7iMzSds.js} +6 -6
- package/src/assets/web-panel/assets/{MtcAudit-DuXFbCYL.js → MtcAudit-CW71IQrK.js} +2 -2
- package/src/assets/web-panel/assets/{Multisig-CdnOBFhs.js → Multisig-pursAeeT.js} +3 -3
- package/src/assets/web-panel/assets/{NLProgramming-C0URZ4u4.js → NLProgramming-DtNo1qqO.js} +1 -1
- package/src/assets/web-panel/assets/{Notes-CJznx6ft.js → Notes-B1xUFwUT.js} +3 -3
- package/src/assets/web-panel/assets/{NotificationSettings-DJcqYoZP.js → NotificationSettings-BgmQs_J8.js} +1 -1
- package/src/assets/web-panel/assets/{OrderTableRenderer-CEQJHoU9.js → OrderTableRenderer-DI9t8YZl.js} +1 -1
- package/src/assets/web-panel/assets/{Organization-ucvP5Gzp.js → Organization-BbrrT6gR.js} +4 -4
- package/src/assets/web-panel/assets/{Overflow-Be3DoWvY.js → Overflow-BcPi4YUc.js} +1 -1
- package/src/assets/web-panel/assets/{P2P-BXV17CWM.js → P2P-DfRteW76.js} +2 -2
- package/src/assets/web-panel/assets/{PdhVaultBrowser-CZDiOia9.js → PdhVaultBrowser-De81lu5Q.js} +3 -3
- package/src/assets/web-panel/assets/{Permissions-Bn0mjFJA.js → Permissions-DLCRaOe3.js} +4 -4
- package/src/assets/web-panel/assets/{PersonalDataHub-CQ2uLeuD.js → PersonalDataHub-fuTL6z8u.js} +5 -5
- package/src/assets/web-panel/assets/{Pipeline-DWv7KJKL.js → Pipeline-D3ztsQDw.js} +1 -1
- package/src/assets/web-panel/assets/{Privacy-B4I0G5_J.js → Privacy-4f-SQ4ie.js} +1 -1
- package/src/assets/web-panel/assets/{ProjectInit-CDGy6B7j.js → ProjectInit-CC_ZFjrV.js} +2 -2
- package/src/assets/web-panel/assets/{ProjectSettings-CXUq9nGH.js → ProjectSettings-C9FWHcne.js} +2 -2
- package/src/assets/web-panel/assets/{Projects-B-IA5qsB.js → Projects-CR3ETMQQ.js} +1 -1
- package/src/assets/web-panel/assets/{Providers-Card8pXM.js → Providers-BWcbdgXx.js} +1 -1
- package/src/assets/web-panel/assets/{QrScannerModal-DrU0hFRp.js → QrScannerModal-BavxpdIK.js} +1 -1
- package/src/assets/web-panel/assets/{QuickAsk-cB-AFOxA.js → QuickAsk-CZ7gupY4.js} +1 -1
- package/src/assets/web-panel/assets/{Recommend-CvAvFr0u.js → Recommend-BQNpBYLL.js} +1 -1
- package/src/assets/web-panel/assets/{RemoteSession-BIrtatCm.js → RemoteSession-2LU0Vr44.js} +2 -2
- package/src/assets/web-panel/assets/{Reputation-CrRpi112.js → Reputation-oYWo7qyp.js} +1 -1
- package/src/assets/web-panel/assets/{Row-DmaenKNU.js → Row-B8Yj-Csx.js} +1 -1
- package/src/assets/web-panel/assets/{RssFeed-CGZBcNLM.js → RssFeed-CbxKbHJr.js} +3 -3
- package/src/assets/web-panel/assets/{Search-Bvxjc4AU.js → Search-DGe-u9s0.js} +1 -1
- package/src/assets/web-panel/assets/{Security-1Z-5c2n6.js → Security-BwjfMAFI.js} +3 -3
- package/src/assets/web-panel/assets/{Services-3zYh5_28.js → Services-BB5NQHwQ.js} +2 -2
- package/src/assets/web-panel/assets/{Skeleton-DEyGi_mq.js → Skeleton-BPSVUive.js} +1 -1
- package/src/assets/web-panel/assets/{Skills-BjWR0303.js → Skills-DU2D-IYQ.js} +1 -1
- package/src/assets/web-panel/assets/{Sla-C6rE_C6V.js → Sla-DLX0vcyj.js} +1 -1
- package/src/assets/web-panel/assets/{SpeechSettings-DJ1DtDuf.js → SpeechSettings-CsPt1rpa.js} +1 -1
- package/src/assets/web-panel/assets/{SyncSettings-B2j0LEry.js → SyncSettings-QuDslViv.js} +2 -2
- package/src/assets/web-panel/assets/{Tasks-ClYwVLRE.js → Tasks-C-jF6Kwk.js} +1 -1
- package/src/assets/web-panel/assets/{Templates-Eb0UjdGe.js → Templates-B6tY1zm-.js} +1 -1
- package/src/assets/web-panel/assets/{Tenant-BlkC3jZ8.js → Tenant-BXx5FAY1.js} +1 -1
- package/src/assets/web-panel/assets/{Terminal-MMaa8P6V.js → Terminal-CNk8KI4J.js} +2 -2
- package/src/assets/web-panel/assets/{TimelineRenderer-B4EsSPro.js → TimelineRenderer-Bo2YVc2l.js} +1 -1
- package/src/assets/web-panel/assets/{Tokens-Chk0rule.js → Tokens-Bs1Oq8t9.js} +1 -1
- package/src/assets/web-panel/assets/{Trigger-Cww9ZKjK.js → Trigger-CtDhiQxG.js} +1 -1
- package/src/assets/web-panel/assets/{Trust-xSwx_Zhk.js → Trust-riAZiPHp.js} +1 -1
- package/src/assets/web-panel/assets/{UkeySign-CNaC0gRj.js → UkeySign-DZRzYaNL.js} +1 -1
- package/src/assets/web-panel/assets/{VideoEditing-gpoRF70F.js → VideoEditing-DTwOdg2x.js} +1 -1
- package/src/assets/web-panel/assets/{Wallet-eSjvqmUV.js → Wallet-ByuDECxb.js} +4 -4
- package/src/assets/web-panel/assets/{WebAuthn-C4T03Dyz.js → WebAuthn-CkSKfId0.js} +5 -5
- package/src/assets/web-panel/assets/{WorkflowEditor-eR0JIHbW.js → WorkflowEditor-BmyJJndu.js} +1 -1
- package/src/assets/web-panel/assets/{chat-CPRK3APB.js → chat-s1LiqLff.js} +1 -1
- package/src/assets/web-panel/assets/{colors-BP4ZS2SA.js → colors-CMKVIFUx.js} +1 -1
- package/src/assets/web-panel/assets/{compact-item-C2bvxEX0.js → compact-item-DQGdG4Y5.js} +1 -1
- package/src/assets/web-panel/assets/{createContext-DfgFYASc.js → createContext-Csln9jj1.js} +1 -1
- package/src/assets/web-panel/assets/devWarning-C8YOOF96.js +1 -0
- package/src/assets/web-panel/assets/{hasIn-BlwCGOVd.js → hasIn-D1RYDhMF.js} +1 -1
- package/src/assets/web-panel/assets/{index-B0HiXNYh.js → index--G_4msyB.js} +1 -1
- package/src/assets/web-panel/assets/{index-B_LuOKcc.js → index-8mlgjcck.js} +1 -1
- package/src/assets/web-panel/assets/{index-BgUnGGL8.js → index-B0vls3Cv.js} +1 -1
- package/src/assets/web-panel/assets/{index-5b_mMYB_.js → index-B39ap5Fq.js} +1 -1
- package/src/assets/web-panel/assets/{index-9VWjFlVU.js → index-BFHhLE91.js} +1 -1
- package/src/assets/web-panel/assets/{index-DR2Tg8uN.js → index-BJsa5jwk.js} +1 -1
- package/src/assets/web-panel/assets/index-BUXHmygu.js +1 -0
- package/src/assets/web-panel/assets/{index-Dx3HnzcX.js → index-BiT8auXA.js} +1 -1
- package/src/assets/web-panel/assets/{index-C3qzM-P9.js → index-Bl5BNEwF.js} +1 -1
- package/src/assets/web-panel/assets/{index-CKZNLHhD.js → index-Bqhj13Jf.js} +1 -1
- package/src/assets/web-panel/assets/{index-_5mGFZRu.js → index-BsmEoBNu.js} +1 -1
- package/src/assets/web-panel/assets/{index-C2n5VKtr.js → index-BvrkxTu0.js} +1 -1
- package/src/assets/web-panel/assets/{index-B2D-mqRz.js → index-BxVtT9q8.js} +1 -1
- package/src/assets/web-panel/assets/{index-DEohnDSJ.js → index-C1y8O1ZP.js} +1 -1
- package/src/assets/web-panel/assets/{index-DnD3N8YJ.js → index-C8sTim5H.js} +1 -1
- package/src/assets/web-panel/assets/{index-DLTzHq3a.js → index-CGBHLqy3.js} +1 -1
- package/src/assets/web-panel/assets/{index-CZHYspFu.js → index-CHmRaTdN.js} +1 -1
- package/src/assets/web-panel/assets/{index-XBrnfoX6.js → index-CJwH7xWo.js} +1 -1
- package/src/assets/web-panel/assets/{index-IYshwMo1.js → index-CTg3OrkW.js} +1 -1
- package/src/assets/web-panel/assets/{index-C6Zbp8DY.js → index-CUVbDS_3.js} +1 -1
- package/src/assets/web-panel/assets/{index-DDGliY6u.js → index-CUlRsoXi.js} +1 -1
- package/src/assets/web-panel/assets/{index-Sk-fx_32.js → index-Cew8V1UQ.js} +1 -1
- package/src/assets/web-panel/assets/{index-Bg_1EOhP.js → index-CiB2ZOQm.js} +1 -1
- package/src/assets/web-panel/assets/{index-AbVd9bHP.js → index-CmAjtQdv.js} +1 -1
- package/src/assets/web-panel/assets/index-CsNpDb_W.js +1 -0
- package/src/assets/web-panel/assets/{index-DzHzRE9E.js → index-D1kWd1be.js} +1 -1
- package/src/assets/web-panel/assets/{index-CyMwW_p5.js → index-D2v6xn0e.js} +1 -1
- package/src/assets/web-panel/assets/{index-JhYgZWbg.js → index-D3TPgm-r.js} +1 -1
- package/src/assets/web-panel/assets/{index-BENgpvOm.js → index-D6eoC11O.js} +1 -1
- package/src/assets/web-panel/assets/{index-CBJrpDfv.js → index-DHic4uvV.js} +1 -1
- package/src/assets/web-panel/assets/{index-QE8jhGyd.js → index-DIFiRztW.js} +1 -1
- package/src/assets/web-panel/assets/{index-DDavuQ3n.js → index-DQ86qdvJ.js} +19 -19
- package/src/assets/web-panel/assets/{index-BO1fPYye.js → index-DU23ertt.js} +1 -1
- package/src/assets/web-panel/assets/{index-WSC6WoDZ.js → index-DauplA4h.js} +1 -1
- package/src/assets/web-panel/assets/{index-DZbQQtMn.js → index-DmIeFdLq.js} +1 -1
- package/src/assets/web-panel/assets/{index-BPezy3IJ.js → index-FLnF1aVs.js} +1 -1
- package/src/assets/web-panel/assets/{index-B-ubYfKF.js → index-jPM2-LMz.js} +1 -1
- package/src/assets/web-panel/assets/{index-DQ-CB1zc.js → index-rHRlGEnX.js} +1 -1
- package/src/assets/web-panel/assets/{index-DdaniU1x.js → index-ugL-2h6d.js} +1 -1
- package/src/assets/web-panel/assets/{initDefaultProps-CmR0B8Wx.js → initDefaultProps-DWJU65d6.js} +1 -1
- package/src/assets/web-panel/assets/{motion-BC0UJWJb.js → motion-B0cCdvX2.js} +1 -1
- package/src/assets/web-panel/assets/{move-cvEJQRZ_.js → move-CSWGW4YZ.js} +1 -1
- package/src/assets/web-panel/assets/{mtc-parser-0ZPAo5px.js → mtc-parser-_P9unVrC.js} +1 -1
- package/src/assets/web-panel/assets/{omit-UBXYakkw.js → omit-eUFaswv5.js} +1 -1
- package/src/assets/web-panel/assets/{pickAttrs-CRZgdSvi.js → pickAttrs-Hmk4wpqj.js} +1 -1
- package/src/assets/web-panel/assets/{placementArrow-B_Y8sKr_.js → placementArrow-COIVVq2l.js} +1 -1
- package/src/assets/web-panel/assets/{responsiveObserve-CFgbiMsJ.js → responsiveObserve-CkXZS7fs.js} +1 -1
- package/src/assets/web-panel/assets/{slide-CF6LYcYS.js → slide-BGdyZ1Ue.js} +1 -1
- package/src/assets/web-panel/assets/{statusUtils-Cj2PusGV.js → statusUtils-rbVNSZAN.js} +1 -1
- package/src/assets/web-panel/assets/{styleChecker-Czg7dDLr.js → styleChecker-CcdFI5tK.js} +1 -1
- package/src/assets/web-panel/assets/{useFlexGapSupport-Bhi9P67E.js → useFlexGapSupport-C9yiJQMh.js} +1 -1
- package/src/assets/web-panel/assets/{useFs-X9lqJXBc.js → useFs-B73ulQmg.js} +1 -1
- package/src/assets/web-panel/assets/{usePersonalDataHub-iL34aL71.js → usePersonalDataHub-DNN-hD_j.js} +1 -1
- package/src/assets/web-panel/assets/{vnode-DJ7TA9fc.js → vnode-BN1KizIr.js} +1 -1
- package/src/assets/web-panel/assets/{zoom-DfQDsJXd.js → zoom-0KE4Sg53.js} +1 -1
- package/src/assets/web-panel/index.html +1 -1
- package/src/data/changelog.json +26 -0
- package/src/lib/evolution/evolution-file-witness.js +59 -13
- package/src/lib/evolution/evolution-ledger-file-backend.js +16 -1
- package/src/lib/remote-read-loop-guard.js +231 -0
- package/src/lib/task-progress-tracker.js +5 -1
- package/src/lib/web-fetch.js +129 -12
- package/src/runtime/agent-core.js +41 -1
- package/src/assets/web-panel/assets/ChatBubbleRenderer-D68YIuni.js +0 -1
- package/src/assets/web-panel/assets/MarkdownRenderer-CbOmzhyX.js +0 -1
- package/src/assets/web-panel/assets/devWarning-CahG3JuS.js +0 -1
- package/src/assets/web-panel/assets/index-BZ3kGfit.js +0 -1
- package/src/assets/web-panel/assets/index-Dm5MZg8A.js +0 -1
|
@@ -21,6 +21,7 @@ import {
|
|
|
21
21
|
buildReadFileOutline,
|
|
22
22
|
} from "../lib/read-file-page.js";
|
|
23
23
|
import { ReadFileLoopGuard } from "../lib/read-file-loop-guard.js";
|
|
24
|
+
import { RemoteReadLoopGuard } from "../lib/remote-read-loop-guard.js";
|
|
24
25
|
import {
|
|
25
26
|
TaskProgressTracker,
|
|
26
27
|
TASK_RECOVERY_TOOLS,
|
|
@@ -13807,11 +13808,24 @@ export async function* agentLoop(messages, options) {
|
|
|
13807
13808
|
// rather than looping forever (the iteration budget is the hard backstop).
|
|
13808
13809
|
let emptyThinkingReprompted = false;
|
|
13809
13810
|
const readFileLoopGuard = new ReadFileLoopGuard();
|
|
13811
|
+
const remoteReadLoopGuard = new RemoteReadLoopGuard();
|
|
13810
13812
|
toolContext.readFileLoopGuard = readFileLoopGuard;
|
|
13811
13813
|
let lastTaskProgressIntervention = null;
|
|
13812
13814
|
|
|
13813
13815
|
while (budget.hasRemaining()) {
|
|
13814
13816
|
readFileLoopGuard.finishBatch();
|
|
13817
|
+
if (remoteReadLoopGuard.stalled) {
|
|
13818
|
+
await _awaitBackgroundUsageSettlement(
|
|
13819
|
+
backgroundSubAgents,
|
|
13820
|
+
backgroundUsageFailureState,
|
|
13821
|
+
);
|
|
13822
|
+
yield* _drainSubAgentUsage(subAgentUsageSink);
|
|
13823
|
+
const error = new Error(
|
|
13824
|
+
"Repeated remote fetch failures or unchanged GitHub Actions logs continued after recovery guidance. Stopped the retry loop; the task is not complete. Use the retained findings, check authentication/connectivity, or fetch a specific missing log section before retrying.",
|
|
13825
|
+
);
|
|
13826
|
+
error.code = "CC_AGENT_REPEATED_REMOTE_READ";
|
|
13827
|
+
throw error;
|
|
13828
|
+
}
|
|
13815
13829
|
if (readFileLoopGuard.stalled) {
|
|
13816
13830
|
await _awaitBackgroundUsageSettlement(
|
|
13817
13831
|
backgroundSubAgents,
|
|
@@ -14388,6 +14402,14 @@ export async function* agentLoop(messages, options) {
|
|
|
14388
14402
|
// whole-file request. This changes discovery for one request only; runtime
|
|
14389
14403
|
// permissions are untouched and ordinary reads return on the next turn.
|
|
14390
14404
|
const readRecoveryTurn = readFileLoopGuard.takeRecoveryTurn();
|
|
14405
|
+
const remoteRecoveryTools = remoteReadLoopGuard.takeRecoveryTurn();
|
|
14406
|
+
if (remoteRecoveryTools.length) {
|
|
14407
|
+
yield {
|
|
14408
|
+
type: "iteration-warning",
|
|
14409
|
+
message:
|
|
14410
|
+
"Repeated web/log requests made no progress. Use retained evidence; the repeating tool is paused for one model turn.",
|
|
14411
|
+
};
|
|
14412
|
+
}
|
|
14391
14413
|
const progressIntervention = taskProgressTracker.intervention;
|
|
14392
14414
|
const newProgressIntervention =
|
|
14393
14415
|
progressIntervention &&
|
|
@@ -14408,7 +14430,7 @@ export async function* agentLoop(messages, options) {
|
|
|
14408
14430
|
};
|
|
14409
14431
|
}
|
|
14410
14432
|
const iterationToolOptions =
|
|
14411
|
-
readRecoveryTurn || taskRecoveryTurn
|
|
14433
|
+
readRecoveryTurn || taskRecoveryTurn || remoteRecoveryTools.length
|
|
14412
14434
|
? {
|
|
14413
14435
|
...effectiveToolOptions,
|
|
14414
14436
|
disabledTools: [
|
|
@@ -14416,6 +14438,7 @@ export async function* agentLoop(messages, options) {
|
|
|
14416
14438
|
...(effectiveToolOptions.disabledTools || []),
|
|
14417
14439
|
...(readRecoveryTurn ? ["read_file"] : []),
|
|
14418
14440
|
...(taskRecoveryTurn ? TASK_RECOVERY_TOOLS : []),
|
|
14441
|
+
...remoteRecoveryTools,
|
|
14419
14442
|
]),
|
|
14420
14443
|
],
|
|
14421
14444
|
}
|
|
@@ -14423,6 +14446,7 @@ export async function* agentLoop(messages, options) {
|
|
|
14423
14446
|
const readContext = [
|
|
14424
14447
|
readFileLoopGuard.findingsHint,
|
|
14425
14448
|
readFileLoopGuard.progressHint,
|
|
14449
|
+
remoteReadLoopGuard.findingsHint,
|
|
14426
14450
|
taskProgressTracker.checkpointFor(runId),
|
|
14427
14451
|
].filter(Boolean);
|
|
14428
14452
|
if (readContext.length) {
|
|
@@ -14468,6 +14492,20 @@ export async function* agentLoop(messages, options) {
|
|
|
14468
14492
|
}
|
|
14469
14493
|
}
|
|
14470
14494
|
const contextMemoryTrustedSystemIndexes = [];
|
|
14495
|
+
if (remoteReadLoopGuard.recoveryHint) {
|
|
14496
|
+
callMessages = [
|
|
14497
|
+
...callMessages,
|
|
14498
|
+
{
|
|
14499
|
+
role: "system",
|
|
14500
|
+
content:
|
|
14501
|
+
remoteReadLoopGuard.recoveryHint +
|
|
14502
|
+
(remoteRecoveryTools.length
|
|
14503
|
+
? ` One-turn recovery: ${remoteRecoveryTools.join(", ")} omitted for this request only; availability resumes on the next turn.`
|
|
14504
|
+
: ""),
|
|
14505
|
+
},
|
|
14506
|
+
];
|
|
14507
|
+
contextMemoryTrustedSystemIndexes.push(callMessages.length - 1);
|
|
14508
|
+
}
|
|
14471
14509
|
if (progressIntervention) {
|
|
14472
14510
|
callMessages = [
|
|
14473
14511
|
...callMessages,
|
|
@@ -15044,6 +15082,7 @@ export async function* agentLoop(messages, options) {
|
|
|
15044
15082
|
_throwBackgroundUsageFailureState(backgroundUsageFailureState);
|
|
15045
15083
|
const { result: toolResult, error: toolError } = await promise;
|
|
15046
15084
|
throwIfAborted(signal);
|
|
15085
|
+
remoteReadLoopGuard.record(call.function.name, toolResult, toolArgs);
|
|
15047
15086
|
readFileLoopGuard.record(
|
|
15048
15087
|
call.function.name,
|
|
15049
15088
|
toolResult,
|
|
@@ -15528,6 +15567,7 @@ export async function* agentLoop(messages, options) {
|
|
|
15528
15567
|
// context — but tell the model when we cut it (no more silent
|
|
15529
15568
|
// mid-content slice). See MAX_TOOL_RESULT_CHARS / capToolResultString.
|
|
15530
15569
|
const resultStr = toolResultForModel(toolName, toolResult, messages);
|
|
15570
|
+
remoteReadLoopGuard.record(toolName, toolResult, toolArgs);
|
|
15531
15571
|
readFileLoopGuard.record(
|
|
15532
15572
|
toolName,
|
|
15533
15573
|
toolResult,
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{I as h,P as u,J as y,U as n,R as a,S,K as x,Q as C,V as w,_ as B,b as s}from"./vendor-Bn1JzzAn.js";import{_ as k}from"./index-DDavuQ3n.js";import"./icons-DG5UD-6K.js";const N={__name:"ChatBubbleRenderer",props:{event:{type:Object,required:!0}},setup(c,{expose:d}){d();const t=c,r=s(()=>{const e=t.event.content||{};return e.text||e.body||e.message||e.title||JSON.stringify(e).slice(0,200)}),i=s(()=>{const e=t.event.content||{};return e.from||e.sender||e.senderName||t.event.actor||"(unknown)"}),l=s(()=>{const e=(t.event.actor||"").toLowerCase();return e.includes("self")||e==="me"||e.endsWith("_self")}),o=s(()=>{const e=t.event.source.adapter||"";return e.startsWith("messaging-qq")?"magenta":e==="wechat"?"green":"blue"}),m=s(()=>{if(!t.event.occurredAt)return"";try{const e=new Date(t.event.occurredAt),p=e.getFullYear(),f=String(e.getMonth()+1).padStart(2,"0"),g=String(e.getDate()).padStart(2,"0"),b=String(e.getHours()).padStart(2,"0"),v=String(e.getMinutes()).padStart(2,"0");return`${p}-${f}-${g} ${b}:${v}`}catch{return""}}),_={props:t,messageText:r,actorLabel:i,isMine:l,adapterColor:o,formattedTime:m,computed:s};return Object.defineProperty(_,"__isScriptSetup",{enumerable:!1,value:!0}),_}},T={class:"bubble"},M={class:"meta"},R={class:"actor"},V={class:"time"},q={class:"body"};function D(c,d,t,r,i,l){const o=h("a-tag");return u(),y("div",{class:B(["chat-row",{mine:r.isMine}])},[n("div",T,[n("div",M,[n("span",R,a(r.actorLabel),1),n("span",V,a(r.formattedTime),1)]),n("div",q,a(r.messageText),1),t.event.source.adapter?(u(),S(o,{key:0,class:"src",color:r.adapterColor},{default:x(()=>[C(a(t.event.source.adapter),1)]),_:1},8,["color"])):w("v-if",!0)])],2)}const A=k(N,[["render",D],["__scopeId","data-v-49238629"],["__file","/tmp/cc-web-panel-0cyvxy/repo/packages/web-panel/src/components/pdh/renderers/ChatBubbleRenderer.vue"]]);export{A as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{P as a,J as p,b as c}from"./vendor-Bn1JzzAn.js";import{r as s}from"./markdown-Yo_c6Krv.js";import{_ as d}from"./index-DDavuQ3n.js";const _={__name:"MarkdownRenderer",props:{content:{type:String,default:""}},setup(t,{expose:o}){o();const e=t,r=c(()=>s(e.content||"")),n={props:e,rendered:r,computed:c,get renderMarkdown(){return s}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}},i=["innerHTML"];function m(t,o,e,r,n,u){return a(),p("div",{class:"markdown-content",innerHTML:r.rendered},null,8,i)}const w=d(_,[["render",m],["__scopeId","data-v-0b0b9f63"],["__file","/tmp/cc-web-panel-0cyvxy/repo/packages/web-panel/src/components/MarkdownRenderer.vue"]]);export{w as M};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Q as r}from"./index-DDavuQ3n.js";const o=((n,a,e)=>{r(n,`[ant-design-vue: ${a}] ${e}`)});export{o as d};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{C as o}from"./Col-BJ1tzpRh.js";import{a0 as t}from"./index-DDavuQ3n.js";import"./vendor-Bn1JzzAn.js";import"./index-C2n5VKtr.js";import"./icons-DG5UD-6K.js";const s=t(o);export{s as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{A as o}from"./Row-DmaenKNU.js";import{a0 as t}from"./index-DDavuQ3n.js";import"./vendor-Bn1JzzAn.js";import"./responsiveObserve-CFgbiMsJ.js";import"./useFlexGapSupport-Bhi9P67E.js";import"./styleChecker-Czg7dDLr.js";import"./index-C2n5VKtr.js";import"./icons-DG5UD-6K.js";const l=t(o);export{l as default};
|