@yalehwang/cloudpit 2.0.0 → 3.0.0
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 +1 -1
- package/dist/api-docs.html +3 -3
- package/dist/assets/{abnfDiagram-N423BO3Z-D5yLnMt9.js → abnfDiagram-N423BO3Z-D7Xt05gV.js} +1 -1
- package/dist/assets/{abnfDiagram-N423BO3Z-bTHtQIhR.js → abnfDiagram-N423BO3Z-dmPRRPEm.js} +1 -1
- package/dist/assets/{arc-1DmrBEyG.js → arc-B7W3R5qH.js} +1 -1
- package/dist/assets/{arc-BlGK--01.js → arc-BHMlIcaQ.js} +1 -1
- package/dist/assets/{architectureDiagram-T3A2C74G--lzbKBn9.js → architectureDiagram-T3A2C74G-CUUpAoN0.js} +1 -1
- package/dist/assets/{architectureDiagram-T3A2C74G-7lKNAbUU.js → architectureDiagram-T3A2C74G-DpXhbHxu.js} +1 -1
- package/dist/assets/{blockDiagram-VBNYF7ZC-17cdO9zs.js → blockDiagram-VBNYF7ZC-Bf0yfNxj.js} +1 -1
- package/dist/assets/{blockDiagram-VBNYF7ZC-BPavJfDj.js → blockDiagram-VBNYF7ZC-Cki9AOhc.js} +1 -1
- package/dist/assets/{c4Diagram-5PPSVZJV-Bm1-2w3b.js → c4Diagram-5PPSVZJV-DK2RqNDO.js} +1 -1
- package/dist/assets/{c4Diagram-5PPSVZJV-aHvFL3Wb.js → c4Diagram-5PPSVZJV-DyhTF0e5.js} +1 -1
- package/dist/assets/channel-DTLMNzbH.js +1 -0
- package/dist/assets/channel-DiqxUuPf.js +1 -0
- package/dist/assets/{chunk-2GRJ4B5K-D7WqZewM.js → chunk-2GRJ4B5K-BYtByJbf.js} +1 -1
- package/dist/assets/{chunk-2GRJ4B5K-DbwzBiPF.js → chunk-2GRJ4B5K-CksFgocc.js} +1 -1
- package/dist/assets/{chunk-2Q5K7J3B-DdCr89uy.js → chunk-2Q5K7J3B-D2kQa5TZ.js} +1 -1
- package/dist/assets/{chunk-2Q5K7J3B-TFd0ECKO.js → chunk-2Q5K7J3B-NSSX86FA.js} +1 -1
- package/dist/assets/{chunk-5RXB4S5H-BdhRBpEi.js → chunk-5RXB4S5H-DNNYC8_t.js} +1 -1
- package/dist/assets/{chunk-5RXB4S5H-D0SQ3nIe.js → chunk-5RXB4S5H-Rx0YaqNI.js} +1 -1
- package/dist/assets/{chunk-5VM5RSS4-B9Lv3cWR.js → chunk-5VM5RSS4-B1k4I4CX.js} +1 -1
- package/dist/assets/{chunk-5VM5RSS4-DioqTIvB.js → chunk-5VM5RSS4-CsvQj3QC.js} +1 -1
- package/dist/assets/{chunk-6Q2QTUOP-09bwlcIv.js → chunk-6Q2QTUOP-48-dEgAs.js} +1 -1
- package/dist/assets/{chunk-6Q2QTUOP-JuhPJZZL.js → chunk-6Q2QTUOP-DCMSW5_0.js} +1 -1
- package/dist/assets/{chunk-GF5L2VYU-C6f2SgCw.js → chunk-GF5L2VYU-CGyvOsdN.js} +1 -1
- package/dist/assets/{chunk-GF5L2VYU-DzD9aOyp.js → chunk-GF5L2VYU-YXe113hp.js} +1 -1
- package/dist/assets/{chunk-JWPE2WC7-BggnWNZv.js → chunk-JWPE2WC7-BT7vCW4x.js} +1 -1
- package/dist/assets/{chunk-JWPE2WC7-Dte_Ax9K.js → chunk-JWPE2WC7-D2K1Oywq.js} +1 -1
- package/dist/assets/{chunk-KBJHAD2P-9TCQV92m.js → chunk-KBJHAD2P-CQZWamtE.js} +1 -1
- package/dist/assets/{chunk-KBJHAD2P-DDnJp7kJ.js → chunk-KBJHAD2P-gpEwZrNy.js} +1 -1
- package/dist/assets/{chunk-RYQCIY6F-CE2Y4D_h.js → chunk-RYQCIY6F-BI0fMtjY.js} +1 -1
- package/dist/assets/{chunk-RYQCIY6F-DsgFSTNw.js → chunk-RYQCIY6F-vguRdb4F.js} +1 -1
- package/dist/assets/{chunk-XXDRQBXY-B1FIfsqq.js → chunk-XXDRQBXY-B99qH1_w.js} +1 -1
- package/dist/assets/{chunk-XXDRQBXY-B4YfaqTO.js → chunk-XXDRQBXY-DZLJnbBB.js} +1 -1
- package/dist/assets/classDiagram-JCYQIIEL-BaV-s6x8.js +1 -0
- package/dist/assets/classDiagram-JCYQIIEL-D4M03B4L.js +1 -0
- package/dist/assets/classDiagram-v2-OCEON4UE-BaV-s6x8.js +1 -0
- package/dist/assets/classDiagram-v2-OCEON4UE-D4M03B4L.js +1 -0
- package/dist/assets/{cose-bilkent-JH36ORCC-C1AG5Pib.js → cose-bilkent-JH36ORCC-EsVnz-E6.js} +1 -1
- package/dist/assets/{cose-bilkent-JH36ORCC-lMwWDibI.js → cose-bilkent-JH36ORCC-VI2OjCIx.js} +1 -1
- package/dist/assets/{cynefin-VYW2F7L2-BlabniRL.js → cynefin-VYW2F7L2-BVYg0ixs.js} +1 -1
- package/dist/assets/{cynefin-VYW2F7L2-W-c-z4IW.js → cynefin-VYW2F7L2-BnHmA5I2.js} +1 -1
- package/dist/assets/{cynefinDiagram-MW4NZA55-BtTep_pq.js → cynefinDiagram-MW4NZA55-B-OCRLIw.js} +1 -1
- package/dist/assets/{cynefinDiagram-MW4NZA55-Due6EIPh.js → cynefinDiagram-MW4NZA55-ItLlzjDR.js} +1 -1
- package/dist/assets/{dagre-VZM6K2ZE-CWLaFfdt.js → dagre-VZM6K2ZE-DkVDkAWJ.js} +1 -1
- package/dist/assets/{dagre-VZM6K2ZE-DZldvqiQ.js → dagre-VZM6K2ZE-bYR4z8-Z.js} +1 -1
- package/dist/assets/{diagram-7IWD3JNH-RnmUHYwN.js → diagram-7IWD3JNH-DjXMue67.js} +1 -1
- package/dist/assets/{diagram-7IWD3JNH-Di-7-nSA.js → diagram-7IWD3JNH-FNEXlm5k.js} +1 -1
- package/dist/assets/{diagram-B4RE2ZJO-Wybyn8fw.js → diagram-B4RE2ZJO-73NYiO_P.js} +1 -1
- package/dist/assets/{diagram-B4RE2ZJO-mrK79C2E.js → diagram-B4RE2ZJO-dB4QHq0D.js} +1 -1
- package/dist/assets/{diagram-LBJQPF4R-JY6FqSFu.js → diagram-LBJQPF4R-DyKT610O.js} +1 -1
- package/dist/assets/{diagram-LBJQPF4R-sWhu2VLy.js → diagram-LBJQPF4R-rMgmnjvd.js} +1 -1
- package/dist/assets/{diagram-Q27KOJAE-BJ4T0WGp.js → diagram-Q27KOJAE-BvsfmmQt.js} +1 -1
- package/dist/assets/{diagram-Q27KOJAE-DyGT9KhB.js → diagram-Q27KOJAE-c6DEjLQX.js} +1 -1
- package/dist/assets/{diagram-UB23O5K3-oXFJAndB.js → diagram-UB23O5K3-BMo2VXVb.js} +1 -1
- package/dist/assets/{diagram-UB23O5K3-tTd8qwEM.js → diagram-UB23O5K3-DRMKefnZ.js} +1 -1
- package/dist/assets/{ebnfDiagram-BXEA7PRR-DV67cBe6.js → ebnfDiagram-BXEA7PRR-BrOAekWh.js} +1 -1
- package/dist/assets/{ebnfDiagram-BXEA7PRR-OQGm8tPs.js → ebnfDiagram-BXEA7PRR-YmQkylwV.js} +1 -1
- package/dist/assets/{elk-BRx4gEGg.js → elk-Hz3WRESK.js} +1 -1
- package/dist/assets/{elk-CdAQJ-NA.js → elk-tPSZwRVB.js} +1 -1
- package/dist/assets/{erDiagram-JOGREHBK-BhD2xZ2I.js → erDiagram-JOGREHBK-BlaZnoQi.js} +1 -1
- package/dist/assets/{erDiagram-JOGREHBK-BqP8DqqW.js → erDiagram-JOGREHBK-CRCfRUXt.js} +1 -1
- package/dist/assets/{flowDiagram-UKHOOZJN-B4AjZxPJ.js → flowDiagram-UKHOOZJN-DQ1gbjxo.js} +1 -1
- package/dist/assets/{flowDiagram-UKHOOZJN-CP_1WsW4.js → flowDiagram-UKHOOZJN-Dinlbmds.js} +1 -1
- package/dist/assets/{ganttDiagram-PKOTCBZU-BMk6nngr.js → ganttDiagram-PKOTCBZU-CMGpcBZO.js} +1 -1
- package/dist/assets/{ganttDiagram-PKOTCBZU-B_ce39Ld.js → ganttDiagram-PKOTCBZU-Eh94zuPI.js} +1 -1
- package/dist/assets/{gitGraphDiagram-DS77QQ5N-CnZA42iA.js → gitGraphDiagram-DS77QQ5N-Bp8xIZbk.js} +1 -1
- package/dist/assets/{gitGraphDiagram-DS77QQ5N-DqEz_iTn.js → gitGraphDiagram-DS77QQ5N-Cu-b4YNw.js} +1 -1
- package/dist/assets/index-51e8fagd.css +32 -0
- package/dist/assets/{index-D5nLH7qP.js → index-CQE9C6k6.js} +356 -356
- package/dist/assets/{index-CqyOGerp.js → index-S8ow0XfK.js} +356 -356
- package/dist/assets/{infoDiagram-6WML65LV-BQf7m4X4.js → infoDiagram-6WML65LV-CClEEtTq.js} +1 -1
- package/dist/assets/{infoDiagram-6WML65LV-Dntf4YFM.js → infoDiagram-6WML65LV-QmHeojgl.js} +1 -1
- package/dist/assets/{ishikawaDiagram-WSZJBQD7-BDjsldAI.js → ishikawaDiagram-WSZJBQD7-BemSj9lN.js} +1 -1
- package/dist/assets/{ishikawaDiagram-WSZJBQD7-BqXpJeoL.js → ishikawaDiagram-WSZJBQD7-nw48g1vr.js} +1 -1
- package/dist/assets/{journeyDiagram-NVQOT4AX-CBcFzP2M.js → journeyDiagram-NVQOT4AX-DeNtO6OU.js} +1 -1
- package/dist/assets/{journeyDiagram-NVQOT4AX-DoWKjgKd.js → journeyDiagram-NVQOT4AX-q1lCfOYn.js} +1 -1
- package/dist/assets/{kanban-definition-27J2QSJJ-9bspl7j-.js → kanban-definition-27J2QSJJ-Bzhu6hql.js} +1 -1
- package/dist/assets/{kanban-definition-27J2QSJJ-Cjxa-Fbb.js → kanban-definition-27J2QSJJ-VfvD33YG.js} +1 -1
- package/dist/assets/{linear-YogAXmU_.js → linear-C0Kwu3Yp.js} +1 -1
- package/dist/assets/{linear-lIhI5Y8l.js → linear-CbM_4-fP.js} +1 -1
- package/dist/assets/{mermaid.core-2Spxcrg7.js → mermaid.core-G2huIsXn.js} +5 -5
- package/dist/assets/{mermaid.core-BxxInCBm.js → mermaid.core-fvTQFUX1.js} +5 -5
- package/dist/assets/{mindmap-definition-FAOFIHXS-DblO5EG4.js → mindmap-definition-FAOFIHXS-BONvuyvz.js} +1 -1
- package/dist/assets/{mindmap-definition-FAOFIHXS-_nlvJ9VK.js → mindmap-definition-FAOFIHXS-BzYawGKQ.js} +1 -1
- package/dist/assets/{pegDiagram-VL7TDLO6-BBJFPAZG.js → pegDiagram-VL7TDLO6-Df2HAKGH.js} +1 -1
- package/dist/assets/{pegDiagram-VL7TDLO6-DhRH7YRf.js → pegDiagram-VL7TDLO6-DnMwBHn_.js} +1 -1
- package/dist/assets/{pieDiagram-7S7Q4E2Y-4Qy7Nk4U.js → pieDiagram-7S7Q4E2Y-Cd3-a-dM.js} +1 -1
- package/dist/assets/{pieDiagram-7S7Q4E2Y-BUtdeYBT.js → pieDiagram-7S7Q4E2Y-LV6TOhOD.js} +1 -1
- package/dist/assets/{quadrantDiagram-CIZ2JOQS-BUoIDY1r.js → quadrantDiagram-CIZ2JOQS-8VOnA3FV.js} +1 -1
- package/dist/assets/{quadrantDiagram-CIZ2JOQS-D90kdHA1.js → quadrantDiagram-CIZ2JOQS-CnwxFPxh.js} +1 -1
- package/dist/assets/{railroadDiagram-AXF67PYL-CJf9--tj.js → railroadDiagram-AXF67PYL-CXBFj3Iu.js} +1 -1
- package/dist/assets/{railroadDiagram-AXF67PYL-D3S1oliC.js → railroadDiagram-AXF67PYL-DLoAPcsb.js} +1 -1
- package/dist/assets/{requirementDiagram-LRYGKXZP-C04jhjS6.js → requirementDiagram-LRYGKXZP-LrVlZXSz.js} +1 -1
- package/dist/assets/{requirementDiagram-LRYGKXZP-cQaGai5h.js → requirementDiagram-LRYGKXZP-pakITowN.js} +1 -1
- package/dist/assets/{sankeyDiagram-W5VNT64P-AT4cTVbY.js → sankeyDiagram-W5VNT64P-BIQQ8A1I.js} +1 -1
- package/dist/assets/{sankeyDiagram-W5VNT64P-DfFUdqYO.js → sankeyDiagram-W5VNT64P-C6QWOxNM.js} +1 -1
- package/dist/assets/{sequenceDiagram-SI44F4Z6-DbjhG030.js → sequenceDiagram-SI44F4Z6-CpHBe2CG.js} +1 -1
- package/dist/assets/{sequenceDiagram-SI44F4Z6-DKjdupix.js → sequenceDiagram-SI44F4Z6-cnLxaxcV.js} +1 -1
- package/dist/assets/{sizeCapture-X5ZJPWSS-CCcKLP8m.js → sizeCapture-X5ZJPWSS-3g-1onHD.js} +1 -1
- package/dist/assets/{sizeCapture-X5ZJPWSS-DGxRWxeo.js → sizeCapture-X5ZJPWSS-4U6b3PSL.js} +1 -1
- package/dist/assets/{stateDiagram-OKZ733FA-D7wGCNb7.js → stateDiagram-OKZ733FA-CFwVDdlY.js} +1 -1
- package/dist/assets/{stateDiagram-OKZ733FA-qdMAailp.js → stateDiagram-OKZ733FA-CKVGJcM2.js} +1 -1
- package/dist/assets/{stateDiagram-v2-UEYNNEHI-BbmmtA9w.js → stateDiagram-v2-UEYNNEHI-Dnbk8ftm.js} +1 -1
- package/dist/assets/{stateDiagram-v2-UEYNNEHI-Diz_hFvh.js → stateDiagram-v2-UEYNNEHI-rlA-woxH.js} +1 -1
- package/dist/assets/{swimlanes-SLNWSIFB-CZgIPz6I.js → swimlanes-SLNWSIFB-DCwz8-mf.js} +2 -2
- package/dist/assets/{swimlanes-SLNWSIFB-B16H-6OU.js → swimlanes-SLNWSIFB-M9Oumwnl.js} +2 -2
- package/dist/assets/swimlanesDiagram-ULZ7WXOC-CTtTyW6-.js +8 -0
- package/dist/assets/swimlanesDiagram-ULZ7WXOC-Caohx6WZ.js +8 -0
- package/dist/assets/{timeline-definition-Z64GVDOM-7r7OVlrT.js → timeline-definition-Z64GVDOM-BVmfjoWH.js} +1 -1
- package/dist/assets/{timeline-definition-Z64GVDOM-nhnkS_wy.js → timeline-definition-Z64GVDOM-DyXvto1l.js} +1 -1
- package/dist/assets/{vennDiagram-T6HMQDX7-B1piFYrz.js → vennDiagram-T6HMQDX7-CNe6zorb.js} +1 -1
- package/dist/assets/{vennDiagram-T6HMQDX7-x8SJTFhK.js → vennDiagram-T6HMQDX7-DyzOWKx3.js} +1 -1
- package/dist/assets/{wardleyDiagram-T6FBY63Y-BdD4GExj.js → wardleyDiagram-T6FBY63Y-D5YvMVwa.js} +1 -1
- package/dist/assets/{wardleyDiagram-T6FBY63Y-C90xqNVS.js → wardleyDiagram-T6FBY63Y-DXo8BCrA.js} +1 -1
- package/dist/assets/{xychartDiagram-ELKLHX3M--Ndoz0Cq.js → xychartDiagram-ELKLHX3M-CIBffVxC.js} +1 -1
- package/dist/assets/{xychartDiagram-ELKLHX3M-BAKns-7o.js → xychartDiagram-ELKLHX3M-XlsWelDb.js} +1 -1
- package/dist/build-info.json +2 -2
- package/dist/convert-icons.md +10 -46
- package/dist/favicon.png +0 -0
- package/dist/favicon.svg +1 -9
- package/dist/generate-icons.js +67 -47
- package/dist/icons/icon-128x128.png +0 -0
- package/dist/icons/icon-144x144.png +0 -0
- package/dist/icons/icon-152x152.png +0 -0
- package/dist/icons/icon-192x192.png +0 -0
- package/dist/icons/icon-384x384.png +0 -0
- package/dist/icons/icon-512x512.png +0 -0
- package/dist/icons/icon-72x72.png +0 -0
- package/dist/icons/icon-96x96.png +0 -0
- package/dist/index.html +2 -2
- package/dist/logo-128.png +0 -0
- package/dist/logo-256.png +0 -0
- package/dist/logo-32.png +0 -0
- package/dist/logo-512.png +0 -0
- package/dist/logo-64.png +0 -0
- package/dist/logo-source.png +0 -0
- package/dist/logo.svg +1 -17
- package/dist/sw.js +7 -9
- package/dist-server/build-info.json +2 -2
- package/dist-server/server/load-env.js +12 -4
- package/dist-server/server/load-env.js.map +1 -1
- package/dist-server/server/modules/browser-use/browser-use.service.js +33 -11
- package/dist-server/server/modules/browser-use/browser-use.service.js.map +1 -1
- package/dist-server/server/modules/browser-use/index.js +4 -4
- package/dist-server/server/modules/browser-use/index.js.map +1 -1
- package/dist-server/server/modules/browser-use/mcp-server-names.js +6 -4
- package/dist-server/server/modules/browser-use/mcp-server-names.js.map +1 -1
- package/dist-server/server/modules/browser-use/tests/browser-use.service.test.js +49 -1
- package/dist-server/server/modules/browser-use/tests/browser-use.service.test.js.map +1 -1
- package/dist-server/server/modules/cli/asset-migration-files.js +74 -0
- package/dist-server/server/modules/cli/asset-migration-files.js.map +1 -0
- package/dist-server/server/modules/cli/asset-migration-report.js +80 -0
- package/dist-server/server/modules/cli/asset-migration-report.js.map +1 -0
- package/dist-server/server/modules/cli/asset-migration-store.js +153 -0
- package/dist-server/server/modules/cli/asset-migration-store.js.map +1 -0
- package/dist-server/server/modules/cli/asset-migration.service.js +161 -0
- package/dist-server/server/modules/cli/asset-migration.service.js.map +1 -0
- package/dist-server/server/modules/cli/browser-use-mcp.js +9 -4
- package/dist-server/server/modules/cli/browser-use-mcp.js.map +1 -1
- package/dist-server/server/modules/cli/cli.module.js +21 -1
- package/dist-server/server/modules/cli/cli.module.js.map +1 -1
- package/dist-server/server/modules/cli/cli.service.js +6 -1
- package/dist-server/server/modules/cli/cli.service.js.map +1 -1
- package/dist-server/server/modules/cli/tests/asset-migration.service.test.js +275 -0
- package/dist-server/server/modules/cli/tests/asset-migration.service.test.js.map +1 -0
- package/dist-server/server/modules/cli/tests/browser-use-mcp-entry.test.js +157 -0
- package/dist-server/server/modules/cli/tests/browser-use-mcp-entry.test.js.map +1 -1
- package/dist-server/server/modules/cli/tests/cli-environment-bootstrap.test.js +1 -0
- package/dist-server/server/modules/cli/tests/cli-environment-bootstrap.test.js.map +1 -1
- package/dist-server/server/modules/cli/tests/cli.service.test.js +6 -1
- package/dist-server/server/modules/cli/tests/cli.service.test.js.map +1 -1
- package/dist-server/server/modules/cockpit/cockpit-brief-prompt.js +1 -1
- package/dist-server/server/modules/cockpit/cockpit-card-actions.js +19 -3
- package/dist-server/server/modules/cockpit/cockpit-card-actions.js.map +1 -1
- package/dist-server/server/modules/cockpit/cockpit-card-feedback-store.js +94 -9
- package/dist-server/server/modules/cockpit/cockpit-card-feedback-store.js.map +1 -1
- package/dist-server/server/modules/cockpit/cockpit-card-registry.js +1 -1
- package/dist-server/server/modules/cockpit/cockpit-fleet-card-projection.js +3 -0
- package/dist-server/server/modules/cockpit/cockpit-fleet-card-projection.js.map +1 -1
- package/dist-server/server/modules/cockpit/cockpit-knowledge-reading.js +16 -0
- package/dist-server/server/modules/cockpit/cockpit-knowledge-reading.js.map +1 -1
- package/dist-server/server/modules/cockpit/cockpit.module.js +1 -1
- package/dist-server/server/modules/cockpit/tests/cockpit-card-feedback.test.js +96 -1
- package/dist-server/server/modules/cockpit/tests/cockpit-card-feedback.test.js.map +1 -1
- package/dist-server/server/modules/cockpit/tests/cockpit-fleet-card-provider.test.js +2 -2
- package/dist-server/server/modules/cockpit/tests/cockpit-knowledge-decision-handoff.test.js +169 -3
- package/dist-server/server/modules/cockpit/tests/cockpit-knowledge-decision-handoff.test.js.map +1 -1
- package/dist-server/server/modules/context-events/context-event-writer.js +5 -5
- package/dist-server/server/modules/context-events/context-events.module.js +2 -2
- package/dist-server/server/modules/context-events/session-ask-stream-reader.js +1 -1
- package/dist-server/server/modules/context-events/session-blocked-events.js +3 -3
- package/dist-server/server/modules/context-events/tests/session-ask-event-writer.test.js +1 -1
- package/dist-server/server/modules/context-events/tests/session-blocked-events.test.js +3 -3
- package/dist-server/server/modules/context-events/tests/session-run-events.test.js +1 -1
- package/dist-server/server/modules/database/migrations.js +23 -1
- package/dist-server/server/modules/database/migrations.js.map +1 -1
- package/dist-server/server/modules/database/repositories/sessions.db.js +25 -4
- package/dist-server/server/modules/database/repositories/sessions.db.js.map +1 -1
- package/dist-server/server/modules/database/repositories/voice-user-identifiers.db.js +1 -1
- package/dist-server/server/modules/database/schema.js +16 -2
- package/dist-server/server/modules/database/schema.js.map +1 -1
- package/dist-server/server/modules/database/tests/migrations-ensure-columns.test.js +2 -0
- package/dist-server/server/modules/database/tests/migrations-ensure-columns.test.js.map +1 -1
- package/dist-server/server/modules/database/tests/sessions-provider-mapping.test.js +2 -2
- package/dist-server/server/modules/debug-agent/tests/debug-agent-permission-popup.test.js +2 -2
- package/dist-server/server/modules/liaison/liaison-deliver.service.js +3 -3
- package/dist-server/server/modules/liaison/liaison.module.js +1 -1
- package/dist-server/server/modules/mcp-gateway/mcp-gateway.auth.js +3 -2
- package/dist-server/server/modules/mcp-gateway/mcp-gateway.auth.js.map +1 -1
- package/dist-server/server/modules/mcp-gateway/mcp-self-target.js +2 -2
- package/dist-server/server/modules/mcp-gateway/mcp-session-send.js +7 -0
- package/dist-server/server/modules/mcp-gateway/mcp-session-send.js.map +1 -1
- package/dist-server/server/modules/mcp-gateway/mcp-tool-annotations.js +4 -4
- package/dist-server/server/modules/mcp-gateway/oauth-metadata.gate.js +4 -2
- package/dist-server/server/modules/mcp-gateway/oauth-metadata.gate.js.map +1 -1
- package/dist-server/server/modules/mcp-gateway/tests/knowledge-effective-config-proof.test.js +1 -1
- package/dist-server/server/modules/mcp-gateway/tests/knowledge-peer-correlation-proof.test.js +2 -2
- package/dist-server/server/modules/mcp-gateway/tests/mcp-approvals.test.js +3 -2
- package/dist-server/server/modules/mcp-gateway/tests/mcp-approvals.test.js.map +1 -1
- package/dist-server/server/modules/mcp-gateway/tests/mcp-audit-route.test.js +1 -1
- package/dist-server/server/modules/mcp-gateway/tests/mcp-audit.test.js +4 -4
- package/dist-server/server/modules/mcp-gateway/tests/mcp-auth.test.js +3 -1
- package/dist-server/server/modules/mcp-gateway/tests/mcp-auth.test.js.map +1 -1
- package/dist-server/server/modules/mcp-gateway/tests/mcp-cancel-queued.test.js +3 -2
- package/dist-server/server/modules/mcp-gateway/tests/mcp-cancel-queued.test.js.map +1 -1
- package/dist-server/server/modules/mcp-gateway/tests/mcp-cockpit-tools.test.js +7 -3
- package/dist-server/server/modules/mcp-gateway/tests/mcp-cockpit-tools.test.js.map +1 -1
- package/dist-server/server/modules/mcp-gateway/tests/mcp-correlation-id.test.js +8 -8
- package/dist-server/server/modules/mcp-gateway/tests/mcp-draft.test.js +3 -2
- package/dist-server/server/modules/mcp-gateway/tests/mcp-draft.test.js.map +1 -1
- package/dist-server/server/modules/mcp-gateway/tests/mcp-english-only.test.js +1 -1
- package/dist-server/server/modules/mcp-gateway/tests/mcp-gateway-wiring.test.js +2 -2
- package/dist-server/server/modules/mcp-gateway/tests/mcp-insufficient-scope.test.js +1 -1
- package/dist-server/server/modules/mcp-gateway/tests/mcp-insufficient-scope.test.js.map +1 -1
- package/dist-server/server/modules/mcp-gateway/tests/mcp-knowledge-facts.test.js +1 -1
- package/dist-server/server/modules/mcp-gateway/tests/mcp-not-found-semantics.test.js +1 -1
- package/dist-server/server/modules/mcp-gateway/tests/mcp-not-found-semantics.test.js.map +1 -1
- package/dist-server/server/modules/mcp-gateway/tests/mcp-oauth-challenge.test.js +3 -2
- package/dist-server/server/modules/mcp-gateway/tests/mcp-oauth-challenge.test.js.map +1 -1
- package/dist-server/server/modules/mcp-gateway/tests/mcp-overview.test.js +2 -2
- package/dist-server/server/modules/mcp-gateway/tests/mcp-pending-interaction.test.js +2 -2
- package/dist-server/server/modules/mcp-gateway/tests/mcp-read-tools.test.js +3 -3
- package/dist-server/server/modules/mcp-gateway/tests/mcp-read-tools.test.js.map +1 -1
- package/dist-server/server/modules/mcp-gateway/tests/mcp-run-get.test.js +1 -1
- package/dist-server/server/modules/mcp-gateway/tests/mcp-self-target.test.js +1 -1
- package/dist-server/server/modules/mcp-gateway/tests/mcp-self-target.test.js.map +1 -1
- package/dist-server/server/modules/mcp-gateway/tests/mcp-session-background.test.js +2 -2
- package/dist-server/server/modules/mcp-gateway/tests/mcp-session-background.test.js.map +1 -1
- package/dist-server/server/modules/mcp-gateway/tests/mcp-session-host-control.test.js +1 -1
- package/dist-server/server/modules/mcp-gateway/tests/mcp-session-host-control.test.js.map +1 -1
- package/dist-server/server/modules/mcp-gateway/tests/mcp-session-lifecycle.test.js +1 -1
- package/dist-server/server/modules/mcp-gateway/tests/mcp-session-lifecycle.test.js.map +1 -1
- package/dist-server/server/modules/mcp-gateway/tests/mcp-session-reconfigure.test.js +2 -2
- package/dist-server/server/modules/mcp-gateway/tests/mcp-session-reconfigure.test.js.map +1 -1
- package/dist-server/server/modules/mcp-gateway/tests/mcp-session-search-pruning.test.js +1 -1
- package/dist-server/server/modules/mcp-gateway/tests/mcp-session-search.test.js +1 -1
- package/dist-server/server/modules/mcp-gateway/tests/mcp-session-send.test.js +2 -2
- package/dist-server/server/modules/mcp-gateway/tests/mcp-session-send.test.js.map +1 -1
- package/dist-server/server/modules/mcp-gateway/tests/mcp-ui-last-opened.test.js +1 -1
- package/dist-server/server/modules/mcp-gateway/tests/mcp-usage-stats.test.js +1 -1
- package/dist-server/server/modules/mcp-gateway/tests/mcp-usage-stats.test.js.map +1 -1
- package/dist-server/server/modules/mcp-gateway/tests/mcp-write-notification.test.js +2 -2
- package/dist-server/server/modules/mcp-gateway/tests/mcp-write-notification.test.js.map +1 -1
- package/dist-server/server/modules/mcp-gateway/tests/oauth-flow.e2e.test.js +3 -3
- package/dist-server/server/modules/notifications/services/notification-orchestrator.service.js +1 -1
- package/dist-server/server/modules/oauth/access-tokens.service.js +8 -8
- package/dist-server/server/modules/oauth/oauth-consent.service.js +20 -15
- package/dist-server/server/modules/oauth/oauth-consent.service.js.map +1 -1
- package/dist-server/server/modules/oauth/tests/access-token-scopes.test.js +54 -34
- package/dist-server/server/modules/oauth/tests/access-token-scopes.test.js.map +1 -1
- package/dist-server/server/modules/oauth/tests/access-tokens.service.test.js +35 -14
- package/dist-server/server/modules/oauth/tests/access-tokens.service.test.js.map +1 -1
- package/dist-server/server/modules/oauth/tests/oauth-consent-page.test.js +27 -22
- package/dist-server/server/modules/oauth/tests/oauth-consent-page.test.js.map +1 -1
- package/dist-server/server/modules/oauth/tests/oauth-consent-ratelimit.test.js +2 -2
- package/dist-server/server/modules/oauth/tests/token-info.routes.test.js +2 -2
- package/dist-server/server/modules/oauth/tests/token-info.routes.test.js.map +1 -1
- package/dist-server/server/modules/observation/blind-spots.js +1 -1
- package/dist-server/server/modules/observation/observation-store.js +50 -17
- package/dist-server/server/modules/observation/observation-store.js.map +1 -1
- package/dist-server/server/modules/observation/observation-uri.js +31 -19
- package/dist-server/server/modules/observation/observation-uri.js.map +1 -1
- package/dist-server/server/modules/observation/observation.routes.js +1 -1
- package/dist-server/server/modules/observation/project-truth.js +1 -1
- package/dist-server/server/modules/observation/session-ask-decision-answer.js +2 -1
- package/dist-server/server/modules/observation/session-ask-decision-answer.js.map +1 -1
- package/dist-server/server/modules/observation/session-digest-llm.js +7 -1
- package/dist-server/server/modules/observation/session-digest-llm.js.map +1 -1
- package/dist-server/server/modules/observation/session-digest.js +39 -5
- package/dist-server/server/modules/observation/session-digest.js.map +1 -1
- package/dist-server/server/modules/observation/tests/architecture-delta.test.js +1 -1
- package/dist-server/server/modules/observation/tests/observation-routes.test.js +9 -0
- package/dist-server/server/modules/observation/tests/observation-routes.test.js.map +1 -1
- package/dist-server/server/modules/observation/tests/observation-store.test.js +38 -0
- package/dist-server/server/modules/observation/tests/observation-store.test.js.map +1 -1
- package/dist-server/server/modules/observation/tests/project-truth.test.js +2 -2
- package/dist-server/server/modules/observation/tests/session-ask-decision-digest.test.js +150 -0
- package/dist-server/server/modules/observation/tests/session-ask-decision-digest.test.js.map +1 -1
- package/dist-server/server/modules/observation/tests/session-digest.test.js +24 -1
- package/dist-server/server/modules/observation/tests/session-digest.test.js.map +1 -1
- package/dist-server/server/modules/providers/index.js +9 -0
- package/dist-server/server/modules/providers/index.js.map +1 -1
- package/dist-server/server/modules/providers/list/claude/claude-host-driver.provider.js +1 -1
- package/dist-server/server/modules/providers/list/codex/codex-app-server.client.js +22 -3
- package/dist-server/server/modules/providers/list/codex/codex-app-server.client.js.map +1 -1
- package/dist-server/server/modules/providers/list/codex/codex-app-server.connection.js +1 -1
- package/dist-server/server/modules/providers/list/codex/codex-host-driver.contract.js +11 -9
- package/dist-server/server/modules/providers/list/codex/codex-host-driver.contract.js.map +1 -1
- package/dist-server/server/modules/providers/list/codex/codex-host-driver.provider.js +15 -1
- package/dist-server/server/modules/providers/list/codex/codex-host-driver.provider.js.map +1 -1
- package/dist-server/server/modules/providers/list/codex/codex-models.provider.js +14 -3
- package/dist-server/server/modules/providers/list/codex/codex-models.provider.js.map +1 -1
- package/dist-server/server/modules/providers/list/codex/codex-provider-injection.js +248 -0
- package/dist-server/server/modules/providers/list/codex/codex-provider-injection.js.map +1 -0
- package/dist-server/server/modules/providers/list/codex/codex-resident-provider-launch.js +37 -0
- package/dist-server/server/modules/providers/list/codex/codex-resident-provider-launch.js.map +1 -0
- package/dist-server/server/modules/providers/list/codex/codex-runtime.provider.js +19 -1
- package/dist-server/server/modules/providers/list/codex/codex-runtime.provider.js.map +1 -1
- package/dist-server/server/modules/providers/list/cursor/cursor-models.provider.js +1 -1
- package/dist-server/server/modules/providers/list/opencode/opencode-models.provider.js +1 -1
- package/dist-server/server/modules/providers/provider.routes.js +23 -2
- package/dist-server/server/modules/providers/provider.routes.js.map +1 -1
- package/dist-server/server/modules/providers/services/provider-models.service.js +136 -106
- package/dist-server/server/modules/providers/services/provider-models.service.js.map +1 -1
- package/dist-server/server/modules/providers/services/provider-runtime.service.js +3 -0
- package/dist-server/server/modules/providers/services/provider-runtime.service.js.map +1 -1
- package/dist-server/server/modules/providers/services/session-model-resolver.js +106 -0
- package/dist-server/server/modules/providers/services/session-model-resolver.js.map +1 -0
- package/dist-server/server/modules/providers/services/session-provider-binding.js +89 -0
- package/dist-server/server/modules/providers/services/session-provider-binding.js.map +1 -0
- package/dist-server/server/modules/providers/services/sessions.service.js +5 -1
- package/dist-server/server/modules/providers/services/sessions.service.js.map +1 -1
- package/dist-server/server/modules/providers/tests/claude-resident-addressable.test.js +2 -2
- package/dist-server/server/modules/providers/tests/claude-session-name-authority.test.js +4 -4
- package/dist-server/server/modules/providers/tests/codex-app-server-protocol.test.js +1 -1
- package/dist-server/server/modules/providers/tests/codex-host-driver-persistent.test.js +2 -2
- package/dist-server/server/modules/providers/tests/codex-provider-model-binding.test.js +270 -0
- package/dist-server/server/modules/providers/tests/codex-provider-model-binding.test.js.map +1 -0
- package/dist-server/server/modules/providers/tests/codex-resident-provider-injection.test.js +484 -0
- package/dist-server/server/modules/providers/tests/codex-resident-provider-injection.test.js.map +1 -0
- package/dist-server/server/modules/providers/tests/codex-runtime-provider-injection.test.js +228 -0
- package/dist-server/server/modules/providers/tests/codex-runtime-provider-injection.test.js.map +1 -0
- package/dist-server/server/modules/providers/tests/codex-session-provider-binding.test.js +306 -0
- package/dist-server/server/modules/providers/tests/codex-session-provider-binding.test.js.map +1 -0
- package/dist-server/server/modules/providers/tests/codex-sessions.test.js +1 -1
- package/dist-server/server/modules/providers/tests/opencode-sessions.test.js +2 -2
- package/dist-server/server/modules/providers/tests/provider-models.service.test.js +15 -0
- package/dist-server/server/modules/providers/tests/provider-models.service.test.js.map +1 -1
- package/dist-server/server/modules/providers/tests/provider.routes.test.js +1 -1
- package/dist-server/server/modules/quay/index.js +1 -1
- package/dist-server/server/modules/quay/quay-fleet-cli.js +1 -1
- package/dist-server/server/modules/quay/quay-fleet-locator.js +2 -2
- package/dist-server/server/modules/quay/quay-fleet-project-id.js +7 -7
- package/dist-server/server/modules/quay/quay-fleet-registry.js +3 -3
- package/dist-server/server/modules/quay/quay-suite-fanin-reader.js +1 -1
- package/dist-server/server/modules/quay/quay-uri-resolve.js +6 -6
- package/dist-server/server/modules/quay/quay.module.js +3 -3
- package/dist-server/server/modules/quay/quay.routes.js +1 -1
- package/dist-server/server/modules/quay/quay.service.js +4 -4
- package/dist-server/server/modules/quay/tests/contracts/fleet-cli-contracts.test.js +3 -3
- package/dist-server/server/modules/quay/tests/contracts/shapes.js +9 -9
- package/dist-server/server/modules/quay/tests/quay-fleet-locator.test.js +1 -1
- package/dist-server/server/modules/quay/tests/quay-fleet-project-id.test.js +4 -4
- package/dist-server/server/modules/quay/tests/quay-uri-resolve.test.js +10 -10
- package/dist-server/server/modules/session-hosts/tests/resident-server-restart.test.js +1 -1
- package/dist-server/server/modules/settings/codex-mcp-gateway.settings.js +1 -1
- package/dist-server/server/modules/settings/codex-model-providers.schema.js +349 -0
- package/dist-server/server/modules/settings/codex-model-providers.schema.js.map +1 -0
- package/dist-server/server/modules/settings/codex-model-providers.service.js +199 -0
- package/dist-server/server/modules/settings/codex-model-providers.service.js.map +1 -0
- package/dist-server/server/modules/settings/codex-model-providers.settings.js +547 -0
- package/dist-server/server/modules/settings/codex-model-providers.settings.js.map +1 -0
- package/dist-server/server/modules/settings/codex-model-providers.store.js +200 -0
- package/dist-server/server/modules/settings/codex-model-providers.store.js.map +1 -0
- package/dist-server/server/modules/settings/index.js +10 -0
- package/dist-server/server/modules/settings/index.js.map +1 -1
- package/dist-server/server/modules/settings/server-settings-file.js +28 -32
- package/dist-server/server/modules/settings/server-settings-file.js.map +1 -1
- package/dist-server/server/modules/settings/server-settings.js +2 -2
- package/dist-server/server/modules/settings/server-settings.js.map +1 -1
- package/dist-server/server/modules/settings/settings.module.js +35 -0
- package/dist-server/server/modules/settings/settings.module.js.map +1 -1
- package/dist-server/server/modules/settings/settings.routes.js +42 -0
- package/dist-server/server/modules/settings/settings.routes.js.map +1 -1
- package/dist-server/server/modules/settings/settings.service.js +8 -21
- package/dist-server/server/modules/settings/settings.service.js.map +1 -1
- package/dist-server/server/modules/settings/tests/cockpit-session-start-settings.routes.test.js +1 -0
- package/dist-server/server/modules/settings/tests/cockpit-session-start-settings.routes.test.js.map +1 -1
- package/dist-server/server/modules/settings/tests/codex-model-providers-settings.test.js +336 -0
- package/dist-server/server/modules/settings/tests/codex-model-providers-settings.test.js.map +1 -0
- package/dist-server/server/modules/settings/tests/codex-provider-advanced.test.js +466 -0
- package/dist-server/server/modules/settings/tests/codex-provider-advanced.test.js.map +1 -0
- package/dist-server/server/modules/settings/tests/codex-provider-import.test.js +475 -0
- package/dist-server/server/modules/settings/tests/codex-provider-import.test.js.map +1 -0
- package/dist-server/server/modules/voice/tests/voice-lexicon.test.js +9 -9
- package/dist-server/server/modules/voice/tests/voice-lexicon.test.js.map +1 -1
- package/dist-server/server/modules/voice/voice-lexicon.js +1 -1
- package/dist-server/server/modules/websocket/services/chat-control.service.js +21 -1
- package/dist-server/server/modules/websocket/services/chat-control.service.js.map +1 -1
- package/dist-server/server/modules/websocket/services/chat-websocket.service.js +25 -1
- package/dist-server/server/modules/websocket/services/chat-websocket.service.js.map +1 -1
- package/dist-server/server/modules/websocket/tests/chat-background-task.test.js +18 -1
- package/dist-server/server/modules/websocket/tests/chat-background-task.test.js.map +1 -1
- package/dist-server/server/modules/websocket/tests/chat-stop-task.test.js +18 -1
- package/dist-server/server/modules/websocket/tests/chat-stop-task.test.js.map +1 -1
- package/dist-server/server/modules/worktrees/services/worktree-list.service.js +1 -1
- package/dist-server/server/modules/worktrees/services/worktree-open.service.js +1 -1
- package/dist-server/server/modules/worktrees/services/worktree-remove.service.js +1 -1
- package/dist-server/server/shared/brand.js +18 -20
- package/dist-server/server/shared/brand.js.map +1 -1
- package/dist-server/server/shared/data-root-migration.js +3 -2
- package/dist-server/server/shared/data-root-migration.js.map +1 -1
- package/dist-server/server/shared/data-root.js +54 -59
- package/dist-server/server/shared/data-root.js.map +1 -1
- package/dist-server/server/shared/mcp-contract/types.js +20 -15
- package/dist-server/server/shared/mcp-contract/types.js.map +1 -1
- package/dist-server/server/shared/ports/codex-provider-registry.port.js +66 -0
- package/dist-server/server/shared/ports/codex-provider-registry.port.js.map +1 -0
- package/dist-server/server/shared/settings-file.js +120 -6
- package/dist-server/server/shared/settings-file.js.map +1 -1
- package/dist-server/server/shared/tests/cloudpit-brand-env.test.js +76 -34
- package/dist-server/server/shared/tests/cloudpit-brand-env.test.js.map +1 -1
- package/dist-server/server/shared/tests/cloudpit-data-root.test.js +35 -18
- package/dist-server/server/shared/tests/cloudpit-data-root.test.js.map +1 -1
- package/dist-server/server/shared/tests/cloudpit-goal-exit-gate.test.js +153 -17
- package/dist-server/server/shared/tests/cloudpit-goal-exit-gate.test.js.map +1 -1
- package/dist-server/server/shared/tests/cloudpit-runtime-flip.test.js +116 -114
- package/dist-server/server/shared/tests/cloudpit-runtime-flip.test.js.map +1 -1
- package/dist-server/server/shared/tests/frontend-import-cycle-budget.test.js +9 -1
- package/dist-server/server/shared/tests/frontend-import-cycle-budget.test.js.map +1 -1
- package/dist-server/server/shared/tests/quay-test-script.test.js +40 -6
- package/dist-server/server/shared/tests/quay-test-script.test.js.map +1 -1
- package/dist-server/server/shared/tests/settings-file.test.js +58 -2
- package/dist-server/server/shared/tests/settings-file.test.js.map +1 -1
- package/dist-server/server/shared/types.js.map +1 -1
- package/dist-server/server/shared/utils.js +1 -1
- package/electron/appIdMigration.js +467 -0
- package/electron/assets/logo-macos.icns +0 -0
- package/electron/assets/logo-macos.png +0 -0
- package/electron/assets/logo-windows.ico +0 -0
- package/electron/brandEnv.js +64 -0
- package/electron/cloud.js +3 -3
- package/electron/desktopNotifications.js +1 -1
- package/electron/launcher/index.html +1 -1
- package/electron/localServer.js +41 -7
- package/electron/main.js +33 -15
- package/electron/scripts/generate-macos-icon.js +34 -28
- package/electron/scripts/generate-windows-icon.js +66 -0
- package/electron/serverInstaller.js +20 -11
- package/electron/tests/cloudpit-appid-migration.test.mjs +514 -0
- package/electron/tests/cloudpit-brand-env-wiring.test.mjs +324 -0
- package/electron/tests/cloudpit-desktop-identity.test.mjs +42 -19
- package/electron/tests/cloudpit-runtime-identity-surfaces.test.mjs +10 -4
- package/electron/tests/cloudpit-userdata-migration.test.mjs +18 -5
- package/electron/userDataMigration.js +3 -0
- package/package.json +7 -6
- package/public/api-docs.html +3 -3
- package/scripts/brand-allowlist-check.mjs +233 -12
- package/scripts/brand-allowlist-check.test.mjs +270 -1
- package/scripts/cloudpit-distribution-check.mjs +57 -23
- package/scripts/cloudpit-distribution-check.test.mjs +42 -9
- package/scripts/codex-protocol-smoke.mjs +1 -1
- package/scripts/isolated-instance.sh +1 -1
- package/scripts/mcp-smoke.mjs +2 -2
- package/scripts/release/tests/fork-release-workflows.test.mjs +45 -0
- package/scripts/release/tests/server-installer-bundle-url.test.mjs +57 -9
- package/scripts/restart-when-idle.sh +1 -1
- package/scripts/shadow-prediction-report.mjs +1 -1
- package/scripts/suite-duration-baseline.tsv +45 -0
- package/scripts/ui-scenario.mjs +195 -0
- package/scripts/ui-scenarios/codex-provider-import.json +63 -0
- package/scripts/ui-scenarios/codex-provider-settings.json +77 -0
- package/scripts/voice-capture-process-check.false-forms.test.mjs +1 -1
- package/scripts/voice-phase0-report.test.mjs +1 -1
- package/server/load-env.ts +15 -4
- package/server/modules/browser-use/browser-use.service.ts +45 -14
- package/server/modules/browser-use/index.ts +3 -4
- package/server/modules/browser-use/mcp-server-names.ts +6 -5
- package/server/modules/browser-use/tests/browser-use.service.test.ts +63 -1
- package/server/modules/cli/asset-migration-files.ts +96 -0
- package/server/modules/cli/asset-migration-report.ts +123 -0
- package/server/modules/cli/asset-migration-store.ts +228 -0
- package/server/modules/cli/asset-migration.service.ts +236 -0
- package/server/modules/cli/browser-use-mcp.ts +9 -4
- package/server/modules/cli/cli.module.ts +21 -1
- package/server/modules/cli/cli.service.ts +14 -1
- package/server/modules/cli/tests/asset-migration.service.test.ts +349 -0
- package/server/modules/cli/tests/browser-use-mcp-entry.test.ts +202 -0
- package/server/modules/cli/tests/cli-environment-bootstrap.test.ts +1 -0
- package/server/modules/cli/tests/cli.service.test.ts +6 -1
- package/server/modules/cockpit/cockpit-brief-prompt.ts +1 -1
- package/server/modules/cockpit/cockpit-card-actions.ts +20 -3
- package/server/modules/cockpit/cockpit-card-feedback-store.ts +104 -9
- package/server/modules/cockpit/cockpit-card-registry.ts +2 -2
- package/server/modules/cockpit/cockpit-fleet-card-projection.ts +3 -0
- package/server/modules/cockpit/cockpit-fleet-executor.ts +1 -1
- package/server/modules/cockpit/cockpit-knowledge-reading.ts +17 -0
- package/server/modules/cockpit/cockpit.module.ts +2 -2
- package/server/modules/cockpit/cockpit.reducer.ts +1 -1
- package/server/modules/cockpit/tests/cockpit-card-feedback.test.ts +116 -1
- package/server/modules/cockpit/tests/cockpit-fleet-card-provider.test.ts +2 -2
- package/server/modules/cockpit/tests/cockpit-knowledge-decision-handoff.test.ts +205 -3
- package/server/modules/context-events/context-event-writer.ts +6 -6
- package/server/modules/context-events/context-events.module.ts +2 -2
- package/server/modules/context-events/session-ask-stream-reader.ts +1 -1
- package/server/modules/context-events/session-blocked-events.ts +3 -3
- package/server/modules/context-events/tests/session-ask-event-writer.test.ts +1 -1
- package/server/modules/context-events/tests/session-blocked-events.test.ts +3 -3
- package/server/modules/context-events/tests/session-run-events.test.ts +1 -1
- package/server/modules/database/migrations.ts +24 -1
- package/server/modules/database/repositories/sessions.db.ts +41 -4
- package/server/modules/database/repositories/voice-user-identifiers.db.ts +1 -1
- package/server/modules/database/schema.ts +16 -2
- package/server/modules/database/tests/migrations-ensure-columns.test.ts +2 -0
- package/server/modules/database/tests/sessions-provider-mapping.test.ts +2 -2
- package/server/modules/debug-agent/tests/debug-agent-permission-popup.test.ts +2 -2
- package/server/modules/liaison/liaison-deliver.service.ts +4 -4
- package/server/modules/liaison/liaison.module.ts +1 -1
- package/server/modules/mcp-gateway/mcp-gateway.auth.ts +3 -2
- package/server/modules/mcp-gateway/mcp-self-target.ts +2 -2
- package/server/modules/mcp-gateway/mcp-session-send.ts +21 -2
- package/server/modules/mcp-gateway/mcp-tool-annotations.ts +4 -4
- package/server/modules/mcp-gateway/oauth-metadata.gate.ts +4 -5
- package/server/modules/mcp-gateway/tests/knowledge-effective-config-proof.test.ts +1 -1
- package/server/modules/mcp-gateway/tests/knowledge-peer-correlation-proof.test.ts +2 -2
- package/server/modules/mcp-gateway/tests/mcp-approvals.test.ts +3 -2
- package/server/modules/mcp-gateway/tests/mcp-audit-route.test.ts +1 -1
- package/server/modules/mcp-gateway/tests/mcp-audit.test.ts +4 -4
- package/server/modules/mcp-gateway/tests/mcp-auth.test.ts +3 -1
- package/server/modules/mcp-gateway/tests/mcp-cancel-queued.test.ts +3 -2
- package/server/modules/mcp-gateway/tests/mcp-cockpit-tools.test.ts +7 -3
- package/server/modules/mcp-gateway/tests/mcp-correlation-id.test.ts +8 -8
- package/server/modules/mcp-gateway/tests/mcp-draft.test.ts +3 -2
- package/server/modules/mcp-gateway/tests/mcp-english-only.test.ts +1 -1
- package/server/modules/mcp-gateway/tests/mcp-gateway-wiring.test.ts +2 -2
- package/server/modules/mcp-gateway/tests/mcp-insufficient-scope.test.ts +1 -1
- package/server/modules/mcp-gateway/tests/mcp-knowledge-facts.test.ts +1 -1
- package/server/modules/mcp-gateway/tests/mcp-not-found-semantics.test.ts +1 -1
- package/server/modules/mcp-gateway/tests/mcp-oauth-challenge.test.ts +3 -2
- package/server/modules/mcp-gateway/tests/mcp-overview.test.ts +2 -2
- package/server/modules/mcp-gateway/tests/mcp-pending-interaction.test.ts +2 -2
- package/server/modules/mcp-gateway/tests/mcp-read-tools.test.ts +3 -3
- package/server/modules/mcp-gateway/tests/mcp-run-get.test.ts +1 -1
- package/server/modules/mcp-gateway/tests/mcp-self-target.test.ts +1 -1
- package/server/modules/mcp-gateway/tests/mcp-session-background.test.ts +2 -2
- package/server/modules/mcp-gateway/tests/mcp-session-host-control.test.ts +1 -1
- package/server/modules/mcp-gateway/tests/mcp-session-lifecycle.test.ts +1 -1
- package/server/modules/mcp-gateway/tests/mcp-session-reconfigure.test.ts +2 -2
- package/server/modules/mcp-gateway/tests/mcp-session-search-pruning.test.ts +1 -1
- package/server/modules/mcp-gateway/tests/mcp-session-search.test.ts +1 -1
- package/server/modules/mcp-gateway/tests/mcp-session-send.test.ts +2 -2
- package/server/modules/mcp-gateway/tests/mcp-ui-last-opened.test.ts +1 -1
- package/server/modules/mcp-gateway/tests/mcp-usage-stats.test.ts +1 -1
- package/server/modules/mcp-gateway/tests/mcp-write-notification.test.ts +2 -2
- package/server/modules/mcp-gateway/tests/oauth-flow.e2e.test.ts +3 -3
- package/server/modules/notifications/services/notification-orchestrator.service.js +1 -1
- package/server/modules/oauth/access-tokens.service.ts +8 -8
- package/server/modules/oauth/oauth-consent.service.ts +20 -15
- package/server/modules/oauth/tests/access-token-scopes.test.ts +55 -34
- package/server/modules/oauth/tests/access-tokens.service.test.ts +50 -14
- package/server/modules/oauth/tests/oauth-consent-page.test.ts +29 -21
- package/server/modules/oauth/tests/oauth-consent-ratelimit.test.ts +2 -2
- package/server/modules/oauth/tests/token-info.routes.test.ts +2 -2
- package/server/modules/observation/architecture-delta.producer.ts +1 -1
- package/server/modules/observation/blind-spots.ts +1 -1
- package/server/modules/observation/observation-store.ts +54 -16
- package/server/modules/observation/observation-uri.ts +34 -21
- package/server/modules/observation/observation.routes.ts +1 -1
- package/server/modules/observation/project-truth.ts +3 -3
- package/server/modules/observation/session-ask-decision-answer.ts +2 -1
- package/server/modules/observation/session-digest-llm.ts +7 -1
- package/server/modules/observation/session-digest.ts +39 -5
- package/server/modules/observation/tests/architecture-delta.test.ts +1 -1
- package/server/modules/observation/tests/observation-routes.test.ts +13 -0
- package/server/modules/observation/tests/observation-store.test.ts +58 -0
- package/server/modules/observation/tests/project-truth.test.ts +2 -2
- package/server/modules/observation/tests/session-ask-decision-digest.test.ts +189 -0
- package/server/modules/observation/tests/session-digest.test.ts +43 -0
- package/server/modules/providers/index.ts +13 -0
- package/server/modules/providers/list/claude/claude-host-driver.provider.ts +1 -1
- package/server/modules/providers/list/codex/codex-app-server.client.ts +37 -5
- package/server/modules/providers/list/codex/codex-app-server.connection.ts +1 -1
- package/server/modules/providers/list/codex/codex-host-driver.contract.ts +18 -9
- package/server/modules/providers/list/codex/codex-host-driver.provider.ts +15 -1
- package/server/modules/providers/list/codex/codex-models.provider.ts +16 -3
- package/server/modules/providers/list/codex/codex-provider-injection.ts +323 -0
- package/server/modules/providers/list/codex/codex-resident-provider-launch.ts +71 -0
- package/server/modules/providers/list/codex/codex-runtime.provider.ts +20 -1
- package/server/modules/providers/list/cursor/cursor-models.provider.ts +1 -1
- package/server/modules/providers/list/opencode/opencode-models.provider.ts +1 -1
- package/server/modules/providers/provider.routes.ts +23 -2
- package/server/modules/providers/services/provider-models.service.ts +187 -124
- package/server/modules/providers/services/provider-runtime.service.ts +3 -0
- package/server/modules/providers/services/session-model-resolver.ts +180 -0
- package/server/modules/providers/services/session-provider-binding.ts +176 -0
- package/server/modules/providers/services/sessions.service.ts +5 -1
- package/server/modules/providers/tests/claude-resident-addressable.test.ts +2 -2
- package/server/modules/providers/tests/claude-session-name-authority.test.ts +4 -4
- package/server/modules/providers/tests/codex-app-server-protocol.test.ts +1 -1
- package/server/modules/providers/tests/codex-host-driver-persistent.test.ts +2 -2
- package/server/modules/providers/tests/codex-provider-model-binding.test.ts +345 -0
- package/server/modules/providers/tests/codex-resident-provider-injection.test.ts +561 -0
- package/server/modules/providers/tests/codex-runtime-provider-injection.test.ts +269 -0
- package/server/modules/providers/tests/codex-session-provider-binding.test.ts +386 -0
- package/server/modules/providers/tests/codex-sessions.test.ts +1 -1
- package/server/modules/providers/tests/opencode-sessions.test.ts +2 -2
- package/server/modules/providers/tests/provider-models.service.test.ts +15 -0
- package/server/modules/providers/tests/provider.routes.test.ts +1 -1
- package/server/modules/quay/index.ts +1 -1
- package/server/modules/quay/quay-dispatch-carrier.ts +1 -1
- package/server/modules/quay/quay-fleet-cli.ts +1 -1
- package/server/modules/quay/quay-fleet-locator.ts +2 -2
- package/server/modules/quay/quay-fleet-project-id.ts +14 -14
- package/server/modules/quay/quay-fleet-registry.ts +8 -8
- package/server/modules/quay/quay-suite-fanin-reader.ts +1 -1
- package/server/modules/quay/quay-uri-resolve.ts +8 -8
- package/server/modules/quay/quay.module.ts +3 -3
- package/server/modules/quay/quay.routes.ts +1 -1
- package/server/modules/quay/quay.service.ts +6 -6
- package/server/modules/quay/session-task-chain.service.ts +1 -1
- package/server/modules/quay/tests/contracts/fleet-cli-contracts.test.ts +3 -3
- package/server/modules/quay/tests/contracts/shapes.ts +10 -10
- package/server/modules/quay/tests/quay-fleet-locator.test.ts +1 -1
- package/server/modules/quay/tests/quay-fleet-project-id.test.ts +6 -6
- package/server/modules/quay/tests/quay-uri-resolve.test.ts +10 -10
- package/server/modules/session-hosts/tests/resident-server-restart.test.ts +1 -1
- package/server/modules/settings/codex-mcp-gateway.settings.ts +1 -1
- package/server/modules/settings/codex-model-providers.schema.ts +460 -0
- package/server/modules/settings/codex-model-providers.service.ts +235 -0
- package/server/modules/settings/codex-model-providers.settings.ts +713 -0
- package/server/modules/settings/codex-model-providers.store.ts +244 -0
- package/server/modules/settings/index.ts +18 -0
- package/server/modules/settings/server-settings-file.ts +29 -41
- package/server/modules/settings/server-settings.ts +2 -3
- package/server/modules/settings/settings.module.ts +41 -0
- package/server/modules/settings/settings.routes.ts +37 -0
- package/server/modules/settings/settings.service.ts +21 -26
- package/server/modules/settings/tests/cockpit-session-start-settings.routes.test.ts +1 -0
- package/server/modules/settings/tests/codex-model-providers-settings.test.ts +413 -0
- package/server/modules/settings/tests/codex-provider-advanced.test.ts +540 -0
- package/server/modules/settings/tests/codex-provider-import.test.ts +621 -0
- package/server/modules/voice/tests/voice-lexicon.test.ts +10 -10
- package/server/modules/voice/voice-lexicon.ts +1 -1
- package/server/modules/websocket/services/chat-control.service.ts +35 -2
- package/server/modules/websocket/services/chat-websocket.service.ts +25 -1
- package/server/modules/websocket/tests/chat-background-task.test.ts +17 -1
- package/server/modules/websocket/tests/chat-stop-task.test.ts +17 -1
- package/server/modules/worktrees/services/worktree-list.service.ts +1 -1
- package/server/modules/worktrees/services/worktree-open.service.ts +1 -1
- package/server/modules/worktrees/services/worktree-remove.service.ts +1 -1
- package/server/shared/brand.ts +24 -38
- package/server/shared/data-root-migration.ts +3 -2
- package/server/shared/data-root.ts +73 -79
- package/server/shared/interfaces.ts +1 -1
- package/server/shared/mcp-contract/types.ts +20 -15
- package/server/shared/ports/codex-provider-registry.port.ts +133 -0
- package/server/shared/ports/session-blocked-events.port.ts +1 -1
- package/server/shared/ports/session-run-events.port.ts +2 -2
- package/server/shared/settings-file.ts +167 -6
- package/server/shared/tests/architecture-ratchet.baseline.json +15 -15
- package/server/shared/tests/cloudpit-brand-env.test.ts +106 -36
- package/server/shared/tests/cloudpit-data-root.test.ts +42 -18
- package/server/shared/tests/cloudpit-goal-exit-gate.baseline.json +6 -2
- package/server/shared/tests/cloudpit-goal-exit-gate.test.ts +179 -17
- package/server/shared/tests/cloudpit-runtime-flip.test.ts +162 -123
- package/server/shared/tests/frontend-import-cycle-budget.baseline.json +8 -6
- package/server/shared/tests/frontend-import-cycle-budget.test.ts +9 -1
- package/server/shared/tests/quay-test-script.test.ts +40 -6
- package/server/shared/tests/settings-file.test.ts +83 -1
- package/server/shared/types.ts +121 -8
- package/server/shared/utils.ts +1 -1
- package/dist/assets/channel-D7XqNTJC.js +0 -1
- package/dist/assets/channel-sbQyI1an.js +0 -1
- package/dist/assets/classDiagram-JCYQIIEL-DHudi-zH.js +0 -1
- package/dist/assets/classDiagram-JCYQIIEL-DV7ybJJG.js +0 -1
- package/dist/assets/classDiagram-v2-OCEON4UE-DHudi-zH.js +0 -1
- package/dist/assets/classDiagram-v2-OCEON4UE-DV7ybJJG.js +0 -1
- package/dist/assets/index-BsACp0s2.css +0 -32
- package/dist/assets/swimlanesDiagram-ULZ7WXOC-CNMNp6YA.js +0 -8
- package/dist/assets/swimlanesDiagram-ULZ7WXOC-DOjtDEUW.js +0 -8
- package/dist/icons/icon-128x128.svg +0 -12
- package/dist/icons/icon-144x144.svg +0 -12
- package/dist/icons/icon-152x152.svg +0 -12
- package/dist/icons/icon-192x192.svg +0 -12
- package/dist/icons/icon-384x384.svg +0 -12
- package/dist/icons/icon-512x512.svg +0 -12
- package/dist/icons/icon-72x72.svg +0 -12
- package/dist/icons/icon-96x96.svg +0 -12
- package/dist/icons/icon-template.svg +0 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-models.service.test.js","sourceRoot":"","sources":["../../../../../server/modules/providers/tests/provider-models.service.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"provider-models.service.test.js","sourceRoot":"","sources":["../../../../../server/modules/providers/tests/provider-models.service.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,7 +47,7 @@ async function withProviderServer(run) {
|
|
|
47
47
|
await rm(tempDirectory, { recursive: true, force: true });
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
|
-
test('session creation route names a
|
|
50
|
+
test('session creation route names a Cloudpit session from the initial message', async () => {
|
|
51
51
|
await withProviderServer(async (baseUrl, workspacePath) => {
|
|
52
52
|
const response = await fetch(`${baseUrl}/api/providers/sessions`, {
|
|
53
53
|
method: 'POST',
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
// load-on-demand path the `quay_snapshot` tool's explicit refresh uses.
|
|
8
8
|
// quayFleetRegistry: the fleet's per-project 「对人接口会话」 pin, read/written by the cockpit
|
|
9
9
|
// hub's target resolver (injected at the composition root, so the cockpit module itself stays
|
|
10
|
-
// a leaf). It maps a
|
|
10
|
+
// a leaf). It maps a Cloudpit project id to the fleet registry id and answers failures as
|
|
11
11
|
// values rather than throwing.
|
|
12
12
|
// quayCapabilities / quayDispatchCarrier / quayTaskEvents: the event-driven refresh's three
|
|
13
13
|
// composed pieces. `quayCapabilities` answers whether a project's pinned quay has `task log`;
|
|
@@ -81,7 +81,7 @@ export function parseFleetJsonObject(text) {
|
|
|
81
81
|
/**
|
|
82
82
|
* A path canonicalized for root comparison: symlinks resolved, trailing separators dropped.
|
|
83
83
|
* Consumers: the project-id join and the registry, both matching a registered root against a
|
|
84
|
-
*
|
|
84
|
+
* Cloudpit project path. An unresolvable path falls back to a lexical absolute form so a
|
|
85
85
|
* project that has been moved still compares as itself.
|
|
86
86
|
*/
|
|
87
87
|
export function canonicalFleetPath(filePath) {
|
|
@@ -31,9 +31,9 @@ import { createQuayFleetExec, parseFleetJsonObject, QUAY_FLEET_BIN_NOT_FOUND_REA
|
|
|
31
31
|
* NOTHING HERE THROWS. A failed lookup, a failed child and unreadable output are all readings,
|
|
32
32
|
* because every consumer is a server surface that must keep answering when the fleet is absent.
|
|
33
33
|
*/
|
|
34
|
-
/** The environment variable an operator uses to point
|
|
34
|
+
/** The environment variable an operator uses to point Cloudpit at one exact binary. */
|
|
35
35
|
export const QUAY_FLEET_BIN_ENV = 'QUAY_FLEET_BIN';
|
|
36
|
-
/** The contract versions THIS build of
|
|
36
|
+
/** The contract versions THIS build of Cloudpit speaks. */
|
|
37
37
|
export const QUAY_FLEET_SUPPORTED_CONTRACTS = {
|
|
38
38
|
wallUri: 'v0',
|
|
39
39
|
registry: 1,
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { canonicalFleetPath, createQuayFleetRunner, parseFleetJsonObject, QUAY_FLEET_TIMEOUT_MS, } from './quay-fleet-cli.js';
|
|
2
2
|
import { createQuayFleetCliReader, locateQuayFleetCli, } from './quay-fleet-locator.js';
|
|
3
3
|
/**
|
|
4
|
-
* The
|
|
4
|
+
* The Cloudpit project id → quay-fleet registry id mapping.
|
|
5
5
|
*
|
|
6
6
|
* WHY THIS EXISTS. A `quay://` reference's project segment is spoken out loud and dereferenced
|
|
7
7
|
* by quay-fleet, so it must be the fleet's own stable identity (`projects[].id` in
|
|
8
|
-
* `~/.quay-fleet/registry.json`, e.g. `claudecodeui`), never
|
|
9
|
-
* The fleet registers projects by their ROOT path;
|
|
10
|
-
* This module is the single place that joins the two: the
|
|
8
|
+
* `~/.quay-fleet/registry.json`, e.g. `claudecodeui`), never Cloudpit's internal project UUID.
|
|
9
|
+
* The fleet registers projects by their ROOT path; Cloudpit addresses them by a database id.
|
|
10
|
+
* This module is the single place that joins the two: the Cloudpit project's path (canonicalized,
|
|
11
11
|
* so a trailing separator or a symlinked checkout still matches) is looked up in the registry's
|
|
12
12
|
* project rows, and the registry id found there is the only project segment the wall may mint.
|
|
13
13
|
*
|
|
14
14
|
* The same join answers the other direction: given a registry id from an incoming reference,
|
|
15
|
-
* it names the registered root (quay-fleet's `--root`) and, when
|
|
16
|
-
*
|
|
15
|
+
* it names the registered root (quay-fleet's `--root`) and, when Cloudpit knows that root, the
|
|
16
|
+
* Cloudpit project whose snapshot can answer the read.
|
|
17
17
|
*
|
|
18
18
|
* A FLEET THAT CANNOT ANSWER IS AN ANSWER. No binary, a non-zero exit, malformed output — every
|
|
19
19
|
* failure reads `null`, never throws. `null` is the honest "this project is not registered"
|
|
@@ -49,7 +49,7 @@ function readProjectRow(value) {
|
|
|
49
49
|
* Builds the mapping service.
|
|
50
50
|
*
|
|
51
51
|
* The binary is resolved per call rather than captured at boot so an operator can install the
|
|
52
|
-
* fleet CLI (or point `QUAY_FLEET_BIN` at a checkout) without restarting
|
|
52
|
+
* fleet CLI (or point `QUAY_FLEET_BIN` at a checkout) without restarting Cloudpit; a missing
|
|
53
53
|
* binary is the ordinary "nothing is registered here" answer, not a boot failure.
|
|
54
54
|
*/
|
|
55
55
|
export function createQuayFleetProjectIdResolver(dependencies) {
|
|
@@ -11,7 +11,7 @@ function isProjectRow(value) {
|
|
|
11
11
|
* Builds the fleet-registry service.
|
|
12
12
|
*
|
|
13
13
|
* The binary is resolved per call rather than captured at boot so an operator can install the
|
|
14
|
-
* fleet CLI (or point `QUAY_FLEET_BIN` at a checkout) without restarting
|
|
14
|
+
* fleet CLI (or point `QUAY_FLEET_BIN` at a checkout) without restarting Cloudpit; a missing
|
|
15
15
|
* binary is the ordinary `fleet-cli-unavailable` answer, not a boot failure.
|
|
16
16
|
*/
|
|
17
17
|
export function createQuayFleetRegistry(dependencies) {
|
|
@@ -27,10 +27,10 @@ export function createQuayFleetRegistry(dependencies) {
|
|
|
27
27
|
?? (dependencies.exec === undefined ? null : 'quay-fleet');
|
|
28
28
|
const run = createQuayFleetRunner({ resolveBinPath, exec: dependencies.exec });
|
|
29
29
|
/**
|
|
30
|
-
* Resolves the
|
|
30
|
+
* Resolves the Cloudpit project to the fleet's own registry id.
|
|
31
31
|
*
|
|
32
32
|
* The path comes from the database, never from the request, and the fleet id is matched by root
|
|
33
|
-
* so a project
|
|
33
|
+
* so a project Cloudpit knows but the fleet does not register is `unknown-project` rather than
|
|
34
34
|
* being guessed from the display name.
|
|
35
35
|
*/
|
|
36
36
|
const resolveFleetProject = async (projectId) => {
|
|
@@ -2,7 +2,7 @@ import { readNullableNumber, readNullableString } from '../../shared/utils.js';
|
|
|
2
2
|
/**
|
|
3
3
|
* The Tests and Fan-in readings, taken through quay's own read-only verbs.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Cloudpit used to parse three `.quay/` carrier files itself (`full-suite-state.json`,
|
|
6
6
|
* `verification-round.jsonl`, `worker-outcome.jsonl`) — including a ~100 MB tail scan of the
|
|
7
7
|
* rounds ledger. quay 0.24.0 publishes both readings as bounded JSON instead:
|
|
8
8
|
*
|
|
@@ -16,7 +16,7 @@ import { locateQuayFleetCli } from './quay-fleet-locator.js';
|
|
|
16
16
|
* `wall summary` to it VERBATIM — the same project-scoped address
|
|
17
17
|
* (`quay://<project>/…`) the wall mints, because that is the only form the fleet parses.
|
|
18
18
|
* When that read port is unavailable, a TASK reference
|
|
19
|
-
* falls back to the snapshot
|
|
19
|
+
* falls back to the snapshot Cloudpit already reads for the Quay panel, which is honest
|
|
20
20
|
* stored data — never a summary generated on the spot. `wall resolve` never consults the
|
|
21
21
|
* registry, so the fleet's `project-not-registered` refusal can only arrive from
|
|
22
22
|
* `wall summary`; it is read as its own fallback reason rather than as a broken reader.
|
|
@@ -41,7 +41,7 @@ function reject(reason) {
|
|
|
41
41
|
* Parses one `quay://` reference into its L1 shape, or names why it is not one.
|
|
42
42
|
*
|
|
43
43
|
* The project segment is a quay-fleet REGISTRY ID (`claudecodeui`, `quay-fleet`), never
|
|
44
|
-
*
|
|
44
|
+
* Cloudpit's internal project UUID — see `quay-fleet-project-id.ts` for the join.
|
|
45
45
|
*
|
|
46
46
|
* Accepted forms (project segment mandatory):
|
|
47
47
|
* quay://<fleet-project-id>/task/<id>
|
|
@@ -350,7 +350,7 @@ export function createQuayUriResolver(dependencies) {
|
|
|
350
350
|
* The optional `--root` consistency override for a summary read.
|
|
351
351
|
*
|
|
352
352
|
* The URI's PROJECT SEGMENT is authoritative: the fleet resolves it to a workspace root
|
|
353
|
-
* through its own registry.
|
|
353
|
+
* through its own registry. Cloudpit knows a root only through that same registry join
|
|
354
354
|
* ({@link QuayUriResolveDependencies.resolveFleetProject}), so the root passed here is by
|
|
355
355
|
* construction the segment's own root — a consistency override, never a competing one. A
|
|
356
356
|
* join without a root therefore sends no override (the segment alone selects the
|
|
@@ -377,13 +377,13 @@ export function createQuayUriResolver(dependencies) {
|
|
|
377
377
|
* port answered (a summary miss keeps its type/actions/fragment); it is absent when the
|
|
378
378
|
* port could not be read, in which case no action set is forwarded.
|
|
379
379
|
*
|
|
380
|
-
* A registered fleet project
|
|
380
|
+
* A registered fleet project Cloudpit has no project for still has an L1 reading; only the
|
|
381
381
|
* fallback's CONTENT is missing, which is reported as `snapshot-unavailable`.
|
|
382
382
|
*/
|
|
383
383
|
const resolveFromSnapshot = async (address, project, uri, reason, reference) => {
|
|
384
384
|
if (project.projectId === null) {
|
|
385
385
|
return reference === undefined
|
|
386
|
-
? failure('snapshot-unavailable', `fleet project '${address.project}' is registered but no
|
|
386
|
+
? failure('snapshot-unavailable', `fleet project '${address.project}' is registered but no Cloudpit project is open at '${project.root}'`)
|
|
387
387
|
: fleetAnswer(address, uri, reference);
|
|
388
388
|
}
|
|
389
389
|
const snapshot = await dependencies.readSnapshot(project.projectId);
|
|
@@ -416,7 +416,7 @@ export function createQuayUriResolver(dependencies) {
|
|
|
416
416
|
}
|
|
417
417
|
const { address } = parsed;
|
|
418
418
|
const canonical = formatQuayAddress(address);
|
|
419
|
-
// The project segment is a fleet REGISTRY ID. An unresolvable segment (a
|
|
419
|
+
// The project segment is a fleet REGISTRY ID. An unresolvable segment (a Cloudpit UUID is
|
|
420
420
|
// the usual shape) is named as such before any read is attempted.
|
|
421
421
|
const project = await dependencies.resolveFleetProject(address.project);
|
|
422
422
|
if (project === null) {
|
|
@@ -83,9 +83,9 @@ const probeWebService = async (host, port) => {
|
|
|
83
83
|
}
|
|
84
84
|
};
|
|
85
85
|
/**
|
|
86
|
-
* The
|
|
86
|
+
* The Cloudpit project id → quay-fleet registry id join behind every `quay://` project segment.
|
|
87
87
|
* The fleet is the authority for project identity: a reference must say `quay://claudecodeui/…`,
|
|
88
|
-
* never the
|
|
88
|
+
* never the Cloudpit UUID, so the registry id is looked up per registered root and cached for a
|
|
89
89
|
* short TTL. A host without the fleet CLI reads every project as unregistered instead of failing.
|
|
90
90
|
*/
|
|
91
91
|
export const quayFleetProjectIds = createQuayFleetProjectIdResolver({
|
|
@@ -268,7 +268,7 @@ export const quayTaskEvents = createQuayTaskEvents({
|
|
|
268
268
|
taskIndexReadListener.current = quayTaskEvents.noteProjectRead;
|
|
269
269
|
/**
|
|
270
270
|
* The fleet registry seam the cockpit's pinned-target read/write goes through. It maps a
|
|
271
|
-
*
|
|
271
|
+
* Cloudpit project id to the fleet's own registry id by comparing registered roots, and every
|
|
272
272
|
* failure is an answer (`{ok:false, reason}`) rather than a thrown error — a host without the
|
|
273
273
|
* fleet CLI still renders and routes, falling back to the last-opened session.
|
|
274
274
|
*/
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* QUAY DISPLAY ROUTES
|
|
3
3
|
* ===================
|
|
4
4
|
*
|
|
5
|
-
* Endpoints that expose a project's quay state to the
|
|
5
|
+
* Endpoints that expose a project's quay state to the Cloudpit UI:
|
|
6
6
|
* - `GET /api/quay/fleet-summary` — the eager cross-project reading.
|
|
7
7
|
* - `GET /api/quay/resolve` — dereference one `quay://` reference.
|
|
8
8
|
* - `GET /api/quay/summary` — a reference's summary reading.
|
|
@@ -210,7 +210,7 @@ export const QUAY_READ_ONLY_COMMANDS = [
|
|
|
210
210
|
['goal', 'list', '--json'],
|
|
211
211
|
['adr', 'list', '--json'],
|
|
212
212
|
// The Tests and Fan-in cards' readings. quay 0.24.0 publishes both as bounded JSON from its
|
|
213
|
-
// own readers, so
|
|
213
|
+
// own readers, so Cloudpit no longer parses `.quay/` carrier files itself. Exact-match entries
|
|
214
214
|
// (no prefix rule): the window is part of the reading, and any other flag combination is
|
|
215
215
|
// refused before a child is spawned.
|
|
216
216
|
QUAY_SUITE_READ_COMMAND,
|
|
@@ -1235,7 +1235,7 @@ export function createQuayService(dependencies) {
|
|
|
1235
1235
|
return promise;
|
|
1236
1236
|
};
|
|
1237
1237
|
/**
|
|
1238
|
-
* The
|
|
1238
|
+
* The Cloudpit project id → fleet registry id join. A composition without a fleet answers
|
|
1239
1239
|
* `null` for every project — the honest "nothing is registered here" reading that makes the
|
|
1240
1240
|
* UI render 「未登记到 quay-fleet」 instead of minting a UUID reference the fleet cannot read.
|
|
1241
1241
|
*/
|
|
@@ -1838,7 +1838,7 @@ export function createQuayService(dependencies) {
|
|
|
1838
1838
|
* The Tier-2 snapshot as `GET /api/quay/:projectId/snapshot` answers it: the stored reading
|
|
1839
1839
|
* plus the project's `fleetProjectId`. The join is stamped here, on every branch, because it
|
|
1840
1840
|
* is what the wall mints its project segment from — a cached snapshot body carrying a stale
|
|
1841
|
-
* (or absent) join would let the renderer fall back to the
|
|
1841
|
+
* (or absent) join would let the renderer fall back to the Cloudpit id.
|
|
1842
1842
|
*/
|
|
1843
1843
|
const getQuaySnapshot = async (projectId, options = {}) => {
|
|
1844
1844
|
const snapshot = await readQuaySnapshot(projectId, options);
|
|
@@ -2085,7 +2085,7 @@ export function createQuayService(dependencies) {
|
|
|
2085
2085
|
const quayUriResolver = createQuayUriResolver({
|
|
2086
2086
|
fleetWallReader,
|
|
2087
2087
|
// The project segment is a quay-fleet REGISTRY ID. The join names the registered root the
|
|
2088
|
-
// fleet read port is called with, and the
|
|
2088
|
+
// fleet read port is called with, and the Cloudpit project (if any) whose snapshot can
|
|
2089
2089
|
// supplement a task reference.
|
|
2090
2090
|
resolveFleetProject: (projectSegment) => fleetProjectIds.resolveFleetProject(projectSegment),
|
|
2091
2091
|
// Cached first, so dereferencing a URI the panel just rendered spawns nothing. A cold
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Cross-repository contract tests:
|
|
2
|
+
* Cross-repository contract tests: Cloudpit against the INSTALLED quay-fleet.
|
|
3
3
|
*
|
|
4
|
-
* WHAT THIS FILE PROVES. Every `quay-fleet` invocation
|
|
4
|
+
* WHAT THIS FILE PROVES. Every `quay-fleet` invocation Cloudpit consumes is run against the real
|
|
5
5
|
* binary on this host, and its JSON answer is checked against the declaration in `shapes.ts`.
|
|
6
6
|
* The handshake goes first: if the fleet declares a contract this build does not speak, the run
|
|
7
7
|
* reds and names the contract instead of exercising verbs whose output may have moved under us.
|
|
@@ -361,7 +361,7 @@ else {
|
|
|
361
361
|
const document = parseJsonDocument(result.stdout);
|
|
362
362
|
assert.notEqual(document, null, `${contract.id}: stdout was not a JSON object: ${result.stdout.slice(0, 300)}`);
|
|
363
363
|
assertShape(contract.id, document, contract.shape);
|
|
364
|
-
// `wall resolve` was asked for the `#ac-<n>` form; validate the branch
|
|
364
|
+
// `wall resolve` was asked for the `#ac-<n>` form; validate the branch Cloudpit renders,
|
|
365
365
|
// not merely its presence (the shape declaration already pins kind/index).
|
|
366
366
|
if (contract.id === 'wall-resolve') {
|
|
367
367
|
const fragment = document?.fragment;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The JSON shape declarations for every `quay-fleet` CLI contract
|
|
2
|
+
* The JSON shape declarations for every `quay-fleet` CLI contract Cloudpit consumes.
|
|
3
3
|
*
|
|
4
|
-
* WHY THIS FILE EXISTS.
|
|
4
|
+
* WHY THIS FILE EXISTS. Cloudpit talks to a separately versioned program — the installed
|
|
5
5
|
* `quay-fleet` — through plain JSON on stdout. Until this file, every consumer parsed that JSON
|
|
6
6
|
* with its own hand-written reader and no test ever compared the READER against the REAL CLI:
|
|
7
7
|
* the two sides were validated independently, so a rename in the fleet's output was discovered
|
|
@@ -9,19 +9,19 @@
|
|
|
9
9
|
* project-segment disagreement (`quay://task/<id>` vs `quay://<project>/task/<id>`): each side's
|
|
10
10
|
* own tests were green, and the breakage only appeared when the two real programs met.
|
|
11
11
|
*
|
|
12
|
-
* A contract here is therefore (a) the exact argv
|
|
12
|
+
* A contract here is therefore (a) the exact argv Cloudpit runs and (b) a declared shape for the
|
|
13
13
|
* JSON it must answer with. `fleet-cli-contracts.test.ts` invokes the INSTALLED fleet and checks
|
|
14
14
|
* every answer against these declarations, so an incompatible change on either side reds before
|
|
15
15
|
* merge instead of in production.
|
|
16
16
|
*
|
|
17
17
|
* THE LYING RISK THIS FILE MUST NOT HAVE. A shape that accepts everything protects nothing. The
|
|
18
|
-
* declarations below therefore name the fields
|
|
18
|
+
* declarations below therefore name the fields Cloudpit actually reads as REQUIRED, pin the
|
|
19
19
|
* closed-vocabulary ones to their legal values (the trivalent readings the fleet uses throughout:
|
|
20
20
|
* `ok` / `absent` / `invalid`, and `string | null`), and let UNDECLARED fields through on purpose
|
|
21
21
|
* — a fleet that ADDS a field stays compatible, which is exactly the forward-compatibility rule
|
|
22
22
|
* the contract must encode.
|
|
23
23
|
*
|
|
24
|
-
* ADDING A CONSUMER. Whenever
|
|
24
|
+
* ADDING A CONSUMER. Whenever Cloudpit starts invoking a new `quay-fleet` verb (or starts reading
|
|
25
25
|
* a new field from an existing one), add the invocation and its shape here AND a case to
|
|
26
26
|
* `fleet-cli-contracts.test.ts`. The rule and its rationale are repeated in `README.md`, which is
|
|
27
27
|
* where a human adding a consumer is expected to look first.
|
|
@@ -169,7 +169,7 @@ export const HANDSHAKE_SHAPE = {
|
|
|
169
169
|
* `quay-fleet wall resolve <uri> --json` — the L1 reference.
|
|
170
170
|
*
|
|
171
171
|
* The test always asks for the fragment form (`#ac-<n>`), so `fragment` is REQUIRED here rather
|
|
172
|
-
* than optional: dropping it would silently stop exercising the branch
|
|
172
|
+
* than optional: dropping it would silently stop exercising the branch Cloudpit renders.
|
|
173
173
|
*/
|
|
174
174
|
export const WALL_RESOLVE_SHAPE = {
|
|
175
175
|
type: 'object',
|
|
@@ -193,7 +193,7 @@ export const WALL_RESOLVE_SHAPE = {
|
|
|
193
193
|
* `quay-fleet wall summary <uri> --root <dir> --json` — the L2 reading.
|
|
194
194
|
*
|
|
195
195
|
* Three-valued on purpose: `ok` carries the stored summary, `absent` is an honest reading of the
|
|
196
|
-
* write path (no row stored yet), and `invalid` means the URI itself was rejected.
|
|
196
|
+
* write path (no row stored yet), and `invalid` means the URI itself was rejected. Cloudpit's
|
|
197
197
|
* `readFleetL2` treats `ok`/`absent` as readings and everything else as unreadable, so the three
|
|
198
198
|
* states must stay distinguishable here.
|
|
199
199
|
*/
|
|
@@ -450,7 +450,7 @@ export const LIVENESS_SHAPE = {
|
|
|
450
450
|
},
|
|
451
451
|
},
|
|
452
452
|
};
|
|
453
|
-
// The fleet's `status` document is the largest contract, but
|
|
453
|
+
// The fleet's `status` document is the largest contract, but Cloudpit consumes it section by
|
|
454
454
|
// section. Every field below is one a reader or the cockpit displays; nested extras (the outbox's
|
|
455
455
|
// per-class attribution detail, for example) are deliberately not declared — they may grow.
|
|
456
456
|
const DRIVER_READ_SHAPE = {
|
|
@@ -634,7 +634,7 @@ export const STATUS_SHAPE = {
|
|
|
634
634
|
},
|
|
635
635
|
};
|
|
636
636
|
/**
|
|
637
|
-
* Every contract
|
|
637
|
+
* Every contract Cloudpit consumes. Order is the report order; the handshake is first because a
|
|
638
638
|
* listener reading the output needs the negotiated version before the verb results.
|
|
639
639
|
*/
|
|
640
640
|
export const FLEET_CLI_CONTRACTS = [
|
|
@@ -17,7 +17,7 @@ import { createQuayFleetCliReader, locateQuayFleetCli, quayFleetBinPath, QUAY_FL
|
|
|
17
17
|
* RUNNER NOTE: a server test, run through `tsx --test` (see `scripts/test.sh`); vitest's
|
|
18
18
|
* include is `src/**` and would find no tests here.
|
|
19
19
|
*/
|
|
20
|
-
/** The handshake this
|
|
20
|
+
/** The handshake this Cloudpit build speaks. */
|
|
21
21
|
const SUPPORTED = { wallUri: 'v0', registry: 1, interfaceSession: 'v0' };
|
|
22
22
|
/** A `quay-fleet --version --json` document. */
|
|
23
23
|
function handshakeDocument(contracts = SUPPORTED, version = '1.4.0') {
|
|
@@ -34,7 +34,7 @@ function staticExec(stdout, calls = []) {
|
|
|
34
34
|
}
|
|
35
35
|
/**
|
|
36
36
|
* A temp workspace: `real/` is the checkout, `link/` a symlink to it. The registry registers
|
|
37
|
-
* `real/` (with a trailing slash) while
|
|
37
|
+
* `real/` (with a trailing slash) while Cloudpit addresses the project through `link/` — the
|
|
38
38
|
* two spellings must still join.
|
|
39
39
|
*/
|
|
40
40
|
function createWorkspace() {
|
|
@@ -53,7 +53,7 @@ test('AC3: a registered root matches through a trailing separator and a symlink'
|
|
|
53
53
|
const calls = [];
|
|
54
54
|
const resolver = createQuayFleetProjectIdResolver({
|
|
55
55
|
resolveProjectPathById: (projectId) => projectId === 'cloud-project'
|
|
56
|
-
//
|
|
56
|
+
// Cloudpit stored the SYMLINKED path, with a trailing separator of its own.
|
|
57
57
|
? `${workspace.link}${path.sep}`
|
|
58
58
|
: null,
|
|
59
59
|
listProjects: () => [{ projectId: 'cloud-project', projectPath: workspace.link }],
|
|
@@ -87,9 +87,9 @@ test('AC3: an unregistered root and an unregistered segment are null, never a gu
|
|
|
87
87
|
exec: staticExec(registryDocument([{ id: 'claudecodeui', root: workspace.real }])),
|
|
88
88
|
});
|
|
89
89
|
assert.equal(await resolver.resolveFleetProjectId('elsewhere'), null);
|
|
90
|
-
// An unknown
|
|
90
|
+
// An unknown Cloudpit project is null without even reading the registry.
|
|
91
91
|
assert.equal(await resolver.resolveFleetProjectId('no-such-project'), null);
|
|
92
|
-
// A registry id nobody registered is null;
|
|
92
|
+
// A registry id nobody registered is null; Cloudpit ids are never accepted as segments.
|
|
93
93
|
assert.equal(await resolver.resolveFleetProject('cloud-uuid'), null);
|
|
94
94
|
}
|
|
95
95
|
finally {
|
|
@@ -17,10 +17,10 @@ import { createQuayService } from '../quay.service.js';
|
|
|
17
17
|
* of it. The fleet side is a stub whose payloads use quay-fleet's v0 enum
|
|
18
18
|
* (`config/object-uri.types.v0.json`) verbatim.
|
|
19
19
|
*
|
|
20
|
-
* THE TWO IDENTITIES ARE DELIBERATELY DIFFERENT. `CLOUD_PROJECT_ID` is what
|
|
20
|
+
* THE TWO IDENTITIES ARE DELIBERATELY DIFFERENT. `CLOUD_PROJECT_ID` is what Cloudpit's database
|
|
21
21
|
* keys the project by; `FLEET_PROJECT_ID` is the registry id a `quay://` reference carries. A
|
|
22
22
|
* UUID-shaped project segment must NOT resolve (it is the shape this task removed), and the
|
|
23
|
-
* snapshot fallback must still be read through the
|
|
23
|
+
* snapshot fallback must still be read through the Cloudpit id — the join is what proves both.
|
|
24
24
|
*
|
|
25
25
|
* RUNNER NOTE: this is a server test, so it runs under the repository's canonical server
|
|
26
26
|
* runner (`tsx --test`, `scripts/test.sh`), not vitest — vitest's `include` is `src/**` only
|
|
@@ -32,7 +32,7 @@ const TASK_URI = `quay://${FLEET_PROJECT_ID}/task/T-42`;
|
|
|
32
32
|
const AC_URI = `quay://${FLEET_PROJECT_ID}/task/T-42#ac-3`;
|
|
33
33
|
const GOAL_URI = `quay://${FLEET_PROJECT_ID}/goal/G-1`;
|
|
34
34
|
const PROJECT_ROOT = '/workspace/claudecodeui';
|
|
35
|
-
/** A project segment in the shape the removed mapping used to accept:
|
|
35
|
+
/** A project segment in the shape the removed mapping used to accept: Cloudpit's own UUID. */
|
|
36
36
|
const UUID_URI = `quay://${CLOUD_PROJECT_ID}/task/T-42`;
|
|
37
37
|
/** quay-fleet's v0 action enum, copied from its `config/object-uri.types.v0.json` fixture. */
|
|
38
38
|
const V0_ACTIONS = {
|
|
@@ -126,9 +126,9 @@ function createStubFleet(available = true, calls = []) {
|
|
|
126
126
|
};
|
|
127
127
|
}
|
|
128
128
|
/**
|
|
129
|
-
* Resolves the one fixture fleet project to its registered root and
|
|
129
|
+
* Resolves the one fixture fleet project to its registered root and Cloudpit project.
|
|
130
130
|
*
|
|
131
|
-
* Only the fleet REGISTRY id resolves; the
|
|
131
|
+
* Only the fleet REGISTRY id resolves; the Cloudpit project id (a UUID) is deliberately absent,
|
|
132
132
|
* which is what makes a UUID-shaped project segment an `unknown-project`.
|
|
133
133
|
*/
|
|
134
134
|
function resolveFleetProject(projectSegment) {
|
|
@@ -137,8 +137,8 @@ function resolveFleetProject(projectSegment) {
|
|
|
137
137
|
: null);
|
|
138
138
|
}
|
|
139
139
|
/**
|
|
140
|
-
* The project-id seam the service composes: the
|
|
141
|
-
* only through the registry, and the fleet id joins back to this fixture's root +
|
|
140
|
+
* The project-id seam the service composes: the Cloudpit id joins to the fleet registry id
|
|
141
|
+
* only through the registry, and the fleet id joins back to this fixture's root + Cloudpit id.
|
|
142
142
|
*/
|
|
143
143
|
const fleetProjectIdResolver = {
|
|
144
144
|
async resolveFleetProjectId(projectId) {
|
|
@@ -543,7 +543,7 @@ test('AC4: the project segment is a fleet registry id, and a UUID segment is unk
|
|
|
543
543
|
return;
|
|
544
544
|
assert.equal(resolved.uri, TASK_URI);
|
|
545
545
|
assert.deepEqual(roots, [PROJECT_ROOT], 'the fleet summary must be called with the registered root');
|
|
546
|
-
// The removed shape: a
|
|
546
|
+
// The removed shape: a Cloudpit UUID as the project segment. The registry does not know it,
|
|
547
547
|
// so the reference is named `unknown-project` and no fleet read is attempted for it.
|
|
548
548
|
const before = roots.length;
|
|
549
549
|
for (const result of [await resolver.resolve(UUID_URI), await resolver.summary(UUID_URI)]) {
|
|
@@ -595,7 +595,7 @@ test('AC3: the routes answer invalid references with 4xx and no read port with 5
|
|
|
595
595
|
assert.equal(unavailable.status, 503);
|
|
596
596
|
const unavailableBody = (await unavailable.json());
|
|
597
597
|
assert.equal(unavailableBody.error.code, 'fleet-unavailable');
|
|
598
|
-
// A project segment the fleet does not register (
|
|
598
|
+
// A project segment the fleet does not register (Cloudpit's UUID, the removed shape) is
|
|
599
599
|
// a 404 naming `unknown-project` — never a UUID-addressed read.
|
|
600
600
|
const unknown = await fetch(`${base}/resolve?uri=${encodeURIComponent(UUID_URI)}`);
|
|
601
601
|
assert.equal(unknown.status, 404);
|
|
@@ -635,7 +635,7 @@ test('AC1: the service composes the injected fleet reader into its dereference m
|
|
|
635
635
|
assert.deepEqual(resolved.actions, V0_ACTIONS.task);
|
|
636
636
|
assert.equal(resolved.source, 'fleet');
|
|
637
637
|
// The Tier-2 snapshot carries the same join: its project segment is the registry id, never
|
|
638
|
-
// the
|
|
638
|
+
// the Cloudpit id the request was keyed by.
|
|
639
639
|
const snapshot = await service.getQuaySnapshot(CLOUD_PROJECT_ID);
|
|
640
640
|
assert.equal(snapshot?.projectId, CLOUD_PROJECT_ID);
|
|
641
641
|
assert.equal(snapshot?.fleetProjectId, FLEET_PROJECT_ID);
|
|
@@ -121,7 +121,7 @@ const SCOPE_TIMEOUT_MS = 15_000;
|
|
|
121
121
|
*
|
|
122
122
|
* It used to be a bare 60_000, which the three boots alone (75_000) already
|
|
123
123
|
* exceeded: on 2026-10-02 a run whose servers had each reached
|
|
124
|
-
* `
|
|
124
|
+
* `Cloudpit Server - Ready` was killed at the 60s boundary with `exit=3` because
|
|
125
125
|
* the budget, not the boot, was too small — and a process-level kill names no
|
|
126
126
|
* `node:test` case, which is why that red could not be attributed.
|
|
127
127
|
*
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* WHY A KNOB HERE. A Codex resident process is spawned from the app-server
|
|
7
7
|
* launcher with only `cwd`/`env`, so out of the box it sees nothing but the
|
|
8
|
-
* operator's `~/.codex/config.toml` servers. Injecting
|
|
8
|
+
* operator's `~/.codex/config.toml` servers. Injecting Cloudpit's gateway makes
|
|
9
9
|
* the same tools a Claude client gets available to a Codex session — but only
|
|
10
10
|
* when an operator has minted a credential for it, which is why the shipped
|
|
11
11
|
* default is OFF.
|