chainlesschain 0.166.105 → 0.166.106

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.
Files changed (163) hide show
  1. package/README.md +8 -9
  2. package/package.json +1 -1
  3. package/src/assets/linux-subreaper/linux-arm64/manifest.json +1 -1
  4. package/src/assets/linux-subreaper/linux-x64/manifest.json +1 -1
  5. package/src/assets/web-panel/assets/{AIOps-CcD-AVDw.js → AIOps-CKwEku2e.js} +1 -1
  6. package/src/assets/web-panel/assets/{ActionButton-CYy-g36A.js → ActionButton-BSUOuTpW.js} +1 -1
  7. package/src/assets/web-panel/assets/{Analytics-DPFDNaBL.js → Analytics-CGxvL_FI.js} +3 -3
  8. package/src/assets/web-panel/assets/{AppLayout-PVIuRdgN.js → AppLayout-bCPwz-5w.js} +5 -5
  9. package/src/assets/web-panel/assets/{Artifacts-BXGD3bM-.js → Artifacts-2_BOWo6e.js} +1 -1
  10. package/src/assets/web-panel/assets/{Audit-Bu5s_4tu.js → Audit-CBOruzgW.js} +1 -1
  11. package/src/assets/web-panel/assets/{BackgroundAgents-BHmgpnzo.js → BackgroundAgents-lg0IU5HN.js} +1 -1
  12. package/src/assets/web-panel/assets/{Backup-C872jURx.js → Backup-OspCi452.js} +1 -1
  13. package/src/assets/web-panel/assets/{BaseInput-Bh7xO30H.js → BaseInput-BMkliqlz.js} +1 -1
  14. package/src/assets/web-panel/assets/{Chat-DaacK53T.js → Chat-BfoiUZwp.js} +5 -5
  15. package/src/assets/web-panel/assets/{ChatBubbleRenderer-PYrSKMM_.js → ChatBubbleRenderer-BjnfMwep.js} +1 -1
  16. package/src/assets/web-panel/assets/{Checkbox-Cnt7_8I2.js → Checkbox-jTMlkNQZ.js} +1 -1
  17. package/src/assets/web-panel/assets/{Codegen-AZRz6kmW.js → Codegen-CycyJcnU.js} +1 -1
  18. package/src/assets/web-panel/assets/{Col-BtOXzMFt.js → Col-BVWlReQj.js} +1 -1
  19. package/src/assets/web-panel/assets/{Community-BFmFygS7.js → Community-CKRHl4xK.js} +1 -1
  20. package/src/assets/web-panel/assets/{Compact-2z5CfKpR.js → Compact-BtpfMdhT.js} +1 -1
  21. package/src/assets/web-panel/assets/{Compliance-B5hKrPVF.js → Compliance-DtHB1Ct1.js} +1 -1
  22. package/src/assets/web-panel/assets/{Cowork-CxEyp2ww.js → Cowork-D_8X7-RK.js} +3 -3
  23. package/src/assets/web-panel/assets/{Cron-B-8f9_qF.js → Cron-DMCOyvEa.js} +2 -2
  24. package/src/assets/web-panel/assets/{Crosschain-XARMOcc4.js → Crosschain-CeHdsu7m.js} +1 -1
  25. package/src/assets/web-panel/assets/{DID-DwLtEKAe.js → DID-CL6mR6zX.js} +2 -2
  26. package/src/assets/web-panel/assets/{Dashboard-Cjw0L_iA.js → Dashboard-oz9n6DC7.js} +2 -2
  27. package/src/assets/web-panel/assets/{Dropdown-BBGWIP7l.js → Dropdown-CbWm8mWu.js} +1 -1
  28. package/src/assets/web-panel/assets/{EmailListRenderer-DG4kZFkm.js → EmailListRenderer-DXlmbC45.js} +1 -1
  29. package/src/assets/web-panel/assets/{EvolutionSettings-D8vuNDde.js → EvolutionSettings-DPwqgRYm.js} +1 -1
  30. package/src/assets/web-panel/assets/{FamilyGuardDashboard-COXCzDXI.js → FamilyGuardDashboard-DkV4YMFj.js} +1 -1
  31. package/src/assets/web-panel/assets/{Federation-Btb-aMhW.js → Federation-CpUKHIOH.js} +1 -1
  32. package/src/assets/web-panel/assets/{FormItemContext-TO-E6l6e.js → FormItemContext-C6KXRgjR.js} +1 -1
  33. package/src/assets/web-panel/assets/{GenericCardRenderer-BWXdJCT0.js → GenericCardRenderer-C5Y4L5E3.js} +1 -1
  34. package/src/assets/web-panel/assets/{Git-B6icGhEv.js → Git-CBwKdF8s.js} +2 -2
  35. package/src/assets/web-panel/assets/{Governance-C5Y__K6S.js → Governance-Dt-OR7Aa.js} +1 -1
  36. package/src/assets/web-panel/assets/{Inference-DZGEKnbN.js → Inference-Czkl-Lhl.js} +1 -1
  37. package/src/assets/web-panel/assets/{KnowledgeGraph--Kga5yvm.js → KnowledgeGraph-C7NE4949.js} +1 -1
  38. package/src/assets/web-panel/assets/{Logs-BXs3EPKj.js → Logs-CoAuZiMG.js} +2 -2
  39. package/src/assets/web-panel/assets/MarkdownRenderer-DTkjTwGI.js +1 -0
  40. package/src/assets/web-panel/assets/{Marketplace-JSEAu0su.js → Marketplace-IzrV-7zH.js} +1 -1
  41. package/src/assets/web-panel/assets/{McpTools-BUBifkKP.js → McpTools-DYEea7aS.js} +3 -3
  42. package/src/assets/web-panel/assets/{Memory-Cb7sE4a-.js → Memory-Uqe7ZrV6.js} +2 -2
  43. package/src/assets/web-panel/assets/{MobileBridge-BOzmmNV2.js → MobileBridge-D092EGyM.js} +1 -1
  44. package/src/assets/web-panel/assets/MobileProjects-CwA1VoVJ.js +1 -0
  45. package/src/assets/web-panel/assets/{Mtc-DmMWErG1.js → Mtc-gg4jzfB-.js} +5 -5
  46. package/src/assets/web-panel/assets/{MtcAudit-DnGkRVXF.js → MtcAudit-BibGfs71.js} +4 -4
  47. package/src/assets/web-panel/assets/{Multisig-C3mzascL.js → Multisig-BmB5yRXP.js} +3 -3
  48. package/src/assets/web-panel/assets/{NLProgramming-CrmMZZ1t.js → NLProgramming-BBSlPDyY.js} +1 -1
  49. package/src/assets/web-panel/assets/{Notes-4S6uts9Q.js → Notes-Bui3-KiC.js} +3 -3
  50. package/src/assets/web-panel/assets/{NotificationSettings-gn3UrWwW.js → NotificationSettings-ovXtbHe5.js} +1 -1
  51. package/src/assets/web-panel/assets/OrderTableRenderer-Bq-qD7eG.js +1 -0
  52. package/src/assets/web-panel/assets/{Organization-fMlkdgpW.js → Organization-DacIY9oJ.js} +4 -4
  53. package/src/assets/web-panel/assets/{Overflow-DGwCUPU1.js → Overflow-CX8osheZ.js} +1 -1
  54. package/src/assets/web-panel/assets/{P2P-BDGcpPmf.js → P2P-1lnikqVp.js} +2 -2
  55. package/src/assets/web-panel/assets/{PdhVaultBrowser-CccRPAB9.js → PdhVaultBrowser-DCrU-V6A.js} +3 -3
  56. package/src/assets/web-panel/assets/{Permissions-C33dNECx.js → Permissions-Dfcb6kM2.js} +4 -4
  57. package/src/assets/web-panel/assets/{PersonalDataHub-BeqbCStc.js → PersonalDataHub-dvgai4hf.js} +4 -4
  58. package/src/assets/web-panel/assets/{Pipeline-CTmasgbQ.js → Pipeline-nymAEtnK.js} +1 -1
  59. package/src/assets/web-panel/assets/{Privacy-ktd37BSp.js → Privacy-D0Vd91oM.js} +1 -1
  60. package/src/assets/web-panel/assets/{ProjectInit-KOGvQtBX.js → ProjectInit-BpUBcu7o.js} +2 -2
  61. package/src/assets/web-panel/assets/{ProjectSettings-CUvH_hC6.js → ProjectSettings-DIzwTT-M.js} +2 -2
  62. package/src/assets/web-panel/assets/{Projects-BvP_Os-1.js → Projects-Den4RUw6.js} +1 -1
  63. package/src/assets/web-panel/assets/{Providers-C-hmLXlO.js → Providers-Cq8p-M0d.js} +1 -1
  64. package/src/assets/web-panel/assets/{QrScannerModal-DzG_rbSL.js → QrScannerModal-DSmqOfYk.js} +1 -1
  65. package/src/assets/web-panel/assets/{QuickAsk-ShwiATg4.js → QuickAsk-BDHCeSnA.js} +1 -1
  66. package/src/assets/web-panel/assets/{Recommend-DkV8Ruep.js → Recommend-B_9M8oF4.js} +1 -1
  67. package/src/assets/web-panel/assets/{RemoteSession-Ca2dOx_G.js → RemoteSession-5ot4leHy.js} +3 -3
  68. package/src/assets/web-panel/assets/{Reputation-DYA5BJ6A.js → Reputation-B3F013PY.js} +1 -1
  69. package/src/assets/web-panel/assets/{Row-DvGDgxLS.js → Row-BMyBJnZw.js} +1 -1
  70. package/src/assets/web-panel/assets/{RssFeed-DbwTBSPw.js → RssFeed-WmV0l52g.js} +3 -3
  71. package/src/assets/web-panel/assets/{Search-C5XAMQ9T.js → Search-Wl80yXnR.js} +1 -1
  72. package/src/assets/web-panel/assets/{Security-CKWT60Qt.js → Security-gbDMKb5m.js} +4 -4
  73. package/src/assets/web-panel/assets/{Services-CZvASlWL.js → Services-Bx2Bjhah.js} +2 -2
  74. package/src/assets/web-panel/assets/{Skeleton-DFkMVqws.js → Skeleton-BvJNybjV.js} +1 -1
  75. package/src/assets/web-panel/assets/{Skills-hslZ_GyP.js → Skills-Tz4rQcDp.js} +1 -1
  76. package/src/assets/web-panel/assets/{Sla-BLW5rmZ5.js → Sla-BM9gyZwc.js} +1 -1
  77. package/src/assets/web-panel/assets/{SpeechSettings-Cn4ffCi5.js → SpeechSettings-Bu9FL9Tz.js} +1 -1
  78. package/src/assets/web-panel/assets/{SyncSettings-D1K0nJuo.js → SyncSettings-D8ICJsMt.js} +2 -2
  79. package/src/assets/web-panel/assets/{Tasks-CCRu0xoN.js → Tasks-B6MowBDo.js} +1 -1
  80. package/src/assets/web-panel/assets/{Templates-L19GYuS4.js → Templates-BJzpTD0W.js} +1 -1
  81. package/src/assets/web-panel/assets/{Tenant-CZ6HE3PF.js → Tenant-BN8eX4R2.js} +1 -1
  82. package/src/assets/web-panel/assets/{Terminal-BiAwzaBT.js → Terminal-CjtP9bpq.js} +2 -2
  83. package/src/assets/web-panel/assets/{TimelineRenderer-DRHSWQT5.js → TimelineRenderer-CpNRa4XW.js} +1 -1
  84. package/src/assets/web-panel/assets/{Tokens-Cm-XATgh.js → Tokens-2lNNvNAH.js} +1 -1
  85. package/src/assets/web-panel/assets/{Trigger-BVXtx3kn.js → Trigger-DxtxXyPg.js} +1 -1
  86. package/src/assets/web-panel/assets/{Trust-Bb0TmkLJ.js → Trust-CakzGeF9.js} +1 -1
  87. package/src/assets/web-panel/assets/{UkeySign-Dbt9R7l0.js → UkeySign-CvJeRXwV.js} +1 -1
  88. package/src/assets/web-panel/assets/{VideoEditing-z0-Ti8eJ.js → VideoEditing-D80pMzcO.js} +1 -1
  89. package/src/assets/web-panel/assets/{Wallet-BZh31tI-.js → Wallet-BF-VOBmZ.js} +4 -4
  90. package/src/assets/web-panel/assets/{WebAuthn-DQ0yIr5K.js → WebAuthn-DXyoAzE_.js} +4 -4
  91. package/src/assets/web-panel/assets/{WorkflowEditor-DCt_yuWG.js → WorkflowEditor-X6CDxzrF.js} +1 -1
  92. package/src/assets/web-panel/assets/{chat-BLgtmFeS.js → chat-BcUhqjeA.js} +1 -1
  93. package/src/assets/web-panel/assets/{colors-xU4UH8M1.js → colors-Dw4bKaCm.js} +1 -1
  94. package/src/assets/web-panel/assets/{compact-item-C4w4v16T.js → compact-item-BWhu5Eri.js} +1 -1
  95. package/src/assets/web-panel/assets/{createContext-CZM9hAaj.js → createContext-BLJ9JKoN.js} +1 -1
  96. package/src/assets/web-panel/assets/devWarning-D_MJgDGJ.js +1 -0
  97. package/src/assets/web-panel/assets/{hasIn-DvHqEpE7.js → hasIn-DIkCiJbt.js} +1 -1
  98. package/src/assets/web-panel/assets/{index-B6AQ2b5U.js → index-04SKBH8l.js} +1 -1
  99. package/src/assets/web-panel/assets/{index-BRhD9RMV.js → index-0mHbawfQ.js} +1 -1
  100. package/src/assets/web-panel/assets/{index-Bf8Wm4ks.js → index-5vzPcr1g.js} +1 -1
  101. package/src/assets/web-panel/assets/{index-C9YnZFv2.js → index-B1fufz1A.js} +1 -1
  102. package/src/assets/web-panel/assets/{index-BHK3CQHq.js → index-BAwcMKaD.js} +1 -1
  103. package/src/assets/web-panel/assets/{index-B64Vf-8H.js → index-BGFqk1-E.js} +1 -1
  104. package/src/assets/web-panel/assets/{index-wYRjvvbl.js → index-BGMzh2oj.js} +1 -1
  105. package/src/assets/web-panel/assets/index-BP8log78.js +1 -0
  106. package/src/assets/web-panel/assets/{index-CpiuuIww.js → index-BUC4TZWg.js} +1 -1
  107. package/src/assets/web-panel/assets/{index-CqDiY-jl.js → index-BaStonJm.js} +1 -1
  108. package/src/assets/web-panel/assets/{index-CPDw21XY.js → index-BcTch6Fp.js} +1 -1
  109. package/src/assets/web-panel/assets/{index-BaQZvM4m.js → index-BipG-tDs.js} +1 -1
  110. package/src/assets/web-panel/assets/{index-BTxhDCtg.js → index-BotMuGS2.js} +1 -1
  111. package/src/assets/web-panel/assets/{index-CYrQnkqA.js → index-BxLDNxEQ.js} +1 -1
  112. package/src/assets/web-panel/assets/{index-DGdLkss8.js → index-BxfimJOH.js} +1 -1
  113. package/src/assets/web-panel/assets/{index-C6ZrTSw5.js → index-C5qms36i.js} +1 -1
  114. package/src/assets/web-panel/assets/{index-Cm00787d.js → index-CDfB6hWf.js} +1 -1
  115. package/src/assets/web-panel/assets/{index-B0IvKEVO.js → index-CFGOV-YT.js} +1 -1
  116. package/src/assets/web-panel/assets/{index-CKugxsw3.js → index-CTPoBbIR.js} +1 -1
  117. package/src/assets/web-panel/assets/{index-CExiTobS.js → index-CXJ8t1hK.js} +1 -1
  118. package/src/assets/web-panel/assets/{index-BkTKWAgq.js → index-CgsVg5Up.js} +1 -1
  119. package/src/assets/web-panel/assets/{index-CQEzxnYS.js → index-Cmc7qH2C.js} +1 -1
  120. package/src/assets/web-panel/assets/{index-55Rkd1KA.js → index-CqGqoID5.js} +1 -1
  121. package/src/assets/web-panel/assets/{index-Ds1tM734.js → index-Cr05twNa.js} +1 -1
  122. package/src/assets/web-panel/assets/{index-CPC7OGCe.js → index-D-Erv8A9.js} +1 -1
  123. package/src/assets/web-panel/assets/{index-BlN5KPq6.js → index-D1r2R4a-.js} +1 -1
  124. package/src/assets/web-panel/assets/{index-CF9ebAIB.js → index-D3wp_jgy.js} +1 -1
  125. package/src/assets/web-panel/assets/{index-CRLP56-W.js → index-D5vFJmmX.js} +1 -1
  126. package/src/assets/web-panel/assets/{index-B4jIcYSv.js → index-DHLW27Je.js} +1 -1
  127. package/src/assets/web-panel/assets/{index-CyV8fNBg.js → index-DKzG3kBM.js} +1 -1
  128. package/src/assets/web-panel/assets/{index-SNV95Zen.js → index-DOjQi7oU.js} +1 -1
  129. package/src/assets/web-panel/assets/{index-Ds6wKTMh.js → index-DQbWGvE4.js} +1 -1
  130. package/src/assets/web-panel/assets/{index-BHg9NoJ5.js → index-DV4FSjmI.js} +3 -3
  131. package/src/assets/web-panel/assets/{index-BIWumeQl.js → index-DjEP26Te.js} +1 -1
  132. package/src/assets/web-panel/assets/{index-Bh14b1k0.js → index-LOsZYbic.js} +1 -1
  133. package/src/assets/web-panel/assets/{index-n6SAUmmI.js → index-PRYboDFm.js} +1 -1
  134. package/src/assets/web-panel/assets/index-PexF9zYf.js +1 -0
  135. package/src/assets/web-panel/assets/{index-QHmhwgfc.js → index-u0tqS0iq.js} +1 -1
  136. package/src/assets/web-panel/assets/{index-DifMvnMQ.js → index-uMtx6e3D.js} +1 -1
  137. package/src/assets/web-panel/assets/{initDefaultProps-C44ZER6c.js → initDefaultProps-Bx6Hj_FG.js} +1 -1
  138. package/src/assets/web-panel/assets/{motion-DbNzzScd.js → motion-BSWivB70.js} +1 -1
  139. package/src/assets/web-panel/assets/{move-BrRrDH2u.js → move-Dv1Pg9R7.js} +1 -1
  140. package/src/assets/web-panel/assets/{mtc-parser-DZ_T_Pw8.js → mtc-parser-Bqtl8fsk.js} +1 -1
  141. package/src/assets/web-panel/assets/{omit-5QHHk_V3.js → omit-DpOBjOSQ.js} +1 -1
  142. package/src/assets/web-panel/assets/{pickAttrs-BdxEl0G2.js → pickAttrs-D-M-dz48.js} +1 -1
  143. package/src/assets/web-panel/assets/{placementArrow-CGyD615D.js → placementArrow-DsTLAifk.js} +1 -1
  144. package/src/assets/web-panel/assets/{responsiveObserve-QqcWAQmN.js → responsiveObserve-BVTetMpc.js} +1 -1
  145. package/src/assets/web-panel/assets/{slide-BumQrJ5R.js → slide-abEcz-Cv.js} +1 -1
  146. package/src/assets/web-panel/assets/{statusUtils-Pf64olM7.js → statusUtils-CBhrdU2G.js} +1 -1
  147. package/src/assets/web-panel/assets/{styleChecker-DNwm5SQZ.js → styleChecker-CFq8ZCKa.js} +1 -1
  148. package/src/assets/web-panel/assets/{useFlexGapSupport-c3gLKs6e.js → useFlexGapSupport-o4eE7fDV.js} +1 -1
  149. package/src/assets/web-panel/assets/{useFs-TzTd6NDM.js → useFs-Hs9W8ihi.js} +1 -1
  150. package/src/assets/web-panel/assets/{usePersonalDataHub-BP5E_0Fe.js → usePersonalDataHub-Bnet5Jho.js} +1 -1
  151. package/src/assets/web-panel/assets/{vnode-CVEkRfZU.js → vnode-DJfN4kWs.js} +1 -1
  152. package/src/assets/web-panel/assets/{zoom-C18X_8TJ.js → zoom-BzV-2e7X.js} +1 -1
  153. package/src/assets/web-panel/index.html +1 -1
  154. package/src/data/changelog.json +13 -0
  155. package/src/lib/coding-task-guidance.js +3 -1
  156. package/src/lib/provider-http-error.js +4 -5
  157. package/src/runtime/coding-agent-contract-shared.cjs +3 -2
  158. package/src/assets/web-panel/assets/MarkdownRenderer-BsSiyE-A.js +0 -1
  159. package/src/assets/web-panel/assets/MobileProjects-ClRlavdF.js +0 -1
  160. package/src/assets/web-panel/assets/OrderTableRenderer-CDVAlBUf.js +0 -1
  161. package/src/assets/web-panel/assets/devWarning-BZUZgMkO.js +0 -1
  162. package/src/assets/web-panel/assets/index--_-pNhk0.js +0 -1
  163. package/src/assets/web-panel/assets/index-ftwO31cp.js +0 -1
