chainlesschain 0.166.10 → 0.166.14
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 +33 -0
- package/bin/chainlesschain.js +5 -0
- package/package.json +4 -2
- package/src/assets/web-panel/assets/{AIOps-CLYBDAGv.js → AIOps-C8SyFhOo.js} +1 -1
- package/src/assets/web-panel/assets/{ActionButton-CpeSttcu.js → ActionButton-Dup5gFK0.js} +1 -1
- package/src/assets/web-panel/assets/{Analytics-Ba1TNLG0.js → Analytics-8FyOWA7V.js} +3 -3
- package/src/assets/web-panel/assets/{AppLayout-xBy8EOeg.js → AppLayout-DBzdU9dg.js} +3 -3
- package/src/assets/web-panel/assets/{Artifacts-CJ_3TFb8.js → Artifacts-C_0Z8gNy.js} +1 -1
- package/src/assets/web-panel/assets/{Audit-DUATFCG3.js → Audit-Cf2a-58m.js} +1 -1
- package/src/assets/web-panel/assets/{BackgroundAgents-BRXYPIGp.js → BackgroundAgents-M7w-2zgB.js} +1 -1
- package/src/assets/web-panel/assets/{Backup-D8auLx7y.js → Backup-CCTHQXoL.js} +1 -1
- package/src/assets/web-panel/assets/{BaseInput-CBgdslQ3.js → BaseInput-DjXpeFwJ.js} +1 -1
- package/src/assets/web-panel/assets/{Chat-B32LvAiE.js → Chat-cAvchsJU.js} +5 -5
- package/src/assets/web-panel/assets/{ChatBubbleRenderer-CVfvAy-n.js → ChatBubbleRenderer-DvEvxlZv.js} +1 -1
- package/src/assets/web-panel/assets/{Checkbox-BwzBxOpC.js → Checkbox-DKs6qvOn.js} +1 -1
- package/src/assets/web-panel/assets/{Codegen-0U5vrg1H.js → Codegen-DlkA7b9X.js} +1 -1
- package/src/assets/web-panel/assets/{Col-dZ2i4aAj.js → Col-CkfdKhyJ.js} +1 -1
- package/src/assets/web-panel/assets/{Community-UVvpLr8c.js → Community-iNXMHzj6.js} +1 -1
- package/src/assets/web-panel/assets/{Compact-BDNEb1Bd.js → Compact-DQxPEd09.js} +1 -1
- package/src/assets/web-panel/assets/{Compliance-BrzQPxyS.js → Compliance-CSKvMCjs.js} +1 -1
- package/src/assets/web-panel/assets/{Cowork-BbgGsu-9.js → Cowork-CkWqazpD.js} +2 -2
- package/src/assets/web-panel/assets/{Cron-G321XPhp.js → Cron-k6W8IzhB.js} +2 -2
- package/src/assets/web-panel/assets/{Crosschain-CgLNUyMn.js → Crosschain-C8MS1OuY.js} +1 -1
- package/src/assets/web-panel/assets/{DID-BAfRj18q.js → DID-DJuCcgiQ.js} +2 -2
- package/src/assets/web-panel/assets/{Dashboard-BNIxA4TK.js → Dashboard-LeThKzp3.js} +2 -2
- package/src/assets/web-panel/assets/{Dropdown-BLAUmCAN.js → Dropdown-BvxwgpE4.js} +1 -1
- package/src/assets/web-panel/assets/{EmailListRenderer-CsnhTW22.js → EmailListRenderer-n3e_a1M3.js} +1 -1
- package/src/assets/web-panel/assets/{FamilyGuardDashboard-zcQ7Ip1n.js → FamilyGuardDashboard-509W6W6v.js} +1 -1
- package/src/assets/web-panel/assets/{Federation-KFwxodNU.js → Federation-xgZReQm0.js} +1 -1
- package/src/assets/web-panel/assets/{FormItemContext-3CYRLEHG.js → FormItemContext-jZOhKcQx.js} +1 -1
- package/src/assets/web-panel/assets/{GenericCardRenderer-D3d9D8L9.js → GenericCardRenderer-Jo0ULzHv.js} +1 -1
- package/src/assets/web-panel/assets/{Git-BJ202nJY.js → Git-BsRcyWQP.js} +2 -2
- package/src/assets/web-panel/assets/{Governance-ClnnXVQ-.js → Governance-JlpMYTAk.js} +1 -1
- package/src/assets/web-panel/assets/{Inference-DNU-PTkc.js → Inference-CUEz872-.js} +1 -1
- package/src/assets/web-panel/assets/{KnowledgeGraph-DJuinbuY.js → KnowledgeGraph-DgrvvEDU.js} +1 -1
- package/src/assets/web-panel/assets/{Logs-D4No-46s.js → Logs-Df-KY4U3.js} +2 -2
- package/src/assets/web-panel/assets/MarkdownRenderer-BEPDcSwz.js +1 -0
- package/src/assets/web-panel/assets/{Marketplace-Ba-KqRN3.js → Marketplace-kPZDTOeI.js} +1 -1
- package/src/assets/web-panel/assets/{McpTools-DVoxnPgE.js → McpTools-CRRzPqNX.js} +2 -2
- package/src/assets/web-panel/assets/{Memory-D_C8gzAZ.js → Memory-D6pNSkg9.js} +2 -2
- package/src/assets/web-panel/assets/{MobileBridge-DnzTPcDH.js → MobileBridge-g-pvtwRC.js} +1 -1
- package/src/assets/web-panel/assets/MobileProjects-Bzayfrfe.js +1 -0
- package/src/assets/web-panel/assets/{Mtc-CvEHmHId.js → Mtc-B7S3W-XL.js} +2 -2
- package/src/assets/web-panel/assets/{MtcAudit-VNJmWqmv.js → MtcAudit-B8OMEWVb.js} +2 -2
- package/src/assets/web-panel/assets/{Multisig-BO0x_Vsa.js → Multisig-CowRp7GH.js} +3 -3
- package/src/assets/web-panel/assets/{NLProgramming-CM2gI1UY.js → NLProgramming-BkQNyi4c.js} +1 -1
- package/src/assets/web-panel/assets/{Notes-CMc1HsML.js → Notes-Cm7gtkKz.js} +3 -3
- package/src/assets/web-panel/assets/{NotificationSettings-DGNmSKGM.js → NotificationSettings-CbPTVh9m.js} +1 -1
- package/src/assets/web-panel/assets/{OrderTableRenderer-Du-Kct3p.js → OrderTableRenderer-Dswi26mJ.js} +1 -1
- package/src/assets/web-panel/assets/{Organization-DRtRZjas.js → Organization-BkjQ9yy7.js} +4 -4
- package/src/assets/web-panel/assets/{Overflow-Dp4OeWsn.js → Overflow-DmRFXP7Y.js} +1 -1
- package/src/assets/web-panel/assets/{P2P-DXMJVls8.js → P2P-DQE1toAu.js} +2 -2
- package/src/assets/web-panel/assets/PdhVaultBrowser-BujyoDRG.js +7 -0
- package/src/assets/web-panel/assets/{Permissions-D1Hbb51o.js → Permissions-xSjfOaiU.js} +4 -4
- package/src/assets/web-panel/assets/{PersonalDataHub-BridiDhr.js → PersonalDataHub-B9ICLqVP.js} +3 -3
- package/src/assets/web-panel/assets/{Pipeline-B4bUNCm1.js → Pipeline-CUNwyN9E.js} +1 -1
- package/src/assets/web-panel/assets/{Privacy-BTu_HEqK.js → Privacy-SOoCricX.js} +1 -1
- package/src/assets/web-panel/assets/{ProjectInit-SVtL2hnt.js → ProjectInit-CSaFul0F.js} +2 -2
- package/src/assets/web-panel/assets/{ProjectSettings-B2Sh7JZ2.js → ProjectSettings-CueiB_oe.js} +2 -2
- package/src/assets/web-panel/assets/{Projects-BwU1xalW.js → Projects-BOeXvU7y.js} +1 -1
- package/src/assets/web-panel/assets/{Providers-BWdWQSDw.js → Providers-CTqf_31h.js} +1 -1
- package/src/assets/web-panel/assets/{QrScannerModal-Brzc-Sxb.js → QrScannerModal-C8ZP31E9.js} +1 -1
- package/src/assets/web-panel/assets/{QuickAsk-DIBz7FCe.js → QuickAsk-CPgn4713.js} +1 -1
- package/src/assets/web-panel/assets/{Recommend-CZ8RriIJ.js → Recommend-8_e0zw0i.js} +1 -1
- package/src/assets/web-panel/assets/{RemoteSession-CM0KJQ3t.js → RemoteSession-iT7lbGqw.js} +3 -3
- package/src/assets/web-panel/assets/{Reputation-D_wo8H0O.js → Reputation-B4q9SUOz.js} +1 -1
- package/src/assets/web-panel/assets/{Row-D1G1fD7N.js → Row-CA_nASyL.js} +1 -1
- package/src/assets/web-panel/assets/{RssFeed-dKCVtA0K.js → RssFeed-Cwb0E3yv.js} +2 -2
- package/src/assets/web-panel/assets/{Search-Be1D61xo.js → Search-D9iVsOxJ.js} +1 -1
- package/src/assets/web-panel/assets/{Security-IbNiR6OC.js → Security-DPLbYchG.js} +3 -3
- package/src/assets/web-panel/assets/{Services-nuHK8y8p.js → Services-DGMVL_LF.js} +2 -2
- package/src/assets/web-panel/assets/{Skeleton-DnM5jdnC.js → Skeleton-B_6kym0D.js} +1 -1
- package/src/assets/web-panel/assets/{Skills-DCTdoq_q.js → Skills-Ds6r0dXB.js} +1 -1
- package/src/assets/web-panel/assets/{Sla-DlWun-Ui.js → Sla-BLHAbBhb.js} +1 -1
- package/src/assets/web-panel/assets/{SpeechSettings-C19kv2sd.js → SpeechSettings-CZuddd14.js} +1 -1
- package/src/assets/web-panel/assets/{SyncSettings-CkQIR_Hu.js → SyncSettings-CdBq7oSl.js} +2 -2
- package/src/assets/web-panel/assets/{Tasks-DdbqOEbs.js → Tasks-DfT60Nyl.js} +1 -1
- package/src/assets/web-panel/assets/{Templates-B7GpIXeo.js → Templates-RLfsKy2V.js} +1 -1
- package/src/assets/web-panel/assets/{Tenant-ByEstFhY.js → Tenant-Cw8xCNLE.js} +1 -1
- package/src/assets/web-panel/assets/{Terminal-BKRVID1a.js → Terminal-BOUkNu4f.js} +2 -2
- package/src/assets/web-panel/assets/{TimelineRenderer-CNS3dHNv.js → TimelineRenderer-CgGZWaRm.js} +1 -1
- package/src/assets/web-panel/assets/{Tokens-BykqylCL.js → Tokens-CpwjVyir.js} +1 -1
- package/src/assets/web-panel/assets/{Trigger-ByNxq51W.js → Trigger-DL21H-eb.js} +1 -1
- package/src/assets/web-panel/assets/{Trust-BlrFsdaS.js → Trust-B3ffFclW.js} +1 -1
- package/src/assets/web-panel/assets/{UkeySign-Dg26A-sd.js → UkeySign-CkBeb5aI.js} +1 -1
- package/src/assets/web-panel/assets/{VideoEditing-C1wUxNn0.js → VideoEditing-U2iVaE3r.js} +1 -1
- package/src/assets/web-panel/assets/{Wallet-OphEUzI4.js → Wallet-CQk2wzYd.js} +4 -4
- package/src/assets/web-panel/assets/{WebAuthn-_8lL08hF.js → WebAuthn-DYIuIYzT.js} +5 -5
- package/src/assets/web-panel/assets/{WorkflowEditor-BnTuIvnP.js → WorkflowEditor-tg1c2mZQ.js} +1 -1
- package/src/assets/web-panel/assets/{chat-3N3VLQYr.js → chat-CtL61spq.js} +1 -1
- package/src/assets/web-panel/assets/{colors-Bo_G96gg.js → colors-DKpbeo8s.js} +1 -1
- package/src/assets/web-panel/assets/{compact-item-DjubfjI_.js → compact-item-gPZsrswt.js} +1 -1
- package/src/assets/web-panel/assets/{createContext-Cx_HSLCk.js → createContext-CfHlwzVr.js} +1 -1
- package/src/assets/web-panel/assets/devWarning-DdqnMhzi.js +1 -0
- package/src/assets/web-panel/assets/{hasIn-D5OjAOlA.js → hasIn-MV47g_6X.js} +1 -1
- package/src/assets/web-panel/assets/{index-x7o-2T3S.js → index-6G0ETFTW.js} +1 -1
- package/src/assets/web-panel/assets/{index-CqZq3zWr.js → index-BBw52sEl.js} +1 -1
- package/src/assets/web-panel/assets/{index-C-4sfa0l.js → index-BN-wxSQ8.js} +1 -1
- package/src/assets/web-panel/assets/{index-uAcJUJkx.js → index-BOyGUuBE.js} +1 -1
- package/src/assets/web-panel/assets/{index-CC7RnaPP.js → index-BQp5M0s1.js} +1 -1
- package/src/assets/web-panel/assets/index-BcK8o4ke.js +1 -0
- package/src/assets/web-panel/assets/{index-CNmsP0Xf.js → index-BjlPD7GO.js} +1 -1
- package/src/assets/web-panel/assets/{index-CVPDhmVH.js → index-C4lF-f_z.js} +1 -1
- package/src/assets/web-panel/assets/{index-CRKk1JPX.js → index-C6nC_DyY.js} +1 -1
- package/src/assets/web-panel/assets/{index-B905-Mcs.js → index-C9RF4ieu.js} +1 -1
- package/src/assets/web-panel/assets/{index-3_CEBEEf.js → index-C9gtY4nG.js} +3 -3
- package/src/assets/web-panel/assets/{index-Y-H7j25u.js → index-CB1HnbNK.js} +1 -1
- package/src/assets/web-panel/assets/{index-C5IwN9q3.js → index-CRv_uMLV.js} +1 -1
- package/src/assets/web-panel/assets/{index-Q_vn0t8d.js → index-C_B9LiKs.js} +1 -1
- package/src/assets/web-panel/assets/{index-Cz5tQ5PY.js → index-Cjv0kKCU.js} +1 -1
- package/src/assets/web-panel/assets/{index-BgPb37tI.js → index-CmM9jqwe.js} +1 -1
- package/src/assets/web-panel/assets/{index-Dbdr8tVi.js → index-CmPJpLoD.js} +1 -1
- package/src/assets/web-panel/assets/{index-DrVjatPe.js → index-CzfxTSPW.js} +1 -1
- package/src/assets/web-panel/assets/{index-C-_Cy0k_.js → index-D1XB5-t5.js} +1 -1
- package/src/assets/web-panel/assets/{index-C8dPFFhy.js → index-DGtEBodr.js} +1 -1
- package/src/assets/web-panel/assets/{index-UnpsQ6A0.js → index-DIeJmlAA.js} +1 -1
- package/src/assets/web-panel/assets/{index-BxgIE4PD.js → index-DMMvlLp9.js} +1 -1
- package/src/assets/web-panel/assets/{index-DlcbE0sX.js → index-DU4rZpiK.js} +1 -1
- package/src/assets/web-panel/assets/{index-EZr3bvz2.js → index-D_Pl1GnW.js} +1 -1
- package/src/assets/web-panel/assets/{index-BScGr1BY.js → index-Dd19vRwy.js} +1 -1
- package/src/assets/web-panel/assets/{index-Ce8EWU6r.js → index-Ddcpj1El.js} +1 -1
- package/src/assets/web-panel/assets/{index-CCjq3g32.js → index-Df9sWKpl.js} +1 -1
- package/src/assets/web-panel/assets/{index-ydnEPOzZ.js → index-DfLyHCWi.js} +1 -1
- package/src/assets/web-panel/assets/{index-C4MAnkl5.js → index-DnZ_zS1M.js} +1 -1
- package/src/assets/web-panel/assets/{index-DXJqa1-I.js → index-DsH-i_3d.js} +1 -1
- package/src/assets/web-panel/assets/index-DvbAjyYI.js +1 -0
- package/src/assets/web-panel/assets/{index-DBvZhdCb.js → index-ExAGPAnX.js} +1 -1
- package/src/assets/web-panel/assets/{index-DD1zSPZH.js → index-Rb7CRMw9.js} +1 -1
- package/src/assets/web-panel/assets/{index-DE4XtzMl.js → index-Zvkt9xqi.js} +1 -1
- package/src/assets/web-panel/assets/{index-CmLwI-Y8.js → index-bSFrAszw.js} +1 -1
- package/src/assets/web-panel/assets/{index-HioDjvUF.js → index-fYcS7NS0.js} +1 -1
- package/src/assets/web-panel/assets/{index-BvYo09C0.js → index-srBc9U_s.js} +1 -1
- package/src/assets/web-panel/assets/{index-Bj7S5IJw.js → index-xUlgG0Xe.js} +1 -1
- package/src/assets/web-panel/assets/{index-DaU60K3A.js → index-yxxXlqBA.js} +1 -1
- package/src/assets/web-panel/assets/{initDefaultProps-DurpENJY.js → initDefaultProps-BeOZoSZ4.js} +1 -1
- package/src/assets/web-panel/assets/{motion-CIh-z-gR.js → motion-BXE8VMKx.js} +1 -1
- package/src/assets/web-panel/assets/{move-Uc_yI2NA.js → move-I9sdvPGX.js} +1 -1
- package/src/assets/web-panel/assets/{mtc-parser-DUevj5wz.js → mtc-parser-d25zrJd0.js} +1 -1
- package/src/assets/web-panel/assets/{omit-85eMYyur.js → omit-D71V_T4e.js} +1 -1
- package/src/assets/web-panel/assets/{pickAttrs-AuxDD20F.js → pickAttrs-BNZKpIAR.js} +1 -1
- package/src/assets/web-panel/assets/{placementArrow-DOWn8dd1.js → placementArrow-jOcgxTTz.js} +1 -1
- package/src/assets/web-panel/assets/{responsiveObserve-CPxTWodH.js → responsiveObserve-pta_O8AU.js} +1 -1
- package/src/assets/web-panel/assets/{slide-BqvbGPjx.js → slide-Dlq6om7z.js} +1 -1
- package/src/assets/web-panel/assets/{statusUtils-BzXKkV8d.js → statusUtils-BnkO_yRv.js} +1 -1
- package/src/assets/web-panel/assets/{styleChecker-B2O7yRk3.js → styleChecker-p8NfWmcG.js} +1 -1
- package/src/assets/web-panel/assets/{useFlexGapSupport-DRWp7px1.js → useFlexGapSupport-KcjZZ5U7.js} +1 -1
- package/src/assets/web-panel/assets/{useFs-Dp0V7sjM.js → useFs-gqonDMWB.js} +1 -1
- package/src/assets/web-panel/assets/{usePersonalDataHub-CyCrG3ql.js → usePersonalDataHub-jIIfE4go.js} +1 -1
- package/src/assets/web-panel/assets/{vnode-CXhoFpFo.js → vnode-Dyo7fBrM.js} +1 -1
- package/src/assets/web-panel/assets/{zoom-0z3mtwEg.js → zoom-6l8BMg9W.js} +1 -1
- package/src/assets/web-panel/index.html +1 -1
- package/src/command-help-index.json +5 -5
- package/src/commands/agent.js +76 -23
- package/src/commands/compact.js +349 -3
- package/src/commands/context.js +72 -1
- package/src/commands/graph.js +26 -15
- package/src/commands/hmemory.js +21 -0
- package/src/commands/hook.js +256 -28
- package/src/commands/memory.js +209 -42
- package/src/commands/promcomp.js +17 -0
- package/src/commands/record-replay.js +772 -0
- package/src/commands/serve.js +94 -10
- package/src/commands/session.js +2 -3
- package/src/commands/skill.js +3 -0
- package/src/commands/team.js +7 -1
- package/src/data/changelog.json +41 -2
- package/src/gateways/ws/session-core-protocol.js +62 -3
- package/src/gateways/ws/session-protocol.js +123 -15
- package/src/gateways/ws/ws-agent-handler.js +157 -9
- package/src/gateways/ws/ws-session-gateway.js +204 -30
- package/src/generated/cc-agent-protocol.schema.json +2094 -4
- package/src/harness/prompt-compressor.js +5 -55
- package/src/lib/agent-sandbox.js +8 -2
- package/src/lib/agent-team/team-distributed-graph-bridge.js +3 -3
- package/src/lib/agent-team/team-message-tools.js +23 -5
- package/src/lib/app-server/context-memory-notifications.js +54 -0
- package/src/lib/app-server/rollout-store-factory.js +115 -0
- package/src/lib/app-server/rollout-store.js +310 -23
- package/src/lib/app-server/server.js +184 -7
- package/src/lib/app-server/sqlite-rollout-store.js +59 -16
- package/src/lib/auto-mode-config.js +26 -0
- package/src/lib/causal-observability.js +13 -1
- package/src/lib/context-memory-kernel/authority.js +95 -0
- package/src/lib/context-memory-kernel/durable-memory-port.js +296 -0
- package/src/lib/context-memory-kernel/index.js +8 -0
- package/src/lib/context-memory-kernel/jsonl-session-context-port.js +232 -0
- package/src/lib/context-memory-kernel/live-compaction.js +375 -0
- package/src/lib/context-memory-kernel/memory-service.js +667 -0
- package/src/lib/context-memory-kernel/message-adapter.js +451 -0
- package/src/lib/context-memory-kernel/privacy-purge-port.js +244 -0
- package/src/lib/context-memory-kernel/provider-context.js +192 -0
- package/src/lib/context-memory-kernel/runtime.js +61 -0
- package/src/lib/direct-model-usage.js +22 -18
- package/src/lib/graph-kernel/cutover-authority-resolver.js +4 -5
- package/src/lib/graph-kernel/cutover-ledger.js +2 -2
- package/src/lib/graph-kernel/event-store.js +3 -5
- package/src/lib/graph-kernel/migration-saga.js +2 -2
- package/src/lib/graph-kernel/production-cutover-evidence.js +8 -1
- package/src/lib/hierarchical-memory.js +22 -0
- package/src/lib/hook-audit-store.js +170 -0
- package/src/lib/hook-event-bus.cjs +0 -0
- package/src/lib/hook-manager.js +25 -83
- package/src/lib/hook-runtime-adapters.js +233 -0
- package/src/lib/hook-runtime-contract.cjs +291 -0
- package/src/lib/hook-runtime-contract.js +21 -0
- package/src/lib/hook-trust.js +210 -0
- package/src/lib/hooks-v2-producers.js +52 -6
- package/src/lib/hooks-v2-runtime.js +443 -178
- package/src/lib/llm-pricing.js +10 -0
- package/src/lib/memory-manager.js +29 -4
- package/src/lib/model-context-window.js +52 -0
- package/src/lib/permanent-memory.js +17 -0
- package/src/lib/plan-mode.js +8 -4
- package/src/lib/process-execution-broker/credential-transport.js +31 -0
- package/src/lib/process-execution-broker/index.js +282 -16
- package/src/lib/process-execution-broker/windows-sandbox-helper.dll +0 -0
- package/src/lib/process-execution-broker/windows-sandbox-helper.exe +0 -0
- package/src/lib/process-execution-broker/windows-sandbox.cs +7 -3
- package/src/lib/record-replay/browser-target-policy.js +406 -0
- package/src/lib/record-replay/index.js +4 -0
- package/src/lib/record-replay/playwright-ui-driver.js +83 -20
- package/src/lib/record-replay/playwright-ui-recorder.js +611 -0
- package/src/lib/record-replay/recorded-skill-package.js +486 -0
- package/src/lib/record-replay/recorded-skill-store.js +1166 -0
- package/src/lib/record-replay/skill-recorder.js +634 -64
- package/src/lib/runtime-usage-ledger.js +20 -0
- package/src/lib/session-consolidator.js +59 -0
- package/src/lib/session-core-singletons.js +17 -4
- package/src/lib/session-hooks.js +29 -2
- package/src/lib/session-transcript-migration.js +188 -0
- package/src/lib/settings-hook-events.cjs +37 -401
- package/src/lib/settings-hook-events.js +210 -8
- package/src/lib/settings-hooks.cjs +42 -83
- package/src/lib/ws-session-manager.js +4 -1
- package/src/repl/agent-repl.js +186 -53
- package/src/runtime/agent-core.js +376 -350
- package/src/runtime/headless-runner.js +112 -84
- package/src/runtime/headless-stream.js +131 -30
- package/src/assets/web-panel/assets/MarkdownRenderer-Dt8hH_qA.js +0 -1
- package/src/assets/web-panel/assets/MobileProjects-Jg2dVUc-.js +0 -1
- package/src/assets/web-panel/assets/PdhVaultBrowser-0jYeVmyY.js +0 -7
- package/src/assets/web-panel/assets/devWarning-BX944k9E.js +0 -1
- package/src/assets/web-panel/assets/index-C_9Jt_SR.js +0 -1
- package/src/assets/web-panel/assets/index-DL2EFx7m.js +0 -1
|
@@ -12,6 +12,11 @@
|
|
|
12
12
|
import { createHash } from "node:crypto";
|
|
13
13
|
import { feature, featureVariant } from "../lib/feature-flags.js";
|
|
14
14
|
import { isAbortError } from "../lib/abort-utils.js";
|
|
15
|
+
import {
|
|
16
|
+
CONTEXT_WINDOWS,
|
|
17
|
+
getContextWindow,
|
|
18
|
+
} from "../lib/model-context-window.js";
|
|
19
|
+
export { CONTEXT_WINDOWS, getContextWindow } from "../lib/model-context-window.js";
|
|
15
20
|
import {
|
|
16
21
|
DURABLE_SYSTEM_MESSAGE_KINDS,
|
|
17
22
|
getDurableSystemMessageProvenance,
|
|
@@ -184,61 +189,6 @@ function getContent(msg) {
|
|
|
184
189
|
: JSON.stringify(msg.content || "");
|
|
185
190
|
}
|
|
186
191
|
|
|
187
|
-
export const CONTEXT_WINDOWS = {
|
|
188
|
-
"qwen2.5:7b": 32768,
|
|
189
|
-
"qwen2.5:14b": 32768,
|
|
190
|
-
"qwen2.5-coder:14b": 32768,
|
|
191
|
-
"qwen2:7b": 32768,
|
|
192
|
-
"llama3:8b": 8192,
|
|
193
|
-
"mistral:7b": 32768,
|
|
194
|
-
"codellama:7b": 16384,
|
|
195
|
-
"gpt-4o": 128000,
|
|
196
|
-
"gpt-4o-mini": 128000,
|
|
197
|
-
"gpt-4-turbo": 128000,
|
|
198
|
-
"gpt-3.5-turbo": 16385,
|
|
199
|
-
o1: 200000,
|
|
200
|
-
"claude-opus-4-6": 200000,
|
|
201
|
-
"claude-sonnet-4-6": 200000,
|
|
202
|
-
"claude-haiku-4-5-20251001": 200000,
|
|
203
|
-
"deepseek-chat": 64000,
|
|
204
|
-
"deepseek-coder": 64000,
|
|
205
|
-
"deepseek-reasoner": 64000,
|
|
206
|
-
"qwen-turbo": 131072,
|
|
207
|
-
"qwen-plus": 131072,
|
|
208
|
-
"qwen-max": 32768,
|
|
209
|
-
"gemini-2.0-flash": 1048576,
|
|
210
|
-
"gemini-2.0-pro": 1048576,
|
|
211
|
-
"gemini-1.5-flash": 1048576,
|
|
212
|
-
"moonshot-v1-auto": 131072,
|
|
213
|
-
"moonshot-v1-8k": 8192,
|
|
214
|
-
"moonshot-v1-32k": 32768,
|
|
215
|
-
"moonshot-v1-128k": 131072,
|
|
216
|
-
"doubao-seed-1-6-251015": 32768,
|
|
217
|
-
"doubao-seed-2-1-pro-260628": 32768,
|
|
218
|
-
_provider_defaults: {
|
|
219
|
-
ollama: 32768,
|
|
220
|
-
openai: 128000,
|
|
221
|
-
anthropic: 200000,
|
|
222
|
-
deepseek: 64000,
|
|
223
|
-
dashscope: 131072,
|
|
224
|
-
gemini: 1048576,
|
|
225
|
-
kimi: 131072,
|
|
226
|
-
volcengine: 32768,
|
|
227
|
-
minimax: 32768,
|
|
228
|
-
mistral: 32768,
|
|
229
|
-
},
|
|
230
|
-
};
|
|
231
|
-
|
|
232
|
-
export function getContextWindow(model, provider) {
|
|
233
|
-
if (model && CONTEXT_WINDOWS[model]) {
|
|
234
|
-
return CONTEXT_WINDOWS[model];
|
|
235
|
-
}
|
|
236
|
-
if (provider && CONTEXT_WINDOWS._provider_defaults[provider]) {
|
|
237
|
-
return CONTEXT_WINDOWS._provider_defaults[provider];
|
|
238
|
-
}
|
|
239
|
-
return 32768;
|
|
240
|
-
}
|
|
241
|
-
|
|
242
192
|
export const COMPRESSION_VARIANTS = {
|
|
243
193
|
aggressive: { tokenFactor: 0.4, messageFactor: 0.7 },
|
|
244
194
|
balanced: { tokenFactor: 0.6, messageFactor: 1.0 },
|
package/src/lib/agent-sandbox.js
CHANGED
|
@@ -260,8 +260,8 @@ export function normalizeAgentSandbox(value, options = {}) {
|
|
|
260
260
|
export function normalizeAgentSandboxMode(mode, value, options = {}) {
|
|
261
261
|
if (mode == null || mode === "") {
|
|
262
262
|
// Keep the container sandbox opt-in unless CLI/settings policy explicitly
|
|
263
|
-
// enables it. The process broker still applies its
|
|
264
|
-
// starting a normal agent must not require Docker
|
|
263
|
+
// enables it. The platform process broker still applies its native
|
|
264
|
+
// boundary, but starting a normal agent must not require Docker.
|
|
265
265
|
return normalizeAgentSandbox(value, options);
|
|
266
266
|
}
|
|
267
267
|
if (!AGENT_SANDBOX_MODES.includes(mode)) {
|
|
@@ -392,6 +392,9 @@ export function executeSandboxedShell(command, sandbox, options = {}) {
|
|
|
392
392
|
timeout: options.timeout,
|
|
393
393
|
maxBuffer: options.maxBuffer,
|
|
394
394
|
windowsHide: true,
|
|
395
|
+
requirePersistentAudit: true,
|
|
396
|
+
auditRedactArgIndexes: [args.length - 1],
|
|
397
|
+
auditContext: options.auditContext,
|
|
395
398
|
});
|
|
396
399
|
if (result.error) {
|
|
397
400
|
return {
|
|
@@ -461,6 +464,9 @@ function executeBubblewrapShell(command, sandbox, options, hostCwd, policy) {
|
|
|
461
464
|
timeout: options.timeout,
|
|
462
465
|
maxBuffer: options.maxBuffer,
|
|
463
466
|
windowsHide: true,
|
|
467
|
+
requirePersistentAudit: true,
|
|
468
|
+
auditRedactArgIndexes: [args.length - 1],
|
|
469
|
+
auditContext: options.auditContext,
|
|
464
470
|
});
|
|
465
471
|
if (result.error) {
|
|
466
472
|
return {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
import { createHash } from "node:crypto";
|
|
3
|
-
import {
|
|
3
|
+
import { createRolloutStore } from "../app-server/rollout-store-factory.js";
|
|
4
4
|
|
|
5
5
|
export const TEAM_DISTRIBUTED_GRAPH_BRIDGE_SCHEMA =
|
|
6
6
|
"chainlesschain.team-distributed-graph-bridge/v1";
|
|
7
7
|
|
|
8
|
-
// Keep every derived thread/idempotency key inside
|
|
8
|
+
// Keep every derived thread/idempotency key inside the RolloutStore contract's
|
|
9
9
|
// bounds after this adapter adds its domain prefix.
|
|
10
10
|
const ID = /^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$/u;
|
|
11
11
|
const REQUEST_TYPES = new Set(["dispatch", "settle", "cancel"]);
|
|
@@ -74,7 +74,7 @@ export class TeamDistributedGraphBridge {
|
|
|
74
74
|
this.runId = identifier(runId, "runId");
|
|
75
75
|
this.threadId = identifier(`team-graph-bridge:${this.queueId}`, "threadId");
|
|
76
76
|
this.store =
|
|
77
|
-
store ||
|
|
77
|
+
store || createRolloutStore({ directory: this.directory, now });
|
|
78
78
|
const thread = this.store.start({
|
|
79
79
|
threadId: this.threadId,
|
|
80
80
|
title: `Distributed Team Graph bridge ${this.queueId}`,
|
|
@@ -5,6 +5,7 @@ import {
|
|
|
5
5
|
TEAM_MESSAGE_BRIDGE_MAX_WAIT_MS,
|
|
6
6
|
TEAM_MESSAGE_BRIDGE_PROTOCOL,
|
|
7
7
|
} from "./team-message-bridge.js";
|
|
8
|
+
import { resolveCredentialEnvironmentValue } from "../process-execution-broker/credential-transport.js";
|
|
8
9
|
|
|
9
10
|
export const TEAM_MESSAGE_TOOL_NAMES = Object.freeze([
|
|
10
11
|
"team_send",
|
|
@@ -177,21 +178,38 @@ function descriptor(name) {
|
|
|
177
178
|
});
|
|
178
179
|
}
|
|
179
180
|
|
|
180
|
-
export function resolveTeamMessageToolBundle({
|
|
181
|
+
export async function resolveTeamMessageToolBundle({
|
|
181
182
|
env = process.env,
|
|
182
183
|
call = callTeamMessageBridge,
|
|
184
|
+
resolveCredential = resolveCredentialEnvironmentValue,
|
|
183
185
|
} = {}) {
|
|
184
186
|
const endpoint = env.CC_TEAM_MESSAGE_BRIDGE_ENDPOINT;
|
|
185
|
-
const
|
|
187
|
+
const tokenReference = env.CC_CRED_REF_CC_TEAM_MESSAGE_BRIDGE_TOKEN;
|
|
186
188
|
const protocol = Number(env.CC_TEAM_MESSAGE_BRIDGE_PROTOCOL);
|
|
187
|
-
if (
|
|
189
|
+
if (
|
|
190
|
+
!endpoint &&
|
|
191
|
+
!env.CC_TEAM_MESSAGE_BRIDGE_TOKEN &&
|
|
192
|
+
!tokenReference &&
|
|
193
|
+
!env.CC_TEAM_MESSAGE_BRIDGE_PROTOCOL
|
|
194
|
+
) {
|
|
195
|
+
return null;
|
|
196
|
+
}
|
|
188
197
|
if (
|
|
189
198
|
typeof endpoint !== "string" ||
|
|
190
199
|
!endpoint ||
|
|
200
|
+
protocol !== TEAM_MESSAGE_BRIDGE_PROTOCOL
|
|
201
|
+
) {
|
|
202
|
+
const error = new Error("Team message bridge environment is invalid");
|
|
203
|
+
error.code = "TEAM_MESSAGE_BRIDGE_CONFIG_INVALID";
|
|
204
|
+
throw error;
|
|
205
|
+
}
|
|
206
|
+
const token = await resolveCredential("CC_TEAM_MESSAGE_BRIDGE_TOKEN", {
|
|
207
|
+
env,
|
|
208
|
+
});
|
|
209
|
+
if (
|
|
191
210
|
typeof token !== "string" ||
|
|
192
211
|
token.length !== 64 ||
|
|
193
|
-
!/^[a-f0-9]{64}$/u.test(token)
|
|
194
|
-
protocol !== TEAM_MESSAGE_BRIDGE_PROTOCOL
|
|
212
|
+
!/^[a-f0-9]{64}$/u.test(token)
|
|
195
213
|
) {
|
|
196
214
|
const error = new Error("Team message bridge environment is invalid");
|
|
197
215
|
error.code = "TEAM_MESSAGE_BRIDGE_CONFIG_INVALID";
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
const MEMORY_MUTATION_EVENTS = new Set([
|
|
2
|
+
"memory.candidate.created",
|
|
3
|
+
"memory.activated",
|
|
4
|
+
"memory.reinforced",
|
|
5
|
+
"memory.superseded",
|
|
6
|
+
"memory.expired",
|
|
7
|
+
]);
|
|
8
|
+
|
|
9
|
+
export function contextPlanCreatedNotification(plan) {
|
|
10
|
+
return {
|
|
11
|
+
method: "context/event",
|
|
12
|
+
params: { type: "context.plan.created", plan },
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export function memoryRecalledNotification(result) {
|
|
17
|
+
return {
|
|
18
|
+
method: "memory/event",
|
|
19
|
+
params: { type: "memory.recalled", result },
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export function memoryMutationNotification(mutation) {
|
|
24
|
+
if (!MEMORY_MUTATION_EVENTS.has(mutation?.event?.type)) return null;
|
|
25
|
+
return {
|
|
26
|
+
method: "memory/event",
|
|
27
|
+
params: {
|
|
28
|
+
type: mutation.event.type,
|
|
29
|
+
memory_id: mutation.record.memoryId,
|
|
30
|
+
revision: mutation.record.revision,
|
|
31
|
+
record_digest: mutation.record.digest,
|
|
32
|
+
record: mutation.record,
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export function memoryDeletionNotification(receipt, operationId = receipt?.requestId) {
|
|
38
|
+
if (!receipt?.memoryId || !receipt?.recordDigest || !receipt?.revision) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
const purged = receipt.status === "purged";
|
|
42
|
+
return {
|
|
43
|
+
method: "memory/event",
|
|
44
|
+
params: {
|
|
45
|
+
type: purged ? "memory.purged" : "memory.deleted",
|
|
46
|
+
operation_id: operationId,
|
|
47
|
+
request_id: receipt.requestId || operationId,
|
|
48
|
+
memory_id: receipt.memoryId,
|
|
49
|
+
revision: receipt.revision,
|
|
50
|
+
record_digest: receipt.recordDigest,
|
|
51
|
+
...(purged ? { receipt } : {}),
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
JsonlRolloutStore,
|
|
5
|
+
assertRolloutStore,
|
|
6
|
+
defaultRolloutStoreDirectory,
|
|
7
|
+
} from "./rollout-store.js";
|
|
8
|
+
import {
|
|
9
|
+
SqliteRolloutStore,
|
|
10
|
+
sqliteRolloutStoreAvailable,
|
|
11
|
+
} from "./sqlite-rollout-store.js";
|
|
12
|
+
|
|
13
|
+
export const ROLLOUT_STORE_BACKENDS = Object.freeze(["jsonl", "sqlite"]);
|
|
14
|
+
export const ROLLOUT_STORE_ENV = "CHAINLESSCHAIN_ROLLOUT_STORE";
|
|
15
|
+
export const ROLLOUT_STORE_PATH_ENV = "CHAINLESSCHAIN_ROLLOUT_STORE_PATH";
|
|
16
|
+
|
|
17
|
+
function factoryError(code, message, details = {}) {
|
|
18
|
+
const error = new Error(message);
|
|
19
|
+
error.name = "RolloutStoreFactoryError";
|
|
20
|
+
error.code = code;
|
|
21
|
+
Object.assign(error, details);
|
|
22
|
+
return error;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export function normalizeRolloutStoreBackend(value = null) {
|
|
26
|
+
const backend = String(value || "jsonl")
|
|
27
|
+
.trim()
|
|
28
|
+
.toLowerCase();
|
|
29
|
+
if (!ROLLOUT_STORE_BACKENDS.includes(backend)) {
|
|
30
|
+
throw factoryError(
|
|
31
|
+
"CC_ROLLOUT_BACKEND_UNSUPPORTED",
|
|
32
|
+
`unsupported rollout store backend: ${backend || "empty"}`,
|
|
33
|
+
{ backend, supported: [...ROLLOUT_STORE_BACKENDS] },
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
return backend;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export function defaultSqliteRolloutStoreFilename() {
|
|
40
|
+
return path.join(
|
|
41
|
+
path.dirname(defaultRolloutStoreDirectory()),
|
|
42
|
+
"rollouts.sqlite",
|
|
43
|
+
);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
function labelStore(store, backend, location) {
|
|
47
|
+
if (!Object.isExtensible(store)) return store;
|
|
48
|
+
for (const [key, value] of Object.entries({ backend, location })) {
|
|
49
|
+
if (!Object.prototype.hasOwnProperty.call(store, key)) {
|
|
50
|
+
Object.defineProperty(store, key, {
|
|
51
|
+
configurable: false,
|
|
52
|
+
enumerable: false,
|
|
53
|
+
writable: false,
|
|
54
|
+
value,
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return store;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Resolve one physical adapter behind the canonical RolloutStore contract.
|
|
63
|
+
* A host-provided adapter is the extension seam for remote/synchronized stores;
|
|
64
|
+
* it is accepted only after the complete logical contract is present.
|
|
65
|
+
*/
|
|
66
|
+
export function createRolloutStore({
|
|
67
|
+
backend = process.env[ROLLOUT_STORE_ENV] || "jsonl",
|
|
68
|
+
location = process.env[ROLLOUT_STORE_PATH_ENV] || null,
|
|
69
|
+
directory = null,
|
|
70
|
+
filename = null,
|
|
71
|
+
adapter = null,
|
|
72
|
+
now = Date.now,
|
|
73
|
+
} = {}) {
|
|
74
|
+
if (adapter) {
|
|
75
|
+
return labelStore(assertRolloutStore(adapter), "custom", location || null);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
const normalizedBackend = normalizeRolloutStoreBackend(backend);
|
|
79
|
+
if (normalizedBackend === "jsonl") {
|
|
80
|
+
const resolvedDirectory = path.resolve(
|
|
81
|
+
directory || location || defaultRolloutStoreDirectory(),
|
|
82
|
+
);
|
|
83
|
+
return labelStore(
|
|
84
|
+
assertRolloutStore(
|
|
85
|
+
new JsonlRolloutStore({ directory: resolvedDirectory, now }),
|
|
86
|
+
),
|
|
87
|
+
normalizedBackend,
|
|
88
|
+
resolvedDirectory,
|
|
89
|
+
);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
if (!sqliteRolloutStoreAvailable()) {
|
|
93
|
+
throw factoryError(
|
|
94
|
+
"CC_ROLLOUT_SQLITE_UNAVAILABLE",
|
|
95
|
+
"SQLite rollout storage is unavailable in this Node runtime",
|
|
96
|
+
);
|
|
97
|
+
}
|
|
98
|
+
const resolvedFilename = path.resolve(
|
|
99
|
+
filename ||
|
|
100
|
+
(directory ? path.join(directory, "rollouts.sqlite") : null) ||
|
|
101
|
+
location ||
|
|
102
|
+
defaultSqliteRolloutStoreFilename(),
|
|
103
|
+
);
|
|
104
|
+
return labelStore(
|
|
105
|
+
assertRolloutStore(
|
|
106
|
+
new SqliteRolloutStore({ filename: resolvedFilename, now }),
|
|
107
|
+
),
|
|
108
|
+
normalizedBackend,
|
|
109
|
+
resolvedFilename,
|
|
110
|
+
);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
export function closeRolloutStore(store) {
|
|
114
|
+
if (store && typeof store.close === "function") store.close();
|
|
115
|
+
}
|