chainlesschain 0.162.38 → 0.162.40
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 +368 -1
- package/package.json +2 -2
- package/src/assets/web-panel/assets/{AIOps-DV0Q9zKL.js → AIOps-CPmKv82o.js} +1 -1
- package/src/assets/web-panel/assets/{ActionButton-C6vH8rhL.js → ActionButton-BNDYY7Qd.js} +1 -1
- package/src/assets/web-panel/assets/{Analytics-BvPDc2ui.js → Analytics-BgCMCOsk.js} +3 -3
- package/src/assets/web-panel/assets/{AppLayout-CWnyqTqY.js → AppLayout-Dv4oJcqS.js} +5 -5
- package/src/assets/web-panel/assets/{Audit-BzenidV4.js → Audit-5iV3yrGa.js} +1 -1
- package/src/assets/web-panel/assets/{Backup-CSl7bNwK.js → Backup-CHDhnbzF.js} +1 -1
- package/src/assets/web-panel/assets/{BaseInput-DAY3iHIq.js → BaseInput-B6reFkra.js} +1 -1
- package/src/assets/web-panel/assets/{Chat-Jyhm9fgk.js → Chat-DwS5YyE2.js} +6 -6
- package/src/assets/web-panel/assets/{ChatBubbleRenderer-CwlAnVjy.js → ChatBubbleRenderer-CqXa87Hw.js} +1 -1
- package/src/assets/web-panel/assets/{Checkbox-D4rwURAi.js → Checkbox-yiW0M4RE.js} +1 -1
- package/src/assets/web-panel/assets/{Codegen-DYdjTEfC.js → Codegen-DoiVuD_g.js} +1 -1
- package/src/assets/web-panel/assets/{Col-DsVyZ_fS.js → Col-BVASLexk.js} +1 -1
- package/src/assets/web-panel/assets/{Community-CjCpl27Q.js → Community-D6KQ7JoU.js} +1 -1
- package/src/assets/web-panel/assets/{Compact-kt18dsjm.js → Compact-Bl9Uhb6v.js} +1 -1
- package/src/assets/web-panel/assets/{Compliance-BV5urquU.js → Compliance-MM31-dba.js} +1 -1
- package/src/assets/web-panel/assets/{Cowork-C4SovPWC.js → Cowork-PjU_1ieD.js} +2 -2
- package/src/assets/web-panel/assets/{Cron-uuNs_xzA.js → Cron-DorNtPZL.js} +2 -2
- package/src/assets/web-panel/assets/{Crosschain-DR5a65tR.js → Crosschain-Bm5ts2Kw.js} +1 -1
- package/src/assets/web-panel/assets/{DID-B1KTf2-5.js → DID-7Y3jlFdY.js} +2 -2
- package/src/assets/web-panel/assets/{Dashboard-Dkj7XgED.js → Dashboard-1oE532bG.js} +2 -2
- package/src/assets/web-panel/assets/{Dropdown-BhXCuJ19.js → Dropdown-hJlOPs0s.js} +1 -1
- package/src/assets/web-panel/assets/{EmailListRenderer-DG8365Iv.js → EmailListRenderer-BEqJxKaO.js} +1 -1
- package/src/assets/web-panel/assets/{FamilyGuardDashboard-BdHGPu39.js → FamilyGuardDashboard-BvCGwB6X.js} +1 -1
- package/src/assets/web-panel/assets/{Federation-Dwvxl0zR.js → Federation-CsXI72e5.js} +1 -1
- package/src/assets/web-panel/assets/{FormItemContext-BVmhCVWU.js → FormItemContext-Dh9SMul-.js} +1 -1
- package/src/assets/web-panel/assets/{GenericCardRenderer-DDPjvF2s.js → GenericCardRenderer-9edWzrtG.js} +1 -1
- package/src/assets/web-panel/assets/{Git-foK6WTSr.js → Git-ZYhNL8Xk.js} +2 -2
- package/src/assets/web-panel/assets/{Governance-CfqMdu6Y.js → Governance-BwAdp8QA.js} +1 -1
- package/src/assets/web-panel/assets/{Inference-BKrLO4GO.js → Inference-5C-M1XsH.js} +1 -1
- package/src/assets/web-panel/assets/{KnowledgeGraph-6o6Q-mmF.js → KnowledgeGraph-zFAi-zCi.js} +1 -1
- package/src/assets/web-panel/assets/Logs-BZsEdbgE.js +2 -0
- package/src/assets/web-panel/assets/{Marketplace-BWkfEocP.js → Marketplace-BP6gErRK.js} +1 -1
- package/src/assets/web-panel/assets/{McpTools-BPebQbWU.js → McpTools-CXVzoLrd.js} +4 -4
- package/src/assets/web-panel/assets/{Memory-C0Dq-X3C.js → Memory-BIpChb4-.js} +2 -2
- package/src/assets/web-panel/assets/{MobileBridge-DRBoutTY.js → MobileBridge-B4O7wDT8.js} +2 -2
- package/src/assets/web-panel/assets/MobileProjects-7VPMoHus.js +1 -0
- package/src/assets/web-panel/assets/{Mtc-Cj3QPM9p.js → Mtc-BTmEyTM5.js} +6 -6
- package/src/assets/web-panel/assets/{MtcAudit-rBQYbfQR.js → MtcAudit-CsbG9LlV.js} +2 -2
- package/src/assets/web-panel/assets/{Multisig-Dbuy4OY4.js → Multisig-CL8yoGon.js} +3 -3
- package/src/assets/web-panel/assets/{NLProgramming-CMnt1se-.js → NLProgramming-C2cIlIp_.js} +1 -1
- package/src/assets/web-panel/assets/{Notes-BX9tSCiF.js → Notes-7aBk_n_M.js} +4 -4
- package/src/assets/web-panel/assets/{NotificationSettings-BFeirVRq.js → NotificationSettings-BuhQk4rJ.js} +1 -1
- package/src/assets/web-panel/assets/{OrderTableRenderer-ybiMlKQW.js → OrderTableRenderer-mqMFZu0x.js} +1 -1
- package/src/assets/web-panel/assets/{Organization-kTfRxKqk.js → Organization-CAdq-170.js} +4 -4
- package/src/assets/web-panel/assets/{Overflow-CtuCAzwV.js → Overflow--Xn0E787.js} +1 -1
- package/src/assets/web-panel/assets/{P2P-KfbciaP3.js → P2P-DYt3YAXI.js} +2 -2
- package/src/assets/web-panel/assets/{PdhVaultBrowser-bqEUFhgC.js → PdhVaultBrowser-Bgb_v8WN.js} +5 -5
- package/src/assets/web-panel/assets/{Permissions-BgMypz-z.js → Permissions-DoFlmoaW.js} +3 -3
- package/src/assets/web-panel/assets/{PersonalDataHub-C3zUE-1z.js → PersonalDataHub-C-FJB3a0.js} +2 -2
- package/src/assets/web-panel/assets/{Pipeline-iX-pYHpC.js → Pipeline-3bL2RzzL.js} +1 -1
- package/src/assets/web-panel/assets/{Privacy-B01uzeFM.js → Privacy-c4igYUCF.js} +1 -1
- package/src/assets/web-panel/assets/{ProjectInit-TsfbzJp7.js → ProjectInit-C0QS1UPR.js} +2 -2
- package/src/assets/web-panel/assets/{ProjectSettings-iGvMp8sM.js → ProjectSettings-CkYC0xkE.js} +2 -2
- package/src/assets/web-panel/assets/{Projects-Be9k29iQ.js → Projects-Di17SYft.js} +1 -1
- package/src/assets/web-panel/assets/{Providers-C9Pc8dqo.js → Providers-41NySsLt.js} +1 -1
- package/src/assets/web-panel/assets/{QuickAsk-DN_yFiVO.js → QuickAsk-DHq9pD7z.js} +1 -1
- package/src/assets/web-panel/assets/{Recommend-CvSNgl7H.js → Recommend-CLjgFPLv.js} +1 -1
- package/src/assets/web-panel/assets/{Reputation-S6BCz8xH.js → Reputation-EIrgErm3.js} +1 -1
- package/src/assets/web-panel/assets/{Row-CTRYCaqP.js → Row-GAvKzKH7.js} +1 -1
- package/src/assets/web-panel/assets/{RssFeed-Cu8_P5ll.js → RssFeed-CYCNsVmD.js} +3 -3
- package/src/assets/web-panel/assets/{Search-rZ1Xza_U.js → Search-DWOE32k8.js} +1 -1
- package/src/assets/web-panel/assets/{Security-CF43IJHX.js → Security-Dgh8Jevn.js} +4 -4
- package/src/assets/web-panel/assets/{Services-BobNHzne.js → Services-BxdgP67N.js} +2 -2
- package/src/assets/web-panel/assets/{Skeleton-DWJ2kfuI.js → Skeleton-D-xT4ZkA.js} +1 -1
- package/src/assets/web-panel/assets/{Skills-AmEZgHYr.js → Skills-BKN4lfSa.js} +1 -1
- package/src/assets/web-panel/assets/{Sla-DTS-fBiY.js → Sla--N1TudpS.js} +1 -1
- package/src/assets/web-panel/assets/{SpeechSettings-DEr6MHRU.js → SpeechSettings-B0vfJpEh.js} +1 -1
- package/src/assets/web-panel/assets/{SyncSettings-CVs9alv_.js → SyncSettings-BuBAbPAh.js} +2 -2
- package/src/assets/web-panel/assets/Tasks-4XugjJ87.js +1 -0
- package/src/assets/web-panel/assets/{Templates-CTNjZRKA.js → Templates-DI2giLgc.js} +1 -1
- package/src/assets/web-panel/assets/{Tenant-DPbXg0Pg.js → Tenant-BiTWvm0g.js} +1 -1
- package/src/assets/web-panel/assets/{Terminal-DhKXcPw2.js → Terminal-vV6AWGDi.js} +2 -2
- package/src/assets/web-panel/assets/{TimelineRenderer-B0DMZOpk.js → TimelineRenderer-BmgzKdAp.js} +1 -1
- package/src/assets/web-panel/assets/{Tokens-RvWuBXgg.js → Tokens-Nvupdm6p.js} +1 -1
- package/src/assets/web-panel/assets/{Trigger-2O-BaTQG.js → Trigger-DRfR77WJ.js} +1 -1
- package/src/assets/web-panel/assets/{Trust-6qY35L-C.js → Trust-De0Jal_6.js} +1 -1
- package/src/assets/web-panel/assets/{UkeySign-DhV1wYtQ.js → UkeySign-Dzo4-VAM.js} +1 -1
- package/src/assets/web-panel/assets/{VideoEditing-DgqA5UZm.js → VideoEditing-hg2ytiJB.js} +1 -1
- package/src/assets/web-panel/assets/{Wallet-DJRYdUAK.js → Wallet--bU5-gRh.js} +4 -4
- package/src/assets/web-panel/assets/{WebAuthn-C2W-x0cg.js → WebAuthn-DZptt-PV.js} +5 -5
- package/src/assets/web-panel/assets/{WorkflowEditor-BP2tkDHe.js → WorkflowEditor-Dy9223bY.js} +1 -1
- package/src/assets/web-panel/assets/{chat-CGVfeoTn.js → chat-DaxGeI9w.js} +1 -1
- package/src/assets/web-panel/assets/{colors-BmjRolM1.js → colors-Cu2VEci3.js} +1 -1
- package/src/assets/web-panel/assets/{compact-item-BvJJkjZE.js → compact-item-CGolhyJq.js} +1 -1
- package/src/assets/web-panel/assets/{createContext-DyhlvRYs.js → createContext-DY7EFhkD.js} +1 -1
- package/src/assets/web-panel/assets/devWarning-DV2BNd59.js +1 -0
- package/src/assets/web-panel/assets/{hasIn-BoBMR89s.js → hasIn-Bpc-NoFN.js} +1 -1
- package/src/assets/web-panel/assets/{index-CSgbOGaP.js → index-1D4sfByw.js} +1 -1
- package/src/assets/web-panel/assets/{index-C1t-r7yV.js → index-8h9y5S6X.js} +1 -1
- package/src/assets/web-panel/assets/{index-FKFT-QTk.js → index-BP9P6chP.js} +1 -1
- package/src/assets/web-panel/assets/{index-CIaGw7vl.js → index-BQ2z6Ky5.js} +1 -1
- package/src/assets/web-panel/assets/{index-CQJVedQ3.js → index-BRAgl2J_.js} +1 -1
- package/src/assets/web-panel/assets/{index-BycpeGfj.js → index-BTvwiqJE.js} +1 -1
- package/src/assets/web-panel/assets/index-BZqtTmyG.js +1 -0
- package/src/assets/web-panel/assets/{index-D0YToIi_.js → index-BjfxHEmX.js} +1 -1
- package/src/assets/web-panel/assets/{index-BT1SQ9nj.js → index-BlHq81Ow.js} +1 -1
- package/src/assets/web-panel/assets/{index-DyS4I4L-.js → index-Bn5gM9Oy.js} +1 -1
- package/src/assets/web-panel/assets/{index-81tWFqfN.js → index-Bz83ngs0.js} +1 -1
- package/src/assets/web-panel/assets/{index-xZdOioVg.js → index-C-Hkl_2G.js} +1 -1
- package/src/assets/web-panel/assets/{index-Cbh-lCxq.js → index-C0_zeYnx.js} +1 -1
- package/src/assets/web-panel/assets/{index-xPSzUoWT.js → index-C2RpsAiO.js} +1 -1
- package/src/assets/web-panel/assets/{index-n-N19np-.js → index-CBSk_VrT.js} +1 -1
- package/src/assets/web-panel/assets/{index-VXVukhBA.js → index-CFAnEzRW.js} +1 -1
- package/src/assets/web-panel/assets/{index-DtKdCXHW.js → index-CGqeHu_F.js} +1 -1
- package/src/assets/web-panel/assets/{index-Beh7jDbS.js → index-CJFYF8F9.js} +1 -1
- package/src/assets/web-panel/assets/{index-BvvNnWXe.js → index-CLNqZF55.js} +1 -1
- package/src/assets/web-panel/assets/{index-DeeLHcMY.js → index-CaKXhpEu.js} +1 -1
- package/src/assets/web-panel/assets/{index-BuQrONgf.js → index-Ciw5-X1B.js} +1 -1
- package/src/assets/web-panel/assets/{index-CDPMHKQi.js → index-D0GN5tdM.js} +1 -1
- package/src/assets/web-panel/assets/{index-Bm_MmdwP.js → index-D63ObMdQ.js} +1 -1
- package/src/assets/web-panel/assets/{index-DIPZ6hbJ.js → index-DAov-rJR.js} +1 -1
- package/src/assets/web-panel/assets/{index-39VDXdn6.js → index-DElatOQ0.js} +1 -1
- package/src/assets/web-panel/assets/{index-DwTgvhOL.js → index-DNX81oSR.js} +1 -1
- package/src/assets/web-panel/assets/index-DUpwdJt9.js +1 -0
- package/src/assets/web-panel/assets/{index-DgbWSwr5.js → index-DZ4Vm8dQ.js} +1 -1
- package/src/assets/web-panel/assets/{index-D-93XwJd.js → index-DexYD87j.js} +1 -1
- package/src/assets/web-panel/assets/{index-C0xn6hOr.js → index-DfKmAEtE.js} +1 -1
- package/src/assets/web-panel/assets/{index-ZNIms1nA.js → index-DldaToUA.js} +1 -1
- package/src/assets/web-panel/assets/{index-wLAjVpmJ.js → index-DpRSzAFl.js} +1 -1
- package/src/assets/web-panel/assets/{index-Te0ruvY_.js → index-DxXkr-NS.js} +1 -1
- package/src/assets/web-panel/assets/{index-Czsbrn75.js → index-RumxOD0S.js} +1 -1
- package/src/assets/web-panel/assets/{index-vF1pR00A.js → index-VBRPxZeE.js} +1 -1
- package/src/assets/web-panel/assets/{index-BqGNmoKy.js → index-eF9RV_4c.js} +1 -1
- package/src/assets/web-panel/assets/{index-CzDVBBcg.js → index-lfP8sdzB.js} +1 -1
- package/src/assets/web-panel/assets/{index-Y1b8i0NV.js → index-oJQgRCrR.js} +3 -3
- package/src/assets/web-panel/assets/{index-ByWpNjTj.js → index-rkm7dHwG.js} +1 -1
- package/src/assets/web-panel/assets/{initDefaultProps-BLKSE8he.js → initDefaultProps-CkJZfCo8.js} +1 -1
- package/src/assets/web-panel/assets/{motion-Bb59qqLK.js → motion-BerbusV1.js} +1 -1
- package/src/assets/web-panel/assets/{move-CB3pYCk6.js → move-DyRzKPD4.js} +1 -1
- package/src/assets/web-panel/assets/{omit-iImQWuU7.js → omit-CCdrTUAs.js} +1 -1
- package/src/assets/web-panel/assets/{pickAttrs-DRP2Chqo.js → pickAttrs-mVDeZx2m.js} +1 -1
- package/src/assets/web-panel/assets/{placementArrow-BrlfD4tF.js → placementArrow-Bb_-Fs_o.js} +1 -1
- package/src/assets/web-panel/assets/{responsiveObserve-Cqxkuh5H.js → responsiveObserve-C6TMj1R_.js} +1 -1
- package/src/assets/web-panel/assets/{slide-nxKEuLMj.js → slide-CdCNsy1J.js} +1 -1
- package/src/assets/web-panel/assets/{statusUtils-30E47KSk.js → statusUtils-Ccxd1rFd.js} +1 -1
- package/src/assets/web-panel/assets/{styleChecker-Dn2_-5bn.js → styleChecker-3IL-yw1V.js} +1 -1
- package/src/assets/web-panel/assets/{useFlexGapSupport-DkZ00X6F.js → useFlexGapSupport-CH8DjUHl.js} +1 -1
- package/src/assets/web-panel/assets/{useFs-ByrwSCOr.js → useFs-Cn9nE2sp.js} +1 -1
- package/src/assets/web-panel/assets/{usePersonalDataHub-BDY6jtUD.js → usePersonalDataHub-BPyT0HO7.js} +1 -1
- package/src/assets/web-panel/assets/{vnode-BL2q5BLv.js → vnode-Mfm7vy07.js} +1 -1
- package/src/assets/web-panel/assets/{zoom-BSkPKE42.js → zoom-CTpAiAE9.js} +1 -1
- package/src/assets/web-panel/index.html +1 -1
- package/src/commands/init.js +84 -2
- package/src/commands/session.js +36 -12
- package/src/index.js +10 -0
- package/src/lib/agent-session-export.js +124 -0
- package/src/lib/ide-context.js +333 -0
- package/src/lib/project-instructions.js +275 -0
- package/src/lib/project-inventory.js +355 -0
- package/src/lib/repl-bang-memorize.js +142 -0
- package/src/lib/repl-completer.js +154 -0
- package/src/lib/update-notice-refresh.mjs +10 -0
- package/src/lib/update-notice.js +154 -0
- package/src/repl/agent-repl.js +154 -0
- package/src/runtime/agent-core.js +195 -0
- package/src/runtime/headless-runner.js +19 -0
- package/src/runtime/headless-stream.js +19 -9
- package/src/runtime/system-prompt.js +21 -1
- package/src/assets/web-panel/assets/Logs-L5ZIW0Dz.js +0 -2
- package/src/assets/web-panel/assets/MobileProjects-BMP6eLp1.js +0 -1
- package/src/assets/web-panel/assets/Tasks-BcVDAxdi.js +0 -1
- package/src/assets/web-panel/assets/devWarning-CetO0WH0.js +0 -1
- package/src/assets/web-panel/assets/index-BZVz-WfV.js +0 -1
- package/src/assets/web-panel/assets/index-D0-bvFy3.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{N as O,h}from"./index-
|
|
1
|
+
import{N as O,h}from"./index-oJQgRCrR.js";import{i as R}from"./ResizeObserver.es-D6qJbdzf.js";import{d as x,o as C,q as M,x as H,w as W,g as B,a as D}from"./vendor-BvqAck49.js";const _=x({compatConfig:{MODE:3},name:"ResizeObserver",props:{disabled:Boolean,onResize:Function},emits:["resize"],setup(i,v){let{slots:l}=v;const n=D({width:0,height:0,offsetHeight:0,offsetWidth:0});let c=null,s=null;const r=()=>{s&&(s.disconnect(),s=null)},b=e=>{const{onResize:t}=i,o=e[0].target,{width:p,height:w}=o.getBoundingClientRect(),{offsetWidth:d,offsetHeight:f}=o,g=Math.floor(p),m=Math.floor(w);if(n.width!==g||n.height!==m||n.offsetWidth!==d||n.offsetHeight!==f){const u={width:g,height:m,offsetWidth:d,offsetHeight:f};h(n,u),t&&Promise.resolve().then(()=>{t(h(h({},u),{offsetWidth:d,offsetHeight:f}),o)})}},z=B(),a=()=>{const{disabled:e}=i;if(e){r();return}const t=O(z);t!==c&&(r(),c=t),!s&&t&&(s=new R(b),s.observe(t))};return C(()=>{a()}),M(()=>{a()}),H(()=>{r()}),W(()=>i.disabled,()=>{a()},{flush:"post"}),()=>{var e;return(e=l.default)===null||e===void 0?void 0:e.call(l)[0]}}});export{_ as R};
|
package/src/assets/web-panel/assets/{initDefaultProps-BLKSE8he.js → initDefaultProps-CkJZfCo8.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h as s}from"./index-
|
|
1
|
+
import{h as s}from"./index-oJQgRCrR.js";const n=(p,o)=>{const r=s({},p);return Object.keys(o).forEach(t=>{const e=r[t];if(e)e.type||e.default?e.default=o[t]:e.def?e.def(o[t]):r[t]={type:e,default:o[t]};else throw new Error(`not have ${t} prop`)}),r};export{n as i};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{b as D,e as k,d as F,q as _,o as I,w as O,n as R,f as z,c as H,s as f}from"./vendor-BvqAck49.js";import{A as p,B as A,D as C,P as j,F as q,G,h as v}from"./index-
|
|
1
|
+
import{b as D,e as k,d as F,q as _,o as I,w as O,n as R,f as z,c as H,s as f}from"./vendor-BvqAck49.js";import{A as p,B as A,D as C,P as j,F as q,G,h as v}from"./index-oJQgRCrR.js";import{w as L}from"./raf-Deuc0E8-.js";let M=!1;try{const e=Object.defineProperty({},"passive",{get(){M=!0}});window.addEventListener("testPassive",null,e),window.removeEventListener("testPassive",null,e)}catch{}function te(e,n,o,t){if(e&&e.addEventListener){let r=t;r===void 0&&M&&(n==="touchstart"||n==="touchmove"||n==="wheel")&&(r={passive:!1}),e.addEventListener(n,o,r)}return{remove:()=>{e&&e.removeEventListener&&e.removeEventListener(n,o)}}}let g;function W(e){if(typeof document>"u")return 0;if(g===void 0){const n=document.createElement("div");n.style.width="100%",n.style.height="200px";const o=document.createElement("div"),t=o.style;t.position="absolute",t.top="0",t.left="0",t.pointerEvents="none",t.visibility="hidden",t.width="200px",t.height="150px",t.overflow="hidden",o.appendChild(n),document.body.appendChild(o);const r=n.offsetWidth;o.style.overflow="scroll";let a=n.offsetWidth;r===a&&(a=o.clientWidth),document.body.removeChild(o),g=r-a}return g}function N(e){const n=e.match(/^(.*)px$/),o=Number(n?.[1]);return Number.isNaN(o)?W():o}function ne(e){if(typeof document>"u"||!e||!(e instanceof Element))return{width:0,height:0};const{width:n,height:o}=getComputedStyle(e,"::-webkit-scrollbar");return{width:N(n),height:N(o)}}const T=`vc-util-locker-${Date.now()}`;let x=0;function V(){return document.body.scrollHeight>(window.innerHeight||document.documentElement.clientHeight)&&window.innerWidth>document.body.offsetWidth}function Q(e){const n=D(()=>!!e&&!!e.value);x+=1;const o=`${T}_${x}`;k(t=>{if(p()){if(n.value){const r=W(),a=V();A(`
|
|
2
2
|
html body {
|
|
3
3
|
overflow-y: hidden;
|
|
4
4
|
${a?`width: calc(100% - ${r}px);`:""}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{K as t}from"./index-
|
|
1
|
+
import{K as t}from"./index-oJQgRCrR.js";import{i as s}from"./motion-BerbusV1.js";const m=new t("antMoveDownIn",{"0%":{transform:"translate3d(0, 100%, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),f=new t("antMoveDownOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(0, 100%, 0)",transformOrigin:"0 0",opacity:0}}),c=new t("antMoveLeftIn",{"0%":{transform:"translate3d(-100%, 0, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),y=new t("antMoveLeftOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(-100%, 0, 0)",transformOrigin:"0 0",opacity:0}}),p=new t("antMoveRightIn",{"0%":{transform:"translate3d(100%, 0, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),O=new t("antMoveRightOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(100%, 0, 0)",transformOrigin:"0 0",opacity:0}}),g=new t("antMoveUpIn",{"0%":{transform:"translate3d(0, -100%, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),v=new t("antMoveUpOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(0, -100%, 0)",transformOrigin:"0 0",opacity:0}}),l={"move-up":{inKeyframes:g,outKeyframes:v},"move-down":{inKeyframes:m,outKeyframes:f},"move-left":{inKeyframes:c,outKeyframes:y},"move-right":{inKeyframes:p,outKeyframes:O}},w=(n,a)=>{const{antCls:o}=n,r=`${o}-${a}`,{inKeyframes:i,outKeyframes:e}=l[a];return[s(r,i,e,n.motionDurationMid),{[`
|
|
2
2
|
${r}-enter,
|
|
3
3
|
${r}-appear
|
|
4
4
|
`]:{opacity:0,animationTimingFunction:n.motionEaseOutCirc},[`${r}-leave`]:{animationTimingFunction:n.motionEaseInOutCirc}}]};export{w as i};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h as s}from"./index-
|
|
1
|
+
import{h as s}from"./index-oJQgRCrR.js";function a(n,t){const e=s({},n);for(let o=0;o<t.length;o+=1){const r=t[o];delete e[r]}return e}export{a as o};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{h as i}from"./index-
|
|
1
|
+
import{h as i}from"./index-oJQgRCrR.js";const l=`accept acceptcharset accesskey action allowfullscreen allowtransparency
|
|
2
2
|
alt async autocomplete autofocus autoplay capture cellpadding cellspacing challenge
|
|
3
3
|
charset checked classid classname colspan cols content contenteditable contextmenu
|
|
4
4
|
controls coords crossorigin data datetime default defer dir disabled download draggable
|
package/src/assets/web-panel/assets/{placementArrow-BrlfD4tF.js → placementArrow-Bb_-Fs_o.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h as i}from"./index-
|
|
1
|
+
import{h as i}from"./index-oJQgRCrR.js";const L=(e,o,t,n,p)=>{const r=e/2,a=0,s=r,m=t*1/Math.sqrt(2),h=r-t*(1-1/Math.sqrt(2)),b=r-o*(1/Math.sqrt(2)),u=t*(Math.sqrt(2)-1)+o*(1/Math.sqrt(2)),g=2*r-b,w=u,d=2*r-m,c=h,A=2*r-a,x=s,v=r*Math.sqrt(2)+t*(Math.sqrt(2)-2),$=t*(Math.sqrt(2)-1);return{pointerEvents:"none",width:e,height:e,overflow:"hidden","&::after":{content:'""',position:"absolute",width:v,height:v,bottom:0,insetInline:0,margin:"auto",borderRadius:{_skip_check_:!0,value:`0 0 ${o}px 0`},transform:"translateY(50%) rotate(-135deg)",boxShadow:p,zIndex:0,background:"transparent"},"&::before":{position:"absolute",bottom:0,insetInlineStart:0,width:e,height:e/2,background:n,clipPath:{_multi_value_:!0,value:[`polygon(${$}px 100%, 50% ${$}px, ${2*r-$}px 100%, ${$}px 100%)`,`path('M ${a} ${s} A ${t} ${t} 0 0 0 ${m} ${h} L ${b} ${u} A ${o} ${o} 0 0 1 ${g} ${w} L ${d} ${c} A ${t} ${t} 0 0 0 ${A} ${x} Z')`]},content:'""'}}},f={adjustX:1,adjustY:1},l=[0,0],j={left:{points:["cr","cl"],overflow:f,offset:[-4,0],targetOffset:l},right:{points:["cl","cr"],overflow:f,offset:[4,0],targetOffset:l},top:{points:["bc","tc"],overflow:f,offset:[0,-4],targetOffset:l},bottom:{points:["tc","bc"],overflow:f,offset:[0,4],targetOffset:l},topLeft:{points:["bl","tl"],overflow:f,offset:[0,-4],targetOffset:l},leftTop:{points:["tr","tl"],overflow:f,offset:[-4,0],targetOffset:l},topRight:{points:["br","tr"],overflow:f,offset:[0,-4],targetOffset:l},rightTop:{points:["tl","tr"],overflow:f,offset:[4,0],targetOffset:l},bottomRight:{points:["tr","br"],overflow:f,offset:[0,4],targetOffset:l},rightBottom:{points:["bl","br"],overflow:f,offset:[4,0],targetOffset:l},bottomLeft:{points:["tl","bl"],overflow:f,offset:[0,4],targetOffset:l},leftBottom:{points:["br","bl"],overflow:f,offset:[-4,0],targetOffset:l}},M={adjustX:1,adjustY:1},O={adjustX:0,adjustY:0},T=[0,0];function k(e){return typeof e=="boolean"?e?M:O:i(i({},O),e)}function Y(e){const{arrowWidth:o=4,horizontalArrowShift:t=16,verticalArrowShift:n=8,autoAdjustOverflow:p,arrowPointAtCenter:r}=e,a={left:{points:["cr","cl"],offset:[-4,0]},right:{points:["cl","cr"],offset:[4,0]},top:{points:["bc","tc"],offset:[0,-4]},bottom:{points:["tc","bc"],offset:[0,4]},topLeft:{points:["bl","tc"],offset:[-(t+o),-4]},leftTop:{points:["tr","cl"],offset:[-4,-(n+o)]},topRight:{points:["br","tc"],offset:[t+o,-4]},rightTop:{points:["tl","cr"],offset:[4,-(n+o)]},bottomRight:{points:["tr","bc"],offset:[t+o,4]},rightBottom:{points:["bl","cr"],offset:[4,n+o]},bottomLeft:{points:["tl","bc"],offset:[-(t+o),4]},leftBottom:{points:["br","cl"],offset:[-4,n+o]}};return Object.keys(a).forEach(s=>{a[s]=r?i(i({},a[s]),{overflow:k(p),targetOffset:T}):i(i({},j[s]),{overflow:k(p)}),a[s].ignoreShake=!0}),a}function _(e){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";return e.map(t=>`${o}${t}`).join(",")}const X=8;function B(e){const o=X,{sizePopupArrow:t,contentRadius:n,borderRadiusOuter:p,limitVerticalRadius:r}=e,a=t/2-Math.ceil(p*(Math.sqrt(2)-1)),s=(n>12?n+2:12)-a,m=r?o-a:s;return{dropdownArrowOffset:s,dropdownArrowOffsetVertical:m}}function q(e,o){const{componentCls:t,sizePopupArrow:n,marginXXS:p,borderRadiusXS:r,borderRadiusOuter:a,boxShadowPopoverArrow:s}=e,{colorBg:m,showArrowCls:h,contentRadius:b=e.borderRadiusLG,limitVerticalRadius:u}=o,{dropdownArrowOffsetVertical:g,dropdownArrowOffset:w}=B({sizePopupArrow:n,contentRadius:b,borderRadiusOuter:a,limitVerticalRadius:u}),d=n/2+p;return{[t]:{[`${t}-arrow`]:[i(i({position:"absolute",zIndex:1,display:"block"},L(n,r,a,m,s)),{"&:before":{background:m}})],[[`&-placement-top ${t}-arrow`,`&-placement-topLeft ${t}-arrow`,`&-placement-topRight ${t}-arrow`].join(",")]:{bottom:0,transform:"translateY(100%) rotate(180deg)"},[`&-placement-top ${t}-arrow`]:{left:{_skip_check_:!0,value:"50%"},transform:"translateX(-50%) translateY(100%) rotate(180deg)"},[`&-placement-topLeft ${t}-arrow`]:{left:{_skip_check_:!0,value:w}},[`&-placement-topRight ${t}-arrow`]:{right:{_skip_check_:!0,value:w}},[[`&-placement-bottom ${t}-arrow`,`&-placement-bottomLeft ${t}-arrow`,`&-placement-bottomRight ${t}-arrow`].join(",")]:{top:0,transform:"translateY(-100%)"},[`&-placement-bottom ${t}-arrow`]:{left:{_skip_check_:!0,value:"50%"},transform:"translateX(-50%) translateY(-100%)"},[`&-placement-bottomLeft ${t}-arrow`]:{left:{_skip_check_:!0,value:w}},[`&-placement-bottomRight ${t}-arrow`]:{right:{_skip_check_:!0,value:w}},[[`&-placement-left ${t}-arrow`,`&-placement-leftTop ${t}-arrow`,`&-placement-leftBottom ${t}-arrow`].join(",")]:{right:{_skip_check_:!0,value:0},transform:"translateX(100%) rotate(90deg)"},[`&-placement-left ${t}-arrow`]:{top:{_skip_check_:!0,value:"50%"},transform:"translateY(-50%) translateX(100%) rotate(90deg)"},[`&-placement-leftTop ${t}-arrow`]:{top:g},[`&-placement-leftBottom ${t}-arrow`]:{bottom:g},[[`&-placement-right ${t}-arrow`,`&-placement-rightTop ${t}-arrow`,`&-placement-rightBottom ${t}-arrow`].join(",")]:{left:{_skip_check_:!0,value:0},transform:"translateX(-100%) rotate(-90deg)"},[`&-placement-right ${t}-arrow`]:{top:{_skip_check_:!0,value:"50%"},transform:"translateY(-50%) translateX(-100%) rotate(-90deg)"},[`&-placement-rightTop ${t}-arrow`]:{top:g},[`&-placement-rightBottom ${t}-arrow`]:{bottom:g},[_(["&-placement-topLeft","&-placement-top","&-placement-topRight"].map(c=>c+=":not(&-arrow-hidden)"),h)]:{paddingBottom:d},[_(["&-placement-bottomLeft","&-placement-bottom","&-placement-bottomRight"].map(c=>c+=":not(&-arrow-hidden)"),h)]:{paddingTop:d},[_(["&-placement-leftTop","&-placement-left","&-placement-leftBottom"].map(c=>c+=":not(&-arrow-hidden)"),h)]:{paddingRight:{_skip_check_:!0,value:d}},[_(["&-placement-rightTop","&-placement-right","&-placement-rightBottom"].map(c=>c+=":not(&-arrow-hidden)"),h)]:{paddingLeft:{_skip_check_:!0,value:d}}}}}export{X as M,Y as a,B as b,q as g,j as p,L as r};
|
package/src/assets/web-panel/assets/{responsiveObserve-Cqxkuh5H.js → responsiveObserve-C6TMj1R_.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{I as o,h}from"./index-
|
|
1
|
+
import{I as o,h}from"./index-oJQgRCrR.js";import{b as x}from"./vendor-BvqAck49.js";const v=["xxxl","xxl","xl","lg","md","sm","xs"],p=r=>({xs:`(max-width: ${r.screenXSMax}px)`,sm:`(min-width: ${r.screenSM}px)`,md:`(min-width: ${r.screenMD}px)`,lg:`(min-width: ${r.screenLG}px)`,xl:`(min-width: ${r.screenXL}px)`,xxl:`(min-width: ${r.screenXXL}px)`,xxxl:`{min-width: ${r.screenXXXL}px}`});function w(){const[,r]=o();return x(()=>{const n=p(r.value),i=new Map;let a=-1,c={};return{matchHandlers:{},dispatch(e){return c=e,i.forEach(t=>t(c)),i.size>=1},subscribe(e){return i.size||this.register(),a+=1,i.set(a,e),e(c),a},unsubscribe(e){i.delete(e),i.size||this.unregister()},unregister(){Object.keys(n).forEach(e=>{const t=n[e],s=this.matchHandlers[t];s?.mql.removeListener(s?.listener)}),i.clear()},register(){Object.keys(n).forEach(e=>{const t=n[e],s=l=>{let{matches:m}=l;this.dispatch(h(h({},c),{[e]:m}))},d=window.matchMedia(t);d.addListener(s),this.matchHandlers[t]={mql:d,listener:s},s(d)})},responsiveMap:n}})}export{v as r,w as u};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{K as n}from"./index-
|
|
1
|
+
import{K as n}from"./index-oJQgRCrR.js";import{i as e}from"./motion-BerbusV1.js";const m=new n("antSlideUpIn",{"0%":{transform:"scaleY(0.8)",transformOrigin:"0% 0%",opacity:0},"100%":{transform:"scaleY(1)",transformOrigin:"0% 0%",opacity:1}}),f=new n("antSlideUpOut",{"0%":{transform:"scaleY(1)",transformOrigin:"0% 0%",opacity:1},"100%":{transform:"scaleY(0.8)",transformOrigin:"0% 0%",opacity:0}}),c=new n("antSlideDownIn",{"0%":{transform:"scaleY(0.8)",transformOrigin:"100% 100%",opacity:0},"100%":{transform:"scaleY(1)",transformOrigin:"100% 100%",opacity:1}}),l=new n("antSlideDownOut",{"0%":{transform:"scaleY(1)",transformOrigin:"100% 100%",opacity:1},"100%":{transform:"scaleY(0.8)",transformOrigin:"100% 100%",opacity:0}}),y=new n("antSlideLeftIn",{"0%":{transform:"scaleX(0.8)",transformOrigin:"0% 0%",opacity:0},"100%":{transform:"scaleX(1)",transformOrigin:"0% 0%",opacity:1}}),p=new n("antSlideLeftOut",{"0%":{transform:"scaleX(1)",transformOrigin:"0% 0%",opacity:1},"100%":{transform:"scaleX(0.8)",transformOrigin:"0% 0%",opacity:0}}),O=new n("antSlideRightIn",{"0%":{transform:"scaleX(0.8)",transformOrigin:"100% 0%",opacity:0},"100%":{transform:"scaleX(1)",transformOrigin:"100% 0%",opacity:1}}),d=new n("antSlideRightOut",{"0%":{transform:"scaleX(1)",transformOrigin:"100% 0%",opacity:1},"100%":{transform:"scaleX(0.8)",transformOrigin:"100% 0%",opacity:0}}),g={"slide-up":{inKeyframes:m,outKeyframes:f},"slide-down":{inKeyframes:c,outKeyframes:l},"slide-left":{inKeyframes:y,outKeyframes:p},"slide-right":{inKeyframes:O,outKeyframes:d}},K=(t,r)=>{const{antCls:a}=t,i=`${a}-${r}`,{inKeyframes:s,outKeyframes:o}=g[r];return[e(i,s,o,t.motionDurationMid),{[`
|
|
2
2
|
${i}-enter,
|
|
3
3
|
${i}-appear
|
|
4
4
|
`]:{transform:"scale(0)",transformOrigin:"0% 0%",opacity:0,animationTimingFunction:t.motionEaseOutQuint},[`${i}-leave`]:{animationTimingFunction:t.motionEaseInQuint}}]};export{f as a,c as b,m as c,K as i,l as s};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e}from"./index-
|
|
1
|
+
import{i as e}from"./index-oJQgRCrR.js";function r(a,s,t){return e({[`${a}-status-success`]:s==="success",[`${a}-status-warning`]:s==="warning",[`${a}-status-error`]:s==="error",[`${a}-status-validating`]:s==="validating",[`${a}-has-feedback`]:t})}const c=(a,s)=>s||a;export{c as a,r as g};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as d}from"./index-
|
|
1
|
+
import{A as d}from"./index-oJQgRCrR.js";const i=()=>d()&&window.document.documentElement,c=e=>{if(d()&&window.document.documentElement){const t=Array.isArray(e)?e:[e],{documentElement:n}=window.document;return t.some(r=>r in n.style)}return!1},u=(e,t)=>{if(!c(e))return!1;const n=document.createElement("div"),r=n.style[e];return n.style[e]=t,n.style[e]!==r};function s(e,t){return!Array.isArray(e)&&t!==void 0?u(e,t):c(e)}let o;const p=()=>{if(!i())return!1;if(o!==void 0)return o;const e=document.createElement("div");return e.style.display="flex",e.style.flexDirection="column",e.style.rowGap="1px",e.appendChild(document.createElement("div")),e.appendChild(document.createElement("div")),document.body.appendChild(e),o=e.scrollHeight===1,document.body.removeChild(e),o};export{i as c,p as d,s as i};
|
package/src/assets/web-panel/assets/{useFlexGapSupport-DkZ00X6F.js → useFlexGapSupport-CH8DjUHl.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o,s as t}from"./vendor-BvqAck49.js";import{d as s}from"./styleChecker-
|
|
1
|
+
import{o,s as t}from"./vendor-BvqAck49.js";import{d as s}from"./styleChecker-3IL-yw1V.js";const r=(()=>{const e=t(!1);return o(()=>{e.value=s()}),e});export{r as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{u as d}from"./index-
|
|
1
|
+
import{u as d}from"./index-oJQgRCrR.js";import{u as c}from"./useShellMode-CgR0wCYM.js";function u({accept:l=""}={}){return new Promise(a=>{if(typeof document>"u"){a({canceled:!0,path:null,content:null});return}const n=document.createElement("input");n.type="file",l&&(n.accept=l),n.style.display="none",document.body.appendChild(n);let o=!1;const i=()=>{n.parentNode&&n.parentNode.removeChild(n)},r=()=>{if(o)return;o=!0;const e=n.files&&n.files[0];if(!e){i(),a({canceled:!0,path:null,content:null});return}const t=new FileReader;t.onload=()=>{i(),a({canceled:!1,path:e.name,size:e.size,content:typeof t.result=="string"?t.result:""})},t.onerror=()=>{i(),a({canceled:!1,path:e.name,size:e.size,content:null,reason:"read_failed"})},t.readAsText(e)};n.addEventListener("change",r),n.click()})}function f(l,{defaultPath:a="download.txt"}={}){if(typeof document>"u")return{canceled:!0,path:null};const n=new Blob([l],{type:"text/plain"}),o=URL.createObjectURL(n),i=document.createElement("a");return i.href=o,i.download=a,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(o),{canceled:!1,path:a}}function p(l){if(!Array.isArray(l))return"";const a=[];for(const n of l)if(Array.isArray(n.extensions))for(const o of n.extensions)a.push(`.${o.replace(/^\./,"")}`);return a.join(",")}function m(){const l=d();async function a(r={}){if(c().isEmbedded){const e=await l.sendRaw({type:"fs.openDialog",title:r.title,filters:r.filters},6e4);if(e&&e.ok===!1)throw new Error(e.error||"fs.openDialog failed");const t=e?.result??e;return{canceled:!!t.canceled,path:t.path??null,content:t.content??null,size:t.size,reason:t.reason}}return u({accept:p(r.filters)})}async function n(r,e={}){if(typeof r!="string")throw new Error("content must be a string");if(c().isEmbedded){const t=await l.sendRaw({type:"fs.saveDialog",title:e.title,defaultPath:e.defaultPath,filters:e.filters,content:r},6e4);if(t&&t.ok===!1)throw new Error(t.error||"fs.saveDialog failed");const s=t?.result??t;return{canceled:!!s.canceled,path:s.path??null}}return f(r,{defaultPath:e.defaultPath})}async function o(r,e={}){const t=JSON.stringify(r,null,2),s={...e,defaultPath:e.defaultPath||"data.json",filters:e.filters||[{name:"JSON",extensions:["json"]}]};return n(t,s)}async function i(r={}){if(!c().isEmbedded)return{canceled:!0,path:null,initialized:!1,unsupported:!0};const e=await l.sendRaw({type:"fs.openDirectory",title:r.title},6e4);if(e&&e.ok===!1)throw new Error(e.error||"fs.openDirectory failed");const t=e?.result??e;return{canceled:!!t.canceled,path:t.path??null,initialized:!!t.initialized}}return{pickFileText:a,saveText:n,saveJson:o,pickDirectory:i}}export{m as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{u as f}from"./index-
|
|
1
|
+
import{u as f}from"./index-oJQgRCrR.js";function d(n){if(!n)return n;if(n.error)throw new Error(n.error);return n.result!==void 0?n.result:n}function p(n,t,a,e,r){return typeof n.onMessage!="function"||typeof n.sendRaw!="function"?n.sendRaw({type:t,...a},r).then(d):new Promise((u,s)=>{const l=typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).slice(2)}`,w=`${t}.event`,g=`${t}.end`;let c=!1,y=()=>{};const o=(i,b)=>{if(!c){c=!0,clearTimeout(m);try{y()}catch{}i(b)}},m=setTimeout(()=>{o(s,new Error(`stream timeout (${r}ms): ${t}`))},r),h=n.onMessage(i=>{if(!(c||!i)&&!(i.id!==l&&i.requestId!==l)){if(i.type===w){if(typeof e=="function")try{e(i.event||i)}catch{}return}if(i.type===g){o(u,d(i));return}i.type==="error"&&o(s,new Error(i.message||"stream error"))}});y=typeof h=="function"?h:()=>{},Promise.resolve(n.sendRaw({id:l,type:t,...a},r)).catch(()=>{})})}function D(){const n=f(),t=(a,e={},r=3e4)=>n.sendRaw({type:a,...e},r).then(d);return{async health(){return await t("personal-data-hub.health",{},8e3)},async stats(){return await t("personal-data-hub.stats",{},8e3)},async listAdapters(){return await t("personal-data-hub.list-adapters",{},5e3)},async pickFile(a={}){try{const e=await n.sendRaw({type:"fs.openDialog",title:a.title,filters:a.filters},6e4),r=e&&e.result!==void 0?e.result:e;return r&&r.ok&&typeof r.filePath=="string"?r.filePath:null}catch{return null}},async adapterReadiness(a){return await t("personal-data-hub.adapter-readiness",Number.isInteger(a)?{timeoutMs:a}:{},15e3)},async syncAdapter(a,e={}){return await t("personal-data-hub.sync-adapter",{name:a,options:e},12e4)},async syncAll(a={}){return await t("personal-data-hub.sync-all",{options:a},6e5)},async registerMock({name:a="mock",count:e=20,seed:r=1}={}){return await t("personal-data-hub.register-mock",{name:a,count:e,seed:r})},async unregister(a){return await t("personal-data-hub.unregister",{name:a})},async ask(a,e={}){return await t("personal-data-hub.ask",{question:a,options:e},18e4)},async queryEvents(a={}){return await t("personal-data-hub.query-events",a,1e4)},async recentAudit(a={}){return await t("personal-data-hub.recent-audit",a,1e4)},async searchEvents(a={}){return await t("personal-data-hub.search-events",a,15e3)},async facetCounts(a={}){return await t("personal-data-hub.facet-counts",a,1e4)},async testEmailAuth(a){return await t("personal-data-hub.test-email-auth",{account:a},3e4)},async registerEmail(a,e={}){return await t("personal-data-hub.register-email",{account:a,opts:e},15e3)},async unregisterEmail(a){return await t("personal-data-hub.unregister-email",{email:a},5e3)},async listEmailAccounts(){return await t("personal-data-hub.list-email-accounts",{},5e3)},async eventDetail(a){return await t("personal-data-hub.event-detail",{eventId:a},5e3)},async syncAdapterStream(a,e={},r){return await p(n,"personal-data-hub.sync-adapter-stream",{name:a,options:e},r,6e5)},async syncAllStream(a={},e){return await p(n,"personal-data-hub.sync-all-stream",{options:a},e,9e5)},async registerAlipay(a,e={}){return await t("personal-data-hub.register-alipay",{account:a,opts:e},15e3)},async unregisterAlipay(a){return await t("personal-data-hub.unregister-alipay",{email:a},5e3)},async listAlipayAccounts(){return await t("personal-data-hub.list-alipay-accounts",{},5e3)},async importAlipayBill({zipPath:a,csvPath:e,zipPassword:r}={}){return await t("personal-data-hub.import-alipay-bill",{zipPath:a,csvPath:e,zipPassword:r},3e5)},async reviewQueueList(a=50){return await t("personal-data-hub.review-queue-list",{limit:a},5e3)},async reviewDecision(a,e){return await t("personal-data-hub.review-decision",{reviewId:a,decision:e},5e3)},async manualMerge(a,e){return await t("personal-data-hub.manual-merge",{aId:a,bId:e},5e3)},async manualUnmerge(a){return await t("personal-data-hub.manual-unmerge",{personId:a},5e3)},async resolverDrain(a=50){return await t("personal-data-hub.resolver-drain",{limit:a},18e4)},async resolverStats(){return await t("personal-data-hub.resolver-stats",{},5e3)},async skillsList(){return await t("personal-data-hub.skills-list",{},5e3)},async runSkill(a,e={}){return await t("personal-data-hub.run-skill",{name:a,options:e},12e4)},async openAichatLogin(a,e={}){return await t("personal-data-hub.aichat-open-login",{vendor:a,opts:e},1e4)},async probeAichatCookies(a,e){return await t("personal-data-hub.aichat-probe-cookies",{vendor:a,cookieHeader:e},1e4)},async registerAichatVendor(a,e,r={}){return await t("personal-data-hub.aichat-register-vendor",{vendor:a,cookies:e,opts:r},3e4)},async rotateAichatLogin(a){return await t("personal-data-hub.aichat-rotate-login",{vendor:a},1e4)},async listAichatAccounts(){return await t("personal-data-hub.list-aichat-accounts",{},5e3)},async unregisterAichat(a){return await t("personal-data-hub.unregister-aichat",{vendor:a},5e3)},async aichatHealthCheckOnce(){return await t("personal-data-hub.aichat-health-check-once",{},3e4)},async probeWechatEnv(){return await t("personal-data-hub.wechat-env-probe",{},15e3)},async registerWechat({account:a,dbPath:e,wechatDataPath:r,fridaOpts:u,keyProviderOverride:s}={}){return await t("personal-data-hub.register-wechat",{account:a,dbPath:e,wechatDataPath:r,fridaOpts:u,keyProviderOverride:s},45e3)},async listWechatAccounts(){return await t("personal-data-hub.list-wechat-accounts",{},5e3)},async unregisterWechat(a){return await t("personal-data-hub.unregister-wechat",{uin:a},5e3)},async bilibiliAdbSync(a={}){return await t("personal-data-hub.bilibili-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},12e4)},async bilibiliAdbDoctor(){return await t("personal-data-hub.bilibili-adb-doctor",{},15e3)},async weiboAdbSync(a={}){return await t("personal-data-hub.weibo-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},6e4)},async xhsAdbSync(a={}){return await t("personal-data-hub.xhs-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},6e4)},async toutiaoAdbSync(a={}){return await t("personal-data-hub.toutiao-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},9e4)},async kuaishouAdbSync(a={}){return await t("personal-data-hub.kuaishou-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},12e4)},async bridgeDoctor(){return await t("personal-data-hub.bridge-doctor",{},6e4)},async douyinAdbSync(a={}){return await t("personal-data-hub.douyin-adb-sync",{uid:a.uid,limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},6e4)}}}export{D as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{M as i,h as a,w as l}from"./index-
|
|
1
|
+
import{M as i,h as a,w as l}from"./index-oJQgRCrR.js";import{a7 as o,k as g,C as d,F as f,A as p}from"./vendor-BvqAck49.js";function c(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,u=e;if(Array.isArray(e)&&(u=i(e)[0]),!u)return null;const n=o(u,r,s);return n.props=t?a(a({},n.props),r):n.props,l(typeof n.props.class!="object","class must be string"),n}function v(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;return e.map(s=>c(s,r,t))}function N(e,r,t){p(o(e,a({},r)),t)}const m=e=>(e||[]).some(r=>g(r)?!(r.type===d||r.type===f&&!m(r.children)):!0)?e:null;function h(e,r,t,s){var u;const n=(u=e[r])===null||u===void 0?void 0:u.call(e,t);return m(n)?n:s?.()}export{h as a,v as b,c,N as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{K as o}from"./index-
|
|
1
|
+
import{K as o}from"./index-oJQgRCrR.js";import{i as f}from"./motion-BerbusV1.js";const c=new o("antZoomIn",{"0%":{transform:"scale(0.2)",opacity:0},"100%":{transform:"scale(1)",opacity:1}}),y=new o("antZoomOut",{"0%":{transform:"scale(1)"},"100%":{transform:"scale(0.2)",opacity:0}}),a=new o("antZoomBigIn",{"0%":{transform:"scale(0.8)",opacity:0},"100%":{transform:"scale(1)",opacity:1}}),s=new o("antZoomBigOut",{"0%":{transform:"scale(1)"},"100%":{transform:"scale(0.8)",opacity:0}}),g=new o("antZoomUpIn",{"0%":{transform:"scale(0.8)",transformOrigin:"50% 0%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"50% 0%"}}),O=new o("antZoomUpOut",{"0%":{transform:"scale(1)",transformOrigin:"50% 0%"},"100%":{transform:"scale(0.8)",transformOrigin:"50% 0%",opacity:0}}),l=new o("antZoomLeftIn",{"0%":{transform:"scale(0.8)",transformOrigin:"0% 50%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"0% 50%"}}),u=new o("antZoomLeftOut",{"0%":{transform:"scale(1)",transformOrigin:"0% 50%"},"100%":{transform:"scale(0.8)",transformOrigin:"0% 50%",opacity:0}}),p=new o("antZoomRightIn",{"0%":{transform:"scale(0.8)",transformOrigin:"100% 50%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"100% 50%"}}),z=new o("antZoomRightOut",{"0%":{transform:"scale(1)",transformOrigin:"100% 50%"},"100%":{transform:"scale(0.8)",transformOrigin:"100% 50%",opacity:0}}),K=new o("antZoomDownIn",{"0%":{transform:"scale(0.8)",transformOrigin:"50% 100%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"50% 100%"}}),w=new o("antZoomDownOut",{"0%":{transform:"scale(1)",transformOrigin:"50% 100%"},"100%":{transform:"scale(0.8)",transformOrigin:"50% 100%",opacity:0}}),I={zoom:{inKeyframes:c,outKeyframes:y},"zoom-big":{inKeyframes:a,outKeyframes:s},"zoom-big-fast":{inKeyframes:a,outKeyframes:s},"zoom-left":{inKeyframes:l,outKeyframes:u},"zoom-right":{inKeyframes:p,outKeyframes:z},"zoom-up":{inKeyframes:g,outKeyframes:O},"zoom-down":{inKeyframes:K,outKeyframes:w}},h=(n,r)=>{const{antCls:m}=n,t=`${m}-${r}`,{inKeyframes:i,outKeyframes:e}=I[r];return[f(t,i,e,r==="zoom-big-fast"?n.motionDurationFast:n.motionDurationMid),{[`
|
|
2
2
|
${t}-enter,
|
|
3
3
|
${t}-appear
|
|
4
4
|
`]:{transform:"scale(0)",opacity:0,animationTimingFunction:n.motionEaseOutCirc,"&-prepare":{transform:"none"}},[`${t}-leave`]:{animationTimingFunction:n.motionEaseInOutCirc}}]};export{h as i,c as z};
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
// Injected by web-ui-server.js at serve time
|
|
9
9
|
window.__CC_CONFIG__ = __CC_CONFIG_PLACEHOLDER__;
|
|
10
10
|
</script>
|
|
11
|
-
<script type="module" crossorigin src="./assets/index-
|
|
11
|
+
<script type="module" crossorigin src="./assets/index-oJQgRCrR.js"></script>
|
|
12
12
|
<link rel="modulepreload" crossorigin href="./assets/vendor-BvqAck49.js">
|
|
13
13
|
<link rel="modulepreload" crossorigin href="./assets/icons-DP3uiYxy.js">
|
|
14
14
|
<link rel="stylesheet" crossorigin href="./assets/index-Cq93VfoF.css">
|
package/src/commands/init.js
CHANGED
|
@@ -2394,7 +2394,7 @@ export function registerInitCommand(program) {
|
|
|
2394
2394
|
program
|
|
2395
2395
|
.command("init")
|
|
2396
2396
|
.description(
|
|
2397
|
-
"
|
|
2397
|
+
"Inventory the current folder into a cc.md project-memory file (default); pass -t/--template to scaffold a .chainlesschain/ project instead",
|
|
2398
2398
|
)
|
|
2399
2399
|
.option(
|
|
2400
2400
|
"-t, --template <name>",
|
|
@@ -2410,7 +2410,12 @@ export function registerInitCommand(program) {
|
|
|
2410
2410
|
"--cwd <dir>",
|
|
2411
2411
|
"Initialize in <dir> instead of the current working directory (used by web-panel folder picker)",
|
|
2412
2412
|
)
|
|
2413
|
-
.
|
|
2413
|
+
.option(
|
|
2414
|
+
"--memory",
|
|
2415
|
+
"Force inventory mode even when a template flag is present (inventory is already the default without -t/--bare)",
|
|
2416
|
+
)
|
|
2417
|
+
.option("--force", "Overwrite an existing cc.md (inventory mode)")
|
|
2418
|
+
.action(async (options, command) => {
|
|
2414
2419
|
let cwd;
|
|
2415
2420
|
if (options.cwd) {
|
|
2416
2421
|
cwd = path.resolve(options.cwd);
|
|
@@ -2423,6 +2428,83 @@ export function registerInitCommand(program) {
|
|
|
2423
2428
|
} else {
|
|
2424
2429
|
cwd = process.cwd();
|
|
2425
2430
|
}
|
|
2431
|
+
// Inventory mode (Claude-Code /init parity) is the DEFAULT: scan the
|
|
2432
|
+
// folder as-is and write a starter cc.md — no template, no
|
|
2433
|
+
// .chainlesschain/. Template scaffolding only runs when the user
|
|
2434
|
+
// explicitly asked for it (-t/--template or --bare); --memory forces
|
|
2435
|
+
// inventory even alongside a template flag.
|
|
2436
|
+
const templateRequested =
|
|
2437
|
+
command?.getOptionValueSource?.("template") === "cli" ||
|
|
2438
|
+
Boolean(options.bare);
|
|
2439
|
+
if (options.memory || !templateRequested) {
|
|
2440
|
+
const { inventoryProject, renderMemoryFile } = await import(
|
|
2441
|
+
"../lib/project-inventory.js"
|
|
2442
|
+
);
|
|
2443
|
+
const target = path.join(cwd, "cc.md");
|
|
2444
|
+
if (fs.existsSync(target) && !options.force) {
|
|
2445
|
+
logger.error(
|
|
2446
|
+
`cc.md already exists at ${target} — use --force to overwrite.`,
|
|
2447
|
+
);
|
|
2448
|
+
process.exit(1);
|
|
2449
|
+
}
|
|
2450
|
+
const inv = inventoryProject(cwd);
|
|
2451
|
+
fs.writeFileSync(target, renderMemoryFile(inv), "utf-8");
|
|
2452
|
+
logger.success(`Generated ${target}`);
|
|
2453
|
+
|
|
2454
|
+
// Still create a minimal .chainlesschain/ (config + skills home) so
|
|
2455
|
+
// inventory-initialized folders are real cc projects — project skills
|
|
2456
|
+
// live in .chainlesschain/skills/ and `cc skill sync-cli` needs the
|
|
2457
|
+
// workspace layer. Existing config is left untouched.
|
|
2458
|
+
const memCcDir = path.join(cwd, ".chainlesschain");
|
|
2459
|
+
const memConfigPath = path.join(memCcDir, "config.json");
|
|
2460
|
+
if (!fs.existsSync(memConfigPath)) {
|
|
2461
|
+
fs.mkdirSync(path.join(memCcDir, "skills"), { recursive: true });
|
|
2462
|
+
fs.writeFileSync(
|
|
2463
|
+
memConfigPath,
|
|
2464
|
+
JSON.stringify(
|
|
2465
|
+
{
|
|
2466
|
+
name: path.basename(cwd),
|
|
2467
|
+
template: "none",
|
|
2468
|
+
version: "1.0.0",
|
|
2469
|
+
createdAt: new Date().toISOString(),
|
|
2470
|
+
memoryFile: "cc.md",
|
|
2471
|
+
skills: { workspace: "./skills" },
|
|
2472
|
+
},
|
|
2473
|
+
null,
|
|
2474
|
+
2,
|
|
2475
|
+
),
|
|
2476
|
+
"utf-8",
|
|
2477
|
+
);
|
|
2478
|
+
logger.info(
|
|
2479
|
+
" Created .chainlesschain/ (config + skills/ workspace for project skills).",
|
|
2480
|
+
);
|
|
2481
|
+
}
|
|
2482
|
+
const langs = inv.languages
|
|
2483
|
+
.slice(0, 5)
|
|
2484
|
+
.map(([l, n]) => `${l} (${n})`)
|
|
2485
|
+
.join(", ");
|
|
2486
|
+
if (langs) logger.info(` Languages: ${langs}`);
|
|
2487
|
+
if (inv.packageManager)
|
|
2488
|
+
logger.info(` Package manager: ${inv.packageManager}`);
|
|
2489
|
+
if (inv.scripts.length)
|
|
2490
|
+
logger.info(` Scripts documented: ${inv.scripts.length}`);
|
|
2491
|
+
const others = inv.existingMemory.filter((f) => f !== "cc.md");
|
|
2492
|
+
if (others.length) {
|
|
2493
|
+
logger.info(
|
|
2494
|
+
` Note: ${others.join(", ")} also present — imported into cc.md via @-references (nothing is shadowed).`,
|
|
2495
|
+
);
|
|
2496
|
+
}
|
|
2497
|
+
logger.info(
|
|
2498
|
+
" cc agent auto-loads cc.md as project context (CC_PROJECT_MEMORY=0 disables).",
|
|
2499
|
+
);
|
|
2500
|
+
if (options.yes && !options.memory) {
|
|
2501
|
+
logger.info(
|
|
2502
|
+
" Heads-up: `cc init` now inventories by default — use `--bare` or `-t <template>` for the old scaffold flow.",
|
|
2503
|
+
);
|
|
2504
|
+
}
|
|
2505
|
+
return;
|
|
2506
|
+
}
|
|
2507
|
+
|
|
2426
2508
|
const ccDir = path.join(cwd, ".chainlesschain");
|
|
2427
2509
|
|
|
2428
2510
|
// Check if already initialized
|
package/src/commands/session.js
CHANGED
|
@@ -285,26 +285,50 @@ export function registerSessionCommand(program) {
|
|
|
285
285
|
// session export
|
|
286
286
|
session
|
|
287
287
|
.command("export")
|
|
288
|
-
.description(
|
|
289
|
-
|
|
288
|
+
.description(
|
|
289
|
+
"Export a session as Markdown (chat-DB session, or JSONL agent session fallback)",
|
|
290
|
+
)
|
|
291
|
+
.argument("<id>", "Session ID (or prefix; `last` = most recent agent session)")
|
|
290
292
|
.option("-o, --output <file>", "Output file path")
|
|
291
293
|
.action(async (id, options) => {
|
|
292
294
|
try {
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
295
|
+
let markdown = null;
|
|
296
|
+
let bootstrapped = false;
|
|
297
|
+
|
|
298
|
+
// Primary source: chat-DB sessions (legacy behaviour, unchanged).
|
|
299
|
+
if (id !== "last") {
|
|
300
|
+
try {
|
|
301
|
+
const ctx = await bootstrap({ verbose: program.opts().verbose });
|
|
302
|
+
bootstrapped = true;
|
|
303
|
+
if (ctx.db) {
|
|
304
|
+
const sess = getSession(ctx.db.getDatabase(), id);
|
|
305
|
+
if (sess) markdown = exportSessionMarkdown(sess);
|
|
306
|
+
}
|
|
307
|
+
} catch {
|
|
308
|
+
// DB unavailable — fall through to the JSONL agent store.
|
|
309
|
+
}
|
|
297
310
|
}
|
|
298
|
-
const db = ctx.db.getDatabase();
|
|
299
|
-
const sess = getSession(db, id);
|
|
300
311
|
|
|
301
|
-
|
|
312
|
+
// Fallback: JSONL agent sessions (`cc agent --resume` store) —
|
|
313
|
+
// Claude-Code /export parity for agent transcripts.
|
|
314
|
+
if (!markdown) {
|
|
315
|
+
const store = await import("../harness/jsonl-session-store.js");
|
|
316
|
+
const sid = id === "last" ? store.getLastSessionId() : id;
|
|
317
|
+
if (sid && store.sessionExists(sid)) {
|
|
318
|
+
const { renderAgentSessionMarkdown } = await import(
|
|
319
|
+
"../lib/agent-session-export.js"
|
|
320
|
+
);
|
|
321
|
+
markdown = renderAgentSessionMarkdown(sid, store.readEvents(sid), {
|
|
322
|
+
exportedAt: new Date().toISOString(),
|
|
323
|
+
});
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
if (!markdown) {
|
|
302
328
|
logger.error(`Session not found: ${id}`);
|
|
303
329
|
process.exit(1);
|
|
304
330
|
}
|
|
305
331
|
|
|
306
|
-
const markdown = exportSessionMarkdown(sess);
|
|
307
|
-
|
|
308
332
|
if (options.output) {
|
|
309
333
|
fs.writeFileSync(options.output, markdown, "utf8");
|
|
310
334
|
logger.success(`Exported to ${chalk.cyan(options.output)}`);
|
|
@@ -312,7 +336,7 @@ export function registerSessionCommand(program) {
|
|
|
312
336
|
console.log(markdown);
|
|
313
337
|
}
|
|
314
338
|
|
|
315
|
-
await shutdown();
|
|
339
|
+
if (bootstrapped) await shutdown();
|
|
316
340
|
} catch (err) {
|
|
317
341
|
logger.error(`Failed: ${err.message}`);
|
|
318
342
|
process.exit(1);
|
package/src/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
2
|
import { VERSION } from "./constants.js";
|
|
3
|
+
import { maybeNotifyUpdate } from "./lib/update-notice.js";
|
|
3
4
|
import { registerSetupCommand } from "./commands/setup.js";
|
|
4
5
|
import { registerStartCommand } from "./commands/start.js";
|
|
5
6
|
import { registerStopCommand } from "./commands/stop.js";
|
|
@@ -396,6 +397,15 @@ export function createProgram(opts = {}) {
|
|
|
396
397
|
.option("--verbose", "Enable verbose output")
|
|
397
398
|
.option("--quiet", "Suppress non-essential output");
|
|
398
399
|
|
|
400
|
+
// Passive update nudge (Claude-Code parity): one sync cache read + gray
|
|
401
|
+
// stderr line when a newer npm version is known; stale cache refreshes in a
|
|
402
|
+
// detached child for the NEXT run. TTY-only, CC_UPDATE_NOTICE=0 disables.
|
|
403
|
+
// Synchronous call (never throws, fail-open) so fast exits like `-v` still
|
|
404
|
+
// touch the cache and arm the refresher. Suppressed under vitest —
|
|
405
|
+
// command-registration tests build programs and must not spawn children or
|
|
406
|
+
// touch the real home dir.
|
|
407
|
+
if (!process.env.VITEST) maybeNotifyUpdate();
|
|
408
|
+
|
|
399
409
|
// Project initialization & persona
|
|
400
410
|
registerInitCommand(program);
|
|
401
411
|
registerPersonaCommand(program);
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent-session Markdown export — Claude-Code `/export` parity for the JSONL
|
|
3
|
+
* headless/agent session store (`~/.../sessions/<id>.jsonl`, the `--resume`
|
|
4
|
+
* sessions). `cc session export` keeps serving chat-DB sessions and falls
|
|
5
|
+
* back to this renderer when the id only exists in the JSONL store.
|
|
6
|
+
*
|
|
7
|
+
* Pure function over the event list (see jsonl-session-store.js appendEvent):
|
|
8
|
+
* { type, timestamp, data }
|
|
9
|
+
* types: session_start{title,provider,model} · user_message · assistant_message
|
|
10
|
+
* · system · tool_call{tool,args} · tool_result{tool,result}
|
|
11
|
+
* · compact(stats) · token_usage{...}
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
export const TOOL_BLOCK_CAP = 4000;
|
|
15
|
+
|
|
16
|
+
function asText(content) {
|
|
17
|
+
if (content == null) return "";
|
|
18
|
+
if (typeof content === "string") return content;
|
|
19
|
+
try {
|
|
20
|
+
return JSON.stringify(content, null, 2);
|
|
21
|
+
} catch {
|
|
22
|
+
return String(content);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
function fence(body, lang = "") {
|
|
27
|
+
const text = asText(body);
|
|
28
|
+
const capped =
|
|
29
|
+
text.length > TOOL_BLOCK_CAP
|
|
30
|
+
? `${text.slice(0, TOOL_BLOCK_CAP)}\n… [truncated]`
|
|
31
|
+
: text;
|
|
32
|
+
// avoid breaking out of the fence when the payload contains ```
|
|
33
|
+
const guard = capped.includes("```") ? "````" : "```";
|
|
34
|
+
return `${guard}${lang}\n${capped}\n${guard}`;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/** Render a JSONL agent session as a readable Markdown transcript. */
|
|
38
|
+
export function renderAgentSessionMarkdown(sessionId, events, opts = {}) {
|
|
39
|
+
const L = [];
|
|
40
|
+
const start = events.find((e) => e?.type === "session_start");
|
|
41
|
+
const firstTs = events.find((e) => Number.isFinite(e?.timestamp))?.timestamp;
|
|
42
|
+
|
|
43
|
+
L.push(`# Agent Session ${sessionId}`);
|
|
44
|
+
L.push("");
|
|
45
|
+
const metaBits = [];
|
|
46
|
+
if (start?.data?.title && start.data.title !== "Untitled")
|
|
47
|
+
metaBits.push(`title: ${start.data.title}`);
|
|
48
|
+
if (start?.data?.provider) metaBits.push(`provider: ${start.data.provider}`);
|
|
49
|
+
if (start?.data?.model) metaBits.push(`model: ${start.data.model}`);
|
|
50
|
+
if (firstTs) metaBits.push(`started: ${new Date(firstTs).toISOString()}`);
|
|
51
|
+
if (opts.exportedAt) metaBits.push(`exported: ${opts.exportedAt}`);
|
|
52
|
+
if (metaBits.length) {
|
|
53
|
+
L.push(`> ${metaBits.join(" · ")}`);
|
|
54
|
+
L.push("");
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
let users = 0;
|
|
58
|
+
let assistants = 0;
|
|
59
|
+
let tokensIn = 0;
|
|
60
|
+
let tokensOut = 0;
|
|
61
|
+
|
|
62
|
+
for (const ev of events) {
|
|
63
|
+
if (!ev || typeof ev !== "object") continue;
|
|
64
|
+
switch (ev.type) {
|
|
65
|
+
case "user_message":
|
|
66
|
+
users += 1;
|
|
67
|
+
L.push("## 👤 User");
|
|
68
|
+
L.push("");
|
|
69
|
+
L.push(asText(ev.data?.content));
|
|
70
|
+
L.push("");
|
|
71
|
+
break;
|
|
72
|
+
case "assistant_message":
|
|
73
|
+
assistants += 1;
|
|
74
|
+
L.push("## 🤖 Assistant");
|
|
75
|
+
L.push("");
|
|
76
|
+
L.push(asText(ev.data?.content));
|
|
77
|
+
L.push("");
|
|
78
|
+
break;
|
|
79
|
+
case "system":
|
|
80
|
+
L.push("## ⚙ System");
|
|
81
|
+
L.push("");
|
|
82
|
+
L.push(asText(ev.data?.content));
|
|
83
|
+
L.push("");
|
|
84
|
+
break;
|
|
85
|
+
case "tool_call":
|
|
86
|
+
L.push(`**🔧 tool_call — \`${ev.data?.tool || "?"}\`**`);
|
|
87
|
+
L.push("");
|
|
88
|
+
L.push(fence(ev.data?.args, "json"));
|
|
89
|
+
L.push("");
|
|
90
|
+
break;
|
|
91
|
+
case "tool_result":
|
|
92
|
+
L.push(`**↩ tool_result — \`${ev.data?.tool || "?"}\`**`);
|
|
93
|
+
L.push("");
|
|
94
|
+
L.push(fence(ev.data?.result));
|
|
95
|
+
L.push("");
|
|
96
|
+
break;
|
|
97
|
+
case "compact": {
|
|
98
|
+
const s = ev.data || {};
|
|
99
|
+
const saved = s.savedTokens ?? s.saved ?? null;
|
|
100
|
+
L.push(
|
|
101
|
+
`> ⊟ context compacted${saved != null ? ` — saved ~${saved} tokens` : ""}`,
|
|
102
|
+
);
|
|
103
|
+
L.push("");
|
|
104
|
+
break;
|
|
105
|
+
}
|
|
106
|
+
case "token_usage": {
|
|
107
|
+
const d = ev.data || {};
|
|
108
|
+
tokensIn += Number(d.inputTokens ?? d.input_tokens ?? 0) || 0;
|
|
109
|
+
tokensOut += Number(d.outputTokens ?? d.output_tokens ?? 0) || 0;
|
|
110
|
+
break;
|
|
111
|
+
}
|
|
112
|
+
default:
|
|
113
|
+
break; // session_start handled above; unknown types skipped
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
L.push("---");
|
|
118
|
+
const totals = [`${users} user / ${assistants} assistant turns`];
|
|
119
|
+
if (tokensIn || tokensOut)
|
|
120
|
+
totals.push(`tokens in/out: ${tokensIn}/${tokensOut}`);
|
|
121
|
+
L.push(`_${totals.join(" · ")}_`);
|
|
122
|
+
L.push("");
|
|
123
|
+
return L.join("\n");
|
|
124
|
+
}
|