local-operator-ui 0.34.12 → 0.34.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/out/main/index.js +285 -7
- package/out/preload/index.js +81 -0
- package/out/renderer/assets/{_basePickBy-0FuZakDO.js → _basePickBy-CA44TNNe.js} +1 -1
- package/out/renderer/assets/{_baseUniq-DF-R-zk_.js → _baseUniq-d7MQLNdZ.js} +1 -1
- package/out/renderer/assets/{agent-details-page-Cpmz3DTx.js → agent-details-page-7FSNVw_a.js} +1 -1
- package/out/renderer/assets/{agent-hub-page-BjdZHs7N.js → agent-hub-page-DKkaAJUO.js} +1 -1
- package/out/renderer/assets/{agents-page-CFI7y-mh.js → agents-page-D7m55u_6.js} +3 -3
- package/out/renderer/assets/{arc-hMevLt8i.js → arc-B-FDKsGH.js} +1 -1
- package/out/renderer/assets/{architectureDiagram-IEHRJDOE-B5fNwTBg.js → architectureDiagram-IEHRJDOE-G1rjfZq7.js} +1 -1
- package/out/renderer/assets/{blockDiagram-JOT3LUYC-C0eifn71.js → blockDiagram-JOT3LUYC-l-awIrnr.js} +1 -1
- package/out/renderer/assets/{book-open-Cpx7b4xU.js → book-open-BrrVexy5.js} +1 -1
- package/out/renderer/assets/browser-page-CpH4mHqD.js +1 -0
- package/out/renderer/assets/{browser-webauthn-prompt-BInNSrH7.js → browser-webauthn-prompt-gPUN30kV.js} +1 -1
- package/out/renderer/assets/{c4Diagram-VJAJSXHY-B7AqGR0S.js → c4Diagram-VJAJSXHY-6Ot96pvN.js} +1 -1
- package/out/renderer/assets/channel-C2Q8chMm.js +1 -0
- package/out/renderer/assets/{chunk-4BMEZGHF-DRgWg1wB.js → chunk-4BMEZGHF-Dh9LoLDO.js} +1 -1
- package/out/renderer/assets/{chunk-A2AXSNBT-QkYdfOR_.js → chunk-A2AXSNBT-CZyKYDNO.js} +1 -1
- package/out/renderer/assets/{chunk-AEK57VVT-CCQ--tm8.js → chunk-AEK57VVT-Xn4scAn6.js} +1 -1
- package/out/renderer/assets/{chunk-D6G4REZN-Czu2dN7h.js → chunk-D6G4REZN-B3ShvnJj.js} +1 -1
- package/out/renderer/assets/{chunk-RZ5BOZE2-DYG4fw8w.js → chunk-RZ5BOZE2-BdS5lS3d.js} +1 -1
- package/out/renderer/assets/{chunk-XZIHB7SX-CrsWczXN.js → chunk-XZIHB7SX-DGgrxFg7.js} +1 -1
- package/out/renderer/assets/classDiagram-GIVACNV2-NND2zHOW.js +1 -0
- package/out/renderer/assets/classDiagram-v2-COTLJTTW-NND2zHOW.js +1 -0
- package/out/renderer/assets/clone-BiIHot_2.js +1 -0
- package/out/renderer/assets/{console-mirror-BEedSAfE.js → console-mirror-DQtUJmwA.js} +1 -1
- package/out/renderer/assets/{consoleCapture-CJpzUlSd.js → consoleCapture-CRwR37DZ.js} +1 -1
- package/out/renderer/assets/{conversation-input-sync-jHBqtt9M.js → conversation-input-sync-Y14Ako7z.js} +256 -246
- package/out/renderer/assets/{dagre-OKDRZEBW-V_2TdXms.js → dagre-OKDRZEBW-Bc7fF0Ra.js} +1 -1
- package/out/renderer/assets/{diagram-SSKATNLV-DmHiewpC.js → diagram-SSKATNLV-BCPRa1YD.js} +1 -1
- package/out/renderer/assets/{diagram-VNBRO52H-BBaLkKUI.js → diagram-VNBRO52H-D1nlo0lE.js} +1 -1
- package/out/renderer/assets/{erDiagram-Q7BY3M3F-gzrT0OQq.js → erDiagram-Q7BY3M3F-BHRru_kn.js} +1 -1
- package/out/renderer/assets/{error-boundary-DexrfAEk.js → error-boundary--zcbe2Cc.js} +1 -1
- package/out/renderer/assets/{flowDiagram-4HSFHLVR-WtEIG1SZ.js → flowDiagram-4HSFHLVR-BpvsM4FJ.js} +1 -1
- package/out/renderer/assets/{ganttDiagram-APWFNJXF-B1jWM42b.js → ganttDiagram-APWFNJXF-Mf1oQBUh.js} +1 -1
- package/out/renderer/assets/{gitGraphDiagram-7IBYFJ6S-_mbC-N8Q.js → gitGraphDiagram-7IBYFJ6S-D8xMmgTb.js} +1 -1
- package/out/renderer/assets/{graph--j_bjGDp.js → graph-CgIWJTDW.js} +1 -1
- package/out/renderer/assets/{index-BXFAcfHW.js → index-D6RCVBdS.js} +187 -197
- package/out/renderer/assets/{index-SDz2HLAt.js → index-Doc--GMv.js} +1 -1
- package/out/renderer/assets/{index-78Pu8oX4.js → index-r4WPdpk8.js} +1 -1
- package/out/renderer/assets/index-v9rBxA_L.css +1 -0
- package/out/renderer/assets/{infoDiagram-PH2N3AL5-ZAxI5P-K.js → infoDiagram-PH2N3AL5-pr4mFbVN.js} +1 -1
- package/out/renderer/assets/{installer-BDvScYgZ.js → installer-CtGo64L_.js} +1 -1
- package/out/renderer/assets/{journeyDiagram-U35MCT3I-DZ4RyZqB.js → journeyDiagram-U35MCT3I-CZZIKRib.js} +1 -1
- package/out/renderer/assets/{kanban-definition-NDS4AKOZ-kW-9JUyI.js → kanban-definition-NDS4AKOZ-CSM-wGwp.js} +1 -1
- package/out/renderer/assets/{layout-hBM56uFl.js → layout-Dh6gtFg_.js} +1 -1
- package/out/renderer/assets/{legacy-agents-page-lsbEk2J1.js → legacy-agents-page-B22zDTMb.js} +1 -1
- package/out/renderer/assets/{mermaid.core-DUwwjyuA.js → mermaid.core-BiKTnTLM.js} +5 -5
- package/out/renderer/assets/{mesh-page-R-moWtJ_.js → mesh-page-BC4zN8JI.js} +1 -1
- package/out/renderer/assets/{mindmap-definition-ALO5MXBD-CabAvvHv.js → mindmap-definition-ALO5MXBD-R2SPXsMW.js} +1 -1
- package/out/renderer/assets/{mini-Bk-Elwan.js → mini-DgFVKGPN.js} +1 -1
- package/out/renderer/assets/{org-surface-gate-BblILKma.js → org-surface-gate-DVc7KY9Q.js} +1 -1
- package/out/renderer/assets/{page-header-Ce0OVEd3.js → page-header-Dd48wU3n.js} +1 -1
- package/out/renderer/assets/{pieDiagram-IB7DONF6-DfPuydQj.js → pieDiagram-IB7DONF6-BfLVQMmu.js} +1 -1
- package/out/renderer/assets/{projects-page-vD-RuTFH.js → projects-page-alU2HYfV.js} +1 -1
- package/out/renderer/assets/{quadrantDiagram-7GDLP6J5-miOaNOa0.js → quadrantDiagram-7GDLP6J5-CMGZTdhQ.js} +1 -1
- package/out/renderer/assets/{radar-MK3ICKWK-6uN5Oz3u.js → radar-MK3ICKWK-BvYNslCw.js} +1 -1
- package/out/renderer/assets/{radient-auth-buttons-COiSnA2S.js → radient-auth-buttons-DFvYWrW9.js} +1 -1
- package/out/renderer/assets/{requirementDiagram-KVF5MWMF-ZcBG_T3L.js → requirementDiagram-KVF5MWMF-eObwAx7H.js} +1 -1
- package/out/renderer/assets/{sankeyDiagram-QLVOVGJD-B0yXArdY.js → sankeyDiagram-QLVOVGJD-RTB4Rlq4.js} +1 -1
- package/out/renderer/assets/{schedules-page-BNxF_SHU.js → schedules-page-B3AQzTAf.js} +1 -1
- package/out/renderer/assets/{sequenceDiagram-X6HHIX6F-Cy6KDW6o.js → sequenceDiagram-X6HHIX6F-C8NZenBo.js} +1 -1
- package/out/renderer/assets/{settings-page-478PcsAW.js → settings-page-DGhbz4Lk.js} +1 -1
- package/out/renderer/assets/{settings-section-n-j-LSaI.js → settings-section-SGVEGH5Z.js} +1 -1
- package/out/renderer/assets/{stateDiagram-DGXRK772-SpJc3S_A.js → stateDiagram-DGXRK772-OuQ6rDJE.js} +1 -1
- package/out/renderer/assets/stateDiagram-v2-YXO3MK2T-Crv3Z08s.js +1 -0
- package/out/renderer/assets/{timeline-definition-BDJGKUSR-BSbru3ra.js → timeline-definition-BDJGKUSR-B3RFNfTp.js} +1 -1
- package/out/renderer/assets/{ui-preferences-store-DNhiasP6.js → ui-preferences-store-YV9uOjJv.js} +1 -1
- package/out/renderer/assets/{use-download-agent-mutation-CfvFFmrZ.js → use-download-agent-mutation-D4vLY-y4.js} +1 -1
- package/out/renderer/assets/{use-memberships-query-B__m4YCP.js → use-memberships-query-BR0cFsRZ.js} +1 -1
- package/out/renderer/assets/{use-session-snapshot-CF9Y72Da.js → use-session-snapshot-Ba7auBdS.js} +1 -1
- package/out/renderer/assets/{xychartDiagram-VJFVF3MP-6d774UsI.js → xychartDiagram-VJFVF3MP-BPihBW4d.js} +1 -1
- package/out/renderer/console-capture.html +5 -5
- package/out/renderer/index.html +19 -9
- package/out/renderer/installer.html +4 -4
- package/out/renderer/mini.html +7 -7
- package/package.json +2 -2
- package/out/renderer/assets/browser-page-DOvqhWYH.js +0 -1
- package/out/renderer/assets/channel-JotcBz3R.js +0 -1
- package/out/renderer/assets/classDiagram-GIVACNV2-CksS_rYL.js +0 -1
- package/out/renderer/assets/classDiagram-v2-COTLJTTW-CksS_rYL.js +0 -1
- package/out/renderer/assets/clone-BzHauEn5.js +0 -1
- package/out/renderer/assets/index-BhJCtYke.css +0 -1
- package/out/renderer/assets/stateDiagram-v2-YXO3MK2T-CBW1IyeW.js +0 -1
- /package/out/renderer/assets/{index-CMRW4pU4.js → index-B6YcJ0Ho.js} +0 -0
package/out/main/index.js
CHANGED
|
@@ -64,6 +64,8 @@ const settingKey = zod.z.string().min(1).max(256).regex(/^[a-zA-Z0-9_][a-zA-Z0-9
|
|
|
64
64
|
const secret = zod.z.string().min(1).max(32768);
|
|
65
65
|
const sessionIdPattern = /^[a-f0-9]{12}$/;
|
|
66
66
|
const sessionId = zod.z.string().regex(sessionIdPattern);
|
|
67
|
+
const supplementJob = zod.z.string().regex(/^[a-f0-9]{12}$/);
|
|
68
|
+
const supplementAnchor = zod.z.string().min(1).max(128);
|
|
67
69
|
const skillCwd = zod.z.string().min(1).max(4096);
|
|
68
70
|
const mcpServerName = zod.z.string().regex(/^[A-Za-z0-9_.:-]{1,100}$/);
|
|
69
71
|
const mcpSecretReference = zod.z.string().regex(/^\$\{[A-Za-z_][A-Za-z0-9_]*\}$/);
|
|
@@ -963,6 +965,54 @@ const desktopRequestUnion = zod.z.discriminatedUnion("op", [
|
|
|
963
965
|
* uuid is not prose, so this costs the control budget.
|
|
964
966
|
*/
|
|
965
967
|
zod.z.object({ op: zod.z.literal("sessions.interrupt"), sessionId, requestId }).strict(),
|
|
968
|
+
/*
|
|
969
|
+
* The supplement block's OWN control pair (turn-supplements memo §2.7, lane
|
|
970
|
+
* U-b): cancel the running job, steer it with an instruction, or retry a
|
|
971
|
+
* settled one.
|
|
972
|
+
*
|
|
973
|
+
* THE COMPANION CORE ROUTES. These three ops address
|
|
974
|
+
* ``POST /v1/desktop/sessions/{sid}/supplements/{job}/{cancel,steer,restart}``
|
|
975
|
+
* and map in core to ``AttachedSession.supplement_cancel/steer/restart``
|
|
976
|
+
* (``session/attached.py``), which already speak the runtime's own op
|
|
977
|
+
* vocabulary over the control socket — the same rung ``sessions.interrupt``
|
|
978
|
+
* reaches.
|
|
979
|
+
*
|
|
980
|
+
* THOSE ROUTES DO NOT EXIST YET, and that is verified rather than assumed:
|
|
981
|
+
* the desktop plane on core ``origin/main`` (05e4c971b1) serves only the
|
|
982
|
+
* document route and the events gate, the released runtime matches (UX round
|
|
983
|
+
* 1 measured the 404s live), and no other door is reachable from this app —
|
|
984
|
+
* the runtime control socket is a daemon↔runtime dial main has no path to,
|
|
985
|
+
* and the relay's command route is cookie-gated for the phone surface. The
|
|
986
|
+
* core half is a small paired PR (one route per op dispatching
|
|
987
|
+
* ``bridge.remote.supplement_*``, the ``interrupt`` route's own shape); the
|
|
988
|
+
* app half ships here so the pair is one core change from working. Until it
|
|
989
|
+
* lands, a press answers 404 and the row composes THAT refusal through
|
|
990
|
+
* ``backendLoadErrorMessage`` — the outdated-server sentence, never a raw
|
|
991
|
+
* ``Not Found`` echoing out of the daemon (round-1 U2).
|
|
992
|
+
*
|
|
993
|
+
* ``job`` and ``anchor`` are the contract's own shapes (12 hex job id, the
|
|
994
|
+
* answer's message id); ``text`` is the memo's ``supplement_steer`` bound
|
|
995
|
+
* (≤ 500 chars, enforced again server-side).
|
|
996
|
+
*/
|
|
997
|
+
zod.z.object({
|
|
998
|
+
op: zod.z.literal("supplements.cancel"),
|
|
999
|
+
sessionId,
|
|
1000
|
+
job: supplementJob,
|
|
1001
|
+
anchor: supplementAnchor
|
|
1002
|
+
}).strict(),
|
|
1003
|
+
zod.z.object({
|
|
1004
|
+
op: zod.z.literal("supplements.restart"),
|
|
1005
|
+
sessionId,
|
|
1006
|
+
job: supplementJob,
|
|
1007
|
+
anchor: supplementAnchor
|
|
1008
|
+
}).strict(),
|
|
1009
|
+
zod.z.object({
|
|
1010
|
+
op: zod.z.literal("supplements.steer"),
|
|
1011
|
+
sessionId,
|
|
1012
|
+
job: supplementJob,
|
|
1013
|
+
anchor: supplementAnchor,
|
|
1014
|
+
text: zod.z.string().min(1).max(500)
|
|
1015
|
+
}).strict(),
|
|
966
1016
|
/*
|
|
967
1017
|
* A session's code memory: the names the session's own cells have left in its
|
|
968
1018
|
* eval namespace.
|
|
@@ -2088,6 +2138,26 @@ const desktopRequestUnion = zod.z.discriminatedUnion("op", [
|
|
|
2088
2138
|
*/
|
|
2089
2139
|
keys: zod.z.array(zod.z.string().min(1).max(512)).max(256).optional(),
|
|
2090
2140
|
force: zod.z.boolean().optional()
|
|
2141
|
+
}).strict(),
|
|
2142
|
+
/*
|
|
2143
|
+
* THE PREVIEWS' SIGNED STATIC URLS (file-serving RFC § 4, Phase A adoption).
|
|
2144
|
+
* The renderer cannot read the core's serve record (no filesystem, no record
|
|
2145
|
+
* store), so the previews ask MAIN - which already holds the desktop bearer -
|
|
2146
|
+
* to mint a short-lived signed URL for one static route + path. The route is
|
|
2147
|
+
* public in Phase A; this op is what lets the previews keep working when a
|
|
2148
|
+
* later core phase gates it, and a core that predates the route answers 404,
|
|
2149
|
+
* which the previews read as their fallback signal, not an error.
|
|
2150
|
+
*
|
|
2151
|
+
* `route` is the backend's own signed-string vocabulary (the four static
|
|
2152
|
+
* family ids), held here so a route the signature cannot cover fails at this
|
|
2153
|
+
* boundary. `ttlS` stays within the backend's documented cap (600 default,
|
|
2154
|
+
* 3600 max) - a bound, not a preference.
|
|
2155
|
+
*/
|
|
2156
|
+
zod.z.object({
|
|
2157
|
+
op: zod.z.literal("static.sign"),
|
|
2158
|
+
route: zod.z.enum(["images", "videos", "audio", "html"]),
|
|
2159
|
+
path: zod.z.string().min(1),
|
|
2160
|
+
ttlS: zod.z.number().int().min(1).max(3600).optional()
|
|
2091
2161
|
}).strict()
|
|
2092
2162
|
]);
|
|
2093
2163
|
const desktopRequestSchema = desktopRequestUnion.superRefine(
|
|
@@ -2980,6 +3050,24 @@ function desktopEndpoint(request) {
|
|
|
2980
3050
|
// runtime's abort receipt verbatim - see `DesktopInterruptReceipt`.
|
|
2981
3051
|
body: { request_id: request.requestId }
|
|
2982
3052
|
};
|
|
3053
|
+
case "supplements.cancel":
|
|
3054
|
+
return {
|
|
3055
|
+
path: `/v1/desktop/sessions/${request.sessionId}/supplements/${request.job}/cancel`,
|
|
3056
|
+
method: "POST",
|
|
3057
|
+
body: { anchor: request.anchor }
|
|
3058
|
+
};
|
|
3059
|
+
case "supplements.restart":
|
|
3060
|
+
return {
|
|
3061
|
+
path: `/v1/desktop/sessions/${request.sessionId}/supplements/${request.job}/restart`,
|
|
3062
|
+
method: "POST",
|
|
3063
|
+
body: { anchor: request.anchor }
|
|
3064
|
+
};
|
|
3065
|
+
case "supplements.steer":
|
|
3066
|
+
return {
|
|
3067
|
+
path: `/v1/desktop/sessions/${request.sessionId}/supplements/${request.job}/steer`,
|
|
3068
|
+
method: "POST",
|
|
3069
|
+
body: { anchor: request.anchor, text: request.text }
|
|
3070
|
+
};
|
|
2983
3071
|
case "sessions.variables.list":
|
|
2984
3072
|
return {
|
|
2985
3073
|
path: `/v1/desktop/sessions/${request.sessionId}/variables`,
|
|
@@ -3648,6 +3736,23 @@ function desktopEndpoint(request) {
|
|
|
3648
3736
|
...request.force !== void 0 ? { force: request.force } : {}
|
|
3649
3737
|
}
|
|
3650
3738
|
};
|
|
3739
|
+
/*
|
|
3740
|
+
* The previews' signed static URLs: NOT under `/v1/desktop/` - the core's
|
|
3741
|
+
* sign route accepts the desktop bearer OR its local access token - so an
|
|
3742
|
+
* answer here never counts as pairing evidence (`desktopAnswerProvesPairing`
|
|
3743
|
+
* reads the prefix, deliberately). `ttl_s` is omitted unless asked for, so
|
|
3744
|
+
* the core's own default (600 s) is the one number for "unspecified".
|
|
3745
|
+
*/
|
|
3746
|
+
case "static.sign":
|
|
3747
|
+
return {
|
|
3748
|
+
path: "/v1/static/sign",
|
|
3749
|
+
method: "POST",
|
|
3750
|
+
body: {
|
|
3751
|
+
route: request.route,
|
|
3752
|
+
path: request.path,
|
|
3753
|
+
ttl_s: request.ttlS
|
|
3754
|
+
}
|
|
3755
|
+
};
|
|
3651
3756
|
}
|
|
3652
3757
|
}
|
|
3653
3758
|
const MAX_PROBE_PATHS = 64;
|
|
@@ -7007,6 +7112,17 @@ const mediaRequestSchema = zod.z.discriminatedUnion("op", [
|
|
|
7007
7112
|
sessionId: zod.z.string().regex(/^[a-f0-9]{12}$/),
|
|
7008
7113
|
childId: zod.z.string().regex(/^[a-f0-9]{12}$/),
|
|
7009
7114
|
digest: zod.z.string().regex(/^[a-f0-9]{32}$/)
|
|
7115
|
+
}).strict(),
|
|
7116
|
+
// One supplement component's assembled HTML document (turn-supplements
|
|
7117
|
+
// memo §2.7), as `{ html }` JSON. Both identifiers are shape-constrained
|
|
7118
|
+
// here for the same reason the attachment ops' are: the path is built in
|
|
7119
|
+
// main, and an unvalidated digest would be renderer-controlled path text.
|
|
7120
|
+
// The digest regex is the contract's own (`DIGEST_PATTERN`,
|
|
7121
|
+
// `local_operator/supplements/contract.py`): 32 lowercase hex characters.
|
|
7122
|
+
zod.z.object({
|
|
7123
|
+
op: zod.z.literal("sessions.supplementDocument"),
|
|
7124
|
+
sessionId: zod.z.string().regex(/^[a-f0-9]{12}$/),
|
|
7125
|
+
digest: zod.z.string().regex(/^[a-f0-9]{32}$/)
|
|
7010
7126
|
}).strict()
|
|
7011
7127
|
]);
|
|
7012
7128
|
function endpoint(request) {
|
|
@@ -7031,6 +7147,11 @@ function endpoint(request) {
|
|
|
7031
7147
|
path: `/v1/desktop/sessions/${request.sessionId}/children/${request.childId}/attachments/${request.digest}`,
|
|
7032
7148
|
method: "GET"
|
|
7033
7149
|
};
|
|
7150
|
+
case "sessions.supplementDocument":
|
|
7151
|
+
return {
|
|
7152
|
+
path: `/v1/desktop/sessions/${request.sessionId}/supplements/${request.digest}/document`,
|
|
7153
|
+
method: "GET"
|
|
7154
|
+
};
|
|
7034
7155
|
}
|
|
7035
7156
|
}
|
|
7036
7157
|
async function requestDesktopMediaOutcome(input, bytes, backendUrl, token) {
|
|
@@ -7070,7 +7191,7 @@ async function requestDesktopMediaOutcome(input, bytes, backendUrl, token) {
|
|
|
7070
7191
|
const target2 = endpoint(request);
|
|
7071
7192
|
let body;
|
|
7072
7193
|
let contentType;
|
|
7073
|
-
if (request.op === "agent.export" || request.op === "sessions.attachment" || request.op === "subagents.attachment") {
|
|
7194
|
+
if (request.op === "agent.export" || request.op === "sessions.attachment" || request.op === "subagents.attachment" || request.op === "sessions.supplementDocument") {
|
|
7074
7195
|
body = void 0;
|
|
7075
7196
|
} else if (request.op === "speech.create" || request.op === "speech.agent") {
|
|
7076
7197
|
body = JSON.stringify(request.request);
|
|
@@ -7277,6 +7398,7 @@ class DesktopStreamRelay {
|
|
|
7277
7398
|
if (args.afterSeq !== void 0)
|
|
7278
7399
|
query.set("after_seq", String(args.afterSeq));
|
|
7279
7400
|
query.set("frontend_replace", "1");
|
|
7401
|
+
query.set("supplements", "1");
|
|
7280
7402
|
const suffix = query.size > 0 ? `?${query}` : "";
|
|
7281
7403
|
const url = new URL(
|
|
7282
7404
|
`/v1/desktop/sessions/${args.sessionId}/events${suffix}`,
|
|
@@ -26320,7 +26442,7 @@ function isAdmittedSender(event, admitted) {
|
|
|
26320
26442
|
(candidate) => candidate.window !== null && !candidate.window.isDestroyed() && event.sender === candidate.window.webContents && event.senderFrame === candidate.window.webContents.mainFrame && trustedDesktopFrame(event.senderFrame.url, candidate.url)
|
|
26321
26443
|
);
|
|
26322
26444
|
}
|
|
26323
|
-
function registerDesktopIPC(window, expectedUrl, request, streams, media, notifier, noteLeftSession, onKeymapSettingEdited, additionalWindows) {
|
|
26445
|
+
function registerDesktopIPC(window, expectedUrl, request, streams, media, notifier, noteLeftSession, onKeymapSettingEdited, additionalWindows, supplementMounts2) {
|
|
26324
26446
|
const opened = /* @__PURE__ */ new Map();
|
|
26325
26447
|
function authorize(event) {
|
|
26326
26448
|
const admitted = [
|
|
@@ -26346,6 +26468,12 @@ function registerDesktopIPC(window, expectedUrl, request, streams, media, notifi
|
|
|
26346
26468
|
}
|
|
26347
26469
|
return outcome;
|
|
26348
26470
|
});
|
|
26471
|
+
if (supplementMounts2) {
|
|
26472
|
+
electron.ipcMain.handle("desktop-supplement-frame-arm", (event, url) => {
|
|
26473
|
+
authorize(event);
|
|
26474
|
+
return { ok: supplementMounts2.arm(url) };
|
|
26475
|
+
});
|
|
26476
|
+
}
|
|
26349
26477
|
electron.ipcMain.handle("desktop-close-window", (event) => {
|
|
26350
26478
|
authorize(event);
|
|
26351
26479
|
const owner = window();
|
|
@@ -35663,6 +35791,127 @@ function createRelaunchPending(options = {}) {
|
|
|
35663
35791
|
}
|
|
35664
35792
|
};
|
|
35665
35793
|
}
|
|
35794
|
+
const SUPPLEMENT_SCHEME = "lo-supplement";
|
|
35795
|
+
const SUPPLEMENT_HOST = "s";
|
|
35796
|
+
const SESSION_ID_RE = /^[a-f0-9]{12}$/;
|
|
35797
|
+
const DIGEST_RE = /^[a-f0-9]{32}$/;
|
|
35798
|
+
function supplementMountUrl(sessionId2, digest) {
|
|
35799
|
+
return `${SUPPLEMENT_SCHEME}://${SUPPLEMENT_HOST}/${sessionId2}/${digest}`;
|
|
35800
|
+
}
|
|
35801
|
+
function parseSupplementMountUrl(raw) {
|
|
35802
|
+
if (typeof raw !== "string") return null;
|
|
35803
|
+
let url;
|
|
35804
|
+
try {
|
|
35805
|
+
url = new URL(raw);
|
|
35806
|
+
} catch {
|
|
35807
|
+
return null;
|
|
35808
|
+
}
|
|
35809
|
+
if (url.protocol !== `${SUPPLEMENT_SCHEME}:`) return null;
|
|
35810
|
+
if (url.hostname !== SUPPLEMENT_HOST) return null;
|
|
35811
|
+
if (url.username !== "" || url.password !== "") return null;
|
|
35812
|
+
if (url.port !== "") return null;
|
|
35813
|
+
if (url.search !== "" || url.hash !== "") return null;
|
|
35814
|
+
const segments = url.pathname.split("/");
|
|
35815
|
+
if (segments.length !== 3 || segments[0] !== "") return null;
|
|
35816
|
+
const sessionId2 = segments[1];
|
|
35817
|
+
const digest = segments[2];
|
|
35818
|
+
if (!SESSION_ID_RE.test(sessionId2) || !DIGEST_RE.test(digest)) return null;
|
|
35819
|
+
if (raw !== supplementMountUrl(sessionId2, digest)) return null;
|
|
35820
|
+
return { sessionId: sessionId2, digest };
|
|
35821
|
+
}
|
|
35822
|
+
const MAX_MOUNT_URL_CHARS = 512 * 1024;
|
|
35823
|
+
const MAX_ARMED_MOUNTS = 64;
|
|
35824
|
+
function isArmableMountUrl(raw) {
|
|
35825
|
+
if (typeof raw !== "string") return false;
|
|
35826
|
+
if (raw.length > MAX_MOUNT_URL_CHARS) return false;
|
|
35827
|
+
return parseSupplementMountUrl(raw) !== null;
|
|
35828
|
+
}
|
|
35829
|
+
class SupplementFrameMounts {
|
|
35830
|
+
armed = [];
|
|
35831
|
+
/**
|
|
35832
|
+
* Arm one mount URL. Returns whether it was accepted, so the caller (an IPC
|
|
35833
|
+
* handler, where a branch is free) can answer `{ ok: false }` instead of
|
|
35834
|
+
* letting a bad URL disappear into a list nobody inspects.
|
|
35835
|
+
*
|
|
35836
|
+
* IDEMPOTENT for a byte-identical URL that still stands unconsumed: React's
|
|
35837
|
+
* development StrictMode runs every effect setup twice (the first setup is
|
|
35838
|
+
* discarded before it assigns `src`), and a plain push left one unconsumed
|
|
35839
|
+
* permit standing per mount in development (round-1 R4). The double-arm now
|
|
35840
|
+
* collapses onto one permit — which the single real navigation then consumes
|
|
35841
|
+
* — instead of leaking one. This is deliberately the ONLY fix for that path:
|
|
35842
|
+
* a `release` op was rejected because the wire cannot order it against the
|
|
35843
|
+
* live mount's navigation (see the header's path (b) note).
|
|
35844
|
+
*
|
|
35845
|
+
* THE ONLY WRITER, and it is called from the arm channel: the IPC handler
|
|
35846
|
+
* checks the sender is the app's main frame before arming anything.
|
|
35847
|
+
*/
|
|
35848
|
+
arm(raw) {
|
|
35849
|
+
if (!isArmableMountUrl(raw)) return false;
|
|
35850
|
+
if (this.armed.includes(raw)) return true;
|
|
35851
|
+
this.armed.push(raw);
|
|
35852
|
+
while (this.armed.length > MAX_ARMED_MOUNTS) this.armed.shift();
|
|
35853
|
+
return true;
|
|
35854
|
+
}
|
|
35855
|
+
/**
|
|
35856
|
+
* Whether a child-frame navigation may proceed under a permit, consuming
|
|
35857
|
+
* the permit when it does. Byte-for-byte equality — never a prefix, a
|
|
35858
|
+
* fragment match or a scheme test — so the pass is exactly the navigation
|
|
35859
|
+
* the host itself armed.
|
|
35860
|
+
*/
|
|
35861
|
+
consume(url) {
|
|
35862
|
+
const at = this.armed.indexOf(url);
|
|
35863
|
+
if (at < 0) return false;
|
|
35864
|
+
this.armed.splice(at, 1);
|
|
35865
|
+
return true;
|
|
35866
|
+
}
|
|
35867
|
+
/** How many permits stand unconsumed, for the node suite's assertions. */
|
|
35868
|
+
get armedCount() {
|
|
35869
|
+
return this.armed.length;
|
|
35870
|
+
}
|
|
35871
|
+
}
|
|
35872
|
+
const SUPPLEMENT_DOCUMENT_CSP = "default-src 'none'; script-src 'unsafe-inline'; style-src 'unsafe-inline'; img-src data:; font-src data:; connect-src 'none'; frame-src 'none'; form-action 'none'; base-uri 'none'";
|
|
35873
|
+
function registerSupplementScheme() {
|
|
35874
|
+
electron.protocol.registerSchemesAsPrivileged([
|
|
35875
|
+
{
|
|
35876
|
+
scheme: SUPPLEMENT_SCHEME,
|
|
35877
|
+
privileges: {
|
|
35878
|
+
standard: true,
|
|
35879
|
+
secure: false,
|
|
35880
|
+
corsEnabled: false,
|
|
35881
|
+
bypassCSP: false
|
|
35882
|
+
}
|
|
35883
|
+
}
|
|
35884
|
+
]);
|
|
35885
|
+
}
|
|
35886
|
+
function installSupplementProtocol(fetchDocument, log2) {
|
|
35887
|
+
electron.protocol.handle(SUPPLEMENT_SCHEME, async (request) => {
|
|
35888
|
+
const parsed = parseSupplementMountUrl(request.url);
|
|
35889
|
+
if (parsed === null) {
|
|
35890
|
+
return new Response("", { status: 400 });
|
|
35891
|
+
}
|
|
35892
|
+
let document;
|
|
35893
|
+
try {
|
|
35894
|
+
document = await fetchDocument(parsed.sessionId, parsed.digest);
|
|
35895
|
+
} catch {
|
|
35896
|
+
log2(
|
|
35897
|
+
`[supplement-protocol] document relay threw for ${parsed.sessionId}/${parsed.digest.slice(0, 8)}…`
|
|
35898
|
+
);
|
|
35899
|
+
return new Response("", { status: 502 });
|
|
35900
|
+
}
|
|
35901
|
+
if (document.html === null) {
|
|
35902
|
+
return new Response("", { status: 404 });
|
|
35903
|
+
}
|
|
35904
|
+
return new Response(document.html, {
|
|
35905
|
+
status: 200,
|
|
35906
|
+
headers: {
|
|
35907
|
+
"content-type": "text/html; charset=utf-8",
|
|
35908
|
+
"content-security-policy": SUPPLEMENT_DOCUMENT_CSP,
|
|
35909
|
+
"x-content-type-options": "nosniff",
|
|
35910
|
+
"cache-control": "no-store"
|
|
35911
|
+
}
|
|
35912
|
+
});
|
|
35913
|
+
});
|
|
35914
|
+
}
|
|
35666
35915
|
function titlebarOptions(platform, chrome) {
|
|
35667
35916
|
if (platform === "darwin") {
|
|
35668
35917
|
return { titleBarStyle: "hidden" };
|
|
@@ -43591,10 +43840,15 @@ function installNavigationVerdict(contents, decide, log2) {
|
|
|
43591
43840
|
contents.on("will-frame-navigate", onNavigation);
|
|
43592
43841
|
contents.on("will-redirect", onNavigation);
|
|
43593
43842
|
}
|
|
43594
|
-
function guardNavigation(contents, trustedUrls, log2) {
|
|
43843
|
+
function guardNavigation(contents, trustedUrls, log2, supplementMounts2) {
|
|
43595
43844
|
installNavigationVerdict(
|
|
43596
43845
|
contents,
|
|
43597
|
-
(url, isMainFrame) =>
|
|
43846
|
+
(url, isMainFrame) => {
|
|
43847
|
+
if (!isMainFrame && supplementMounts2?.consume(url)) {
|
|
43848
|
+
return { allowed: true };
|
|
43849
|
+
}
|
|
43850
|
+
return frameNavigationVerdict({ url, isMainFrame }, trustedUrls());
|
|
43851
|
+
},
|
|
43598
43852
|
log2
|
|
43599
43853
|
);
|
|
43600
43854
|
}
|
|
@@ -44146,7 +44400,8 @@ function createWindow(initialSession = null, openCatalogue = false, request = ow
|
|
|
44146
44400
|
guardNavigation(
|
|
44147
44401
|
mainWindow2.webContents,
|
|
44148
44402
|
trustedRendererDocuments,
|
|
44149
|
-
(m) => logger.warn(m, LogFileType.BACKEND)
|
|
44403
|
+
(m) => logger.warn(m, LogFileType.BACKEND),
|
|
44404
|
+
supplementMounts
|
|
44150
44405
|
);
|
|
44151
44406
|
guardWindowOpen(
|
|
44152
44407
|
mainWindow2.webContents,
|
|
@@ -44220,6 +44475,8 @@ const telemetryWebPreferences = {
|
|
|
44220
44475
|
additionalArguments: [telemetryArgument(telemetryLaunch.enabled)]
|
|
44221
44476
|
};
|
|
44222
44477
|
let mainWindow = null;
|
|
44478
|
+
const supplementMounts = new SupplementFrameMounts();
|
|
44479
|
+
registerSupplementScheme();
|
|
44223
44480
|
let miniView = null;
|
|
44224
44481
|
let miniViewRegistrar = null;
|
|
44225
44482
|
let quickSendWatcher = null;
|
|
@@ -44696,7 +44953,8 @@ electron.app.whenReady().then(async () => {
|
|
|
44696
44953
|
guardNavigation(
|
|
44697
44954
|
quickSend.window.webContents,
|
|
44698
44955
|
trustedRendererDocuments,
|
|
44699
|
-
(m) => logger.warn(m, LogFileType.BACKEND)
|
|
44956
|
+
(m) => logger.warn(m, LogFileType.BACKEND),
|
|
44957
|
+
supplementMounts
|
|
44700
44958
|
);
|
|
44701
44959
|
guardWindowOpen(
|
|
44702
44960
|
quickSend.window.webContents,
|
|
@@ -44779,6 +45037,20 @@ electron.app.whenReady().then(async () => {
|
|
|
44779
45037
|
reason: `window mode ${windowLaunch.mode} registers no global shortcuts`
|
|
44780
45038
|
};
|
|
44781
45039
|
});
|
|
45040
|
+
installSupplementProtocol(
|
|
45041
|
+
async (sessionId2, digest) => {
|
|
45042
|
+
const response = await backendService.requestDesktopMedia(
|
|
45043
|
+
{ op: "sessions.supplementDocument", sessionId: sessionId2, digest },
|
|
45044
|
+
null
|
|
45045
|
+
);
|
|
45046
|
+
if (response.kind !== "json") return { html: null };
|
|
45047
|
+
const body = response.body;
|
|
45048
|
+
return {
|
|
45049
|
+
html: body && typeof body.html === "string" ? body.html : null
|
|
45050
|
+
};
|
|
45051
|
+
},
|
|
45052
|
+
(m) => logger.warn(m, LogFileType.BACKEND)
|
|
45053
|
+
);
|
|
44782
45054
|
registerDesktopIPC(
|
|
44783
45055
|
() => mainWindow,
|
|
44784
45056
|
rendererUrl,
|
|
@@ -44814,7 +45086,13 @@ electron.app.whenReady().then(async () => {
|
|
|
44814
45086
|
* `before-quit` disposes it, which is the same lifecycle the
|
|
44815
45087
|
* registration follows.
|
|
44816
45088
|
*/
|
|
44817
|
-
() => miniView === null ? [] : [{ window: miniView.window, url: miniViewUrlFor(rendererUrl) }]
|
|
45089
|
+
() => miniView === null ? [] : [{ window: miniView.window, url: miniViewUrlFor(rendererUrl) }],
|
|
45090
|
+
/*
|
|
45091
|
+
* The supplement-frame mount permits (turn-supplements memo §4.1), the
|
|
45092
|
+
* same instance `createWindow` gave the navigation guard: the arm channel
|
|
45093
|
+
* and the guard are two halves of one decision and must share one list.
|
|
45094
|
+
*/
|
|
45095
|
+
supplementMounts
|
|
44818
45096
|
);
|
|
44819
45097
|
if (devDriverArming.armed && devDriverArming.outDir) {
|
|
44820
45098
|
registerDevDriverIPC({
|
package/out/preload/index.js
CHANGED
|
@@ -92,6 +92,8 @@ const settingKey = zod.z.string().min(1).max(256).regex(/^[a-zA-Z0-9_][a-zA-Z0-9
|
|
|
92
92
|
const secret = zod.z.string().min(1).max(32768);
|
|
93
93
|
const sessionIdPattern = /^[a-f0-9]{12}$/;
|
|
94
94
|
const sessionId = zod.z.string().regex(sessionIdPattern);
|
|
95
|
+
const supplementJob = zod.z.string().regex(/^[a-f0-9]{12}$/);
|
|
96
|
+
const supplementAnchor = zod.z.string().min(1).max(128);
|
|
95
97
|
const skillCwd = zod.z.string().min(1).max(4096);
|
|
96
98
|
const mcpServerName = zod.z.string().regex(/^[A-Za-z0-9_.:-]{1,100}$/);
|
|
97
99
|
const mcpSecretReference = zod.z.string().regex(/^\$\{[A-Za-z_][A-Za-z0-9_]*\}$/);
|
|
@@ -988,6 +990,54 @@ const desktopRequestUnion = zod.z.discriminatedUnion("op", [
|
|
|
988
990
|
* uuid is not prose, so this costs the control budget.
|
|
989
991
|
*/
|
|
990
992
|
zod.z.object({ op: zod.z.literal("sessions.interrupt"), sessionId, requestId }).strict(),
|
|
993
|
+
/*
|
|
994
|
+
* The supplement block's OWN control pair (turn-supplements memo §2.7, lane
|
|
995
|
+
* U-b): cancel the running job, steer it with an instruction, or retry a
|
|
996
|
+
* settled one.
|
|
997
|
+
*
|
|
998
|
+
* THE COMPANION CORE ROUTES. These three ops address
|
|
999
|
+
* ``POST /v1/desktop/sessions/{sid}/supplements/{job}/{cancel,steer,restart}``
|
|
1000
|
+
* and map in core to ``AttachedSession.supplement_cancel/steer/restart``
|
|
1001
|
+
* (``session/attached.py``), which already speak the runtime's own op
|
|
1002
|
+
* vocabulary over the control socket — the same rung ``sessions.interrupt``
|
|
1003
|
+
* reaches.
|
|
1004
|
+
*
|
|
1005
|
+
* THOSE ROUTES DO NOT EXIST YET, and that is verified rather than assumed:
|
|
1006
|
+
* the desktop plane on core ``origin/main`` (05e4c971b1) serves only the
|
|
1007
|
+
* document route and the events gate, the released runtime matches (UX round
|
|
1008
|
+
* 1 measured the 404s live), and no other door is reachable from this app —
|
|
1009
|
+
* the runtime control socket is a daemon↔runtime dial main has no path to,
|
|
1010
|
+
* and the relay's command route is cookie-gated for the phone surface. The
|
|
1011
|
+
* core half is a small paired PR (one route per op dispatching
|
|
1012
|
+
* ``bridge.remote.supplement_*``, the ``interrupt`` route's own shape); the
|
|
1013
|
+
* app half ships here so the pair is one core change from working. Until it
|
|
1014
|
+
* lands, a press answers 404 and the row composes THAT refusal through
|
|
1015
|
+
* ``backendLoadErrorMessage`` — the outdated-server sentence, never a raw
|
|
1016
|
+
* ``Not Found`` echoing out of the daemon (round-1 U2).
|
|
1017
|
+
*
|
|
1018
|
+
* ``job`` and ``anchor`` are the contract's own shapes (12 hex job id, the
|
|
1019
|
+
* answer's message id); ``text`` is the memo's ``supplement_steer`` bound
|
|
1020
|
+
* (≤ 500 chars, enforced again server-side).
|
|
1021
|
+
*/
|
|
1022
|
+
zod.z.object({
|
|
1023
|
+
op: zod.z.literal("supplements.cancel"),
|
|
1024
|
+
sessionId,
|
|
1025
|
+
job: supplementJob,
|
|
1026
|
+
anchor: supplementAnchor
|
|
1027
|
+
}).strict(),
|
|
1028
|
+
zod.z.object({
|
|
1029
|
+
op: zod.z.literal("supplements.restart"),
|
|
1030
|
+
sessionId,
|
|
1031
|
+
job: supplementJob,
|
|
1032
|
+
anchor: supplementAnchor
|
|
1033
|
+
}).strict(),
|
|
1034
|
+
zod.z.object({
|
|
1035
|
+
op: zod.z.literal("supplements.steer"),
|
|
1036
|
+
sessionId,
|
|
1037
|
+
job: supplementJob,
|
|
1038
|
+
anchor: supplementAnchor,
|
|
1039
|
+
text: zod.z.string().min(1).max(500)
|
|
1040
|
+
}).strict(),
|
|
991
1041
|
/*
|
|
992
1042
|
* A session's code memory: the names the session's own cells have left in its
|
|
993
1043
|
* eval namespace.
|
|
@@ -2113,6 +2163,26 @@ const desktopRequestUnion = zod.z.discriminatedUnion("op", [
|
|
|
2113
2163
|
*/
|
|
2114
2164
|
keys: zod.z.array(zod.z.string().min(1).max(512)).max(256).optional(),
|
|
2115
2165
|
force: zod.z.boolean().optional()
|
|
2166
|
+
}).strict(),
|
|
2167
|
+
/*
|
|
2168
|
+
* THE PREVIEWS' SIGNED STATIC URLS (file-serving RFC § 4, Phase A adoption).
|
|
2169
|
+
* The renderer cannot read the core's serve record (no filesystem, no record
|
|
2170
|
+
* store), so the previews ask MAIN - which already holds the desktop bearer -
|
|
2171
|
+
* to mint a short-lived signed URL for one static route + path. The route is
|
|
2172
|
+
* public in Phase A; this op is what lets the previews keep working when a
|
|
2173
|
+
* later core phase gates it, and a core that predates the route answers 404,
|
|
2174
|
+
* which the previews read as their fallback signal, not an error.
|
|
2175
|
+
*
|
|
2176
|
+
* `route` is the backend's own signed-string vocabulary (the four static
|
|
2177
|
+
* family ids), held here so a route the signature cannot cover fails at this
|
|
2178
|
+
* boundary. `ttlS` stays within the backend's documented cap (600 default,
|
|
2179
|
+
* 3600 max) - a bound, not a preference.
|
|
2180
|
+
*/
|
|
2181
|
+
zod.z.object({
|
|
2182
|
+
op: zod.z.literal("static.sign"),
|
|
2183
|
+
route: zod.z.enum(["images", "videos", "audio", "html"]),
|
|
2184
|
+
path: zod.z.string().min(1),
|
|
2185
|
+
ttlS: zod.z.number().int().min(1).max(3600).optional()
|
|
2116
2186
|
}).strict()
|
|
2117
2187
|
]);
|
|
2118
2188
|
desktopRequestUnion.superRefine(
|
|
@@ -2446,6 +2516,17 @@ const api = {
|
|
|
2446
2516
|
request: (request) => electron.ipcRenderer.invoke("desktop-request", request),
|
|
2447
2517
|
openAuthorization: (operationId, reopen = false) => electron.ipcRenderer.invoke("desktop-open-authorization", operationId, reopen),
|
|
2448
2518
|
media: (request, bytes) => electron.ipcRenderer.invoke("desktop-media", request, bytes),
|
|
2519
|
+
/**
|
|
2520
|
+
* Arm one supplement-frame mount (turn-supplements memo §4.1): the EXACT
|
|
2521
|
+
* `data:` URL the renderer is about to set as `src`, sent immediately
|
|
2522
|
+
* before the frame mounts. Main's navigation guard consumes the permit for
|
|
2523
|
+
* that one child-frame navigation and denies every later one; the answer's
|
|
2524
|
+
* `ok` is false for a URL main refuses to hold (not a `data:text/html`
|
|
2525
|
+
* mount). Electron only - browser development and Storybook have no
|
|
2526
|
+
* channel, and the mount path must not require one (`armSupplementFrame` is
|
|
2527
|
+
* optional on `DesktopAPI`).
|
|
2528
|
+
*/
|
|
2529
|
+
armSupplementFrame: (url) => electron.ipcRenderer.invoke("desktop-supplement-frame-arm", url),
|
|
2449
2530
|
watchHeartbeat: (args) => electron.ipcRenderer.invoke("desktop-watch-heartbeat", args),
|
|
2450
2531
|
/**
|
|
2451
2532
|
* Tell main this pane has STOPPED displaying `sessionId` (review round 2,
|
|
@@ -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-d7MQLNdZ.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-BiKTnTLM.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-DUwwjyuA.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-BiKTnTLM.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};
|
package/out/renderer/assets/{agent-details-page-Cpmz3DTx.js → agent-details-page-7FSNVw_a.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as E,j as e,c as J}from"./index-
|
|
1
|
+
import{r as E,j as e,c as J}from"./index-B6YcJ0Ho.js";import{l as he,c as xe,u as ge,d as je,g as fe,i as pe,a as ye,b as ve,e as we}from"./use-memberships-query-BR0cFsRZ.js";import{aH as ie,u as K,aN as C,aO as O,ay as Y,aP as Q,aQ as re,aR as oe,aS as be,az as Ce,aT as Ne,aU as ee,ax as Ae,aV as ke,aW as Se}from"./conversation-input-sync-Y14Ako7z.js";import{c as De,L as Te,T as te,B as o,S as I,a as le,b as L,d as M,e as w,X as Ee,f as b,A as se,g as ae,h as ne}from"./error-boundary--zcbe2Cc.js";import{f as H,h as Fe,u as _e,i as Pe,a as qe,b as ze,c as Le,O as Me,H as Ie,A as Ke}from"./use-download-agent-mutation-D4vLY-y4.js";import{S as Oe,a as Qe,A as Ue,b as Be,c as Re}from"./index-D6RCVBdS.js";import"./ui-preferences-store-YV9uOjJv.js";import"./en-US-BcB1DWxG.js";import"./book-open-BrrVexy5.js";import"./console-mirror-DQtUJmwA.js";/**
|
|
2
2
|
* @license lucide-react v0.507.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as l,j as e,c as I}from"./index-
|
|
1
|
+
import{r as l,j as e,c as I}from"./index-B6YcJ0Ho.js";import{aR as qe,aN as pe,aT as _e,aH as be,aI as Ss,u as Cs,aO as Ps,bH as Rs,aP as As,a8 as te,bI as _s,aA as Ue,az as je,aX as He,bJ as ae,bK as Os,bh as Es,a as Is,bL as $s,a$ as Fs,bM as Ls}from"./conversation-input-sync-Y14Ako7z.js";import{P as Ms}from"./page-header-Dd48wU3n.js";import{c as Ve,f as K,B as y,e as f,r as zs,A as G,g as X,h as Z,I as Qe,N as Ds,O as Bs,P as qs,Q as Us,s as Oe,t as Ee,u as Ie,v as $e,w as Fe}from"./error-boundary--zcbe2Cc.js";import{e as Hs,f as Vs,p as Ye,P as We,h as Qs,j as Ys,k as Ke,b as Ws,m as Ks}from"./use-memberships-query-BR0cFsRZ.js";import{h as V,O as Gs,A as Xs,f as Zs,H as Js,a as et,b as st,c as tt,d as Ge,C as at,e as nt,n as it,u as rt,i as lt}from"./use-download-agent-mutation-D4vLY-y4.js";import{c as ct,ar as ot,aq as dt,as as ut,at as mt}from"./index-D6RCVBdS.js";import{R as Xe}from"./radient-auth-buttons-DFvYWrW9.js";import{o as Ze,u as ht,a as xt,b as gt}from"./org-surface-gate-DVc7KY9Q.js";import{f as ft}from"./format-CZUObkkr.js";import"./ui-preferences-store-YV9uOjJv.js";import"./en-US-BcB1DWxG.js";import"./book-open-BrrVexy5.js";import"./console-mirror-DQtUJmwA.js";/**
|
|
2
2
|
* @license lucide-react v0.507.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|