local-operator-ui 0.28.3 → 0.28.5
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/out/main/index.js +101 -34
- package/out/renderer/assets/{_basePickBy-BBP0F16i.js → _basePickBy-DFO3ycpM.js} +1 -1
- package/out/renderer/assets/{_baseUniq-DjxRRM-q.js → _baseUniq-Cn2IMukQ.js} +1 -1
- package/out/renderer/assets/agent-details-page-kXzOGCFC.js +6 -0
- package/out/renderer/assets/agent-hub-page-Cye8MgKR.js +6 -0
- package/out/renderer/assets/{agents-page-DLjX0IMj.js → agents-page-1CYgoquY.js} +2 -2
- package/out/renderer/assets/{arc-C2DRbjeQ.js → arc-BJ3kbEF-.js} +1 -1
- package/out/renderer/assets/{architectureDiagram-IEHRJDOE-Bu3QEQkj.js → architectureDiagram-IEHRJDOE-CkOCpusv.js} +1 -1
- package/out/renderer/assets/{blockDiagram-JOT3LUYC-B4dcpLda.js → blockDiagram-JOT3LUYC-56xQkw9h.js} +1 -1
- package/out/renderer/assets/browser-page-C0YEgqHR.js +1 -0
- package/out/renderer/assets/{c4Diagram-VJAJSXHY-CM93Qt3c.js → c4Diagram-VJAJSXHY-CMSd2UTj.js} +1 -1
- package/out/renderer/assets/channel-DLcdsUHJ.js +1 -0
- package/out/renderer/assets/{chunk-4BMEZGHF-BoCakpR9.js → chunk-4BMEZGHF-Br3AYC6f.js} +1 -1
- package/out/renderer/assets/{chunk-A2AXSNBT-fPE0V_zK.js → chunk-A2AXSNBT-DMoO8JtW.js} +1 -1
- package/out/renderer/assets/{chunk-AEK57VVT-PeU0U0Jr.js → chunk-AEK57VVT-lXmgC932.js} +1 -1
- package/out/renderer/assets/{chunk-D6G4REZN-dqXsUJuN.js → chunk-D6G4REZN-u70dwYxi.js} +1 -1
- package/out/renderer/assets/{chunk-RZ5BOZE2-iOEMmjI6.js → chunk-RZ5BOZE2-BIV79Je7.js} +1 -1
- package/out/renderer/assets/{chunk-XZIHB7SX-DNMxuK8c.js → chunk-XZIHB7SX-CoZjn9a-.js} +1 -1
- package/out/renderer/assets/classDiagram-GIVACNV2-DFEYFC2H.js +1 -0
- package/out/renderer/assets/classDiagram-v2-COTLJTTW-DFEYFC2H.js +1 -0
- package/out/renderer/assets/clone-f0dxCGb2.js +1 -0
- package/out/renderer/assets/{compact-pagination-CdlSy_zE.js → compact-pagination-Bpe0E_u_.js} +1 -1
- package/out/renderer/assets/{dagre-OKDRZEBW-CLEK8caE.js → dagre-OKDRZEBW-DrwVmJ9O.js} +1 -1
- package/out/renderer/assets/{diagram-SSKATNLV-Yql0QmJX.js → diagram-SSKATNLV-CfOOD2ny.js} +1 -1
- package/out/renderer/assets/{diagram-VNBRO52H-o_VgZJcg.js → diagram-VNBRO52H-B9N73O7W.js} +1 -1
- package/out/renderer/assets/{erDiagram-Q7BY3M3F-COJrT7PC.js → erDiagram-Q7BY3M3F-KOy5QH4q.js} +1 -1
- package/out/renderer/assets/{flowDiagram-4HSFHLVR-DoxahilY.js → flowDiagram-4HSFHLVR-DFnoaoQs.js} +1 -1
- package/out/renderer/assets/{ganttDiagram-APWFNJXF-Bm7z-0v8.js → ganttDiagram-APWFNJXF-BTxttNAl.js} +1 -1
- package/out/renderer/assets/{gitGraphDiagram-7IBYFJ6S-CpwCBQRX.js → gitGraphDiagram-7IBYFJ6S-taOiX-P2.js} +1 -1
- package/out/renderer/assets/{graph-DR0IUFTR.js → graph-BkxVJV5Y.js} +1 -1
- package/out/renderer/assets/icon-Ba9HGo1c.css +1 -0
- package/out/renderer/assets/{icon-DSd8jC90.js → icon-dNp1enls.js} +1 -1
- package/out/renderer/assets/{index-KI186JLX.js → index-CQaghAk5.js} +1 -1
- package/out/renderer/assets/{index-DnW_kgMc.js → index-DwT9X3KB.js} +394 -389
- package/out/renderer/assets/{index-NgjUzrqT.js → index-rOzO2CyI.js} +1 -1
- package/out/renderer/assets/{infoDiagram-PH2N3AL5-D2IPdCqr.js → infoDiagram-PH2N3AL5-ByF2UGPz.js} +1 -1
- package/out/renderer/assets/{installer-DYouFhce.js → installer-DYX8Gp6Q.js} +3 -3
- package/out/renderer/assets/{journeyDiagram-U35MCT3I-kZ8pfyqw.js → journeyDiagram-U35MCT3I-BuW1VhPI.js} +1 -1
- package/out/renderer/assets/{kanban-definition-NDS4AKOZ-vULF1Xsx.js → kanban-definition-NDS4AKOZ-LAnv48fm.js} +1 -1
- package/out/renderer/assets/{layout-BTG-f-9Y.js → layout-CriHQKjk.js} +1 -1
- package/out/renderer/assets/{legacy-agents-page-F6UxsNw3.js → legacy-agents-page-CSRePCTp.js} +3 -3
- package/out/renderer/assets/{mermaid.core-C9ejm8if.js → mermaid.core-BPDn3eSm.js} +5 -5
- package/out/renderer/assets/{mindmap-definition-ALO5MXBD-DoPXZY6O.js → mindmap-definition-ALO5MXBD-DVPeZTtM.js} +1 -1
- package/out/renderer/assets/{page-header-ByGWC-Bb.js → page-header-BEVLGhES.js} +1 -1
- package/out/renderer/assets/{parseISO-DEXiCU5D.js → parseISO-BVUAkPhp.js} +1 -1
- package/out/renderer/assets/{pieDiagram-IB7DONF6-DFOQu0lV.js → pieDiagram-IB7DONF6-Bcodv_XZ.js} +1 -1
- package/out/renderer/assets/{quadrantDiagram-7GDLP6J5-5HNeqaT-.js → quadrantDiagram-7GDLP6J5-CGdeEE8a.js} +1 -1
- package/out/renderer/assets/{radar-MK3ICKWK-B4kS90ER.js → radar-MK3ICKWK-CTiHSbPX.js} +1 -1
- package/out/renderer/assets/{radient-auth-buttons-D5aeH47J.js → radient-auth-buttons-uLrsJMmK.js} +2 -2
- package/out/renderer/assets/{requirementDiagram-KVF5MWMF-BccyNVCD.js → requirementDiagram-KVF5MWMF-DfPUaF84.js} +1 -1
- package/out/renderer/assets/{sankeyDiagram-QLVOVGJD-CQQdfrb1.js → sankeyDiagram-QLVOVGJD-DltFotRb.js} +1 -1
- package/out/renderer/assets/{schedules-page-BVR4d6SM.js → schedules-page-CzzZ9Y3N.js} +1 -1
- package/out/renderer/assets/{sequenceDiagram-X6HHIX6F-BqHg5YQ3.js → sequenceDiagram-X6HHIX6F-DIO_hPTS.js} +1 -1
- package/out/renderer/assets/{settings-page-DjY4p8xo.js → settings-page-gPcxAKI7.js} +8 -8
- package/out/renderer/assets/{stateDiagram-DGXRK772-b7i6Bt1H.js → stateDiagram-DGXRK772-Dac5Bkw7.js} +1 -1
- package/out/renderer/assets/stateDiagram-v2-YXO3MK2T-BwM7bmf7.js +1 -0
- package/out/renderer/assets/{timeline-definition-BDJGKUSR-B5v_2PQx.js → timeline-definition-BDJGKUSR-l8fBbxEc.js} +1 -1
- package/out/renderer/assets/use-agent-like-mutation-eUtuctGb.js +1 -0
- package/out/renderer/assets/{xychartDiagram-VJFVF3MP-Djcwglte.js → xychartDiagram-VJFVF3MP-CsDaGRNr.js} +1 -1
- package/out/renderer/index.html +3 -3
- package/out/renderer/installer.html +3 -3
- package/package.json +2 -2
- package/out/renderer/assets/agent-details-page-b4Jm7Fqp.js +0 -6
- package/out/renderer/assets/agent-hub-page-nCGrd10n.js +0 -11
- package/out/renderer/assets/browser-page-XjS6AJWX.js +0 -1
- package/out/renderer/assets/channel-BhgbMo9c.js +0 -1
- package/out/renderer/assets/classDiagram-GIVACNV2-BFMzYHo3.js +0 -1
- package/out/renderer/assets/classDiagram-v2-COTLJTTW-BFMzYHo3.js +0 -1
- package/out/renderer/assets/clone-AF0jx5V9.js +0 -1
- package/out/renderer/assets/icon-B0HMKFlq.css +0 -1
- package/out/renderer/assets/stateDiagram-v2-YXO3MK2T-D7Rngykw.js +0 -1
- package/out/renderer/assets/use-agent-like-mutation-C6zdtkZo.js +0 -1
package/out/main/index.js
CHANGED
|
@@ -941,6 +941,13 @@ const desktopRequestSchema = zod.z.discriminatedUnion("op", [
|
|
|
941
941
|
"agents.favourited",
|
|
942
942
|
"agents.favourite_count",
|
|
943
943
|
"agents.download_count",
|
|
944
|
+
/*
|
|
945
|
+
* The viewer's own like/favourite state for a whole page of agents. The
|
|
946
|
+
* closed vocabulary has to name it here as well as in
|
|
947
|
+
* `shared/api/radient/proxy.ts`, because this schema is what validates
|
|
948
|
+
* the request the renderer actually sends.
|
|
949
|
+
*/
|
|
950
|
+
"agents.statuses",
|
|
944
951
|
"comments.list",
|
|
945
952
|
"comments.create",
|
|
946
953
|
"comments.update",
|
|
@@ -15547,29 +15554,65 @@ function canCreateWindowFor(show) {
|
|
|
15547
15554
|
return show !== "never";
|
|
15548
15555
|
}
|
|
15549
15556
|
const OPERATOR_SHOW = "focus";
|
|
15550
|
-
|
|
15551
|
-
|
|
15557
|
+
const REFUSABLE_DELIVERY = {
|
|
15558
|
+
// This process's own launch presenting its own window: nobody else asked, and
|
|
15559
|
+
// the plan it presents under is this process's own.
|
|
15560
|
+
"initial-present": "never",
|
|
15561
|
+
// THE ONE REFUSAL. The residual above says what it rests on and what it cannot
|
|
15562
|
+
// see.
|
|
15563
|
+
"second-instance": "when-its-plan-is-silent",
|
|
15564
|
+
// A person clicked a real banner, so refusing it and applying it must not
|
|
15565
|
+
// differ — and with a window up it does not even reach this gate.
|
|
15566
|
+
"banner-click": "never",
|
|
15567
|
+
// Raises only, so it never calls the gate; declared anyway, because a verb
|
|
15568
|
+
// cannot be added here without answering this question.
|
|
15569
|
+
"viewer-focus": "never",
|
|
15570
|
+
// HIS OWN CLICK ROUTES THROUGH THIS, and the ladder reads any ack as
|
|
15571
|
+
// "displayed", so refusing it is a silent no-op on his own notification (U1).
|
|
15572
|
+
"viewer-resume": "never"
|
|
15573
|
+
};
|
|
15574
|
+
function canRetargetWindow(request, windowInUse) {
|
|
15575
|
+
if (!windowInUse) return true;
|
|
15576
|
+
return !(request.show === "never" && REFUSABLE_DELIVERY[request.trigger] === "when-its-plan-is-silent");
|
|
15577
|
+
}
|
|
15578
|
+
function reportParked(session, context, requested = "never") {
|
|
15579
|
+
reportParkState([session], "parked", context, requested);
|
|
15580
|
+
}
|
|
15581
|
+
function reportParkedInUse(session, requested, context) {
|
|
15582
|
+
reportParkState([session], "parked+in-use", context, requested);
|
|
15552
15583
|
}
|
|
15553
|
-
function reportParkState(sessions, applied, context) {
|
|
15584
|
+
function reportParkState(sessions, applied, context, requested = "never") {
|
|
15554
15585
|
context.report?.(
|
|
15555
15586
|
[
|
|
15556
15587
|
`trigger=${context.trigger}`,
|
|
15557
|
-
`mode=${MODE_OF_SHOW
|
|
15558
|
-
|
|
15588
|
+
`mode=${MODE_OF_SHOW[requested]}`,
|
|
15589
|
+
`requested=${requested}`,
|
|
15559
15590
|
`parked=${sessions.join(",")}`,
|
|
15560
15591
|
...requesterFields(context),
|
|
15561
15592
|
`applied=${applied}`
|
|
15562
15593
|
].join(" ")
|
|
15563
15594
|
);
|
|
15564
15595
|
}
|
|
15565
|
-
function reportParkedDelivered(session, context) {
|
|
15566
|
-
reportParkState([session], "delivered", context);
|
|
15596
|
+
function reportParkedDelivered(session, context, requested = "never") {
|
|
15597
|
+
reportParkState([session], "delivered", context, requested);
|
|
15598
|
+
}
|
|
15599
|
+
function reportConversationReplaced(session, requested, context) {
|
|
15600
|
+
context.report?.(
|
|
15601
|
+
[
|
|
15602
|
+
`trigger=${context.trigger}`,
|
|
15603
|
+
`mode=${MODE_OF_SHOW[requested]}`,
|
|
15604
|
+
`requested=${requested}`,
|
|
15605
|
+
`delivered=${session}`,
|
|
15606
|
+
...requesterFields(context),
|
|
15607
|
+
"applied=conversation+replaced"
|
|
15608
|
+
].join(" ")
|
|
15609
|
+
);
|
|
15567
15610
|
}
|
|
15568
|
-
function reportParkedLeftWaiting(sessions, context) {
|
|
15569
|
-
reportParkState(sessions, "left+waiting", context);
|
|
15611
|
+
function reportParkedLeftWaiting(sessions, context, requested = "never") {
|
|
15612
|
+
reportParkState(sessions, "left+waiting", context, requested);
|
|
15570
15613
|
}
|
|
15571
|
-
function reportParkedEvicted(session, context) {
|
|
15572
|
-
reportParkState([session], "evicted", context);
|
|
15614
|
+
function reportParkedEvicted(session, context, requested = "never") {
|
|
15615
|
+
reportParkState([session], "evicted", context, requested);
|
|
15573
15616
|
}
|
|
15574
15617
|
function reportParksAtQuit(sessions, report) {
|
|
15575
15618
|
report(
|
|
@@ -21834,7 +21877,7 @@ const reportRaise = (line) => {
|
|
|
21834
21877
|
function describeForwardedLaunch(profile, session) {
|
|
21835
21878
|
const named = session === null ? null : `the conversation it named (${session})`;
|
|
21836
21879
|
const handed = named === null ? "it named no conversation" : `${named} rides with it`;
|
|
21837
|
-
const effect = windowLaunch.show === "never" ? named === null ? `${handed}, so nothing is waiting to be opened, and it will not raise a window in the meantime` : `${handed}: the app will open it
|
|
21880
|
+
const effect = windowLaunch.show === "never" ? named === null ? `${handed}, so nothing is waiting to be opened, and it will not raise a window in the meantime` : `${handed}: the app will open it in the window it already has open, or in the next window it creates when that window is in use or there is none, and it will not raise a window in the meantime (up to ${PARKED_LAUNCH_LIMIT} conversations wait; an older one is dropped and logged)` : windowLaunch.show === "inactive" ? `${handed}; the app may order its window forward without activating it` : `${handed}; the app will raise its window`;
|
|
21838
21881
|
return `[second-instance] this launch did not start a window of its own: the app already open is the instance answering (profile: ${profile}), and this launch's window mode (${windowLaunch.mode}) was handed to it — ${effect}. Quit that app to start a fresh instance. Exiting.`;
|
|
21839
21882
|
}
|
|
21840
21883
|
const secondInstanceRequest = (request) => ({
|
|
@@ -21870,21 +21913,27 @@ function rendererArgumentFlags(initialSession, openCatalogue) {
|
|
|
21870
21913
|
}
|
|
21871
21914
|
const parkedLaunches = [];
|
|
21872
21915
|
const PARKED_LAUNCH_LIMIT = 16;
|
|
21873
|
-
function parkLaunch(session, request) {
|
|
21916
|
+
function parkLaunch(session, request, why = "unreachable") {
|
|
21874
21917
|
parkedLaunches.push({ session, request });
|
|
21875
|
-
|
|
21918
|
+
const parkLine = {
|
|
21876
21919
|
trigger: request.trigger,
|
|
21877
21920
|
requester: request.requester,
|
|
21878
21921
|
report: reportRaise
|
|
21879
|
-
}
|
|
21922
|
+
};
|
|
21923
|
+
if (why === "in-use") reportParkedInUse(session, request.show, parkLine);
|
|
21924
|
+
else reportParked(session, parkLine, request.show);
|
|
21880
21925
|
if (parkedLaunches.length <= PARKED_LAUNCH_LIMIT) return;
|
|
21881
21926
|
const evicted = parkedLaunches.shift();
|
|
21882
21927
|
if (evicted) {
|
|
21883
|
-
reportParkedEvicted(
|
|
21884
|
-
|
|
21885
|
-
|
|
21886
|
-
|
|
21887
|
-
|
|
21928
|
+
reportParkedEvicted(
|
|
21929
|
+
evicted.session,
|
|
21930
|
+
{
|
|
21931
|
+
trigger: evicted.request.trigger,
|
|
21932
|
+
requester: evicted.request.requester,
|
|
21933
|
+
report: reportRaise
|
|
21934
|
+
},
|
|
21935
|
+
evicted.request.show
|
|
21936
|
+
);
|
|
21888
21937
|
}
|
|
21889
21938
|
}
|
|
21890
21939
|
function claimParkedFor(window, deliver, painted) {
|
|
@@ -21895,23 +21944,30 @@ function claimParkedFor(window, deliver, painted) {
|
|
|
21895
21944
|
const at = parkedLaunches.indexOf(queued);
|
|
21896
21945
|
if (at === -1) continue;
|
|
21897
21946
|
parkedLaunches.splice(at, 1);
|
|
21898
|
-
|
|
21899
|
-
|
|
21900
|
-
|
|
21901
|
-
|
|
21902
|
-
|
|
21903
|
-
|
|
21904
|
-
|
|
21947
|
+
if (queued !== painted) deliver(queued.session, queued.request);
|
|
21948
|
+
reportParkedDelivered(
|
|
21949
|
+
queued.session,
|
|
21950
|
+
{
|
|
21951
|
+
trigger: queued.request.trigger,
|
|
21952
|
+
requester: queued.request.requester,
|
|
21953
|
+
report: reportRaise
|
|
21954
|
+
},
|
|
21955
|
+
queued.request.show
|
|
21956
|
+
);
|
|
21905
21957
|
}
|
|
21906
21958
|
});
|
|
21907
21959
|
window.once("closed", () => {
|
|
21908
21960
|
for (const queued of claimed) {
|
|
21909
21961
|
if (!parkedLaunches.includes(queued)) continue;
|
|
21910
|
-
reportParkedLeftWaiting(
|
|
21911
|
-
|
|
21912
|
-
|
|
21913
|
-
|
|
21914
|
-
|
|
21962
|
+
reportParkedLeftWaiting(
|
|
21963
|
+
[queued.session],
|
|
21964
|
+
{
|
|
21965
|
+
trigger: queued.request.trigger,
|
|
21966
|
+
requester: queued.request.requester,
|
|
21967
|
+
report: reportRaise
|
|
21968
|
+
},
|
|
21969
|
+
queued.request.show
|
|
21970
|
+
);
|
|
21915
21971
|
}
|
|
21916
21972
|
});
|
|
21917
21973
|
return claimed.length;
|
|
@@ -22612,7 +22668,7 @@ electron.app.whenReady().then(async () => {
|
|
|
22612
22668
|
const windowId = mainWindow.webContents.id;
|
|
22613
22669
|
claimParkedFor(
|
|
22614
22670
|
mainWindow,
|
|
22615
|
-
(session, request2) => openSessionInWindow(session, request2),
|
|
22671
|
+
(session, request2) => openSessionInWindow(session, request2, { fromPark: true }),
|
|
22616
22672
|
parked
|
|
22617
22673
|
);
|
|
22618
22674
|
if (mainWindow) {
|
|
@@ -22704,10 +22760,21 @@ electron.app.whenReady().then(async () => {
|
|
|
22704
22760
|
);
|
|
22705
22761
|
}
|
|
22706
22762
|
}
|
|
22707
|
-
function openSessionInWindow(sessionId2, request) {
|
|
22763
|
+
function openSessionInWindow(sessionId2, request, { fromPark = false } = {}) {
|
|
22708
22764
|
const window = mainWindow;
|
|
22709
22765
|
if (window && !window.isDestroyed()) {
|
|
22766
|
+
if (!fromPark && sessionId2 !== null && !canRetargetWindow(request, window.isFocused())) {
|
|
22767
|
+
parkLaunch(sessionId2, request, "in-use");
|
|
22768
|
+
return;
|
|
22769
|
+
}
|
|
22710
22770
|
window.webContents.send("desktop-open-conversation", { sessionId: sessionId2 });
|
|
22771
|
+
if (sessionId2 !== null) {
|
|
22772
|
+
reportConversationReplaced(sessionId2, request.show, {
|
|
22773
|
+
trigger: request.trigger,
|
|
22774
|
+
requester: request.requester,
|
|
22775
|
+
report: reportRaise
|
|
22776
|
+
});
|
|
22777
|
+
}
|
|
22711
22778
|
raiseWindow(window, request.show, {
|
|
22712
22779
|
trigger: request.trigger,
|
|
22713
22780
|
requester: request.requester,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as o,c as b,g as v,k as O,h as P,j as p,l as w,m as A,n as x,t as c,o as N}from"./_baseUniq-
|
|
1
|
+
import{e as o,c as b,g as v,k as O,h as P,j as p,l as w,m as A,n as x,t as c,o as N}from"./_baseUniq-Cn2IMukQ.js";import{as as g,aa as y,at as E,au as F,av as M,aw as I,ax as _,ay as $,az as B,aA as T}from"./mermaid.core-BPDn3eSm.js";var S=/\s/;function z(n){for(var r=n.length;r--&&S.test(n.charAt(r)););return r}var G=/^\s+/;function H(n){return n&&n.slice(0,z(n)+1).replace(G,"")}var m=NaN,L=/^[-+]0x[0-9a-f]+$/i,R=/^0b[01]+$/i,q=/^0o[0-7]+$/i,C=parseInt;function K(n){if(typeof n=="number")return n;if(o(n))return m;if(g(n)){var r=typeof n.valueOf=="function"?n.valueOf():n;n=g(r)?r+"":r}if(typeof n!="string")return n===0?n:+n;n=H(n);var t=R.test(n);return t||q.test(n)?C(n.slice(2),t?2:8):L.test(n)?m:+n}var W=1/0,X=17976931348623157e292;function Y(n){if(!n)return n===0?n:0;if(n=K(n),n===W||n===-1/0){var r=n<0?-1:1;return r*X}return n===n?n:0}function D(n){var r=Y(n),t=r%1;return r===r?t?r-t:r:0}function fn(n){var r=n==null?0:n.length;return r?b(n):[]}var l=Object.prototype,J=l.hasOwnProperty,dn=y(function(n,r){n=Object(n);var t=-1,e=r.length,a=e>2?r[2]:void 0;for(a&&E(r[0],r[1],a)&&(e=1);++t<e;)for(var f=r[t],i=F(f),s=-1,d=i.length;++s<d;){var u=i[s],h=n[u];(h===void 0||M(h,l[u])&&!J.call(n,u))&&(n[u]=f[u])}return n});function un(n){var r=n==null?0:n.length;return r?n[r-1]:void 0}function Q(n){return function(r,t,e){var a=Object(r);if(!I(r)){var f=v(t);r=O(r),t=function(s){return f(a[s],s,a)}}var i=n(r,t,e);return i>-1?a[f?r[i]:i]:void 0}}var U=Math.max;function Z(n,r,t){var e=n==null?0:n.length;if(!e)return-1;var a=t==null?0:D(t);return a<0&&(a=U(e+a,0)),P(n,v(r),a)}var hn=Q(Z);function V(n,r){var t=-1,e=I(n)?Array(n.length):[];return p(n,function(a,f,i){e[++t]=r(a,f,i)}),e}function gn(n,r){var t=_(n)?w:V;return t(n,v(r))}var j=Object.prototype,k=j.hasOwnProperty;function nn(n,r){return n!=null&&k.call(n,r)}function vn(n,r){return n!=null&&A(n,r,nn)}function rn(n,r){return n<r}function tn(n,r,t){for(var e=-1,a=n.length;++e<a;){var f=n[e],i=r(f);if(i!=null&&(s===void 0?i===i&&!o(i):t(i,s)))var s=i,d=f}return d}function mn(n){return n&&n.length?tn(n,$,rn):void 0}function an(n,r,t,e){if(!g(n))return n;r=x(r,n);for(var a=-1,f=r.length,i=f-1,s=n;s!=null&&++a<f;){var d=c(r[a]),u=t;if(d==="__proto__"||d==="constructor"||d==="prototype")return n;if(a!=i){var h=s[d];u=void 0,u===void 0&&(u=g(h)?h:B(r[a+1])?[]:{})}T(s,d,u),s=s[d]}return n}function on(n,r,t){for(var e=-1,a=r.length,f={};++e<a;){var i=r[e],s=N(n,i);t(s,i)&&an(f,x(i,n),s)}return f}export{rn as a,tn as b,V as c,on as d,mn as e,fn as f,hn as g,vn as h,dn as i,D as j,un as l,gn as m,Y as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{aH as S,aI as Rn,ax as T,aJ as w,aK as xn,aL as Mn,aw as sn,aM as mn,aN as un,aO as x,au as U,aP as Cn,aQ as on,aR as Fn,aS as E,aF as gn,aT as R,as as ln,aU as Dn,aV as D,aW as Gn,aX as Un,aY as _,aA as Nn,aZ as Bn,av as Kn,a_ as X,a$ as Hn,b0 as jn,az as Yn,ay as cn,aD as Zn,b1 as m}from"./mermaid.core-C9ejm8if.js";var qn="[object Symbol]";function N(n){return typeof n=="symbol"||S(n)&&Rn(n)==qn}function dn(n,r){for(var e=-1,t=n==null?0:n.length,a=Array(t);++e<t;)a[e]=r(n[e],e,n);return a}var J=w?w.prototype:void 0,Q=J?J.toString:void 0;function pn(n){if(typeof n=="string")return n;if(T(n))return dn(n,pn)+"";if(N(n))return Q?Q.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function Xn(){}function An(n,r){for(var e=-1,t=n==null?0:n.length;++e<t&&r(n[e],e,n)!==!1;);return n}function Jn(n,r,e,t){for(var a=n.length,i=e+-1;++i<a;)if(r(n[i],i,n))return i;return-1}function Qn(n){return n!==n}function Wn(n,r,e){for(var t=e-1,a=n.length;++t<a;)if(n[t]===r)return t;return-1}function zn(n,r,e){return r===r?Wn(n,r,e):Jn(n,Qn,e)}function Vn(n,r){var e=n==null?0:n.length;return!!e&&zn(n,r,0)>-1}function $(n){return sn(n)?xn(n):Mn(n)}var kn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,nr=/^\w*$/;function B(n,r){if(T(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||N(n)?!0:nr.test(n)||!kn.test(n)||r!=null&&n in Object(r)}var rr=500;function er(n){var r=mn(n,function(t){return e.size===rr&&e.clear(),t}),e=r.cache;return r}var tr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ir=/\\(\\)?/g,ar=er(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(tr,function(e,t,a,i){r.push(a?i.replace(ir,"$1"):t||e)}),r});function fr(n){return n==null?"":pn(n)}function yn(n,r){return T(n)?n:B(n,r)?[n]:ar(fr(n))}function M(n){if(typeof n=="string"||N(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function bn(n,r){r=yn(r,n);for(var e=0,t=r.length;n!=null&&e<t;)n=n[M(r[e++])];return e&&e==t?n:void 0}function sr(n,r,e){var t=n==null?void 0:bn(n,r);return t===void 0?e:t}function K(n,r){for(var e=-1,t=r.length,a=n.length;++e<t;)n[a+e]=r[e];return n}var W=w?w.isConcatSpreadable:void 0;function ur(n){return T(n)||un(n)||!!(W&&n&&n[W])}function Ot(n,r,e,t,a){var i=-1,f=n.length;for(e||(e=ur),a||(a=[]);++i<f;){var s=n[i];e(s)?K(a,s):t||(a[a.length]=s)}return a}function or(n,r,e,t){var a=-1,i=n==null?0:n.length;for(t&&i&&(e=n[++a]);++a<i;)e=r(e,n[a],a,n);return e}function gr(n,r){return n&&x(r,$(r),n)}function lr(n,r){return n&&x(r,U(r),n)}function Tn(n,r){for(var e=-1,t=n==null?0:n.length,a=0,i=[];++e<t;){var f=n[e];r(f,e,n)&&(i[a++]=f)}return i}function hn(){return[]}var cr=Object.prototype,dr=cr.propertyIsEnumerable,z=Object.getOwnPropertySymbols,H=z?function(n){return n==null?[]:(n=Object(n),Tn(z(n),function(r){return dr.call(n,r)}))}:hn;function pr(n,r){return x(n,H(n),r)}var Ar=Object.getOwnPropertySymbols,wn=Ar?function(n){for(var r=[];n;)K(r,H(n)),n=Cn(n);return r}:hn;function yr(n,r){return x(n,wn(n),r)}function On(n,r,e){var t=r(n);return T(n)?t:K(t,e(n))}function G(n){return On(n,$,H)}function br(n){return On(n,U,wn)}var Tr=Object.prototype,hr=Tr.hasOwnProperty;function wr(n){var r=n.length,e=new n.constructor(r);return r&&typeof n[0]=="string"&&hr.call(n,"index")&&(e.index=n.index,e.input=n.input),e}function Or(n,r){var e=r?on(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.byteLength)}var $r=/\w*$/;function _r(n){var r=new n.constructor(n.source,$r.exec(n));return r.lastIndex=n.lastIndex,r}var V=w?w.prototype:void 0,k=V?V.valueOf:void 0;function Sr(n){return k?Object(k.call(n)):{}}var Er="[object Boolean]",Ir="[object Date]",Pr="[object Map]",vr="[object Number]",Lr="[object RegExp]",Rr="[object Set]",xr="[object String]",Mr="[object Symbol]",mr="[object ArrayBuffer]",Cr="[object DataView]",Fr="[object Float32Array]",Dr="[object Float64Array]",Gr="[object Int8Array]",Ur="[object Int16Array]",Nr="[object Int32Array]",Br="[object Uint8Array]",Kr="[object Uint8ClampedArray]",Hr="[object Uint16Array]",jr="[object Uint32Array]";function Yr(n,r,e){var t=n.constructor;switch(r){case mr:return on(n);case Er:case Ir:return new t(+n);case Cr:return Or(n,e);case Fr:case Dr:case Gr:case Ur:case Nr:case Br:case Kr:case Hr:case jr:return Fn(n,e);case Pr:return new t;case vr:case xr:return new t(n);case Lr:return _r(n);case Rr:return new t;case Mr:return Sr(n)}}var Zr="[object Map]";function qr(n){return S(n)&&E(n)==Zr}var nn=R&&R.isMap,Xr=nn?gn(nn):qr,Jr="[object Set]";function Qr(n){return S(n)&&E(n)==Jr}var rn=R&&R.isSet,Wr=rn?gn(rn):Qr,zr=1,Vr=2,kr=4,$n="[object Arguments]",ne="[object Array]",re="[object Boolean]",ee="[object Date]",te="[object Error]",_n="[object Function]",ie="[object GeneratorFunction]",ae="[object Map]",fe="[object Number]",Sn="[object Object]",se="[object RegExp]",ue="[object Set]",oe="[object String]",ge="[object Symbol]",le="[object WeakMap]",ce="[object ArrayBuffer]",de="[object DataView]",pe="[object Float32Array]",Ae="[object Float64Array]",ye="[object Int8Array]",be="[object Int16Array]",Te="[object Int32Array]",he="[object Uint8Array]",we="[object Uint8ClampedArray]",Oe="[object Uint16Array]",$e="[object Uint32Array]",g={};g[$n]=g[ne]=g[ce]=g[de]=g[re]=g[ee]=g[pe]=g[Ae]=g[ye]=g[be]=g[Te]=g[ae]=g[fe]=g[Sn]=g[se]=g[ue]=g[oe]=g[ge]=g[he]=g[we]=g[Oe]=g[$e]=!0;g[te]=g[_n]=g[le]=!1;function C(n,r,e,t,a,i){var f,s=r&zr,u=r&Vr,d=r&kr;if(f!==void 0)return f;if(!ln(n))return n;var l=T(n);if(l){if(f=wr(n),!s)return Dn(n,f)}else{var o=E(n),c=o==_n||o==ie;if(D(n))return Gn(n,s);if(o==Sn||o==$n||c&&!a){if(f=u||c?{}:Un(n),!s)return u?yr(n,lr(f,n)):pr(n,gr(f,n))}else{if(!g[o])return a?n:{};f=Yr(n,o,s)}}i||(i=new _);var h=i.get(n);if(h)return h;i.set(n,f),Wr(n)?n.forEach(function(p){f.add(C(p,r,e,p,n,i))}):Xr(n)&&n.forEach(function(p,A){f.set(A,C(p,r,e,A,n,i))});var y=d?u?br:G:u?U:$,b=l?void 0:y(n);return An(b||n,function(p,A){b&&(A=p,p=n[A]),Nn(f,A,C(p,r,e,A,n,i))}),f}var _e="__lodash_hash_undefined__";function Se(n){return this.__data__.set(n,_e),this}function Ee(n){return this.__data__.has(n)}function I(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new Bn;++r<e;)this.add(n[r])}I.prototype.add=I.prototype.push=Se;I.prototype.has=Ee;function Ie(n,r){for(var e=-1,t=n==null?0:n.length;++e<t;)if(r(n[e],e,n))return!0;return!1}function En(n,r){return n.has(r)}var Pe=1,ve=2;function In(n,r,e,t,a,i){var f=e&Pe,s=n.length,u=r.length;if(s!=u&&!(f&&u>s))return!1;var d=i.get(n),l=i.get(r);if(d&&l)return d==r&&l==n;var o=-1,c=!0,h=e&ve?new I:void 0;for(i.set(n,r),i.set(r,n);++o<s;){var y=n[o],b=r[o];if(t)var p=f?t(b,y,o,r,n,i):t(y,b,o,n,r,i);if(p!==void 0){if(p)continue;c=!1;break}if(h){if(!Ie(r,function(A,O){if(!En(h,O)&&(y===A||a(y,A,e,t,i)))return h.push(O)})){c=!1;break}}else if(!(y===b||a(y,b,e,t,i))){c=!1;break}}return i.delete(n),i.delete(r),c}function Le(n){var r=-1,e=Array(n.size);return n.forEach(function(t,a){e[++r]=[a,t]}),e}function j(n){var r=-1,e=Array(n.size);return n.forEach(function(t){e[++r]=t}),e}var Re=1,xe=2,Me="[object Boolean]",me="[object Date]",Ce="[object Error]",Fe="[object Map]",De="[object Number]",Ge="[object RegExp]",Ue="[object Set]",Ne="[object String]",Be="[object Symbol]",Ke="[object ArrayBuffer]",He="[object DataView]",en=w?w.prototype:void 0,F=en?en.valueOf:void 0;function je(n,r,e,t,a,i,f){switch(e){case He:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case Ke:return!(n.byteLength!=r.byteLength||!i(new X(n),new X(r)));case Me:case me:case De:return Kn(+n,+r);case Ce:return n.name==r.name&&n.message==r.message;case Ge:case Ne:return n==r+"";case Fe:var s=Le;case Ue:var u=tℜif(s||(s=j),n.size!=r.size&&!u)return!1;var d=f.get(n);if(d)return d==r;t|=xe,f.set(n,r);var l=In(s(n),s(r),t,a,i,f);return f.delete(n),l;case Be:if(F)return F.call(n)==F.call(r)}return!1}var Ye=1,Ze=Object.prototype,qe=Ze.hasOwnProperty;function Xe(n,r,e,t,a,i){var f=e&Ye,s=G(n),u=s.length,d=G(r),l=d.length;if(u!=l&&!f)return!1;for(var o=u;o--;){var c=s[o];if(!(f?c in r:qe.call(r,c)))return!1}var h=i.get(n),y=i.get(r);if(h&&y)return h==r&&y==n;var b=!0;i.set(n,r),i.set(r,n);for(var p=f;++o<u;){c=s[o];var A=n[c],O=r[c];if(t)var q=f?t(O,A,c,r,n,i):t(A,O,c,n,r,i);if(!(q===void 0?A===O||a(A,O,e,t,i):q)){b=!1;break}p||(p=c=="constructor")}if(b&&!p){var P=n.constructor,v=r.constructor;P!=v&&"constructor"in n&&"constructor"in r&&!(typeof P=="function"&&P instanceof P&&typeof v=="function"&&v instanceof v)&&(b=!1)}return i.delete(n),i.delete(r),b}var Je=1,tn="[object Arguments]",an="[object Array]",L="[object Object]",Qe=Object.prototype,fn=Qe.hasOwnProperty;function We(n,r,e,t,a,i){var f=T(n),s=T(r),u=f?an:E(n),d=s?an:E(r);u=u==tn?L:u,d=d==tn?L:d;var l=u==L,o=d==L,c=u==d;if(c&&D(n)){if(!D(r))return!1;f=!0,l=!1}if(c&&!l)return i||(i=new _),f||Hn(n)?In(n,r,e,t,a,i):je(n,r,u,e,t,a,i);if(!(e&Je)){var h=l&&fn.call(n,"__wrapped__"),y=o&&fn.call(r,"__wrapped__");if(h||y){var b=h?n.value():n,p=y?r.value():r;return i||(i=new _),a(b,p,e,t,i)}}return c?(i||(i=new _),Xe(n,r,e,t,a,i)):!1}function Y(n,r,e,t,a){return n===r?!0:n==null||r==null||!S(n)&&!S(r)?n!==n&&r!==r:We(n,r,e,t,Y,a)}var ze=1,Ve=2;function ke(n,r,e,t){var a=e.length,i=a;if(n==null)return!i;for(n=Object(n);a--;){var f=e[a];if(f[2]?f[1]!==n[f[0]]:!(f[0]in n))return!1}for(;++a<i;){f=e[a];var s=f[0],u=n[s],d=f[1];if(f[2]){if(u===void 0&&!(s in n))return!1}else{var l=new _,o;if(!(o===void 0?Y(d,u,ze|Ve,t,l):o))return!1}}return!0}function Pn(n){return n===n&&!ln(n)}function nt(n){for(var r=$(n),e=r.length;e--;){var t=r[e],a=n[t];r[e]=[t,a,Pn(a)]}return r}function vn(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function rt(n){var r=nt(n);return r.length==1&&r[0][2]?vn(r[0][0],r[0][1]):function(e){return e===n||ke(e,n,r)}}function et(n,r){return n!=null&&r in Object(n)}function tt(n,r,e){r=yn(r,n);for(var t=-1,a=r.length,i=!1;++t<a;){var f=M(r[t]);if(!(i=n!=null&&e(n,f)))break;n=n[f]}return i||++t!=a?i:(a=n==null?0:n.length,!!a&&jn(a)&&Yn(f,a)&&(T(n)||un(n)))}function it(n,r){return n!=null&&tt(n,r,et)}var at=1,ft=2;function st(n,r){return B(n)&&Pn(r)?vn(M(n),r):function(e){var t=sr(e,n);return t===void 0&&t===r?it(e,n):Y(r,t,at|ft)}}function ut(n){return function(r){return r?.[n]}}function ot(n){return function(r){return bn(r,n)}}function gt(n){return B(n)?ut(M(n)):ot(n)}function Ln(n){return typeof n=="function"?n:n==null?cn:typeof n=="object"?T(n)?st(n[0],n[1]):rt(n):gt(n)}function lt(n,r){return n&&Zn(n,r,$)}function ct(n,r){return function(e,t){if(e==null)return e;if(!sn(e))return n(e,t);for(var a=e.length,i=-1,f=Object(e);++i<a&&t(f[i],i,f)!==!1;);return e}}var Z=ct(lt);function dt(n){return typeof n=="function"?n:cn}function $t(n,r){var e=T(n)?An:Z;return e(n,dt(r))}function pt(n,r){var e=[];return Z(n,function(t,a,i){r(t,a,i)&&e.push(t)}),e}function _t(n,r){var e=T(n)?Tn:pt;return e(n,Ln(r))}function At(n,r){return dn(r,function(e){return n[e]})}function St(n){return n==null?[]:At(n,$(n))}function Et(n){return n===void 0}function yt(n,r,e,t,a){return a(n,function(i,f,s){e=t?(t=!1,i):r(e,i,f,s)}),e}function It(n,r,e){var t=T(n)?or:yt,a=arguments.length<3;return t(n,Ln(r),e,a,Z)}var bt=1/0,Tt=m&&1/j(new m([,-0]))[1]==bt?function(n){return new m(n)}:Xn,ht=200;function Pt(n,r,e){var t=-1,a=Vn,i=n.length,f=!0,s=[],u=s;if(i>=ht){var d=r?null:Tt(n);if(d)return j(d);f=!1,a=En,u=new I}else u=r?[]:s;n:for(;++t<i;){var l=n[t],o=r?r(l):l;if(l=l!==0?l:0,f&&o===o){for(var c=u.length;c--;)if(u[c]===o)continue n;r&&u.push(o),s.push(l)}else a(u,o,e)||(u!==s&&u.push(o),s.push(l))}return s}export{Tn as A,pt as B,Ie as C,Xn as D,I as S,Pt as a,C as b,Ot as c,$t as d,N as e,_t as f,Ln as g,Jn as h,Et as i,Z as j,$ as k,dn as l,tt as m,yn as n,bn as o,dt as p,lt as q,It as r,it as s,M as t,fr as u,St as v,Vn as w,En as x,zn as y,br as z};
|
|
1
|
+
import{aH as S,aI as Rn,ax as T,aJ as w,aK as xn,aL as Mn,aw as sn,aM as mn,aN as un,aO as x,au as U,aP as Cn,aQ as on,aR as Fn,aS as E,aF as gn,aT as R,as as ln,aU as Dn,aV as D,aW as Gn,aX as Un,aY as _,aA as Nn,aZ as Bn,av as Kn,a_ as X,a$ as Hn,b0 as jn,az as Yn,ay as cn,aD as Zn,b1 as m}from"./mermaid.core-BPDn3eSm.js";var qn="[object Symbol]";function N(n){return typeof n=="symbol"||S(n)&&Rn(n)==qn}function dn(n,r){for(var e=-1,t=n==null?0:n.length,a=Array(t);++e<t;)a[e]=r(n[e],e,n);return a}var J=w?w.prototype:void 0,Q=J?J.toString:void 0;function pn(n){if(typeof n=="string")return n;if(T(n))return dn(n,pn)+"";if(N(n))return Q?Q.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function Xn(){}function An(n,r){for(var e=-1,t=n==null?0:n.length;++e<t&&r(n[e],e,n)!==!1;);return n}function Jn(n,r,e,t){for(var a=n.length,i=e+-1;++i<a;)if(r(n[i],i,n))return i;return-1}function Qn(n){return n!==n}function Wn(n,r,e){for(var t=e-1,a=n.length;++t<a;)if(n[t]===r)return t;return-1}function zn(n,r,e){return r===r?Wn(n,r,e):Jn(n,Qn,e)}function Vn(n,r){var e=n==null?0:n.length;return!!e&&zn(n,r,0)>-1}function $(n){return sn(n)?xn(n):Mn(n)}var kn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,nr=/^\w*$/;function B(n,r){if(T(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||N(n)?!0:nr.test(n)||!kn.test(n)||r!=null&&n in Object(r)}var rr=500;function er(n){var r=mn(n,function(t){return e.size===rr&&e.clear(),t}),e=r.cache;return r}var tr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ir=/\\(\\)?/g,ar=er(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(tr,function(e,t,a,i){r.push(a?i.replace(ir,"$1"):t||e)}),r});function fr(n){return n==null?"":pn(n)}function yn(n,r){return T(n)?n:B(n,r)?[n]:ar(fr(n))}function M(n){if(typeof n=="string"||N(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function bn(n,r){r=yn(r,n);for(var e=0,t=r.length;n!=null&&e<t;)n=n[M(r[e++])];return e&&e==t?n:void 0}function sr(n,r,e){var t=n==null?void 0:bn(n,r);return t===void 0?e:t}function K(n,r){for(var e=-1,t=r.length,a=n.length;++e<t;)n[a+e]=r[e];return n}var W=w?w.isConcatSpreadable:void 0;function ur(n){return T(n)||un(n)||!!(W&&n&&n[W])}function Ot(n,r,e,t,a){var i=-1,f=n.length;for(e||(e=ur),a||(a=[]);++i<f;){var s=n[i];e(s)?K(a,s):t||(a[a.length]=s)}return a}function or(n,r,e,t){var a=-1,i=n==null?0:n.length;for(t&&i&&(e=n[++a]);++a<i;)e=r(e,n[a],a,n);return e}function gr(n,r){return n&&x(r,$(r),n)}function lr(n,r){return n&&x(r,U(r),n)}function Tn(n,r){for(var e=-1,t=n==null?0:n.length,a=0,i=[];++e<t;){var f=n[e];r(f,e,n)&&(i[a++]=f)}return i}function hn(){return[]}var cr=Object.prototype,dr=cr.propertyIsEnumerable,z=Object.getOwnPropertySymbols,H=z?function(n){return n==null?[]:(n=Object(n),Tn(z(n),function(r){return dr.call(n,r)}))}:hn;function pr(n,r){return x(n,H(n),r)}var Ar=Object.getOwnPropertySymbols,wn=Ar?function(n){for(var r=[];n;)K(r,H(n)),n=Cn(n);return r}:hn;function yr(n,r){return x(n,wn(n),r)}function On(n,r,e){var t=r(n);return T(n)?t:K(t,e(n))}function G(n){return On(n,$,H)}function br(n){return On(n,U,wn)}var Tr=Object.prototype,hr=Tr.hasOwnProperty;function wr(n){var r=n.length,e=new n.constructor(r);return r&&typeof n[0]=="string"&&hr.call(n,"index")&&(e.index=n.index,e.input=n.input),e}function Or(n,r){var e=r?on(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.byteLength)}var $r=/\w*$/;function _r(n){var r=new n.constructor(n.source,$r.exec(n));return r.lastIndex=n.lastIndex,r}var V=w?w.prototype:void 0,k=V?V.valueOf:void 0;function Sr(n){return k?Object(k.call(n)):{}}var Er="[object Boolean]",Ir="[object Date]",Pr="[object Map]",vr="[object Number]",Lr="[object RegExp]",Rr="[object Set]",xr="[object String]",Mr="[object Symbol]",mr="[object ArrayBuffer]",Cr="[object DataView]",Fr="[object Float32Array]",Dr="[object Float64Array]",Gr="[object Int8Array]",Ur="[object Int16Array]",Nr="[object Int32Array]",Br="[object Uint8Array]",Kr="[object Uint8ClampedArray]",Hr="[object Uint16Array]",jr="[object Uint32Array]";function Yr(n,r,e){var t=n.constructor;switch(r){case mr:return on(n);case Er:case Ir:return new t(+n);case Cr:return Or(n,e);case Fr:case Dr:case Gr:case Ur:case Nr:case Br:case Kr:case Hr:case jr:return Fn(n,e);case Pr:return new t;case vr:case xr:return new t(n);case Lr:return _r(n);case Rr:return new t;case Mr:return Sr(n)}}var Zr="[object Map]";function qr(n){return S(n)&&E(n)==Zr}var nn=R&&R.isMap,Xr=nn?gn(nn):qr,Jr="[object Set]";function Qr(n){return S(n)&&E(n)==Jr}var rn=R&&R.isSet,Wr=rn?gn(rn):Qr,zr=1,Vr=2,kr=4,$n="[object Arguments]",ne="[object Array]",re="[object Boolean]",ee="[object Date]",te="[object Error]",_n="[object Function]",ie="[object GeneratorFunction]",ae="[object Map]",fe="[object Number]",Sn="[object Object]",se="[object RegExp]",ue="[object Set]",oe="[object String]",ge="[object Symbol]",le="[object WeakMap]",ce="[object ArrayBuffer]",de="[object DataView]",pe="[object Float32Array]",Ae="[object Float64Array]",ye="[object Int8Array]",be="[object Int16Array]",Te="[object Int32Array]",he="[object Uint8Array]",we="[object Uint8ClampedArray]",Oe="[object Uint16Array]",$e="[object Uint32Array]",g={};g[$n]=g[ne]=g[ce]=g[de]=g[re]=g[ee]=g[pe]=g[Ae]=g[ye]=g[be]=g[Te]=g[ae]=g[fe]=g[Sn]=g[se]=g[ue]=g[oe]=g[ge]=g[he]=g[we]=g[Oe]=g[$e]=!0;g[te]=g[_n]=g[le]=!1;function C(n,r,e,t,a,i){var f,s=r&zr,u=r&Vr,d=r&kr;if(f!==void 0)return f;if(!ln(n))return n;var l=T(n);if(l){if(f=wr(n),!s)return Dn(n,f)}else{var o=E(n),c=o==_n||o==ie;if(D(n))return Gn(n,s);if(o==Sn||o==$n||c&&!a){if(f=u||c?{}:Un(n),!s)return u?yr(n,lr(f,n)):pr(n,gr(f,n))}else{if(!g[o])return a?n:{};f=Yr(n,o,s)}}i||(i=new _);var h=i.get(n);if(h)return h;i.set(n,f),Wr(n)?n.forEach(function(p){f.add(C(p,r,e,p,n,i))}):Xr(n)&&n.forEach(function(p,A){f.set(A,C(p,r,e,A,n,i))});var y=d?u?br:G:u?U:$,b=l?void 0:y(n);return An(b||n,function(p,A){b&&(A=p,p=n[A]),Nn(f,A,C(p,r,e,A,n,i))}),f}var _e="__lodash_hash_undefined__";function Se(n){return this.__data__.set(n,_e),this}function Ee(n){return this.__data__.has(n)}function I(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new Bn;++r<e;)this.add(n[r])}I.prototype.add=I.prototype.push=Se;I.prototype.has=Ee;function Ie(n,r){for(var e=-1,t=n==null?0:n.length;++e<t;)if(r(n[e],e,n))return!0;return!1}function En(n,r){return n.has(r)}var Pe=1,ve=2;function In(n,r,e,t,a,i){var f=e&Pe,s=n.length,u=r.length;if(s!=u&&!(f&&u>s))return!1;var d=i.get(n),l=i.get(r);if(d&&l)return d==r&&l==n;var o=-1,c=!0,h=e&ve?new I:void 0;for(i.set(n,r),i.set(r,n);++o<s;){var y=n[o],b=r[o];if(t)var p=f?t(b,y,o,r,n,i):t(y,b,o,n,r,i);if(p!==void 0){if(p)continue;c=!1;break}if(h){if(!Ie(r,function(A,O){if(!En(h,O)&&(y===A||a(y,A,e,t,i)))return h.push(O)})){c=!1;break}}else if(!(y===b||a(y,b,e,t,i))){c=!1;break}}return i.delete(n),i.delete(r),c}function Le(n){var r=-1,e=Array(n.size);return n.forEach(function(t,a){e[++r]=[a,t]}),e}function j(n){var r=-1,e=Array(n.size);return n.forEach(function(t){e[++r]=t}),e}var Re=1,xe=2,Me="[object Boolean]",me="[object Date]",Ce="[object Error]",Fe="[object Map]",De="[object Number]",Ge="[object RegExp]",Ue="[object Set]",Ne="[object String]",Be="[object Symbol]",Ke="[object ArrayBuffer]",He="[object DataView]",en=w?w.prototype:void 0,F=en?en.valueOf:void 0;function je(n,r,e,t,a,i,f){switch(e){case He:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case Ke:return!(n.byteLength!=r.byteLength||!i(new X(n),new X(r)));case Me:case me:case De:return Kn(+n,+r);case Ce:return n.name==r.name&&n.message==r.message;case Ge:case Ne:return n==r+"";case Fe:var s=Le;case Ue:var u=tℜif(s||(s=j),n.size!=r.size&&!u)return!1;var d=f.get(n);if(d)return d==r;t|=xe,f.set(n,r);var l=In(s(n),s(r),t,a,i,f);return f.delete(n),l;case Be:if(F)return F.call(n)==F.call(r)}return!1}var Ye=1,Ze=Object.prototype,qe=Ze.hasOwnProperty;function Xe(n,r,e,t,a,i){var f=e&Ye,s=G(n),u=s.length,d=G(r),l=d.length;if(u!=l&&!f)return!1;for(var o=u;o--;){var c=s[o];if(!(f?c in r:qe.call(r,c)))return!1}var h=i.get(n),y=i.get(r);if(h&&y)return h==r&&y==n;var b=!0;i.set(n,r),i.set(r,n);for(var p=f;++o<u;){c=s[o];var A=n[c],O=r[c];if(t)var q=f?t(O,A,c,r,n,i):t(A,O,c,n,r,i);if(!(q===void 0?A===O||a(A,O,e,t,i):q)){b=!1;break}p||(p=c=="constructor")}if(b&&!p){var P=n.constructor,v=r.constructor;P!=v&&"constructor"in n&&"constructor"in r&&!(typeof P=="function"&&P instanceof P&&typeof v=="function"&&v instanceof v)&&(b=!1)}return i.delete(n),i.delete(r),b}var Je=1,tn="[object Arguments]",an="[object Array]",L="[object Object]",Qe=Object.prototype,fn=Qe.hasOwnProperty;function We(n,r,e,t,a,i){var f=T(n),s=T(r),u=f?an:E(n),d=s?an:E(r);u=u==tn?L:u,d=d==tn?L:d;var l=u==L,o=d==L,c=u==d;if(c&&D(n)){if(!D(r))return!1;f=!0,l=!1}if(c&&!l)return i||(i=new _),f||Hn(n)?In(n,r,e,t,a,i):je(n,r,u,e,t,a,i);if(!(e&Je)){var h=l&&fn.call(n,"__wrapped__"),y=o&&fn.call(r,"__wrapped__");if(h||y){var b=h?n.value():n,p=y?r.value():r;return i||(i=new _),a(b,p,e,t,i)}}return c?(i||(i=new _),Xe(n,r,e,t,a,i)):!1}function Y(n,r,e,t,a){return n===r?!0:n==null||r==null||!S(n)&&!S(r)?n!==n&&r!==r:We(n,r,e,t,Y,a)}var ze=1,Ve=2;function ke(n,r,e,t){var a=e.length,i=a;if(n==null)return!i;for(n=Object(n);a--;){var f=e[a];if(f[2]?f[1]!==n[f[0]]:!(f[0]in n))return!1}for(;++a<i;){f=e[a];var s=f[0],u=n[s],d=f[1];if(f[2]){if(u===void 0&&!(s in n))return!1}else{var l=new _,o;if(!(o===void 0?Y(d,u,ze|Ve,t,l):o))return!1}}return!0}function Pn(n){return n===n&&!ln(n)}function nt(n){for(var r=$(n),e=r.length;e--;){var t=r[e],a=n[t];r[e]=[t,a,Pn(a)]}return r}function vn(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function rt(n){var r=nt(n);return r.length==1&&r[0][2]?vn(r[0][0],r[0][1]):function(e){return e===n||ke(e,n,r)}}function et(n,r){return n!=null&&r in Object(n)}function tt(n,r,e){r=yn(r,n);for(var t=-1,a=r.length,i=!1;++t<a;){var f=M(r[t]);if(!(i=n!=null&&e(n,f)))break;n=n[f]}return i||++t!=a?i:(a=n==null?0:n.length,!!a&&jn(a)&&Yn(f,a)&&(T(n)||un(n)))}function it(n,r){return n!=null&&tt(n,r,et)}var at=1,ft=2;function st(n,r){return B(n)&&Pn(r)?vn(M(n),r):function(e){var t=sr(e,n);return t===void 0&&t===r?it(e,n):Y(r,t,at|ft)}}function ut(n){return function(r){return r?.[n]}}function ot(n){return function(r){return bn(r,n)}}function gt(n){return B(n)?ut(M(n)):ot(n)}function Ln(n){return typeof n=="function"?n:n==null?cn:typeof n=="object"?T(n)?st(n[0],n[1]):rt(n):gt(n)}function lt(n,r){return n&&Zn(n,r,$)}function ct(n,r){return function(e,t){if(e==null)return e;if(!sn(e))return n(e,t);for(var a=e.length,i=-1,f=Object(e);++i<a&&t(f[i],i,f)!==!1;);return e}}var Z=ct(lt);function dt(n){return typeof n=="function"?n:cn}function $t(n,r){var e=T(n)?An:Z;return e(n,dt(r))}function pt(n,r){var e=[];return Z(n,function(t,a,i){r(t,a,i)&&e.push(t)}),e}function _t(n,r){var e=T(n)?Tn:pt;return e(n,Ln(r))}function At(n,r){return dn(r,function(e){return n[e]})}function St(n){return n==null?[]:At(n,$(n))}function Et(n){return n===void 0}function yt(n,r,e,t,a){return a(n,function(i,f,s){e=t?(t=!1,i):r(e,i,f,s)}),e}function It(n,r,e){var t=T(n)?or:yt,a=arguments.length<3;return t(n,Ln(r),e,a,Z)}var bt=1/0,Tt=m&&1/j(new m([,-0]))[1]==bt?function(n){return new m(n)}:Xn,ht=200;function Pt(n,r,e){var t=-1,a=Vn,i=n.length,f=!0,s=[],u=s;if(i>=ht){var d=r?null:Tt(n);if(d)return j(d);f=!1,a=En,u=new I}else u=r?[]:s;n:for(;++t<i;){var l=n[t],o=r?r(l):l;if(l=l!==0?l:0,f&&o===o){for(var c=u.length;c--;)if(u[c]===o)continue n;r&&u.push(o),s.push(l)}else a(u,o,e)||(u!==s&&u.push(o),s.push(l))}return s}export{Tn as A,pt as B,Ie as C,Xn as D,I as S,Pt as a,C as b,Ot as c,$t as d,N as e,_t as f,Ln as g,Jn as h,Et as i,Z as j,$ as k,dn as l,tt as m,yn as n,bn as o,dt as p,lt as q,It as r,it as s,M as t,fr as u,St as v,Vn as w,En as x,zn as y,br as z};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{a as le,r as S,j as e,L as ce,T as G,B as l,S as L,l as te,m as q,n as _,h as p,X as de,o as w,A as J,i as V,k as X,c as Z}from"./icon-dNp1enls.js";import{g as ae,at as ue,f as z,a3 as b,a5 as M,au as R,av as I,aw as me,ax as he,ay as xe,az as ge,aA as O,aB as je,aC as se,aD as fe,h as ne,aE as ye,aF as ve,u as pe,ak as we,as as be,aG as Ce,B as Ne,aH as Ae,aI as ke,aJ as De,am as Se,aK as Ee,aL as ee,aM as Te,aN as Fe,aO as Pe}from"./index-DwT9X3KB.js";import{b as qe,i as _e,u as Le,a as ze}from"./use-agent-like-mutation-eUtuctGb.js";/**
|
|
2
|
+
* @license lucide-react v0.507.0 - ISC
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the ISC license.
|
|
5
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/const Me=[["path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z",key:"vv11sd"}]],Ie=le("message-circle",Me),E={all:["agent-comments"],list:t=>[...E.all,"list",t]},Ke=({agentId:t,enabled:r=!0})=>ae({queryKey:E.list(t||"invalid"),queryFn:async()=>{if(!t)throw new Error("Agent ID is required to fetch comments.");return(await ue(t)).result},enabled:!!t&&r,staleTime:2*60*1e3,gcTime:5*60*1e3,refetchOnWindowFocus:!0}),Be=()=>{const t=z(),{isAuthenticated:r}=b();return M({mutationFn:async n=>{const{agentId:i,data:a}=n;if(!r)throw new Error("Authentication required.");return me(i,a)},onSuccess:(n,i)=>{t.invalidateQueries({queryKey:E.list(i.agentId)}),I("Comment posted")},onError:n=>{R(`Failed to post comment: ${n.message}`)}})},Ue=()=>{const t=z(),{isAuthenticated:r}=b();return M({mutationFn:async n=>{const{agentId:i,commentId:a,data:c}=n;if(!r)throw new Error("Authentication required.");return he(i,a,c)},onSuccess:(n,i)=>{t.invalidateQueries({queryKey:E.list(i.agentId)}),I("Comment updated")},onError:n=>{R(`Failed to update comment: ${n.message}`)}})},Qe=()=>{const t=z(),{isAuthenticated:r}=b();return M({mutationFn:async n=>{const{agentId:i,commentId:a}=n;if(!r)throw new Error("Authentication required.");return xe(i,a)},onSuccess:(n,i)=>{t.invalidateQueries({queryKey:E.list(i.agentId)}),I("Comment deleted")},onError:n=>{R(`Failed to delete comment: ${n.message}`)}})},Oe=({agentId:t})=>{const{isAuthenticated:r,user:n}=b(),[i,a]=S.useState(""),[c,x]=S.useState(null),[m,C]=S.useState(""),{data:N,isLoading:T,error:A}=Ke({agentId:t}),g=N?.records??[],k=Be(),d=Ue(),j=Qe(),f=async s=>{if(s.preventDefault(),!(!i.trim()||!r||!t))try{await k.mutateAsync({agentId:t,data:{text:i}}),a("")}catch(o){console.error("Submit comment error caught in component:",o)}},K=(s,o)=>{x(s),C(o)},F=()=>{x(null),C("")},B=async()=>{if(!(!c||!m.trim()||!r||!t))try{await d.mutateAsync({agentId:t,commentId:c,data:{text:m}}),F()}catch(s){console.error("Update comment error caught in component:",s)}},y=async s=>{if(!(!r||!t)&&window.confirm("Are you sure you want to delete this comment?"))try{await j.mutateAsync({agentId:t,commentId:s})}catch(o){console.error("Delete comment error caught in component:",o)}},v=s=>r&&n?.radientUser?.account?.id===s.account_id;return e.jsxs("div",{className:"mt-6",children:[e.jsx("h2",{className:"mb-4 font-semibold text-heading text-ink",children:"Comments"}),r?e.jsxs("div",{className:"mb-4 flex flex-col gap-1.5",children:[e.jsxs(ce,{htmlFor:"new-comment",children:[e.jsx(Ie,{size:14,"aria-hidden":"true"}),"Leave a comment"]}),e.jsxs("form",{onSubmit:f,className:"flex flex-col gap-3",children:[e.jsx(G,{id:"new-comment",placeholder:"Share your thoughts...",rows:3,value:i,onChange:s=>a(s.target.value),required:!0}),e.jsx(l,{type:"submit",variant:"primary",disabled:k.isPending||!i.trim(),className:"self-end",children:k.isPending?e.jsx(L,{size:"sm",label:"Posting comment"}):"Post comment"})]})]}):e.jsx("p",{className:"mt-6 mb-4 text-body-sm text-ink-muted",children:"Sign in to leave comments."}),e.jsx(te,{className:"my-6"}),T&&e.jsx("ul",{className:"flex flex-col",children:[...Array(3)].map((s,o)=>e.jsxs("li",{className:"flex gap-3 pb-6",children:[e.jsx(q,{children:e.jsx(_,{children:e.jsx(p,{className:"size-full"})})}),e.jsxs("div",{className:"flex w-full flex-col gap-1.5",children:[e.jsx(p,{className:"h-3.5 w-24"}),e.jsx(p,{className:"h-3 w-15"}),e.jsx(p,{className:"mt-2 h-3.5 w-full"}),e.jsx(p,{className:"h-3.5 w-4/5"})]})]},`skeleton-${o}`))}),A&&e.jsxs("p",{role:"alert",className:"my-6 text-body-sm text-danger",children:["Failed to load comments: ",A.message]}),!T&&!A&&e.jsx("ul",{className:"flex flex-col gap-6",children:g.length===0?e.jsx("li",{className:"text-body-sm text-ink-muted",children:"No comments yet. Yours would be the first."}):g.map(s=>c===s.id?e.jsxs("li",{className:"flex gap-3",children:[e.jsx(q,{children:e.jsx(_,{children:s.account_metadata?.name?.charAt(0).toUpperCase()||"?"})}),e.jsxs("div",{className:"flex w-full flex-col gap-2",children:[e.jsx(G,{rows:3,value:m,onChange:o=>C(o.target.value),autoFocus:!0,"aria-label":"Edit comment"}),e.jsxs("div",{className:"flex justify-end gap-2",children:[e.jsxs(l,{variant:"secondary",size:"sm",onClick:F,children:[e.jsx(de,{}),"Cancel"]}),e.jsxs(l,{variant:"primary",size:"sm",onClick:B,disabled:d.isPending||!m.trim(),children:[d.isPending?e.jsx(L,{size:"xs",label:"Saving comment"}):e.jsx(ge,{}),"Save"]})]})]})]},s.id):e.jsxs("li",{className:"flex gap-3",children:[e.jsx(q,{children:e.jsx(_,{children:s.account_metadata?.name?.charAt(0).toUpperCase()||"?"})}),e.jsxs("div",{className:"w-full",children:[e.jsxs("div",{className:"flex w-full items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-body text-ink",children:s.account_metadata?.name||"Anonymous"}),e.jsxs("p",{className:"text-ink-muted text-meta",children:[O(new Date(s.created_at))," ","ago"]})]}),v(s)&&e.jsxs("div",{className:"flex gap-0.5",children:[e.jsx(w,{content:"Edit comment",children:e.jsx(l,{variant:"ghost",size:"icon-sm",onClick:()=>K(s.id,s.text),disabled:!!c,"aria-label":"Edit comment",children:e.jsx(je,{})})}),e.jsx(w,{content:"Delete comment",children:e.jsx(l,{variant:"ghost",size:"icon-sm",onClick:()=>y(s.id),disabled:!!c,"aria-label":"Delete comment",children:e.jsx(se,{})})})]})]}),e.jsx("p",{className:"mt-2 text-body-sm text-ink whitespace-pre-wrap",children:s.text})]})]},s.id))})]})},$={all:["agent-details"],detail:t=>[...$.all,t]},Re=({agentId:t,enabled:r=!0})=>ae({queryKey:$.detail(t||"invalid"),queryFn:async()=>{if(!t)throw new Error("Agent ID is required to fetch details.");return await fe(t)},select:i=>i.result,enabled:!!t&&r,staleTime:3e5,gcTime:6e5,refetchOnWindowFocus:!1}),$e=()=>{const t=z(),r=ne(),{isAuthenticated:n}=b();return M({mutationFn:async({agentId:a})=>{if(!n)throw new Error("Authentication required to delist an agent.");if(!a)throw new Error("Agent ID is required to delist.");return ve(a)},onSuccess:(a,c)=>{I("Agent delisted"),t.invalidateQueries({queryKey:$.detail(c.agentId)}),ye(t),r("/agent-hub")},onError:a=>{console.error("Delist agent error:",a)}})},We={like:"The like did not go through",favourite:"The favourite did not go through",download:"The download did not start",delist:"The agent was not delisted"},Q=({children:t})=>e.jsx("span",{className:"inline-flex h-4 min-w-5 items-center text-meta text-ink-muted",children:t}),Je=()=>{const{agentId:t}=pe(),r=ne(),{isAuthenticated:n,user:i}=b(),{data:a,isLoading:c,isFetching:x,error:m,refetch:C}=Re({agentId:t??"",enabled:!!t}),{statuses:N,isKnown:T,isError:A,isFetching:g,refetch:k}=qe({agentIds:t?[t]:[]}),d=_e(T,N,t),j=d&&N[t??""]?.liked===!0,f=d&&N[t??""]?.favourited===!0,K=a?.like_count??0,F=a?.favourite_count??0,B=a?.download_count??0,y=Le(),v=ze(),s=we(),o=$e(),[ie,P]=S.useState(!1),[h,u]=S.useState(null),U=!!i&&!!a&&i.radientUser?.account?.id===a.account_id,W=()=>{!t||!n||y.isPending||(u(null),y.mutate({agentId:t,isCurrentlyLiked:j},{onError:()=>u("like")}))},Y=()=>{!t||!n||v.isPending||(u(null),v.mutate({agentId:t,isCurrentlyFavourited:f},{onError:()=>u("favourite")}))},H=()=>{!t||!a||s.isPending||(u(null),s.mutate({agentId:a.id,agentName:a.name},{onError:()=>u("download")}))},re=()=>{!t||!U||o.isPending||(u(null),o.mutate({agentId:t},{onError:()=>u("delist")}),P(!1))},D=h?h==="like"?{action:"like",error:y.error,retry:W}:h==="favourite"?{action:"favourite",error:v.error,retry:Y}:h==="download"?{action:"download",error:s.error,retry:H}:{action:"delist",error:o.error,retry:void 0}:null,oe=()=>{r("/agent-hub")};return c?e.jsx("div",{className:"flex h-full items-center justify-center",children:e.jsx(L,{label:"Loading agent details"})}):m?e.jsx("div",{className:"flex h-full items-center justify-center p-6",children:e.jsxs(J,{variant:"danger",className:"max-w-2xl",children:[e.jsx(V,{children:"This agent could not be loaded"}),e.jsx(X,{children:be("The Radient agent catalogue did not answer.",m)}),e.jsx("div",{className:"mt-2",children:e.jsx(l,{variant:"outline",size:"sm",onClick:()=>void C(),disabled:x,"aria-busy":x,children:x?"Trying…":"Try again"})})]})}):a?e.jsxs("div",{className:"m-6 flex flex-1 flex-col rounded-lg border border-hairline bg-surface p-8",children:[e.jsxs("div",{className:"mb-6 flex items-center justify-between gap-4",children:[e.jsxs("div",{className:"flex min-w-0 items-center gap-4",children:[e.jsx(l,{variant:"ghost",size:"icon",onClick:oe,"aria-label":"Back to Agent hub",children:e.jsx(Ce,{})}),e.jsx(q,{className:"size-11 shrink-0",children:e.jsx(_,{children:e.jsx(Ne,{size:22,"aria-hidden":"true"})})}),e.jsx("h1",{className:"truncate text-display text-ink",children:a.name})]}),e.jsxs("div",{className:"flex shrink-0 items-center gap-1",children:[e.jsx(w,{content:"Sign in to Radient to use this feature",disabled:n,children:e.jsx("span",{children:e.jsxs(l,{variant:"ghost",size:"sm",onClick:W,disabled:!n||y.isPending||!d,"aria-label":d?j?"Unlike agent":"Like agent":"Like state unavailable",className:Z(j&&"text-danger"),children:[e.jsx(Ae,{fill:j?"currentColor":"none"}),e.jsx(Q,{children:K})]})})}),e.jsx(w,{content:"Sign in to Radient to use this feature",disabled:n,children:e.jsx("span",{children:e.jsxs(l,{variant:"ghost",size:"sm",onClick:Y,disabled:!n||v.isPending||!d,"aria-label":d?f?"Unfavourite agent":"Favourite agent":"Favourite state unavailable",className:Z(f&&"text-warning"),children:[e.jsx(ke,{fill:f?"currentColor":"none"}),e.jsx(Q,{children:F})]})})}),e.jsx(w,{content:"Download agent to your computer",children:e.jsx("span",{children:e.jsxs(l,{variant:"ghost",size:"icon",onClick:H,disabled:s.isPending,"aria-label":"Download agent",className:"ml-1",children:[e.jsx(De,{}),e.jsx(Q,{children:s.isPending?e.jsx(p,{className:"h-3.5 w-5"}):B})]})})}),U&&e.jsx(w,{content:"Permanently delist this agent from Agent hub",children:e.jsx("span",{children:e.jsx(l,{variant:"ghost",size:"icon",onClick:()=>P(!0),disabled:o.isPending,"aria-label":"Delist agent",className:"ml-1 text-danger hover:bg-danger-wash hover:text-danger",children:e.jsx(se,{})})})})]})]}),n&&A&&!h&&e.jsxs("output",{className:"mb-6 flex flex-wrap items-center gap-2 text-meta text-warning","data-testid":"agent-details-status-unknown",children:[e.jsx("span",{children:"Your likes and favourites could not be read, so this agent's viewer state is not shown."}),e.jsx(l,{variant:"ghost",size:"sm",onClick:()=>void k(),disabled:g,"aria-busy":g,children:g?"Trying…":"Try again"})]}),D&&h&&e.jsxs(J,{variant:"danger",className:"mb-6","data-testid":"agent-details-error",children:[e.jsx(V,{children:We[h]}),e.jsx(X,{children:Se(D.action,D.error,a.name)}),D.retry&&e.jsx("div",{className:"mt-2",children:e.jsx(l,{variant:"outline",size:"sm",onClick:D.retry,children:"Try again"})})]}),e.jsx(Ee,{tags:a.tags,categories:a.categories}),e.jsxs("div",{className:"mt-4 mb-6 flex flex-col gap-2 text-body-sm text-ink-muted",children:[e.jsxs("p",{children:["Created by: ",a.account_metadata?.name??"Unknown"," (",a.account_metadata?.email??"No email",")"]}),e.jsxs("p",{children:["Created: ",O(new Date(a.created_at))," ago (",ee(a.created_at),")"]}),e.jsxs("p",{children:["Last modified: ",O(new Date(a.updated_at))," ","ago (",ee(a.updated_at),")"]})]}),e.jsx("div",{className:"mt-2 mb-8 leading-relaxed text-body text-ink",children:a.description||"No description provided."}),e.jsx(te,{className:"my-6"}),e.jsx(Oe,{agentId:a.id}),e.jsx(Te,{open:ie,onClose:()=>P(!1),title:"Delist this agent?",maxWidth:"xs",actions:e.jsxs(e.Fragment,{children:[e.jsx(Fe,{onClick:()=>P(!1),children:"Cancel"}),e.jsx(Pe,{onClick:()=>{!t||!U||o.isPending||re()},disabled:o.isPending,children:o.isPending?e.jsx(L,{size:"sm",label:"Delisting agent"}):"Delist"})]}),dialogProps:{"aria-describedby":"delist-dialog-description"},children:e.jsxs("div",{id:"delist-dialog-description",className:"text-body text-ink-muted",children:['This takes "',a.name,'" off the hub straight away, and nobody will be able to download it. You can upload it again later.']})})]}):e.jsx("div",{className:"flex h-full items-center justify-center",children:e.jsx("p",{className:"text-body text-ink",children:"Agent not found."})})};export{Je as AgentDetailsPage};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{a as ce,r,j as e,c as L,I as de,b as H,d as K,e as Y,f as $,g as B,B as C,h as c,A as ue,i as he,k as ge}from"./icon-dNp1enls.js";import{a3 as G,ak as me,al as xe,am as fe,an as be,ao as Z,ap as pe,h as ve,aq as je,ar as Ne,as as we}from"./index-DwT9X3KB.js";import{C as ye}from"./compact-pagination-Bpe0E_u_.js";import{P as Se}from"./page-header-BEVLGhES.js";import{u as ke,a as Ce,b as Ae,i as Re}from"./use-agent-like-mutation-eUtuctGb.js";/**
|
|
2
|
+
* @license lucide-react v0.507.0 - ISC
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the ISC license.
|
|
5
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/const Ee=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M17 12h.01",key:"1m0b6t"}],["path",{d:"M12 12h.01",key:"1mp3jc"}],["path",{d:"M7 12h.01",key:"eqddd0"}]],Pe=ce("circle-ellipsis",Ee),Te=({agent:s,status:n,viewerStateKnown:o=!0})=>{const{isAuthenticated:a}=G(),[i,l]=r.useState(null),g=n?.liked??!1,v=n?.favourited??!1,m=ke(),u=Ce(),f=me(),j=()=>{!a||m.isPending||(l(null),m.mutate({agentId:s.id,isCurrentlyLiked:g},{onError:()=>l("like")}))},N=()=>{!a||u.isPending||(l(null),u.mutate({agentId:s.id,isCurrentlyFavourited:v},{onError:()=>l("favourite")}))},w=()=>{f.isPending||(l(null),f.mutate({agentId:s.id,agentName:s.name},{onError:()=>l("download")}))},b=i?i==="like"?{action:"like",error:m.error,retry:j}:i==="favourite"?{action:"favourite",error:u.error,retry:N}:{action:"download",error:f.error,retry:w}:null;return e.jsx(xe,{agent:s,isLiked:a&&g,isFavourited:a&&v,onLikeToggle:j,onFavouriteToggle:N,onDownload:w,isLikeActionLoading:m.isPending,isFavouriteActionLoading:u.isPending,isDownloading:f.isPending,viewerStateKnown:o,actionError:b?fe(b.action,b.error,s.name):null,onRetryAction:b?.retry})},U=({selected:s,onClick:n,children:o,...a})=>e.jsx("button",{type:"button",onClick:n,"aria-pressed":s,className:L("flex w-full cursor-pointer items-center gap-2.5 rounded-sm px-3 py-1.5 text-left","text-body-sm transition-colors duration-fast ease-out-quart",s?"bg-accent-wash font-semibold text-accent":"text-ink hover:bg-elevated"),...a,children:o}),Q=Object.keys(pe),_e=s=>[...s].sort((n,o)=>{const a=Q.indexOf(n),i=Q.indexOf(o);return a!==-1&&i!==-1?a-i:a!==-1?-1:i!==-1?1:n.localeCompare(o)}),Fe=({selectedCategory:s,onSelectCategory:n,categories:o})=>{const a=_e(s&&!o.includes(s)?[...o,s]:o);return e.jsxs("div",{className:"flex h-full flex-col overflow-y-auto",children:[e.jsx("h2",{className:"mb-2 px-3 font-medium text-ink-dim text-meta",children:"Categories"}),e.jsxs("div",{className:"flex flex-col gap-0.5",children:[e.jsxs(U,{selected:s===null,onClick:()=>n(null),"data-testid":"category-all",children:[e.jsx("span",{className:"flex size-4 shrink-0 items-center justify-center",children:e.jsx(be,{size:16,"aria-hidden":"true"})}),"All categories"]}),a.map(i=>{const l=Z(i),g=i==="other"?e.jsx(Pe,{size:16}):l.icon;return e.jsxs(U,{selected:s===i,onClick:()=>n(i),"data-testid":`category-${i}`,children:[e.jsx("span",{className:"flex size-4 shrink-0 items-center justify-center",children:g}),l.label]},i)})]})]})},Me=(s,n)=>{const[o,a]=r.useState(s);return r.useEffect(()=>{const i=setTimeout(()=>a(s),n);return()=>clearTimeout(i)},[s,n]),o},A=[{value:"download_count:desc",label:"Most downloaded",sort:"download_count",order:"desc"},{value:"like_count:desc",label:"Most liked",sort:"like_count",order:"desc"},{value:"favourite_count:desc",label:"Most favourited",sort:"favourite_count",order:"desc"},{value:"created_at:desc",label:"Newest",sort:"created_at",order:"desc"},{value:"updated_at:desc",label:"Recently updated",sort:"updated_at",order:"desc"},{value:"name:asc",label:"Name (A to Z)",sort:"name",order:"asc"}],Le=[{value:"name",label:"Name"},{value:"description",label:"Description"}],Ie=300,Oe=()=>e.jsxs("div",{className:"flex h-full flex-col overflow-hidden rounded-lg border border-hairline bg-surface",children:[e.jsxs("div",{className:"flex min-h-0 flex-1 flex-col gap-2 p-4",children:[e.jsx(c,{className:"h-5.5 w-2/3"}),e.jsx(c,{className:"h-3.5 w-full"}),e.jsx(c,{className:"h-3.5 w-full"}),e.jsx(c,{className:"h-3.5 w-1/2"}),e.jsxs("div",{className:"mt-auto flex flex-col gap-2 pt-2",children:[e.jsxs("div",{className:"flex flex-col gap-1.5",children:[e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx(c,{className:"h-5.5 w-24"}),e.jsx(c,{className:"h-5.5 w-20"})]}),e.jsx("div",{className:"flex items-center gap-1.5",children:e.jsx(c,{className:"h-5.5 w-24"})})]}),e.jsx(c,{className:"h-4.5 w-32"})]})]}),e.jsxs("div",{className:"flex items-center gap-2 border-t border-hairline px-3 py-2",children:[e.jsx(c,{className:"size-4"}),e.jsx(c,{className:"h-4 w-6"}),e.jsx(c,{className:"size-4"}),e.jsx(c,{className:"h-4 w-6"}),e.jsx(c,{className:"ml-auto h-7 w-16"})]})]}),Ke=()=>{const s=ve(),{isAuthenticated:n}=G(),[o,a]=r.useState(1),[i]=r.useState(12),[l,g]=r.useState(null),[v,m]=r.useState(""),[u,f]=r.useState("name"),[j,N]=r.useState(A[0].value),[w,b]=r.useState([]),R=Me(v,Ie),I=A.find(t=>t.value===j)??A[0],{data:y,agents:J,isLoading:W,isFetching:p,error:x,refetch:X,pagination:h}=je({page:o,perPage:i,categories:l?[l]:void 0,name:u==="name"&&R||void 0,description:u==="description"&&R||void 0,sort:I.sort,order:I.order}),S=J??[],O=p&&y!==void 0,{statuses:D,isKnown:ee,isError:te,isFetching:E,refetch:se}=Ae({agentIds:S.map(t=>t.id)}),P=r.useRef(null),T=r.useRef(null),[z,ae]=r.useState(0);r.useEffect(()=>{z!==0&&(P.current??T.current)?.focus()},[z]);const V=r.useRef(null),_=r.useRef(!1),F=r.useMemo(()=>[...new Set((y?.records??[]).flatMap(t=>t.categories??[]))],[y]);r.useEffect(()=>{b(t=>F.every(M=>t.includes(M))?t:[...new Set([...t,...F])])},[F]);const k=l!==null||R!=="",ne=()=>{g(null),m(""),a(1),ae(t=>t+1)},d=(W||p)&&y===void 0,q=!d&&!k&&(x!==null||S.length===0);r.useEffect(()=>{!_.current||d||(_.current=!1,x?V.current?.focus():(P.current??T.current)?.focus())},[d,x]);const re=t=>{a(t)},ie=t=>{g(t),a(1)},le=t=>{m(t),a(1)},oe=t=>{f(t),a(1)};return e.jsxs("div",{className:"flex h-full flex-col gap-8 p-6",children:[e.jsx(Se,{title:"Agent hub",subtitle:"Discover and download community agents on Radient",icon:Ne}),e.jsxs("div",{className:"flex min-h-0 flex-1 flex-row overflow-hidden",children:[e.jsx("div",{className:"mr-6 hidden w-60 shrink-0 md:block","data-tour-tag":"agent-hub-sidebar-container",children:!q&&e.jsx(Fe,{selectedCategory:l,onSelectCategory:ie,categories:w})}),e.jsxs("div",{className:"flex min-w-0 flex-1 flex-col overflow-y-auto",children:[!q&&e.jsxs("div",{className:"mb-4 flex flex-wrap items-center gap-2",children:[e.jsxs("div",{className:L("flex min-w-56 flex-1 items-center rounded-sm border border-control bg-surface","transition-colors duration-fast ease-out-quart","has-[:focus-visible]:outline-solid has-[:focus-visible]:outline-2","has-[:focus-visible]:outline-accent has-[:focus-visible]:outline-offset-2"),children:[e.jsx(de,{ref:P,type:"search",value:v,onChange:t=>le(t.target.value),placeholder:"Search agents","aria-label":"Search agents",className:"h-8 min-w-0 flex-1 border-0 bg-transparent outline-none","data-testid":"agent-hub-search"}),e.jsxs(H,{value:u,onValueChange:oe,children:[e.jsx(K,{className:"w-auto shrink-0 border-y-0 border-l border-hairline border-r-0 bg-transparent pl-2 outline-none","aria-label":"Search in","data-testid":"agent-hub-search-scope",children:e.jsx(Y,{})}),e.jsx($,{children:Le.map(t=>e.jsx(B,{value:t.value,children:t.label},t.value))})]})]}),e.jsxs(H,{value:j,onValueChange:N,children:[e.jsx(K,{className:"w-48","aria-label":"Sort agents","data-testid":"agent-hub-sort",children:e.jsx(Y,{})}),e.jsx($,{children:A.map(t=>e.jsx(B,{value:t.value,children:t.label},t.value))})]})]}),e.jsxs("p",{"aria-live":"polite",className:"mb-3 text-meta text-ink-dim","data-testid":"agent-hub-status",children:[d?"Loading agents…":h?`${h.totalRecords} ${h.totalRecords===1?"agent":"agents"}`:"",O?e.jsx(e.Fragment,{children:" Updating…"}):null]}),n&&te&&e.jsxs("output",{className:"mb-3 flex flex-wrap items-center gap-2 text-meta text-warning","data-testid":"agent-hub-status-unknown",children:[e.jsx("span",{children:"Your likes and favourites could not be read, so no card shows a viewer state."}),e.jsx(C,{variant:"ghost",size:"sm",onClick:()=>void se(),disabled:E,"aria-busy":E,children:E?"Trying…":"Try again"})]}),d&&e.jsx("div",{"data-testid":"agent-hub-loading",className:"grid grid-cols-[repeat(auto-fill,minmax(17.5rem,1fr))] gap-6",children:Array.from({length:6},(t,M)=>e.jsx(Oe,{},M))}),d&&h===void 0&&e.jsx("div",{"aria-hidden":"true",className:"mt-6 flex min-h-13 items-center justify-center","data-testid":"agent-hub-pager-placeholder",children:e.jsx(c,{className:"h-4 w-24"})}),e.jsx("output",{"aria-live":"polite","data-testid":"agent-hub-outage",className:L(!d&&x?"block":"sr-only"),children:!d&&x&&e.jsxs(ue,{variant:"danger",className:"max-w-2xl","aria-busy":p,"data-testid":"agent-hub-error",children:[e.jsx(he,{children:n?"The hub could not be loaded":"Sign in to use the hub"}),e.jsx(ge,{children:n?we("The agent list could not be loaded.",x):"You are not signed in to Radient, so the hub has no credential to read the agent list with. Sign in on the settings page, then try again."}),e.jsx("div",{className:"mt-2",children:e.jsx(C,{ref:V,variant:"outline",size:"sm",onClick:()=>{_.current=!0,X()},disabled:p,"aria-busy":p,children:p?"Trying…":"Try again"})})]})}),!d&&!x&&e.jsx("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(17.5rem,1fr))] gap-6","aria-busy":O,children:S.length===0?e.jsxs("div",{"data-testid":"agent-hub-empty",className:"col-span-full w-full max-w-2xl justify-self-center flex flex-col items-center gap-2 rounded-lg border border-hairline bg-surface px-6 py-10 text-center",children:[e.jsx("p",{className:"text-heading text-ink",children:l?`No agents in ${Z(l).label}.`:k?"No agents match that search.":"The hub is empty."}),e.jsx("p",{className:"max-w-md text-body-sm text-ink-muted",children:l?"Nothing in this category yet. Clear the filter to see the whole hub.":k?"No agent's name or description carries that. Clear it to see the whole hub.":"Nobody has published an agent yet. Yours could be the first."}),e.jsx("div",{className:"mt-2 flex flex-wrap items-center justify-center gap-2",children:k?e.jsx(C,{variant:"secondary",onClick:ne,children:l?"Clear filter":"Clear search"}):e.jsx(C,{ref:T,variant:"secondary",onClick:()=>s("/agents"),children:"Publish an agent"})})]}):S.map(t=>e.jsx(Te,{agent:t,status:n?D[t.id]:void 0,viewerStateKnown:n&&Re(ee,D,t.id)},t.id))}),!d&&h&&h.totalPages>1&&e.jsx("div",{className:"mt-6 flex justify-center",children:e.jsx(ye,{count:h.totalPages,page:h.page,onChange:re})})]})]})]})};export{Ke as AgentHubPage};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./legacy-agents-page-
|
|
2
|
-
import{u as O,a as Q,b as J,d as V,c as W,e as G,f as H,g as X,B as Y,U as Z,P as ee,_ as te,h as $,i as z,j as U}from"./index-DnW_kgMc.js";import{j as e,r as n,B as u,c as P}from"./icon-DSd8jC90.js";const ae=n.lazy(()=>te(()=>import("./legacy-agents-page-F6UxsNw3.js"),__vite__mapDeps([0,1,2,3,4,5,6,7]),import.meta.url).then(t=>({default:t.LegacyAgentsPage}))),d="w-full rounded-md border border-control bg-surface px-3 py-2 text-body-sm text-ink";function T({profile:t,creating:v,onSaved:g}){const[r,k]=n.useState(!1),[o,m]=n.useState(v),[p,b]=n.useState(t?.name??""),[x,C]=n.useState(t?.kind??"role"),[h,y]=n.useState(t?.description??""),[j,S]=n.useState(t?.instructions??""),[_,D]=n.useState(t?.tools?.join(", ")??""),[I,N]=n.useState(t?.effort??"inherit"),[R,L]=n.useState(t?.delegate??!1),[f,a]=n.useState(!1),[c,l]=n.useState(null),i=n.useRef(null),w=$(),E=v||r,K=async s=>{if(s.preventDefault(),f)return;const M={kind:x,description:h,instructions:j,tools:_.split(",").map(q=>q.trim()).filter(Boolean),effort:I,delegate:R},A=JSON.stringify({name:p,fields:M,fresh:E});if(i.current&&i.current.body!==A){l("The previous save has not been confirmed. Retry it unchanged or reload the profile to reconcile before editing again.");return}i.current??={id:crypto.randomUUID(),body:A},a(!0),l(null);try{const q=await U({op:E?"profiles.create":"profiles.update",requestId:i.current.id,name:p,fields:M});i.current=null,m(!1),g(q.name)}catch(q){l(q instanceof Error?q.message:"Profile could not be saved.")}finally{a(!1)}},F=async()=>{if(!(!t||f)){a(!0),l(null);try{const s=await U({op:"profiles.install",name:t.name,requestId:crypto.randomUUID()});m(!1),k(!1),i.current=null,b(s.name),C(s.kind),y(s.description??""),S(s.instructions??""),D(s.tools?.join(", ")??""),N(s.effort??"inherit"),L(s.delegate??!1),g(s.name)}catch(s){l(s instanceof Error?s.message:"Profile could not be installed.")}finally{a(!1)}}};return e.jsxs("div",{className:"max-w-3xl space-y-6",children:[e.jsxs("header",{children:[e.jsx("h1",{className:"text-title",children:E?r?"Extend agent":"Create agent":t?.name}),e.jsx("p",{className:"mt-2 text-body-sm text-ink-muted",children:"Reusable instructions shared by agent commands, subagents and teams. Chats remain separate."})]}),t&&!E&&e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsxs("span",{className:"text-meta text-ink-muted",children:[t.source==="builtin"?"Built-in":t.source==="installed"?"Installed":"Custom",t.divergent_fields?.length?" · Modified":""," ·"," ",t.kind]}),t.source==="builtin"?e.jsx(u,{variant:"outline",onClick:F,disabled:f,children:"Install"}):e.jsx(u,{variant:"outline",onClick:()=>m(!0),children:"Edit"}),e.jsx(u,{variant:"outline",onClick:()=>{k(!0),m(!0),b(""),i.current=null},children:"Extend"}),e.jsx(u,{onClick:()=>{z.getState().stageDraft({kind:"agent",name:t.name}),w("/chat")},children:"New chat"})]}),c&&e.jsx("p",{role:"alert",className:"text-body-sm text-danger",children:c}),!o&&t?.source==="builtin"&&e.jsx("p",{id:"builtin-readonly",className:"text-body-sm text-ink-muted",children:"Built-in agents are read-only. Install this one to edit it, or Extend it to start a separate agent from its instructions."}),e.jsxs("form",{onSubmit:K,className:"space-y-4",children:[e.jsxs("fieldset",{disabled:!o||f,className:"space-y-4",children:[e.jsxs("label",{className:"block space-y-1 text-body-sm",children:[e.jsx("span",{children:"Name"}),e.jsx("input",{className:d,value:p,disabled:!E,required:!0,"aria-describedby":t?.source==="builtin"?"builtin-readonly":void 0,onChange:s=>b(s.target.value)})]}),e.jsxs("label",{className:"block space-y-1 text-body-sm",children:[e.jsx("span",{children:"Kind"}),e.jsxs("select",{className:d,value:x,disabled:!E,onChange:s=>C(s.target.value),children:[e.jsx("option",{value:"role",children:"Role"}),e.jsx("option",{value:"specialist",children:"Specialist"})]})]}),e.jsxs("label",{className:"block space-y-1 text-body-sm",children:[e.jsx("span",{children:"When to use this agent"}),e.jsx("input",{className:d,value:h,maxLength:8e3,onChange:s=>y(s.target.value)})]}),e.jsxs("label",{className:"block space-y-1 text-body-sm",children:[e.jsx("span",{children:"Instructions"}),e.jsx("textarea",{className:P(d,"min-h-52"),value:j,required:!0,maxLength:8e3,onChange:s=>S(s.target.value)})]}),x==="role"&&e.jsxs(e.Fragment,{children:[e.jsxs("label",{className:"block space-y-1 text-body-sm",children:[e.jsx("span",{children:"Allowed tools"}),e.jsx("input",{className:d,value:_,onChange:s=>D(s.target.value),placeholder:"All tools when empty; otherwise comma-separated names"})]}),e.jsxs("label",{className:"block space-y-1 text-body-sm",children:[e.jsx("span",{children:"Effort tier"}),e.jsx("input",{className:d,value:I,onChange:s=>N(s.target.value),"aria-describedby":"effort-help"}),e.jsx("span",{id:"effort-help",className:"text-meta text-ink-muted",children:"Use inherit, or a tier configured in backend settings. Unsupported tiers are rejected before saving."})]}),e.jsxs("label",{className:"flex items-center gap-2 text-body-sm",children:[e.jsx("input",{type:"checkbox",checked:R,onChange:s=>L(s.target.checked)}),"May delegate to subagents"]})]})]}),o&&e.jsx(u,{type:"submit",disabled:f,children:f?"Saving…":E?"Create agent":"Save changes"})]}),!o&&t?.packaged_instructions&&t.divergent_fields?.length?e.jsxs("details",{className:"text-body-sm",children:[e.jsx("summary",{children:"Compare packaged instructions"}),e.jsx("pre",{className:"mt-2 whitespace-pre-wrap text-body-sm text-ink-muted",children:t.packaged_instructions})]}):null]})}function B({team:t,onSaved:v}){const[g,r]=n.useState(t?.name??""),[k,o]=n.useState(t?.description??""),[m,p]=n.useState(t?.manager??"manager"),[b,x]=n.useState((t?.members??[]).map(a=>({...a,key:crypto.randomUUID()}))),[C,h]=n.useState(t?.instructions??""),[y,j]=n.useState(t?.project??""),[S,_]=n.useState(!1),[D,I]=n.useState(null),N=n.useRef(null),R=$(),L=async a=>{if(a.preventDefault(),S)return;const c={name:g,description:k,manager:m,members:b.map(({key:i,...w})=>w),instructions:C,project:y},l=JSON.stringify(c);if(N.current&&N.current.body!==l){I("The previous save has not been confirmed. Reload the team before changing that request.");return}N.current??={id:crypto.randomUUID(),body:l},_(!0),I(null);try{const i=t?await U({op:"teams.update",name:t.name,requestId:N.current.id,fields:c}):await U({op:"teams.create",requestId:N.current.id,fields:c});N.current=null,v(i.name)}catch(i){I(i instanceof Error?i.message:"Team could not be saved.")}finally{_(!1)}},f=(a,c)=>x(l=>l.map((i,w)=>w===a?{...i,...c}:i));return e.jsxs("div",{className:"max-w-3xl space-y-6",children:[e.jsxs("header",{children:[e.jsx("h1",{className:"text-title",children:t?t.name:"Create team"}),e.jsx("p",{className:"mt-2 text-body-sm text-ink-muted",children:"The manager leads the chat. Members retain their own instructions and start only when delegated work."})]}),t&&e.jsx(u,{onClick:()=>{z.getState().stageDraft({kind:"team",name:t.name}),R("/chat")},children:"New team chat"}),D&&e.jsx("p",{role:"alert",className:"text-body-sm text-danger",children:D}),e.jsxs("form",{onSubmit:L,className:"space-y-4",children:[e.jsxs("fieldset",{disabled:S,className:"space-y-4",children:[e.jsxs("label",{className:"block space-y-1 text-body-sm",children:[e.jsx("span",{children:"Name"}),e.jsx("input",{className:d,required:!0,maxLength:64,value:g,onChange:a=>r(a.target.value)})]}),e.jsxs("label",{className:"block space-y-1 text-body-sm",children:[e.jsx("span",{children:"Description"}),e.jsx("input",{className:d,value:k,onChange:a=>o(a.target.value)})]}),e.jsxs("label",{className:"block space-y-1 text-body-sm",children:[e.jsx("span",{children:"Manager agent"}),e.jsx("input",{className:d,required:!0,value:m,onChange:a=>p(a.target.value)})]}),e.jsxs("section",{className:"space-y-2",children:[e.jsx("h2",{className:"text-heading",children:"Members"}),b.map((a,c)=>e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("input",{className:P(d,"w-48 flex-1"),"aria-label":`Member ${c+1} name`,required:!0,value:a.role,onChange:l=>f(c,{role:l.target.value})}),e.jsxs("select",{className:P(d,"w-32"),"aria-label":`Member ${c+1} kind`,value:a.kind,onChange:l=>f(c,{kind:l.target.value}),children:[e.jsx("option",{value:"agent",children:"Agent"}),e.jsx("option",{value:"team",children:"Nested team"})]}),e.jsx("input",{className:P(d,"w-20"),"aria-label":`Member ${c+1} count`,type:"number",min:1,max:16,value:a.count,onChange:l=>f(c,{count:Number(l.target.value)})}),e.jsx(u,{type:"button",variant:"ghost",onClick:()=>x(l=>l.filter((i,w)=>w!==c)),children:"Remove"})]},a.key)),e.jsx(u,{type:"button",variant:"outline",onClick:()=>x(a=>[...a,{role:"",count:1,kind:"agent",key:crypto.randomUUID()}]),children:"Add member"})]}),e.jsxs("label",{className:"block space-y-1 text-body-sm",children:[e.jsx("span",{children:"Collaboration instructions"}),e.jsx("textarea",{className:P(d,"min-h-36"),maxLength:8e3,value:C,onChange:a=>h(a.target.value)})]}),e.jsxs("label",{className:"block space-y-1 text-body-sm",children:[e.jsx("span",{children:"Project brief"}),e.jsx("textarea",{className:P(d,"min-h-36"),maxLength:8e3,value:y,onChange:a=>j(a.target.value)})]})]}),e.jsx(u,{type:"submit",disabled:S,children:S?"Saving…":t?"Save team":"Create team"})]})]})}function re(){const{agentId:t}=O(),[v,g]=Q(),r=v.get("kind")==="team"||v.get("create")==="team",k=v.has("create"),o=v.get("name"),m=J(),p=V(m.data,r?"team_catalogue":"profile_catalogue"),b=W(p&&!r),x=G(p&&r),C=H(),h=X({queryKey:["desktop",r?"team":"profile",o],enabled:p&&!!o&&!k,queryFn:()=>U({op:r?"teams.get":"profiles.get",name:o??""}),retry:!1}),y=async j=>{await C.invalidateQueries({queryKey:["desktop"]}),g({kind:r?"team":"agent",name:j})};return t?e.jsx(n.Suspense,{fallback:e.jsx("p",{className:"p-6 text-body",children:"Loading saved agent…"}),children:e.jsx(ae,{})}):e.jsxs("div",{className:"flex h-full min-h-0 bg-canvas text-ink",children:[e.jsxs("aside",{className:"flex w-64 shrink-0 flex-col gap-4 border-r border-hairline bg-surface p-4",children:[e.jsx("h1",{className:"text-heading",children:"Agents and teams"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsxs(u,{variant:r?"ghost":"outline",onClick:()=>g({kind:"agent"}),children:[e.jsx(Y,{className:"size-4"}),"Agents"]}),e.jsxs(u,{variant:r?"outline":"ghost",onClick:()=>g({kind:"team"}),children:[e.jsx(Z,{className:"size-4"}),"Teams"]})]}),e.jsxs(u,{variant:"outline",disabled:!p,onClick:()=>g({create:r?"team":"agent"}),children:[e.jsx(ee,{className:"size-4"}),r?"Create team":"Create agent"]}),e.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto",children:(r?x.data:b.data)?.map(j=>e.jsx("button",{type:"button",className:P("flex h-8 w-full items-center rounded-md px-2 text-left text-body-sm hover:bg-elevated",j.name===o&&"bg-accent-wash"),onClick:()=>g({kind:r?"team":"agent",name:j.name}),children:e.jsx("span",{className:"truncate",children:j.name})},j.name))})]}),e.jsx("main",{className:"min-w-0 flex-1 overflow-auto p-6",children:p?b.error||x.error||h.error?e.jsxs("div",{role:"alert",children:[e.jsx("p",{className:"text-danger",children:b.error?.message||x.error?.message||h.error?.message}),e.jsx(u,{variant:"outline",onClick:()=>{b.refetch(),x.refetch(),h.refetch()},children:"Retry"})]}):k?r?e.jsx(B,{onSaved:y},"create-team"):e.jsx(T,{creating:!0,onSaved:y},"create-agent"):o&&h.isLoading?e.jsx("p",{"aria-live":"polite",children:"Loading details…"}):o&&h.data?r?e.jsx(B,{team:h.data,onSaved:y},o):e.jsx(T,{profile:h.data,creating:!1,onSaved:y},`${o}:${h.data.source}`):e.jsxs("div",{children:[e.jsx("h2",{className:"text-title",children:r?"Reusable teams":"Reusable agents"}),e.jsx("p",{className:"mt-2 text-body text-ink-muted",children:"Select a definition to view or edit it. A new chat does not change its definition."})]}):e.jsxs("div",{"aria-live":"polite",className:"space-y-3 text-body-sm",children:[e.jsx("p",{children:m.isLoading?"Connecting to the backend…":m.error?m.error.message:"Update the backend to manage reusable agents and teams. Saved chats are unchanged."}),e.jsx(u,{variant:"outline",onClick:()=>void m.refetch(),children:"Retry connection"})]})})]})}export{re as AgentsPage};
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./legacy-agents-page-CSRePCTp.js","./icon-dNp1enls.js","./icon-Ba9HGo1c.css","./page-header-BEVLGhES.js","./index-DwT9X3KB.js","./index-D_SlEnpm.css","./radient-auth-buttons-uLrsJMmK.js","./compact-pagination-Bpe0E_u_.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{u as O,a as Q,b as J,d as V,c as W,e as G,f as H,g as X,B as Y,U as Z,P as ee,_ as te,h as $,i as z,j as U}from"./index-DwT9X3KB.js";import{j as e,r as n,B as u,c as P}from"./icon-dNp1enls.js";const ae=n.lazy(()=>te(()=>import("./legacy-agents-page-CSRePCTp.js"),__vite__mapDeps([0,1,2,3,4,5,6,7]),import.meta.url).then(t=>({default:t.LegacyAgentsPage}))),d="w-full rounded-md border border-control bg-surface px-3 py-2 text-body-sm text-ink";function T({profile:t,creating:v,onSaved:g}){const[r,k]=n.useState(!1),[o,m]=n.useState(v),[p,b]=n.useState(t?.name??""),[x,C]=n.useState(t?.kind??"role"),[h,y]=n.useState(t?.description??""),[j,S]=n.useState(t?.instructions??""),[_,D]=n.useState(t?.tools?.join(", ")??""),[I,N]=n.useState(t?.effort??"inherit"),[R,L]=n.useState(t?.delegate??!1),[f,a]=n.useState(!1),[c,l]=n.useState(null),i=n.useRef(null),w=$(),E=v||r,K=async s=>{if(s.preventDefault(),f)return;const M={kind:x,description:h,instructions:j,tools:_.split(",").map(q=>q.trim()).filter(Boolean),effort:I,delegate:R},A=JSON.stringify({name:p,fields:M,fresh:E});if(i.current&&i.current.body!==A){l("The previous save has not been confirmed. Retry it unchanged or reload the profile to reconcile before editing again.");return}i.current??={id:crypto.randomUUID(),body:A},a(!0),l(null);try{const q=await U({op:E?"profiles.create":"profiles.update",requestId:i.current.id,name:p,fields:M});i.current=null,m(!1),g(q.name)}catch(q){l(q instanceof Error?q.message:"Profile could not be saved.")}finally{a(!1)}},F=async()=>{if(!(!t||f)){a(!0),l(null);try{const s=await U({op:"profiles.install",name:t.name,requestId:crypto.randomUUID()});m(!1),k(!1),i.current=null,b(s.name),C(s.kind),y(s.description??""),S(s.instructions??""),D(s.tools?.join(", ")??""),N(s.effort??"inherit"),L(s.delegate??!1),g(s.name)}catch(s){l(s instanceof Error?s.message:"Profile could not be installed.")}finally{a(!1)}}};return e.jsxs("div",{className:"max-w-3xl space-y-6",children:[e.jsxs("header",{children:[e.jsx("h1",{className:"text-title",children:E?r?"Extend agent":"Create agent":t?.name}),e.jsx("p",{className:"mt-2 text-body-sm text-ink-muted",children:"Reusable instructions shared by agent commands, subagents and teams. Chats remain separate."})]}),t&&!E&&e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsxs("span",{className:"text-meta text-ink-muted",children:[t.source==="builtin"?"Built-in":t.source==="installed"?"Installed":"Custom",t.divergent_fields?.length?" · Modified":""," ·"," ",t.kind]}),t.source==="builtin"?e.jsx(u,{variant:"outline",onClick:F,disabled:f,children:"Install"}):e.jsx(u,{variant:"outline",onClick:()=>m(!0),children:"Edit"}),e.jsx(u,{variant:"outline",onClick:()=>{k(!0),m(!0),b(""),i.current=null},children:"Extend"}),e.jsx(u,{onClick:()=>{z.getState().stageDraft({kind:"agent",name:t.name}),w("/chat")},children:"New chat"})]}),c&&e.jsx("p",{role:"alert",className:"text-body-sm text-danger",children:c}),!o&&t?.source==="builtin"&&e.jsx("p",{id:"builtin-readonly",className:"text-body-sm text-ink-muted",children:"Built-in agents are read-only. Install this one to edit it, or Extend it to start a separate agent from its instructions."}),e.jsxs("form",{onSubmit:K,className:"space-y-4",children:[e.jsxs("fieldset",{disabled:!o||f,className:"space-y-4",children:[e.jsxs("label",{className:"block space-y-1 text-body-sm",children:[e.jsx("span",{children:"Name"}),e.jsx("input",{className:d,value:p,disabled:!E,required:!0,"aria-describedby":t?.source==="builtin"?"builtin-readonly":void 0,onChange:s=>b(s.target.value)})]}),e.jsxs("label",{className:"block space-y-1 text-body-sm",children:[e.jsx("span",{children:"Kind"}),e.jsxs("select",{className:d,value:x,disabled:!E,onChange:s=>C(s.target.value),children:[e.jsx("option",{value:"role",children:"Role"}),e.jsx("option",{value:"specialist",children:"Specialist"})]})]}),e.jsxs("label",{className:"block space-y-1 text-body-sm",children:[e.jsx("span",{children:"When to use this agent"}),e.jsx("input",{className:d,value:h,maxLength:8e3,onChange:s=>y(s.target.value)})]}),e.jsxs("label",{className:"block space-y-1 text-body-sm",children:[e.jsx("span",{children:"Instructions"}),e.jsx("textarea",{className:P(d,"min-h-52"),value:j,required:!0,maxLength:8e3,onChange:s=>S(s.target.value)})]}),x==="role"&&e.jsxs(e.Fragment,{children:[e.jsxs("label",{className:"block space-y-1 text-body-sm",children:[e.jsx("span",{children:"Allowed tools"}),e.jsx("input",{className:d,value:_,onChange:s=>D(s.target.value),placeholder:"All tools when empty; otherwise comma-separated names"})]}),e.jsxs("label",{className:"block space-y-1 text-body-sm",children:[e.jsx("span",{children:"Effort tier"}),e.jsx("input",{className:d,value:I,onChange:s=>N(s.target.value),"aria-describedby":"effort-help"}),e.jsx("span",{id:"effort-help",className:"text-meta text-ink-muted",children:"Use inherit, or a tier configured in backend settings. Unsupported tiers are rejected before saving."})]}),e.jsxs("label",{className:"flex items-center gap-2 text-body-sm",children:[e.jsx("input",{type:"checkbox",checked:R,onChange:s=>L(s.target.checked)}),"May delegate to subagents"]})]})]}),o&&e.jsx(u,{type:"submit",disabled:f,children:f?"Saving…":E?"Create agent":"Save changes"})]}),!o&&t?.packaged_instructions&&t.divergent_fields?.length?e.jsxs("details",{className:"text-body-sm",children:[e.jsx("summary",{children:"Compare packaged instructions"}),e.jsx("pre",{className:"mt-2 whitespace-pre-wrap text-body-sm text-ink-muted",children:t.packaged_instructions})]}):null]})}function B({team:t,onSaved:v}){const[g,r]=n.useState(t?.name??""),[k,o]=n.useState(t?.description??""),[m,p]=n.useState(t?.manager??"manager"),[b,x]=n.useState((t?.members??[]).map(a=>({...a,key:crypto.randomUUID()}))),[C,h]=n.useState(t?.instructions??""),[y,j]=n.useState(t?.project??""),[S,_]=n.useState(!1),[D,I]=n.useState(null),N=n.useRef(null),R=$(),L=async a=>{if(a.preventDefault(),S)return;const c={name:g,description:k,manager:m,members:b.map(({key:i,...w})=>w),instructions:C,project:y},l=JSON.stringify(c);if(N.current&&N.current.body!==l){I("The previous save has not been confirmed. Reload the team before changing that request.");return}N.current??={id:crypto.randomUUID(),body:l},_(!0),I(null);try{const i=t?await U({op:"teams.update",name:t.name,requestId:N.current.id,fields:c}):await U({op:"teams.create",requestId:N.current.id,fields:c});N.current=null,v(i.name)}catch(i){I(i instanceof Error?i.message:"Team could not be saved.")}finally{_(!1)}},f=(a,c)=>x(l=>l.map((i,w)=>w===a?{...i,...c}:i));return e.jsxs("div",{className:"max-w-3xl space-y-6",children:[e.jsxs("header",{children:[e.jsx("h1",{className:"text-title",children:t?t.name:"Create team"}),e.jsx("p",{className:"mt-2 text-body-sm text-ink-muted",children:"The manager leads the chat. Members retain their own instructions and start only when delegated work."})]}),t&&e.jsx(u,{onClick:()=>{z.getState().stageDraft({kind:"team",name:t.name}),R("/chat")},children:"New team chat"}),D&&e.jsx("p",{role:"alert",className:"text-body-sm text-danger",children:D}),e.jsxs("form",{onSubmit:L,className:"space-y-4",children:[e.jsxs("fieldset",{disabled:S,className:"space-y-4",children:[e.jsxs("label",{className:"block space-y-1 text-body-sm",children:[e.jsx("span",{children:"Name"}),e.jsx("input",{className:d,required:!0,maxLength:64,value:g,onChange:a=>r(a.target.value)})]}),e.jsxs("label",{className:"block space-y-1 text-body-sm",children:[e.jsx("span",{children:"Description"}),e.jsx("input",{className:d,value:k,onChange:a=>o(a.target.value)})]}),e.jsxs("label",{className:"block space-y-1 text-body-sm",children:[e.jsx("span",{children:"Manager agent"}),e.jsx("input",{className:d,required:!0,value:m,onChange:a=>p(a.target.value)})]}),e.jsxs("section",{className:"space-y-2",children:[e.jsx("h2",{className:"text-heading",children:"Members"}),b.map((a,c)=>e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("input",{className:P(d,"w-48 flex-1"),"aria-label":`Member ${c+1} name`,required:!0,value:a.role,onChange:l=>f(c,{role:l.target.value})}),e.jsxs("select",{className:P(d,"w-32"),"aria-label":`Member ${c+1} kind`,value:a.kind,onChange:l=>f(c,{kind:l.target.value}),children:[e.jsx("option",{value:"agent",children:"Agent"}),e.jsx("option",{value:"team",children:"Nested team"})]}),e.jsx("input",{className:P(d,"w-20"),"aria-label":`Member ${c+1} count`,type:"number",min:1,max:16,value:a.count,onChange:l=>f(c,{count:Number(l.target.value)})}),e.jsx(u,{type:"button",variant:"ghost",onClick:()=>x(l=>l.filter((i,w)=>w!==c)),children:"Remove"})]},a.key)),e.jsx(u,{type:"button",variant:"outline",onClick:()=>x(a=>[...a,{role:"",count:1,kind:"agent",key:crypto.randomUUID()}]),children:"Add member"})]}),e.jsxs("label",{className:"block space-y-1 text-body-sm",children:[e.jsx("span",{children:"Collaboration instructions"}),e.jsx("textarea",{className:P(d,"min-h-36"),maxLength:8e3,value:C,onChange:a=>h(a.target.value)})]}),e.jsxs("label",{className:"block space-y-1 text-body-sm",children:[e.jsx("span",{children:"Project brief"}),e.jsx("textarea",{className:P(d,"min-h-36"),maxLength:8e3,value:y,onChange:a=>j(a.target.value)})]})]}),e.jsx(u,{type:"submit",disabled:S,children:S?"Saving…":t?"Save team":"Create team"})]})]})}function re(){const{agentId:t}=O(),[v,g]=Q(),r=v.get("kind")==="team"||v.get("create")==="team",k=v.has("create"),o=v.get("name"),m=J(),p=V(m.data,r?"team_catalogue":"profile_catalogue"),b=W(p&&!r),x=G(p&&r),C=H(),h=X({queryKey:["desktop",r?"team":"profile",o],enabled:p&&!!o&&!k,queryFn:()=>U({op:r?"teams.get":"profiles.get",name:o??""}),retry:!1}),y=async j=>{await C.invalidateQueries({queryKey:["desktop"]}),g({kind:r?"team":"agent",name:j})};return t?e.jsx(n.Suspense,{fallback:e.jsx("p",{className:"p-6 text-body",children:"Loading saved agent…"}),children:e.jsx(ae,{})}):e.jsxs("div",{className:"flex h-full min-h-0 bg-canvas text-ink",children:[e.jsxs("aside",{className:"flex w-64 shrink-0 flex-col gap-4 border-r border-hairline bg-surface p-4",children:[e.jsx("h1",{className:"text-heading",children:"Agents and teams"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsxs(u,{variant:r?"ghost":"outline",onClick:()=>g({kind:"agent"}),children:[e.jsx(Y,{className:"size-4"}),"Agents"]}),e.jsxs(u,{variant:r?"outline":"ghost",onClick:()=>g({kind:"team"}),children:[e.jsx(Z,{className:"size-4"}),"Teams"]})]}),e.jsxs(u,{variant:"outline",disabled:!p,onClick:()=>g({create:r?"team":"agent"}),children:[e.jsx(ee,{className:"size-4"}),r?"Create team":"Create agent"]}),e.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto",children:(r?x.data:b.data)?.map(j=>e.jsx("button",{type:"button",className:P("flex h-8 w-full items-center rounded-md px-2 text-left text-body-sm hover:bg-elevated",j.name===o&&"bg-accent-wash"),onClick:()=>g({kind:r?"team":"agent",name:j.name}),children:e.jsx("span",{className:"truncate",children:j.name})},j.name))})]}),e.jsx("main",{className:"min-w-0 flex-1 overflow-auto p-6",children:p?b.error||x.error||h.error?e.jsxs("div",{role:"alert",children:[e.jsx("p",{className:"text-danger",children:b.error?.message||x.error?.message||h.error?.message}),e.jsx(u,{variant:"outline",onClick:()=>{b.refetch(),x.refetch(),h.refetch()},children:"Retry"})]}):k?r?e.jsx(B,{onSaved:y},"create-team"):e.jsx(T,{creating:!0,onSaved:y},"create-agent"):o&&h.isLoading?e.jsx("p",{"aria-live":"polite",children:"Loading details…"}):o&&h.data?r?e.jsx(B,{team:h.data,onSaved:y},o):e.jsx(T,{profile:h.data,creating:!1,onSaved:y},`${o}:${h.data.source}`):e.jsxs("div",{children:[e.jsx("h2",{className:"text-title",children:r?"Reusable teams":"Reusable agents"}),e.jsx("p",{className:"mt-2 text-body text-ink-muted",children:"Select a definition to view or edit it. A new chat does not change its definition."})]}):e.jsxs("div",{"aria-live":"polite",className:"space-y-3 text-body-sm",children:[e.jsx("p",{children:m.isLoading?"Connecting to the backend…":m.error?m.error.message:"Update the backend to manage reusable agents and teams. Saved chats are unchanged."}),e.jsx(u,{variant:"outline",onClick:()=>void m.refetch(),children:"Retry connection"})]})})]})}export{re as AgentsPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{w as ln,p as rn,l as H,s as q,m as B,n as un,o as y,t as tn,q as L,r as _,v as an,x as o,y as sn,z as on,A as fn}from"./index-
|
|
1
|
+
import{w as ln,p as rn,l as H,s as q,m as B,n as un,o as y,t as tn,q as L,r as _,v as an,x as o,y as sn,z as on,A as fn}from"./index-DwT9X3KB.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function mn(l){return l.endAngle}function pn(l){return l&&l.padAngle}function dn(l,h,E,z,v,A,C,r){var I=E-l,s=z-h,n=C-v,m=r-A,u=m*I-n*s;if(!(u*u<y))return u=(n*(h-A)-m*(l-v))/u,[l+u*I,h+u*s]}function W(l,h,E,z,v,A,C){var r=l-E,I=h-z,s=(C?A:-A)/L(r*r+I*I),n=s*I,m=-s*r,u=l+n,i=h+m,f=E+n,c=z+m,F=(u+f)/2,t=(i+c)/2,p=f-u,g=c-i,R=p*p+g*g,T=v-A,P=u*c-f*i,O=(g<0?-1:1)*L(on(0,T*T*R-P*P)),S=(P*g-p*O)/R,j=(-P*p-g*O)/R,w=(P*g+p*O)/R,d=(-P*p+g*O)/R,x=S-F,e=j-t,a=w-F,G=d-t;return x*x+e*e>a*a+G*G&&(S=w,j=d),{cx:S,cy:j,x01:-n,y01:-m,x11:S*(v/T-1),y11:j*(v/T-1)}}function hn(){var l=cn,h=yn,E=B(0),z=null,v=gn,A=mn,C=pn,r=null,I=ln(s);function s(){var n,m,u=+l.apply(this,arguments),i=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=A.apply(this,arguments)-un,F=an(c-f),t=c>f;if(r||(r=n=I()),i<u&&(m=i,i=u,u=m),!(i>y))r.moveTo(0,0);else if(F>tn-y)r.moveTo(i*H(f),i*q(f)),r.arc(0,0,i,f,c,!t),u>y&&(r.moveTo(u*H(c),u*q(c)),r.arc(0,0,u,c,f,t));else{var p=f,g=c,R=f,T=c,P=F,O=F,S=C.apply(this,arguments)/2,j=S>y&&(z?+z.apply(this,arguments):L(u*u+i*i)),w=_(an(i-u)/2,+E.apply(this,arguments)),d=w,x=w,e,a;if(j>y){var G=sn(j/u*q(S)),M=sn(j/i*q(S));(P-=G*2)>y?(G*=t?1:-1,R+=G,T-=G):(P=0,R=T=(f+c)/2),(O-=M*2)>y?(M*=t?1:-1,p+=M,g-=M):(O=0,p=g=(f+c)/2)}var J=i*H(p),K=i*q(p),N=u*H(T),Q=u*q(T);if(w>y){var U=i*H(g),V=i*q(g),X=u*H(R),Y=u*q(R),D;if(F<rn)if(D=dn(J,K,X,Y,U,V,N,Q)){var Z=J-D[0],$=K-D[1],k=U-D[0],b=V-D[1],nn=1/q(fn((Z*k+$*b)/(L(Z*Z+$*$)*L(k*k+b*b)))/2),en=L(D[0]*D[0]+D[1]*D[1]);d=_(w,(u-en)/(nn-1)),x=_(w,(i-en)/(nn+1))}else d=x=0}O>y?x>y?(e=W(X,Y,J,K,i,x,t),a=W(U,V,N,Q,i,x,t),r.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?r.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(a.y01,a.x01),!t):(r.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),r.arc(0,0,i,o(e.cy+e.y11,e.cx+e.x11),o(a.cy+a.y11,a.cx+a.x11),!t),r.arc(a.cx,a.cy,x,o(a.y11,a.x11),o(a.y01,a.x01),!t))):(r.moveTo(J,K),r.arc(0,0,i,p,g,!t)):r.moveTo(J,K),!(u>y)||!(P>y)?r.lineTo(N,Q):d>y?(e=W(N,Q,U,V,u,-d,t),a=W(J,K,X,Y,u,-d,t),r.lineTo(e.cx+e.x01,e.cy+e.y01),d<w?r.arc(e.cx,e.cy,d,o(e.y01,e.x01),o(a.y01,a.x01),!t):(r.arc(e.cx,e.cy,d,o(e.y01,e.x01),o(e.y11,e.x11),!t),r.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(a.cy+a.y11,a.cx+a.x11),t),r.arc(a.cx,a.cy,d,o(a.y11,a.x11),o(a.y01,a.x01),!t))):r.arc(0,0,u,T,R,t)}if(r.closePath(),n)return r=null,n+""||null}return s.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,m=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-rn/2;return[H(m)*n,q(m)*n]},s.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:B(+n),s):l},s.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:B(+n),s):h},s.cornerRadius=function(n){return arguments.length?(E=typeof n=="function"?n:B(+n),s):E},s.padRadius=function(n){return arguments.length?(z=n==null?null:typeof n=="function"?n:B(+n),s):z},s.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:B(+n),s):v},s.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:B(+n),s):A},s.padAngle=function(n){return arguments.length?(C=typeof n=="function"?n:B(+n),s):C},s.context=function(n){return arguments.length?(r=n??null,s):r},s}export{hn as d};
|