pilotswarm 0.5.57 → 0.5.59
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/mcp/dist/src/context.d.ts +2 -0
- package/mcp/dist/src/context.d.ts.map +1 -1
- package/mcp/dist/src/context.js +3 -1
- package/mcp/dist/src/context.js.map +1 -1
- package/mcp/dist/src/tools/agent-packages.js +1 -1
- package/mcp/dist/src/tools/agent-packages.js.map +1 -1
- package/mcp/dist/src/tools/capabilities.d.ts +4 -0
- package/mcp/dist/src/tools/capabilities.d.ts.map +1 -1
- package/mcp/dist/src/tools/capabilities.js +4 -0
- package/mcp/dist/src/tools/capabilities.js.map +1 -1
- package/package.json +2 -2
- package/tui/src/node-sdk-transport.js +5 -0
- package/ui/core/src/controller.js +136 -11
- package/ui/core/src/formatting.js +18 -9
- package/ui/core/src/history.js +162 -9
- package/ui/core/src/reducer.js +32 -5
- package/ui/core/src/selectors.js +160 -16
- package/ui/core/src/session-errors.js +16 -11
- package/ui/react/src/components.js +1 -0
- package/ui/react/src/web-app.js +230 -80
- package/web/api/live-plane.js +193 -0
- package/web/api/router.js +1 -1
- package/web/api/ws.js +160 -4
- package/web/authz.js +6 -1
- package/web/dist/assets/{abnfDiagram-VRR7QNED-CJOR2hPi.js → abnfDiagram-VRR7QNED-D9Rv2VpV.js} +1 -1
- package/web/dist/assets/{arc-Yh3kc_KB.js → arc-BATiucnq.js} +1 -1
- package/web/dist/assets/{architectureDiagram-ZJ3FMSHR-DLRlUeyk.js → architectureDiagram-ZJ3FMSHR-CSTMt0si.js} +1 -1
- package/web/dist/assets/{blockDiagram-677ZJIJ3-x_TGH_fp.js → blockDiagram-677ZJIJ3-C_RGqfeY.js} +1 -1
- package/web/dist/assets/{c4Diagram-LMCZKHZV-C-j_bxeF.js → c4Diagram-LMCZKHZV-DH__s__0.js} +1 -1
- package/web/dist/assets/channel-CqgY9oZh.js +1 -0
- package/web/dist/assets/{chunk-2Q5K7J3B-CaI5Xqwo.js → chunk-2Q5K7J3B-C197fD3B.js} +1 -1
- package/web/dist/assets/{chunk-32BRIVSS-Bh_Crac6.js → chunk-32BRIVSS-BjpuBroU.js} +1 -1
- package/web/dist/assets/{chunk-5VM5RSS4-XM-3ajKG.js → chunk-5VM5RSS4-W_jL8euj.js} +1 -1
- package/web/dist/assets/{chunk-EX3LRPZG-ZwkulfFp.js → chunk-EX3LRPZG-a9h0dtlp.js} +1 -1
- package/web/dist/assets/{chunk-JWPE2WC7-CT3Q7T2A.js → chunk-JWPE2WC7-CQN0qE7F.js} +1 -1
- package/web/dist/assets/{chunk-MOJQB5TN-_Uc0ksg3.js → chunk-MOJQB5TN-D-Y6KQ7t.js} +1 -1
- package/web/dist/assets/{chunk-RYQCIY6F-DosoId7u.js → chunk-RYQCIY6F-jPwseC5f.js} +1 -1
- package/web/dist/assets/{chunk-V7JOEXUC-KRjq1cwM.js → chunk-V7JOEXUC-DRNCEcQh.js} +1 -1
- package/web/dist/assets/{chunk-VR4S4FIN-B6Ul1z3S.js → chunk-VR4S4FIN-DzhUcoZ7.js} +1 -1
- package/web/dist/assets/{chunk-XXDRQBXY-AikdVXm4.js → chunk-XXDRQBXY-ldJfyPXK.js} +1 -1
- package/web/dist/assets/classDiagram-OUVF2IWQ-Uz4DYZs2.js +1 -0
- package/web/dist/assets/classDiagram-v2-EOCWNBFH-Uz4DYZs2.js +1 -0
- package/web/dist/assets/{cose-bilkent-JH36ORCC-DTYwgEAa.js → cose-bilkent-JH36ORCC-BBVo21wR.js} +1 -1
- package/web/dist/assets/{cynefin-VYW2F7L2-C_8v2wIz.js → cynefin-VYW2F7L2-CgRQfdW1.js} +1 -1
- package/web/dist/assets/{cynefinDiagram-TSTJHNR4-1-nw1zbQ.js → cynefinDiagram-TSTJHNR4-Ckz2X0t3.js} +1 -1
- package/web/dist/assets/{dagre-VKFMJZFB-CAjwRpvT.js → dagre-VKFMJZFB-C1SanJiY.js} +1 -1
- package/web/dist/assets/{diagram-FQU43EPY-Bg41nQw_.js → diagram-FQU43EPY-dBdEifVy.js} +1 -1
- package/web/dist/assets/{diagram-G47NLZAW-Cp6P-qMn.js → diagram-G47NLZAW-Byqc1VCB.js} +1 -1
- package/web/dist/assets/{diagram-NH7WQ7WH-DNdFuedg.js → diagram-NH7WQ7WH-9aeTaCsX.js} +1 -1
- package/web/dist/assets/{diagram-OA4YK3LP-DcHpELG2.js → diagram-OA4YK3LP-CL0a0o0k.js} +1 -1
- package/web/dist/assets/{diagram-WEI45ONY-B2_kyMw3.js → diagram-WEI45ONY-YlMQOJfY.js} +1 -1
- package/web/dist/assets/{ebnfDiagram-CCIWWBDH-DztuAo3o.js → ebnfDiagram-CCIWWBDH-qMZQEnws.js} +1 -1
- package/web/dist/assets/{erDiagram-Q63AITRT-DNjKTOzp.js → erDiagram-Q63AITRT-C3CWBCtq.js} +1 -1
- package/web/dist/assets/{flowDiagram-23GEKE2U-DWjfeUM1.js → flowDiagram-23GEKE2U-BN79sybL.js} +1 -1
- package/web/dist/assets/{ganttDiagram-NO4QXBWP-Y0MgGVmy.js → ganttDiagram-NO4QXBWP-BOWhiAgB.js} +1 -1
- package/web/dist/assets/{gitGraphDiagram-IHSO6WYX--lDKAKVz.js → gitGraphDiagram-IHSO6WYX-CKX9OACp.js} +1 -1
- package/web/dist/assets/index-B4s2lTsK.js +24 -0
- package/web/dist/assets/{index-BxPfp0AO.css → index-DhGdE2Nd.css} +1 -1
- package/web/dist/assets/{infoDiagram-FWYZ7A6U-CKmH8_YO.js → infoDiagram-FWYZ7A6U-QQEunPNs.js} +1 -1
- package/web/dist/assets/{ishikawaDiagram-FXEZZL3T-D88R7zUc.js → ishikawaDiagram-FXEZZL3T-CvMwrnLQ.js} +1 -1
- package/web/dist/assets/{journeyDiagram-5HDEW3XC-Ck7EMrsY.js → journeyDiagram-5HDEW3XC-giNpEVpj.js} +1 -1
- package/web/dist/assets/{kanban-definition-HUTT4EX6-hc-mOfSG.js → kanban-definition-HUTT4EX6-CUPPpo27.js} +1 -1
- package/web/dist/assets/{linear-BVhU4csP.js → linear-AXqadfOR.js} +1 -1
- package/web/dist/assets/{mermaid.core-C9u4FOCX.js → mermaid.core-C78wdk8Y.js} +4 -4
- package/web/dist/assets/{mindmap-definition-LN4V7U3C-DatQu9Xp.js → mindmap-definition-LN4V7U3C-BGUmh9bK.js} +1 -1
- package/web/dist/assets/{papaparse.min-BdnoXc8M.js → papaparse.min-Bh8RLCk_.js} +1 -1
- package/web/dist/assets/{pegDiagram-2B236MQR-Cr_nZ_jR.js → pegDiagram-2B236MQR-BHsKXKhK.js} +1 -1
- package/web/dist/assets/{pieDiagram-ENE6RG2P-CcAbSIcY.js → pieDiagram-ENE6RG2P-D3EvWTdH.js} +1 -1
- package/web/dist/assets/pilotswarm-UV6T1_QI.js +98 -0
- package/web/dist/assets/{quadrantDiagram-ABIIQ3AL-CgJw5laM.js → quadrantDiagram-ABIIQ3AL-CbkxfLkV.js} +1 -1
- package/web/dist/assets/{railroadDiagram-RFXS5EU6-CHeun9SN.js → railroadDiagram-RFXS5EU6-H4M6JSDW.js} +1 -1
- package/web/dist/assets/{requirementDiagram-TGXJPOKE-D1kpDj8W.js → requirementDiagram-TGXJPOKE-BJo7JW1v.js} +1 -1
- package/web/dist/assets/{sankeyDiagram-HTMAVEWB-C5vUSUaX.js → sankeyDiagram-HTMAVEWB-DL19MeOP.js} +1 -1
- package/web/dist/assets/{sequenceDiagram-DBY2YBRQ-T1aPSxk1.js → sequenceDiagram-DBY2YBRQ-DyVFc5pQ.js} +1 -1
- package/web/dist/assets/{sizeCapture-X5ZJPWSS-j-wh2LVX.js → sizeCapture-X5ZJPWSS-CKbcKIEQ.js} +1 -1
- package/web/dist/assets/{stateDiagram-2N3HPSRC-DfUZZR8N.js → stateDiagram-2N3HPSRC-BSukSXzS.js} +1 -1
- package/web/dist/assets/stateDiagram-v2-6OUMAXLB-BhKG3pJB.js +1 -0
- package/web/dist/assets/{swimlanes-5IMT3BWC-OpASJiRw.js → swimlanes-5IMT3BWC-BUd7UhsF.js} +2 -2
- package/web/dist/assets/swimlanesDiagram-G3AALYLV-CgoFkXJE.js +8 -0
- package/web/dist/assets/{timeline-definition-FHXFAJF6-BBnc_z1U.js → timeline-definition-FHXFAJF6-Dt1gludn.js} +1 -1
- package/web/dist/assets/{vennDiagram-L72KCM5P-BlPQe9p4.js → vennDiagram-L72KCM5P-BHxt00GV.js} +1 -1
- package/web/dist/assets/{wardleyDiagram-EHGQE667-DBcBFUx2.js → wardleyDiagram-EHGQE667-BT3fIDbe.js} +1 -1
- package/web/dist/assets/{xychartDiagram-FW5EYKEG-BQUSGL6g.js → xychartDiagram-FW5EYKEG-ChoYDS2b.js} +1 -1
- package/web/dist/index.html +3 -3
- package/web/runtime.js +89 -44
- package/web/server.js +9 -0
- package/web/dist/assets/channel-BIn92AzB.js +0 -1
- package/web/dist/assets/classDiagram-OUVF2IWQ-B7ktW6XM.js +0 -1
- package/web/dist/assets/classDiagram-v2-EOCWNBFH-B7ktW6XM.js +0 -1
- package/web/dist/assets/index-rPji8Uud.js +0 -24
- package/web/dist/assets/pilotswarm--kvfB_6q.js +0 -99
- package/web/dist/assets/stateDiagram-v2-6OUMAXLB-ilKtTdHG.js +0 -1
- package/web/dist/assets/swimlanesDiagram-G3AALYLV-C1PthnB4.js +0 -8
|
@@ -73,6 +73,8 @@ interface ServerContextBase {
|
|
|
73
73
|
ownershipEnforced: boolean;
|
|
74
74
|
defaultVisibility: string;
|
|
75
75
|
systemVisibility: string;
|
|
76
|
+
adminScope?: string;
|
|
77
|
+
policyVersion?: number;
|
|
76
78
|
};
|
|
77
79
|
/** True when running over the Web API (`--api-url`); false in direct mode. */
|
|
78
80
|
webMode: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAEhB,6BAA6B,EAS7B,qBAAqB,EAErB,cAAc,EACd,KAAK,uBAAuB,EAC5B,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,UAAU,EAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D;;;;;;;;GAQG;AACH,KAAK,UAAU,GACT;IACE;;;OAGG;IACH,GAAG,EAAE,SAAS,CAAC;IACf;;;;;OAKG;IACH,GAAG,EAAE,6BAA6B,CAAC;CACtC,GACC;IAAE,GAAG,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,IAAI,CAAA;CAAE,CAAC;AAE/B,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG,UAAU,CAAC;AAE3D,UAAU,iBAAiB;IACvB,MAAM,EAAE,gBAAgB,CAAC;IACzB;;;;OAIG;IACH,IAAI,EAAE,uBAAuB,CAAC;IAC9B,KAAK,EAAE,SAAS,CAAC;IACjB;;;;;OAKG;IACH,aAAa,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACxC;;;;;OAKG;IACH,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IACzB;;;;;;OAMG;IACH,KAAK,EAAE,OAAO,CAAC;IACf,oEAAoE;IACpE,SAAS,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;IACnC;;;;;;OAMG;IACH,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE;QAAE,iBAAiB,EAAE,OAAO,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAEhB,6BAA6B,EAS7B,qBAAqB,EAErB,cAAc,EACd,KAAK,uBAAuB,EAC5B,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,UAAU,EAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D;;;;;;;;GAQG;AACH,KAAK,UAAU,GACT;IACE;;;OAGG;IACH,GAAG,EAAE,SAAS,CAAC;IACf;;;;;OAKG;IACH,GAAG,EAAE,6BAA6B,CAAC;CACtC,GACC;IAAE,GAAG,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,IAAI,CAAA;CAAE,CAAC;AAE/B,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG,UAAU,CAAC;AAE3D,UAAU,iBAAiB;IACvB,MAAM,EAAE,gBAAgB,CAAC;IACzB;;;;OAIG;IACH,IAAI,EAAE,uBAAuB,CAAC;IAC9B,KAAK,EAAE,SAAS,CAAC;IACjB;;;;;OAKG;IACH,aAAa,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACxC;;;;;OAKG;IACH,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IACzB;;;;;;OAMG;IACH,KAAK,EAAE,OAAO,CAAC;IACf,oEAAoE;IACpE,SAAS,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;IACnC;;;;;;OAMG;IACH,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE;QAAE,iBAAiB,EAAE,OAAO,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxI,8EAA8E;IAC9E,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACrC,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrE;;;;;;OAMG;IACH,gBAAgB,EAAE,WAAW,EAAE,CAAC;IAChC;;;;;OAKG;IACH,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B;;;;;OAKG;IACH,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,oBAAoB;IACjC,wFAAwF;IACxF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;;;OAIG;IACH,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;CACvC;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC,CAmNtF"}
|
package/mcp/dist/src/context.js
CHANGED
|
@@ -10,7 +10,7 @@ export async function createContext(opts) {
|
|
|
10
10
|
let graph = null;
|
|
11
11
|
let admin = false;
|
|
12
12
|
let ctxRole = null;
|
|
13
|
-
let ctxAuthz = { ownershipEnforced: false, defaultVisibility: "private", systemVisibility: "read" };
|
|
13
|
+
let ctxAuthz = { ownershipEnforced: false, defaultVisibility: "private", systemVisibility: "read", adminScope: "unrestricted", policyVersion: 0 };
|
|
14
14
|
let webAgents = null;
|
|
15
15
|
if (opts.apiUrl) {
|
|
16
16
|
// Web API mode (supported): no database credentials in this process.
|
|
@@ -55,6 +55,8 @@ export async function createContext(opts) {
|
|
|
55
55
|
ownershipEnforced: Boolean(boot.authz.ownershipEnforced),
|
|
56
56
|
defaultVisibility: String(boot.authz.defaultVisibility || "private"),
|
|
57
57
|
systemVisibility: String(boot.authz.systemVisibility || "read"),
|
|
58
|
+
adminScope: String(boot.authz.adminScope || "unrestricted"),
|
|
59
|
+
policyVersion: Number(boot.authz.policyVersion) || 0,
|
|
58
60
|
};
|
|
59
61
|
}
|
|
60
62
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAChB,0BAA0B,EAE1B,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAElB,UAAU,EACV,cAAc,GAKjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAqHnD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAA0B;IAC1D,IAAI,MAAwB,CAAC;IAC7B,IAAI,IAA6B,CAAC;IAClC,gEAAgE;IAChE,IAAI,OAAO,GAAe,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IACnD,IAAI,KAAgB,CAAC;IACrB,IAAI,KAAK,GAAsB,IAAI,CAAC;IACpC,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,OAAO,GAAkB,IAAI,CAAC;IAClC,IAAI,QAAQ,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ export function registerAgentPackageTools(server, ctx) {
|
|
|
18
18
|
server.registerTool("list_agent_packages", {
|
|
19
19
|
title: "List Agent Packages",
|
|
20
20
|
description: "List registry agent packages visible to this credential: shared packages plus your own "
|
|
21
|
-
+ "user-scope ones (admins see all). Each row carries the active version (semver, sha, size) "
|
|
21
|
+
+ "user-scope ones (unrestricted admins see all; cluster-scoped admins use ordinary access). Each row carries the active version (semver, sha, size) "
|
|
22
22
|
+ "and its manifest (agents/skills/tools).",
|
|
23
23
|
inputSchema: {},
|
|
24
24
|
}, withToolErrors(async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-packages.js","sourceRoot":"","sources":["../../../src/tools/agent-packages.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAE7E;;;;;;;;;GASG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAiB,EAAE,GAAkB;IAC3E,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;IACpB,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,KAAK,KAAK;QAAE,OAAO;IAC5C,MAAM,KAAK,GAAG,IAAI,CAAC;IAEnB,MAAM,CAAC,YAAY,CACf,qBAAqB,EACrB;QACI,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EACP,yFAAyF;cACvF,
|
|
1
|
+
{"version":3,"file":"agent-packages.js","sourceRoot":"","sources":["../../../src/tools/agent-packages.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,10 @@ export declare function buildCapabilities(ctx: ServerContext): {
|
|
|
14
14
|
admin: boolean;
|
|
15
15
|
role: string | null;
|
|
16
16
|
ownership_enforced: boolean;
|
|
17
|
+
admin_scope: string;
|
|
18
|
+
authz_policy_version: number;
|
|
19
|
+
user_resource_bypass: boolean;
|
|
20
|
+
system_session_admin: boolean;
|
|
17
21
|
default_visibility: string;
|
|
18
22
|
viewerScopedGroups: boolean;
|
|
19
23
|
facts: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../src/tools/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGnD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,aAAa
|
|
1
|
+
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../src/tools/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGnD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,aAAa;;;;;;;;;;;;;;;;;;;;;;;;EAsCnD;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,QA0C5E"}
|
|
@@ -19,6 +19,10 @@ export function buildCapabilities(ctx) {
|
|
|
19
19
|
// refused with the reason in the error.
|
|
20
20
|
role: ctx.role ?? null,
|
|
21
21
|
ownership_enforced: ctx.authz?.ownershipEnforced ?? false,
|
|
22
|
+
admin_scope: ctx.authz?.adminScope ?? "unrestricted",
|
|
23
|
+
authz_policy_version: ctx.authz?.policyVersion ?? 0,
|
|
24
|
+
user_resource_bypass: ctx.admin && ctx.authz?.adminScope !== "cluster",
|
|
25
|
+
system_session_admin: ctx.admin,
|
|
22
26
|
default_visibility: ctx.authz?.defaultVisibility ?? "private",
|
|
23
27
|
// Session groups are private per-user organization: list_session_groups
|
|
24
28
|
// returns only the caller's groups, session views carry viewer_group_id
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../../src/tools/capabilities.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../../src/tools/capabilities.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pilotswarm",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.59",
|
|
4
4
|
"description": "PilotSwarm application package: terminal UI, browser portal + Web API server, and MCP server — one install, three bins.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
"ink": "^6.8.0",
|
|
82
82
|
"jose": "^6.2.2",
|
|
83
83
|
"mermaid": "^11.16.0",
|
|
84
|
-
"pilotswarm-sdk": "0.5.
|
|
84
|
+
"pilotswarm-sdk": "0.5.59",
|
|
85
85
|
"react": "^19.2.4",
|
|
86
86
|
"react-dom": "^19.2.4",
|
|
87
87
|
"ws": "^8.18.2"
|
|
@@ -1976,6 +1976,11 @@ export class NodeSdkTransport {
|
|
|
1976
1976
|
return this.mgmt.getCanvasLive(sessionId);
|
|
1977
1977
|
}
|
|
1978
1978
|
|
|
1979
|
+
async getLive(sessionId, topics) {
|
|
1980
|
+
if (typeof this.mgmt.getLive !== "function") return [];
|
|
1981
|
+
return this.mgmt.getLive(sessionId, topics);
|
|
1982
|
+
}
|
|
1983
|
+
|
|
1979
1984
|
// The canvas KV store. The portal runtime hands a resolved principal
|
|
1980
1985
|
// (door 1); the native TUI has no canvas surface and never calls these.
|
|
1981
1986
|
async readCanvasKv(sessionId, slot, principal, query = {}) {
|
|
@@ -4,15 +4,17 @@ import { parseAgentSourceLink } from "./repo-links.js";
|
|
|
4
4
|
import { importPackageFilesFromLink, readImportedPackageName } from "./repo-import.js";
|
|
5
5
|
import {
|
|
6
6
|
appendEventToHistory,
|
|
7
|
+
applyLiveTurnToHistory,
|
|
7
8
|
buildHistoryModel,
|
|
8
9
|
CHAT_HISTORY_EVENT_TYPES,
|
|
10
|
+
clearLiveTurnFromHistory,
|
|
9
11
|
DEFAULT_HISTORY_EVENT_LIMIT,
|
|
10
12
|
dedupeChatMessages,
|
|
11
13
|
getNextHistoryEventLimit,
|
|
12
14
|
} from "./history.js";
|
|
13
15
|
import { applySessionUsageEvent, cloneContextUsageSnapshot } from "./context-usage.js";
|
|
14
16
|
import { validateCanvasAction, formatCanvasActionPrompt, createCanvasActionLimiter } from "./canvas-actions.js";
|
|
15
|
-
import {
|
|
17
|
+
import { shouldKeepSessionWarning } from "./session-errors.js";
|
|
16
18
|
import {
|
|
17
19
|
computeLegacyLayout,
|
|
18
20
|
getBaseSessionPaneHeight,
|
|
@@ -162,12 +164,12 @@ function classifyNavigationLoadError(error) {
|
|
|
162
164
|
}
|
|
163
165
|
|
|
164
166
|
// A 404/NOT_FOUND on a per-session data loop is TERMINAL: the session was
|
|
165
|
-
// deleted
|
|
166
|
-
//
|
|
167
|
+
// deleted or no longer accessible. A permission denial must clear retained
|
|
168
|
+
// content; network/server failures remain retryable.
|
|
167
169
|
function isSessionGoneError(error) {
|
|
168
170
|
const status = Number(error?.status);
|
|
169
171
|
const code = String(error?.code || "").toUpperCase();
|
|
170
|
-
return status === 404 || code === "NOT_FOUND";
|
|
172
|
+
return status === 404 || status === 403 || code === "NOT_FOUND" || code === "FORBIDDEN";
|
|
171
173
|
}
|
|
172
174
|
|
|
173
175
|
async function loadSessionCatalogPageWindow(transport) {
|
|
@@ -421,7 +423,7 @@ function buildSessionMergePatch(previousSession, nextSession) {
|
|
|
421
423
|
patch.waitReason = null;
|
|
422
424
|
changed = true;
|
|
423
425
|
}
|
|
424
|
-
if (
|
|
426
|
+
if (shouldKeepSessionWarning(previousSession, nextSession)) {
|
|
425
427
|
if (patch.error !== previousSession.error) {
|
|
426
428
|
patch.error = previousSession.error;
|
|
427
429
|
changed = true;
|
|
@@ -2503,6 +2505,8 @@ export class PilotSwarmUiController {
|
|
|
2503
2505
|
}
|
|
2504
2506
|
|
|
2505
2507
|
async stop() {
|
|
2508
|
+
for (const timer of this._liveTurnIdleTimers?.values() || []) clearTimeout(timer);
|
|
2509
|
+
this._liveTurnIdleTimers?.clear();
|
|
2506
2510
|
if (this.catalogTimer) clearInterval(this.catalogTimer);
|
|
2507
2511
|
this.catalogTimer = null;
|
|
2508
2512
|
if (this.activeSessionDetailTimer) clearTimeout(this.activeSessionDetailTimer);
|
|
@@ -2518,6 +2522,16 @@ export class PilotSwarmUiController {
|
|
|
2518
2522
|
}
|
|
2519
2523
|
|
|
2520
2524
|
detachActiveSession() {
|
|
2525
|
+
// Timers belong to the subscription, not to a future visit to this session.
|
|
2526
|
+
const sessionId = this.activeSessionSubscriptionId;
|
|
2527
|
+
if (sessionId) {
|
|
2528
|
+
clearTimeout(this._liveTurnIdleTimers?.get(sessionId));
|
|
2529
|
+
this._liveTurnIdleTimers?.delete(sessionId);
|
|
2530
|
+
const history = this.getState().history.bySessionId.get(sessionId);
|
|
2531
|
+
if (history) this.dispatch({ type: "history/set", sessionId, history: {
|
|
2532
|
+
...history, chat: history.chat.filter((item) => !item.liveTurn),
|
|
2533
|
+
} });
|
|
2534
|
+
}
|
|
2521
2535
|
if (this.activeSessionUnsub) {
|
|
2522
2536
|
this.activeSessionUnsub();
|
|
2523
2537
|
this.activeSessionUnsub = null;
|
|
@@ -2536,6 +2550,8 @@ export class PilotSwarmUiController {
|
|
|
2536
2550
|
// A folder row can never be "gone" from the session catalog: it is not
|
|
2537
2551
|
// a session. Only sessions/groupsLoaded may remove one.
|
|
2538
2552
|
if (isSessionGroupRowId(sessionId)) return;
|
|
2553
|
+
// An older in-flight catalog read must not undo an access revocation.
|
|
2554
|
+
this.sessionRefreshSeq = (this.sessionRefreshSeq || 0) + 1;
|
|
2539
2555
|
if (this.activeSessionSubscriptionId === sessionId) {
|
|
2540
2556
|
this.detachActiveSession();
|
|
2541
2557
|
}
|
|
@@ -2866,8 +2882,9 @@ export class PilotSwarmUiController {
|
|
|
2866
2882
|
if (newEvents.length === 0) {
|
|
2867
2883
|
return existingHistory;
|
|
2868
2884
|
}
|
|
2869
|
-
let history = existingHistory;
|
|
2885
|
+
let history = this.getState().history.bySessionId.get(sessionId) || existingHistory;
|
|
2870
2886
|
for (const event of newEvents) {
|
|
2887
|
+
if (event.seq <= (history.lastSeq || 0)) continue;
|
|
2871
2888
|
history = appendEventToHistory(history, event);
|
|
2872
2889
|
}
|
|
2873
2890
|
history = {
|
|
@@ -2937,10 +2954,37 @@ export class PilotSwarmUiController {
|
|
|
2937
2954
|
}
|
|
2938
2955
|
throw error;
|
|
2939
2956
|
}
|
|
2940
|
-
const
|
|
2941
|
-
|
|
2942
|
-
|
|
2957
|
+
const current = this.getState().history.bySessionId.get(sessionId);
|
|
2958
|
+
// Durable events and previews can arrive while REST is pending.
|
|
2959
|
+
// Merge that newer truth before replacing the loaded window.
|
|
2960
|
+
const mergedEvents = [...new Map([...(events || []), ...(current?.events || [])]
|
|
2961
|
+
.map((event) => [event.seq, event])).values()].sort((a, b) => a.seq - b.seq);
|
|
2962
|
+
let history = {
|
|
2963
|
+
...buildHistoryModel(mergedEvents, { requestedLimit }),
|
|
2964
|
+
lastSeq: mergedEvents.at(-1)?.seq || 0,
|
|
2943
2965
|
};
|
|
2966
|
+
history.closedLiveKeys = current?.closedLiveKeys || [];
|
|
2967
|
+
history.closedLiveStreams = current?.closedLiveStreams || [];
|
|
2968
|
+
const newTerminal = mergedEvents.some((event) => event.seq > (current?.lastSeq || 0)
|
|
2969
|
+
&& ["session.turn_completed", "session.turn_stopped"].includes(event.eventType));
|
|
2970
|
+
for (const item of current?.chat || []) {
|
|
2971
|
+
if (item.streamSettling) {
|
|
2972
|
+
history.chat = history.chat.map((message) => message.messageId === item.messageId
|
|
2973
|
+
? { ...item, ...message } : message);
|
|
2974
|
+
} else if (item.liveTurn && !newTerminal) {
|
|
2975
|
+
// Reuse the item itself: its key, reveal clock and memoized
|
|
2976
|
+
// rendering belong to this visit, not the REST response.
|
|
2977
|
+
if (!history.chat.some((message) => message.messageId && message.messageId === item.messageId)) {
|
|
2978
|
+
history.chat.push(item);
|
|
2979
|
+
} else {
|
|
2980
|
+
const finalEvent = mergedEvents.find((event) => event.eventType === "assistant.message" && event.data?.messageId === item.messageId);
|
|
2981
|
+
if (finalEvent) {
|
|
2982
|
+
const reconciled = appendEventToHistory({ chat: [item], events: [], activity: [], lastSeq: 0 }, finalEvent).chat[0];
|
|
2983
|
+
history.chat = history.chat.map((message) => message.messageId === item.messageId ? { ...reconciled, ...message } : message);
|
|
2984
|
+
}
|
|
2985
|
+
}
|
|
2986
|
+
}
|
|
2987
|
+
}
|
|
2944
2988
|
this.dispatch({
|
|
2945
2989
|
type: "history/set",
|
|
2946
2990
|
sessionId,
|
|
@@ -5703,11 +5747,80 @@ export class PilotSwarmUiController {
|
|
|
5703
5747
|
|
|
5704
5748
|
mergeSessionEvent(sessionId, event) {
|
|
5705
5749
|
if (!sessionId || !event) return false;
|
|
5750
|
+
if (event.eventType === "session.access_revoked") {
|
|
5751
|
+
this.handleSessionGone(sessionId);
|
|
5752
|
+
return true;
|
|
5753
|
+
}
|
|
5706
5754
|
// Plane-synthesized canvas events are TRANSIENT: they update canvas
|
|
5707
5755
|
// state and nothing else. They carry no seq — letting them into
|
|
5708
5756
|
// history would corrupt the replay cursor — and they must never
|
|
5709
5757
|
// appear in the transcript.
|
|
5710
5758
|
if (event.transient === true) {
|
|
5759
|
+
if (event.eventType === "assistant.live_tick") {
|
|
5760
|
+
// A worker can die leaving a reasoning-only retained row.
|
|
5761
|
+
// On re-entry its message ID cannot match a durable final;
|
|
5762
|
+
// use database timestamps to reject snapshots older than an
|
|
5763
|
+
// already-loaded terminal event. Never use client wall time.
|
|
5764
|
+
const snapshotTime = event.liveUpdatedAt ? new Date(event.liveUpdatedAt).getTime() : NaN;
|
|
5765
|
+
if (event.data?.phase === "live" && Number.isFinite(snapshotTime)) {
|
|
5766
|
+
const history = this.getState().history.bySessionId.get(sessionId);
|
|
5767
|
+
if (history?.events?.some((entry) => ["session.turn_completed", "session.turn_stopped"].includes(entry.eventType)
|
|
5768
|
+
&& new Date(entry.createdAt).getTime() > snapshotTime)) return false;
|
|
5769
|
+
}
|
|
5770
|
+
if (!this._liveTurnIdleTimers) this._liveTurnIdleTimers = new Map();
|
|
5771
|
+
const pendingIdle = this._liveTurnIdleTimers.get(sessionId);
|
|
5772
|
+
if (pendingIdle && event.data?.phase === "idle") {
|
|
5773
|
+
clearTimeout(pendingIdle);
|
|
5774
|
+
this._liveTurnIdleTimers.delete(sessionId);
|
|
5775
|
+
}
|
|
5776
|
+
// The live plane and durable event stream are independent.
|
|
5777
|
+
// An idle tick commonly wins the race by a few milliseconds;
|
|
5778
|
+
// tearing down immediately makes the live answer flash out
|
|
5779
|
+
// before its durable replacement lands. Give reconciliation a
|
|
5780
|
+
// bounded grace window, then clear only if it is still live.
|
|
5781
|
+
if (event.data?.phase === "idle") {
|
|
5782
|
+
const ended = this.getState().history.bySessionId.get(sessionId);
|
|
5783
|
+
if (!ended) return true;
|
|
5784
|
+
const streamId = event.data?.streamId || null;
|
|
5785
|
+
const endedKeys = new Set(ended.chat.filter((item) => item.liveTurn && (
|
|
5786
|
+
!streamId || item.streamId === streamId
|
|
5787
|
+
|| (ended.closedLiveStreams || []).includes(item.streamId)
|
|
5788
|
+
|| (ended.closedLiveKeys || []).includes(item.liveKey)
|
|
5789
|
+
)).map((item) => item.liveKey));
|
|
5790
|
+
// Never reveal a preview that has already finished. Keep
|
|
5791
|
+
// only previews that crossed the reveal threshold, and
|
|
5792
|
+
// close their keys now so late packets cannot revive them.
|
|
5793
|
+
this.dispatch({ type: "history/set", sessionId, history: {
|
|
5794
|
+
...clearLiveTurnFromHistory(ended, null, streamId),
|
|
5795
|
+
chat: ended.chat.filter((item) => !item.liveTurn || !endedKeys.has(item.liveKey) || Date.now() - item.liveStartedAt >= 200),
|
|
5796
|
+
} });
|
|
5797
|
+
const timer = setTimeout(() => {
|
|
5798
|
+
this._liveTurnIdleTimers?.delete(sessionId);
|
|
5799
|
+
const current = this.getState().history.bySessionId.get(sessionId);
|
|
5800
|
+
if (!current) return;
|
|
5801
|
+
const chat = current.chat.filter((item) => !item.liveTurn || !endedKeys.has(item.liveKey));
|
|
5802
|
+
const cleared = chat.length === current.chat.length ? current : { ...current, chat };
|
|
5803
|
+
if (cleared !== current) {
|
|
5804
|
+
this.dispatch({ type: "history/set", sessionId, history: cleared });
|
|
5805
|
+
}
|
|
5806
|
+
}, 1_200);
|
|
5807
|
+
timer.unref?.();
|
|
5808
|
+
this._liveTurnIdleTimers.set(sessionId, timer);
|
|
5809
|
+
return true;
|
|
5810
|
+
}
|
|
5811
|
+
const existing = this.getState().history.bySessionId.get(sessionId)
|
|
5812
|
+
|| { chat: [], activity: [], events: [], lastSeq: 0 };
|
|
5813
|
+
this.dispatch({
|
|
5814
|
+
type: "history/set",
|
|
5815
|
+
sessionId,
|
|
5816
|
+
history: applyLiveTurnToHistory(existing, event.data, {
|
|
5817
|
+
sessionId,
|
|
5818
|
+
seq: event.liveSeq,
|
|
5819
|
+
createdAt: Date.now(),
|
|
5820
|
+
}),
|
|
5821
|
+
});
|
|
5822
|
+
return true;
|
|
5823
|
+
}
|
|
5711
5824
|
if (event.eventType === "session.canvas_data") {
|
|
5712
5825
|
this.applyCanvasDataEvent(sessionId, event);
|
|
5713
5826
|
}
|
|
@@ -5730,6 +5843,12 @@ export class PilotSwarmUiController {
|
|
|
5730
5843
|
}
|
|
5731
5844
|
return false;
|
|
5732
5845
|
}
|
|
5846
|
+
if (this._liveTurnIdleTimers?.has(sessionId)
|
|
5847
|
+
&& (event.eventType === "session.turn_completed"
|
|
5848
|
+
|| event.eventType === "session.turn_stopped")) {
|
|
5849
|
+
clearTimeout(this._liveTurnIdleTimers.get(sessionId));
|
|
5850
|
+
this._liveTurnIdleTimers.delete(sessionId);
|
|
5851
|
+
}
|
|
5733
5852
|
const state = this.getState();
|
|
5734
5853
|
const existing = state.history.bySessionId.get(sessionId) || { chat: [], activity: [], lastSeq: 0 };
|
|
5735
5854
|
if (event.seq <= (existing.lastSeq || 0)) return false;
|
|
@@ -9536,10 +9655,16 @@ export class PilotSwarmUiController {
|
|
|
9536
9655
|
...(olderHistory.events || []),
|
|
9537
9656
|
...(history?.events || []),
|
|
9538
9657
|
];
|
|
9658
|
+
// A page can split an assistant message from its turn
|
|
9659
|
+
// boundary. Reclassify the combined durable window while
|
|
9660
|
+
// retaining this visit's preview identity and reasoning.
|
|
9661
|
+
const existingChatById = new Map((history?.chat || []).map((item) => [item.id, item]));
|
|
9662
|
+
const combinedHistory = buildHistoryModel(combinedEvents, { requestedLimit: combinedEvents.length });
|
|
9539
9663
|
history = {
|
|
9664
|
+
...history,
|
|
9540
9665
|
chat: dedupeChatMessages([
|
|
9541
|
-
...
|
|
9542
|
-
...(history?.chat || []),
|
|
9666
|
+
...combinedHistory.chat.map((item) => ({ ...existingChatById.get(item.id), ...item })),
|
|
9667
|
+
...(history?.chat || []).filter((item) => item.liveTurn || item.optimistic),
|
|
9543
9668
|
]),
|
|
9544
9669
|
activity: [
|
|
9545
9670
|
...(olderHistory.activity || []),
|
|
@@ -617,7 +617,9 @@ export function extractHttpLinks(source = "") {
|
|
|
617
617
|
.filter((token) => token.href);
|
|
618
618
|
}
|
|
619
619
|
|
|
620
|
-
function parseInlineMarkdownRuns(source) {
|
|
620
|
+
function parseInlineMarkdownRuns(source, depth = 0) {
|
|
621
|
+
// Keep pathological model output from exhausting the JS call stack.
|
|
622
|
+
if (depth >= 32) return [{ text: String(source || ""), color: null, bold: false, underline: false }];
|
|
621
623
|
const tokens = tokenizeInlineMarkdown(source);
|
|
622
624
|
const runs = [];
|
|
623
625
|
|
|
@@ -626,12 +628,16 @@ function parseInlineMarkdownRuns(source) {
|
|
|
626
628
|
pushTextRun(runs, token.text, { color: "cyan" });
|
|
627
629
|
continue;
|
|
628
630
|
}
|
|
629
|
-
if (token.type === "strong") {
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
631
|
+
if (token.type === "strong" || token.type === "em") {
|
|
632
|
+
// Emphasis may contain links (e.g. **[Download](artifact://...)**).
|
|
633
|
+
// Preserve their href so the portal can render its artifact card;
|
|
634
|
+
// flattening token.text here leaves raw Markdown in the transcript.
|
|
635
|
+
for (const run of parseInlineMarkdownRuns(token.text, depth + 1)) {
|
|
636
|
+
pushTextRun(runs, run.text, {
|
|
637
|
+
...run,
|
|
638
|
+
...(token.type === "strong" ? { bold: true } : { underline: true }),
|
|
639
|
+
});
|
|
640
|
+
}
|
|
635
641
|
continue;
|
|
636
642
|
}
|
|
637
643
|
if (token.type === "link") {
|
|
@@ -1050,7 +1056,9 @@ export function parseMarkdownLines(input, options = {}) {
|
|
|
1050
1056
|
|
|
1051
1057
|
const headingMatch = /^(#{1,6})\s+(.*)$/.exec(rawLine);
|
|
1052
1058
|
if (headingMatch) {
|
|
1053
|
-
lines.push(
|
|
1059
|
+
lines.push(parseInlineMarkdownRuns(headingMatch[2]).map((run) => ({
|
|
1060
|
+
...run, color: run.color || "white", bold: true,
|
|
1061
|
+
})));
|
|
1054
1062
|
continue;
|
|
1055
1063
|
}
|
|
1056
1064
|
|
|
@@ -1106,6 +1114,7 @@ export function buildMessageCardLines({
|
|
|
1106
1114
|
bodyColor = null,
|
|
1107
1115
|
fitToContent = false,
|
|
1108
1116
|
tableMode = null,
|
|
1117
|
+
cardKey = null,
|
|
1109
1118
|
} = {}) {
|
|
1110
1119
|
const maxWidth = Math.max(fitToContent ? 12 : 20, Number(width) || (fitToContent ? 12 : 20));
|
|
1111
1120
|
const maxContentWidth = Math.max(1, maxWidth - 4);
|
|
@@ -1130,7 +1139,7 @@ export function buildMessageCardLines({
|
|
|
1130
1139
|
: lineRuns))
|
|
1131
1140
|
: sentinelBodyLines;
|
|
1132
1141
|
return [
|
|
1133
|
-
{ kind: "cardStart", runs: titleRuns, borderColor },
|
|
1142
|
+
{ kind: "cardStart", runs: titleRuns, borderColor, ...(cardKey ? { cardKey } : {}) },
|
|
1134
1143
|
...sentinelTinted,
|
|
1135
1144
|
{ kind: "cardEnd" },
|
|
1136
1145
|
[{ text: "", color: null }],
|