@@ -1,6 +1,19 @@
1
1
  {
2
2
  "source": "CHANGELOG.md",
3
3
  "releases": [
4
+ {
5
+ "productVersion": null,
6
+ "cliVersion": "0.166.106",
7
+ "cliVersions": ["0.166.105", "0.166.106"],
8
+ "date": "2026-10-18",
9
+ "title": "",
10
+ "sections": [
11
+ {
12
+ "heading": "Fixed - cc CLI 0.166.106: task delivery follow-up (candidate, 2026-10-18)",
13
+ "body": "- Guide coding tasks toward brief action statements and complete file writes split into bounded segments.\n- Ground regression expectations and defaults in the source contract, exercise actual boundaries with valid fault-injection fixtures, and use independent expected values or authoritative state.\n- Preserve the explicit provider reason for HTTP 403 responses that are not authentication or billing errors.\n- Keep JetBrains asynchronous draft-save receipts in a separate status update so they do not interrupt the assistant reply.\n- Wait up to two seconds for final JetBrains stdout callbacks on the background process waiter and schedule exit alongside result rendering on the IDE event queue.\n- Close unused Windows ACL subprocess input, require complete output before success, and share one bounded drain/cleanup deadline; native ACL startup timeouts remain under investigation.\n- Pair candidate VS Code 0.37.151 and JetBrains 0.4.168 with CLI 0.166.106; retain the existing published child-package versions.\n- Current public versions remain CLI 0.166.105, Open VSX 0.37.150 and JetBrains 0.4.167. Publish this candidate only after complete exact-commit gates, npm OIDC and public artifact readback, then retest unfinished samples.\n- Public .105 retesting completed generation 20/20 and acceptance 20/20, adding 6 candidate acceptances and 6 full-flow passes. Cumulative acceptance is 31/45 (ordinary 26/36, first-use 5/9), with 14 remaining. The original 25 accepted artifacts were reused byte-for-byte; cross-version cumulative acceptance is not a single-round 45/45 success. Candidates .106/.151/.168 remain unpublished and have not been retested."
14
+ }
15
+ ]
16
+ },
4
17
  {
5
18
  "productVersion": null,
6
19
  "cliVersion": "0.166.105",
@@ -1,10 +1,12 @@
1
1
  /** Shared correctness guidance for normal and file-only coding sessions. */
2
2
  export const CODING_TASK_QUALITY_GUIDANCE = `Coding task quality:
3
3
  - Read the actual implementation and its exported API before writing a caller or test. Check parameter order, return shapes, asynchronous lifecycle and fixture requirements against the source; an example in another directory can have different relative imports.
4
+ - Keep progress explanations to one or two sentences. Once the relevant API and behavior are clear, make the next tool call; resolve a remaining uncertainty with a targeted read. Put implementation code directly in write/edit tool arguments instead of rehearsing the code or repeatedly analyzing the same source in ordinary assistant text.
4
5
  - Resolve each relative import from the destination file's directory. Read back the completed file and fix newDiagnostics from write/edit results before finishing. A successful write confirms persistence, not syntax, test execution or acceptance.
5
6
  - Regression tests need a working positive control and a negative control that exercises the requested behavior through the real production entry point. Assert observable effects; avoid mocks or alternate calls that bypass the behavior under test. Complete the current worker/request when testing cancellation and replacement.
7
+ - For boundary regressions, derive expected defaults, computed values and rejection rules from the implementation or the explicit requested contract. Inject mismatched, tampered or stale input through the real entry point while keeping other prerequisites valid; verify that the fixture reaches the intended check rather than failing during setup. Compare observable results with independent expected values or authoritative state, not a helper that merely recomputes the same result.
6
8
  - Use available execution tools for a focused check when permitted. When execution tools are unavailable, inspect imports, API contracts and fixtures using the available file tools, and clearly say that tests were not run. Never describe a read-back or static check as a passing test or end-to-end verification.
7
- - Finish requested file changes before the final response. For large files, write a smaller complete section and extend it with bounded edits; do not spend the remaining output budget repeatedly rewriting the entire file. State what was delivered, what was checked and what remains unverified.`;
9
+ - Finish requested file changes before the final response. Reserve output and remaining requests for writing, read-back and focused validation. For large files, aim for a few thousand characters of new content per call: write a small complete section, then extend it with edit_file using a unique existing anchor and a replacement containing that anchor plus the next complete section. Keep each tool call complete and wait for its result before extending the file again; do not repeatedly rewrite the growing file. State what was delivered, what was checked and what remains unverified.`;
8
10
 
9
11
  export const HERMETIC_CODING_SYSTEM_PROMPT = `You are a hermetic coding assistant. The exposed file tools are the complete tool surface. Inspect and mutate only the exact paths authorized by the user request. Do not invoke hidden tools, commands, language servers or other execution paths.
10
12
 
@@ -84,11 +84,10 @@ export function formatProviderHttpError(
84
84
  );
85
85
  }
86
86
  if (status === 403) {
87
- return (
88
- `${base} — access forbidden` +
89
- (detailSentence ? `: ${detailSentence}` : "") +
90
- ". Check the API key, model access permissions, and account status/balance."
91
- );
87
+ // Gateways can use 403 for request/output policy failures. An explicit
88
+ // reason without auth/billing evidence must not imply a credential fix.
89
+ if (detailSentence) return `${base} — ${detailSentence}.`;
90
+ return `${base} — access forbidden. Check the API key, model access permissions, and account status/balance.`;
92
91
  }
93
92
  if (status === 429) return `${base} — rate limited; please retry shortly.`;
94
93
  return detailSentence ? `${base} — ${detailSentence}` : base;
@@ -77,7 +77,8 @@ const CODING_AGENT_TOOL_CONTRACTS = Object.freeze([
77
77
  title: "Write File",
78
78
  kind: "filesystem",
79
79
  tier: "mvp",
80
- description: "Write content to a file (create or overwrite)",
80
+ description:
81
+ "Write content to a file (create or overwrite). For a large new file, write a small complete section first, then extend it with edit_file using a unique existing anchor. Aim for a few thousand characters of new content per call and wait for the result before continuing; each write_file call replaces the whole file.",
81
82
  inputSchema: {
82
83
  type: "object",
83
84
  properties: {
@@ -200,7 +201,7 @@ const CODING_AGENT_TOOL_CONTRACTS = Object.freeze([
200
201
  kind: "filesystem",
201
202
  tier: "mvp",
202
203
  description:
203
- "Replace a string in a file. old_string must match EXACTLY ONE place — include enough surrounding context to make it unique, or the edit is rejected. Pass replace_all:true to change every occurrence instead.",
204
+ "Replace a string in a file. old_string must match EXACTLY ONE place — include enough surrounding context to make it unique, or the edit is rejected. To extend a file in small complete sections, use a unique existing anchor as old_string and retain that anchor plus the new section in new_string; do not resend the whole growing file. Wait for each edit result before continuing. Pass replace_all:true to change every occurrence instead.",
204
205
  inputSchema: {
205
206
  type: "object",
206
207
  properties: {
@@ -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-BHg9NoJ5.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-OeGoRc/repo/packages/web-panel/src/components/MarkdownRenderer.vue"]]);export{w as M};
@@ -1 +0,0 @@
1
- import{I as c,J as g,c as l,K as r,N as u,P as h,U as o,R as t,Q as b}from"./vendor-Bn1JzzAn.js";import{_ as v,b as m}from"./index-BHg9NoJ5.js";import{a8 as y,M}from"./icons-DG5UD-6K.js";const B={__name:"MobileProjects",setup(p,{expose:i}){i();const n=u(),{t:e}=m();function a(){n.push("/projects")}function _(){n.push("/mobile-bridge")}const s={router:n,t:e,goToProjects:a,goToMobileBridge:_,get useRouter(){return u},get useI18n(){return m},get MobileOutlined(){return M},get FolderOutlined(){return y}};return Object.defineProperty(s,"__isScriptSetup",{enumerable:!1,value:!0}),s}},O={class:"mobile-projects-placeholder"},x={class:"title"},k={class:"subtitle"},w={class:"explainer"};function T(p,i,n,e,a,_){const s=c("a-alert"),d=c("a-button"),f=c("a-space"),P=c("a-empty"),j=c("a-card");return h(),g("div",O,[l(j,null,{default:r(()=>[l(P,{description:!1},{image:r(()=>[l(e.MobileOutlined,{style:{fontSize:"64px",color:"#bfbfbf"}})]),default:r(()=>[o("h2",x,t(e.t("mobileProjects.title")),1),o("p",k,t(e.t("mobileProjects.subtitle")),1),l(s,{message:e.t("mobileProjects.v02Banner"),type:"info","show-icon":"",class:"banner"},null,8,["message"]),o("div",w,[o("h3",null,t(e.t("mobileProjects.currentDirection")),1),o("p",null,t(e.t("mobileProjects.currentDirectionBody")),1),o("ul",null,[o("li",null,t(e.t("mobileProjects.stepPhone")),1),o("li",null,t(e.t("mobileProjects.stepTap")),1),o("li",null,t(e.t("mobileProjects.stepPull")),1)]),o("h3",null,t(e.t("mobileProjects.reverseDirection")),1),o("p",null,t(e.t("mobileProjects.reverseDirectionBody")),1)]),l(f,{class:"actions"},{default:r(()=>[l(d,{type:"primary",onClick:e.goToProjects},{default:r(()=>[l(e.FolderOutlined),b(" "+t(e.t("mobileProjects.viewLocalProjects")),1)]),_:1}),l(d,{onClick:e.goToMobileBridge},{default:r(()=>[l(e.MobileOutlined),b(" "+t(e.t("mobileProjects.checkBridge")),1)]),_:1})]),_:1})]),_:1})]),_:1})])}const N=v(B,[["render",T],["__scopeId","data-v-9262cc45"],["__file","/tmp/cc-web-panel-OeGoRc/repo/packages/web-panel/src/views/MobileProjects.vue"]]);export{N as default};
@@ -1 +0,0 @@
1
- import{I as w,P as l,J as u,U as s,R as n,c as i,K as v,Q as _,V as g,b as o}from"./vendor-Bn1JzzAn.js";import{_ as S}from"./index-BHg9NoJ5.js";import"./icons-DG5UD-6K.js";const k={__name:"OrderTableRenderer",props:{event:{type:Object,required:!0}},setup(p,{expose:r}){r();const a=p,e=o(()=>a.event.content||{}),d=o(()=>a.event.extra||{}),m=o(()=>d.value.merchant||e.value.merchant||e.value.counterparty||"—"),c=o(()=>e.value.title||e.value.name||e.value.itemName||e.value.text||"—"),y=o(()=>{const t=e.value.amount??e.value.price??e.value.total;return t==null?"—":`${e.value.currency||"¥"} ${typeof t=="number"?t.toFixed(2):t}`}),T=o(()=>d.value.orderNo||e.value.orderNo||e.value.orderId),f=o(()=>e.value.status||e.value.state),b=o(()=>{const t=(f.value||"").toLowerCase();return t.includes("成功")||t.includes("succe")||t.includes("paid")?"green":t.includes("退")||t.includes("refund")?"orange":t.includes("失败")||t.includes("fail")?"red":"default"}),h=o(()=>{if(!a.event.occurredAt)return"";const t=new Date(a.event.occurredAt);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")} ${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}`}),x={props:a,c:e,e:d,merchantText:m,itemText:c,amountText:y,orderNo:T,statusText:f,statusColor:b,formattedTime:h,computed:o};return Object.defineProperty(x,"__isScriptSetup",{enumerable:!1,value:!0}),x}},N={class:"order-card"},C={class:"head"},O={class:"time"},R={class:"row"},V={class:"val"},B={class:"row"},D={class:"val"},I={class:"row amount-row"},j={class:"val amount"},A={key:0,class:"row"},F={class:"val mono"},M={key:1,class:"row"};function P(p,r,a,e,d,m){const c=w("a-tag");return l(),u("div",N,[s("div",C,[s("span",O,n(e.formattedTime),1),i(c,{color:"gold"},{default:v(()=>[_(n(a.event.source.adapter),1)]),_:1}),i(c,null,{default:v(()=>[_(n(a.event.subtype),1)]),_:1})]),s("div",R,[r[0]||(r[0]=s("span",{class:"key"},"商户",-1)),s("span",V,n(e.merchantText),1)]),s("div",B,[r[1]||(r[1]=s("span",{class:"key"},"商品/项目",-1)),s("span",D,n(e.itemText),1)]),s("div",I,[r[2]||(r[2]=s("span",{class:"key"},"金额",-1)),s("span",j,n(e.amountText),1)]),e.orderNo?(l(),u("div",A,[r[3]||(r[3]=s("span",{class:"key"},"单号",-1)),s("span",F,n(e.orderNo),1)])):g("v-if",!0),e.statusText?(l(),u("div",M,[r[4]||(r[4]=s("span",{class:"key"},"状态",-1)),i(c,{color:e.statusColor},{default:v(()=>[_(n(e.statusText),1)]),_:1},8,["color"])])):g("v-if",!0)])}const J=S(k,[["render",P],["__scopeId","data-v-5ed5524d"],["__file","/tmp/cc-web-panel-OeGoRc/repo/packages/web-panel/src/components/pdh/renderers/OrderTableRenderer.vue"]]);export{J as default};
@@ -1 +0,0 @@
1
- import{Q as r}from"./index-BHg9NoJ5.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-BtOXzMFt.js";import{a0 as t}from"./index-BHg9NoJ5.js";import"./vendor-Bn1JzzAn.js";import"./index-BHK3CQHq.js";import"./icons-DG5UD-6K.js";const s=t(o);export{s as default};
@@ -1 +0,0 @@
1
- import{A as o}from"./Row-DvGDgxLS.js";import{a0 as t}from"./index-BHg9NoJ5.js";import"./vendor-Bn1JzzAn.js";import"./responsiveObserve-QqcWAQmN.js";import"./useFlexGapSupport-c3gLKs6e.js";import"./styleChecker-DNwm5SQZ.js";import"./index-BHK3CQHq.js";import"./icons-DG5UD-6K.js";const l=t(o);export{l as default};