local-operator-ui 0.31.17 → 0.31.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -0
- package/out/main/index.js +230 -10
- package/out/renderer/assets/{_basePickBy-BFVaG15n.js → _basePickBy-BjXXwW6E.js} +1 -1
- package/out/renderer/assets/{_baseUniq-gJCk0rG2.js → _baseUniq-xIg3idQF.js} +1 -1
- package/out/renderer/assets/{agent-details-page-DFrsX5r2.js → agent-details-page-D2QdVqJp.js} +1 -1
- package/out/renderer/assets/{agent-hub-page-RsTVS8Ja.js → agent-hub-page-BitfELv8.js} +2 -2
- package/out/renderer/assets/agents-page-Cl1j7rwO.js +2 -0
- package/out/renderer/assets/aida-control-BqbEHtVs.js +42 -0
- package/out/renderer/assets/{arc-CIknpWp5.js → arc-Ceouzeia.js} +1 -1
- package/out/renderer/assets/architectureDiagram-IEHRJDOE-BGSLJh-o.js +36 -0
- package/out/renderer/assets/{blockDiagram-JOT3LUYC-BmYuuE4d.js → blockDiagram-JOT3LUYC-BmQJgCM-.js} +6 -6
- package/out/renderer/assets/{book-open-DlCeQ__D.js → book-open-tLP18D-k.js} +1 -1
- package/out/renderer/assets/browser-page-ChmnhnuO.js +1 -0
- package/out/renderer/assets/browser-webauthn-prompt-k5jzjWeZ.js +1 -0
- package/out/renderer/assets/{c4Diagram-VJAJSXHY-BFuObwFK.js → c4Diagram-VJAJSXHY-Yk9CQYyQ.js} +1 -1
- package/out/renderer/assets/channel-CoXp_5DQ.js +1 -0
- package/out/renderer/assets/{chunk-4BMEZGHF-CZKl836f.js → chunk-4BMEZGHF-DizR_fDb.js} +1 -1
- package/out/renderer/assets/{chunk-A2AXSNBT-B9wNLZPW.js → chunk-A2AXSNBT-BtTz6zUt.js} +1 -1
- package/out/renderer/assets/{chunk-AEK57VVT-BTkxXUpV.js → chunk-AEK57VVT-D1a4VfuY.js} +1 -1
- package/out/renderer/assets/{chunk-D6G4REZN-DNN6I0j-.js → chunk-D6G4REZN-bed23kTE.js} +1 -1
- package/out/renderer/assets/{chunk-RZ5BOZE2--dr35NK8.js → chunk-RZ5BOZE2-KfGYL-ag.js} +1 -1
- package/out/renderer/assets/{chunk-XZIHB7SX-ugREPL6z.js → chunk-XZIHB7SX-B1igQQgc.js} +1 -1
- package/out/renderer/assets/classDiagram-GIVACNV2-DLxyNS1q.js +1 -0
- package/out/renderer/assets/classDiagram-v2-COTLJTTW-DLxyNS1q.js +1 -0
- package/out/renderer/assets/clone-1ZAhWRhd.js +1 -0
- package/out/renderer/assets/{console-mirror-DxuGXeGm.js → console-mirror-CqlxE8VR.js} +1 -1
- package/out/renderer/assets/{consoleCapture-WxJX_qTe.js → consoleCapture-Bgq6O6hd.js} +1 -1
- package/out/renderer/assets/dagre-OKDRZEBW-BlwfTwwA.js +4 -0
- package/out/renderer/assets/diagram-SSKATNLV-jsDlGkgc.js +43 -0
- package/out/renderer/assets/diagram-VNBRO52H-DP8qnarm.js +24 -0
- package/out/renderer/assets/{erDiagram-Q7BY3M3F-CK_yOr_W.js → erDiagram-Q7BY3M3F-Tc8DPglp.js} +1 -1
- package/out/renderer/assets/{error-boundary-zYOCmQTl.js → error-boundary-X9vF0zez.js} +1 -1
- package/out/renderer/assets/{flowDiagram-4HSFHLVR-vKK0hQ3c.js → flowDiagram-4HSFHLVR-C0iWuz_e.js} +1 -1
- package/out/renderer/assets/{ganttDiagram-APWFNJXF-BtTtHUdt.js → ganttDiagram-APWFNJXF-CXzAhOwO.js} +3 -3
- package/out/renderer/assets/gitGraphDiagram-7IBYFJ6S-c3OKkh69.js +65 -0
- package/out/renderer/assets/{graph-DLVpoZ2t.js → graph-BNpclJqw.js} +1 -1
- package/out/renderer/assets/index-BgDCWTEy.js +7 -0
- package/out/renderer/assets/{index-9kSbYL-A.js → index-BsveCKct.js} +391 -376
- package/out/renderer/assets/index-D4_JjH_R.js +1 -0
- package/out/renderer/assets/index-R0cHU6YS.css +1 -0
- package/out/renderer/assets/infoDiagram-PH2N3AL5-C6rpQuUJ.js +2 -0
- package/out/renderer/assets/{installer-CuqnZBf2.js → installer-Durl4Nt6.js} +1 -1
- package/out/renderer/assets/{journeyDiagram-U35MCT3I-DukH-Gm5.js → journeyDiagram-U35MCT3I-DdWl9wJG.js} +1 -1
- package/out/renderer/assets/{kanban-definition-NDS4AKOZ-z76URjv7.js → kanban-definition-NDS4AKOZ-D6rkiZvG.js} +1 -1
- package/out/renderer/assets/{layout-DXsudZzz.js → layout-BQqWsgv9.js} +1 -1
- package/out/renderer/assets/{legacy-agents-page-9xdh9z0y.js → legacy-agents-page-xSUV6wUg.js} +3 -3
- package/out/renderer/assets/{mermaid.core-BisXdtq8.js → mermaid.core-DLc2GDBk.js} +5 -5
- package/out/renderer/assets/mesh-page-D1Hn61zc.js +2 -0
- package/out/renderer/assets/mindmap-definition-ALO5MXBD-BPp31SFM.js +95 -0
- package/out/renderer/assets/mini-dIYd4lBf.js +1 -0
- package/out/renderer/assets/org-surface-gate-CQZDYvz1.js +1 -0
- package/out/renderer/assets/{page-header-B-3TG7Ed.js → page-header-Ct_E4hXM.js} +1 -1
- package/out/renderer/assets/{pieDiagram-IB7DONF6-Cw8m6eUb.js → pieDiagram-IB7DONF6-InajJAb7.js} +1 -1
- package/out/renderer/assets/projects-page-Cq4-43oz.js +40 -0
- package/out/renderer/assets/{quadrantDiagram-7GDLP6J5-DOXOQdsa.js → quadrantDiagram-7GDLP6J5-DllpcIGZ.js} +1 -1
- package/out/renderer/assets/{radar-MK3ICKWK-CcKir_MA.js → radar-MK3ICKWK-o49sXvJd.js} +1 -1
- package/out/renderer/assets/radient-auth-buttons-DCKuV_IZ.js +1 -0
- package/out/renderer/assets/{requirementDiagram-KVF5MWMF-Dq-MDul5.js → requirementDiagram-KVF5MWMF-DEB_P2Er.js} +1 -1
- package/out/renderer/assets/sankeyDiagram-QLVOVGJD-1sqsEoj5.js +10 -0
- package/out/renderer/assets/{schedules-page-k2yi4LKh.js → schedules-page-D6uKCgBE.js} +1 -1
- package/out/renderer/assets/{sequenceDiagram-X6HHIX6F-BW8wMwAQ.js → sequenceDiagram-X6HHIX6F-DBKLSCMO.js} +1 -1
- package/out/renderer/assets/settings-page-DuO8dHwe.js +297 -0
- package/out/renderer/assets/{settings-section-DTEnr98J.js → settings-section-yg8wX_kN.js} +1 -1
- package/out/renderer/assets/stateDiagram-DGXRK772-CirIxYQ4.js +1 -0
- package/out/renderer/assets/stateDiagram-v2-YXO3MK2T-BektpfMe.js +1 -0
- package/out/renderer/assets/{textarea-DRfVCtHc.js → textarea-CPyoWJfR.js} +2 -2
- package/out/renderer/assets/{timeline-definition-BDJGKUSR-B7RxGk8T.js → timeline-definition-BDJGKUSR-HxrDshvA.js} +1 -1
- package/out/renderer/assets/{ui-preferences-store-Y6swLMAE.js → ui-preferences-store-CyKvDymq.js} +1 -1
- package/out/renderer/assets/{use-download-agent-mutation-BffNJt-E.js → use-download-agent-mutation-CJP2OhpP.js} +2 -2
- package/out/renderer/assets/use-memberships-query-Q96GogTV.js +1 -0
- package/out/renderer/assets/{xychartDiagram-VJFVF3MP-DHcK38Dl.js → xychartDiagram-VJFVF3MP-BXsPMfju.js} +1 -1
- package/out/renderer/console-capture.html +5 -5
- package/out/renderer/index.html +8 -8
- package/out/renderer/installer.html +5 -5
- package/out/renderer/mini.html +6 -6
- package/package.json +2 -2
- package/out/renderer/assets/agents-page-C6V9rtk2.js +0 -2
- package/out/renderer/assets/architectureDiagram-IEHRJDOE-BMMotc_h.js +0 -36
- package/out/renderer/assets/browser-page-BDBoJvY8.js +0 -1
- package/out/renderer/assets/browser-webauthn-prompt-CvutQHI8.js +0 -1
- package/out/renderer/assets/channel-BppvpJLX.js +0 -1
- package/out/renderer/assets/classDiagram-GIVACNV2-BG2N01MY.js +0 -1
- package/out/renderer/assets/classDiagram-v2-COTLJTTW-BG2N01MY.js +0 -1
- package/out/renderer/assets/clone-DjBhwTw6.js +0 -1
- package/out/renderer/assets/dagre-OKDRZEBW-D8LZ8Svf.js +0 -4
- package/out/renderer/assets/diagram-SSKATNLV-D0g-M9XO.js +0 -43
- package/out/renderer/assets/diagram-VNBRO52H-vsLld6BG.js +0 -24
- package/out/renderer/assets/gitGraphDiagram-7IBYFJ6S-YAgfNmRP.js +0 -65
- package/out/renderer/assets/index-6ATVV_hs.js +0 -7
- package/out/renderer/assets/index-DAfI2ih0.css +0 -1
- package/out/renderer/assets/index-DYiBCsga.js +0 -1
- package/out/renderer/assets/infoDiagram-PH2N3AL5-BWQZxLJr.js +0 -2
- package/out/renderer/assets/mesh-page-CAEapbX4.js +0 -2
- package/out/renderer/assets/mindmap-definition-ALO5MXBD-CNYyqj85.js +0 -95
- package/out/renderer/assets/mini-DPUFcBTO.js +0 -1
- package/out/renderer/assets/org-surface-gate-DgwB0Qtt.js +0 -1
- package/out/renderer/assets/projects-page-D2TlKcUC.js +0 -22
- package/out/renderer/assets/radient-auth-buttons-PT3JBz4t.js +0 -1
- package/out/renderer/assets/renderer-platform-DV4X4aCW.js +0 -42
- package/out/renderer/assets/sankeyDiagram-QLVOVGJD-pAkVtAtk.js +0 -10
- package/out/renderer/assets/settings-page-D06D41PG.js +0 -307
- package/out/renderer/assets/stateDiagram-DGXRK772-Cvk9-LLw.js +0 -1
- package/out/renderer/assets/stateDiagram-v2-YXO3MK2T-Cu3aMWlw.js +0 -1
- package/out/renderer/assets/use-memberships-query-B5iErNyL.js +0 -1
- /package/out/renderer/assets/{index-1jk3-3ca.js → index-C17iOszj.js} +0 -0
package/README.md
CHANGED
|
@@ -86,6 +86,30 @@ The Local Operator backend is bundled with the application and is installed auto
|
|
|
86
86
|
|
|
87
87
|
<sub><code>chat</code> — a working agent's tool rows, a blocked risky action, and the question it asked before continuing.</sub>
|
|
88
88
|
|
|
89
|
+
### Subagents
|
|
90
|
+
|
|
91
|
+
| Light | Dark |
|
|
92
|
+
| :---: | :---: |
|
|
93
|
+
| <img src="./resources/readme/subagents-light.webp" alt="Light theme: the run details panel, two subagents running with their elapsed time and cost, a third child queued behind the capacity gate, and the shared to-do list." width="420"> | <img src="./resources/readme/subagents-dark.webp" alt="Dark theme: the same run details panel." width="420"> |
|
|
94
|
+
|
|
95
|
+
<sub><code>subagents</code> — two helpers working one request, each with its own elapsed time, context use and cost, and the next child queued behind the capacity gate.</sub>
|
|
96
|
+
|
|
97
|
+
### Teams
|
|
98
|
+
|
|
99
|
+
| Light | Dark |
|
|
100
|
+
| :---: | :---: |
|
|
101
|
+
| <img src="./resources/readme/teams-light.webp" alt="Light theme: the agents and teams page, with the release-crew roster: its manager agent, members and collaboration instructions." width="420"> | <img src="./resources/readme/teams-dark.webp" alt="Dark theme: the same teams page." width="420"> |
|
|
102
|
+
|
|
103
|
+
<sub><code>teams</code> — agents grouped under a manager, with a roster, collaboration instructions and a project brief.</sub>
|
|
104
|
+
|
|
105
|
+
### Media in a conversation
|
|
106
|
+
|
|
107
|
+
| Light | Dark |
|
|
108
|
+
| :---: | :---: |
|
|
109
|
+
| <img src="./resources/readme/media-in-conversation-light.webp" alt="Light theme: a conversation holding a pasted chart and a bar chart the agent plotted, rendered under the tool row that made it." width="420"> | <img src="./resources/readme/media-in-conversation-dark.webp" alt="Dark theme: the same conversation." width="420"> |
|
|
110
|
+
|
|
111
|
+
<sub><code>media</code> — a chart pasted in by hand and one the agent plotted, both rendered inline in the transcript.</sub>
|
|
112
|
+
|
|
89
113
|
### Agent hub
|
|
90
114
|
|
|
91
115
|
| Light | Dark |
|
|
@@ -231,6 +255,11 @@ If you encounter issues not covered here, please:
|
|
|
231
255
|
1. Check the [GitHub Issues](https://github.com/damianvtran/local-operator-ui/issues) for similar problems
|
|
232
256
|
2. Open a new issue if your problem hasn't been reported
|
|
233
257
|
|
|
258
|
+
## Credits
|
|
259
|
+
|
|
260
|
+
Some general style and interaction UX here is inspired by [deepseek-harness](https://github.com/deepseek-ai/deepseek-harness) (`dsh`) - including the conversation measure's draggable width controls, whose geometry, hover cue and persistence shape were read from
|
|
261
|
+
its `ConversationWidthControls` and adopted with this app's own bounds.
|
|
262
|
+
|
|
234
263
|
## License
|
|
235
264
|
|
|
236
265
|
This project is licensed under the MIT License — see the [LICENSE](LICENSE) file for details. It is open source because AI tools should be accessible to everyone, and your contributions and feedback help make that real.
|
package/out/main/index.js
CHANGED
|
@@ -77,6 +77,10 @@ const sessionImage = zod.z.object({
|
|
|
77
77
|
const DESKTOP_MESSAGE_MAX_CHARS = 2e5;
|
|
78
78
|
const SESSION_SEARCH_MAX_CHARS = 256;
|
|
79
79
|
const SESSION_SEARCH_DEFAULT_LIMIT = 100;
|
|
80
|
+
const CHECKPOINT_WARM_MAX_IDS = 16;
|
|
81
|
+
const THREAD_FIND_MAX_CHARS = 256;
|
|
82
|
+
const THREAD_FIND_DEFAULT_LIMIT = 100;
|
|
83
|
+
const THREAD_FIND_MAX_LIMIT = 200;
|
|
80
84
|
const DESKTOP_SYSTEM_PROMPT_MAX_CHARS = 1e6;
|
|
81
85
|
const profileName = zod.z.string().min(1).max(128).refine(
|
|
82
86
|
(name) => name !== "." && name !== ".." && !name.includes("/") && !name.includes("\\") && [...name].every(
|
|
@@ -526,6 +530,64 @@ const desktopRequestUnion = zod.z.discriminatedUnion("op", [
|
|
|
526
530
|
beforeId: id$1.optional(),
|
|
527
531
|
limit: zod.z.number().int().min(1).max(500).optional()
|
|
528
532
|
}).strict(),
|
|
533
|
+
/*
|
|
534
|
+
* The transcript checkpoint rail's manifest (design D1/D9): every material
|
|
535
|
+
* checkpoint of one LOCAL conversation — the reader's own messages and each
|
|
536
|
+
* completed turn — with the seq-proportional ordinal the rail places a tick
|
|
537
|
+
* by, and a completion's optional generated name.
|
|
538
|
+
*
|
|
539
|
+
* The answer is deliberately cheap and never blocks on a scan: a cold or
|
|
540
|
+
* stale index answers `state: "building"` while a refresh runs in the
|
|
541
|
+
* background (the backend measures 22 s for this machine's 272 MB journal),
|
|
542
|
+
* so the rail's first paint is immediate and the hook polls while anything
|
|
543
|
+
* it asked for is still pending. A remote/peer conversation answers
|
|
544
|
+
* `state: "unsupported"` — a fact about where the bytes are, not a failure
|
|
545
|
+
* — and the rail hides, the same degradation as an empty manifest.
|
|
546
|
+
*/
|
|
547
|
+
zod.z.object({ op: zod.z.literal("sessions.checkpoints"), sessionId }).strict(),
|
|
548
|
+
/*
|
|
549
|
+
* Buy names for checkpoints (design D2/D9): idempotent, bounded, and never
|
|
550
|
+
* blocking on the model call itself — the backend schedules one
|
|
551
|
+
* `complete_once` per turn (15 s budget, single attempt, a 10-minute
|
|
552
|
+
* cooldown after a failure) and answers accepted/pending immediately.
|
|
553
|
+
*
|
|
554
|
+
* `ids` is the hover gesture's arm (a bounded set of explicit checkpoint
|
|
555
|
+
* ids); omitting it is the rail-open arm, where the backend selects the
|
|
556
|
+
* most recent checkpoints missing names under its own default. Both fields
|
|
557
|
+
* are optional, and an older backend that predates the op answers the same
|
|
558
|
+
* 404/422 a missing route always does — the hook treats any failure as "no
|
|
559
|
+
* rail here", never as a user-facing error.
|
|
560
|
+
*/
|
|
561
|
+
zod.z.object({
|
|
562
|
+
op: zod.z.literal("sessions.checkpoints.warm"),
|
|
563
|
+
sessionId,
|
|
564
|
+
ids: zod.z.array(id$1).max(CHECKPOINT_WARM_MAX_IDS).optional(),
|
|
565
|
+
limit: zod.z.number().int().min(1).max(CHECKPOINT_WARM_MAX_IDS).optional()
|
|
566
|
+
}).strict(),
|
|
567
|
+
/*
|
|
568
|
+
* In-thread find (D9): messages of ONE conversation matching `q`, best
|
|
569
|
+
* first, served from the per-session transcript index.
|
|
570
|
+
*
|
|
571
|
+
* A READ like `history` and `checkpoints` beside it. The answer's `state` is
|
|
572
|
+
* the checkpoint manifest's own ladder: a cold or stale index answers
|
|
573
|
+
* `building` inside the first-paint budget (with hits ranked from the
|
|
574
|
+
* previous scan marked `partial`) while the background refresh runs, so the
|
|
575
|
+
* overlay's first paint is immediate; `unsupported` is a peer conversation
|
|
576
|
+
* whose journal is not on this device; `error` is a failed refresh inside
|
|
577
|
+
* its cooldown. The overlay renders both tiers (`exact`/`soft`) and treats
|
|
578
|
+
* `ranges` as snippet-relative — empty on a soft hit, which has no literal
|
|
579
|
+
* occurrence of the query by construction.
|
|
580
|
+
*/
|
|
581
|
+
zod.z.object({
|
|
582
|
+
op: zod.z.literal("sessions.find"),
|
|
583
|
+
sessionId,
|
|
584
|
+
// `.min(1)`: an empty query is not a search. The overlay's client never
|
|
585
|
+
// sends one — it answers an empty query locally, without a request — so
|
|
586
|
+
// refusing it by name keeps the vocabulary closed rather than paying a
|
|
587
|
+
// round trip for an answer the box already knows.
|
|
588
|
+
q: zod.z.string().min(1).max(THREAD_FIND_MAX_CHARS),
|
|
589
|
+
limit: zod.z.number().int().min(1).max(THREAD_FIND_MAX_LIMIT).optional()
|
|
590
|
+
}).strict(),
|
|
529
591
|
/*
|
|
530
592
|
* One child's durable transcript, for the run panel's reader
|
|
531
593
|
* (`docs/run-sidebar.md` § 10.1, § 10.3).
|
|
@@ -553,7 +615,19 @@ const desktopRequestUnion = zod.z.discriminatedUnion("op", [
|
|
|
553
615
|
requestId,
|
|
554
616
|
text: zod.z.string().max(DESKTOP_MESSAGE_MAX_CHARS),
|
|
555
617
|
images: zod.z.array(sessionImage).max(8).optional(),
|
|
556
|
-
mode: zod.z.enum(["prompt", "steer"]).optional()
|
|
618
|
+
mode: zod.z.enum(["prompt", "steer"]).optional(),
|
|
619
|
+
/*
|
|
620
|
+
* HOW THE MESSAGE WAS PRODUCED (arch §4.2), and the harness gate is what
|
|
621
|
+
* keeps this `optional`: `features.input_mode`. Absent means a legacy
|
|
622
|
+
* body (and is what every older build sends), so an older harness's own
|
|
623
|
+
* `.strict()` schema never sees the key at all.
|
|
624
|
+
*
|
|
625
|
+
* `inputPath` is RESERVED (§4.2a): the route cascade owns its
|
|
626
|
+
* vocabulary and no caller sets it yet; it is accepted here - bounded -
|
|
627
|
+
* so the first caller that does does not also need a contract change.
|
|
628
|
+
*/
|
|
629
|
+
inputMode: zod.z.enum(["typed", "dictated", "mixed"]).optional(),
|
|
630
|
+
inputPath: zod.z.string().max(1024).optional()
|
|
557
631
|
}).strict(),
|
|
558
632
|
zod.z.object({
|
|
559
633
|
op: zod.z.literal("sessions.command"),
|
|
@@ -1745,7 +1819,9 @@ const READ_ONLY_OPS = /* @__PURE__ */ new Set([
|
|
|
1745
1819
|
"profiles.list",
|
|
1746
1820
|
"providers.list",
|
|
1747
1821
|
"sessions.aside.get",
|
|
1822
|
+
"sessions.checkpoints",
|
|
1748
1823
|
"sessions.failovers",
|
|
1824
|
+
"sessions.find",
|
|
1749
1825
|
"sessions.get",
|
|
1750
1826
|
"sessions.history",
|
|
1751
1827
|
"sessions.list",
|
|
@@ -2018,6 +2094,36 @@ function desktopEndpoint(request) {
|
|
|
2018
2094
|
method: "GET"
|
|
2019
2095
|
};
|
|
2020
2096
|
}
|
|
2097
|
+
case "sessions.checkpoints":
|
|
2098
|
+
return {
|
|
2099
|
+
path: `/v1/desktop/sessions/${request.sessionId}/checkpoints`,
|
|
2100
|
+
method: "GET"
|
|
2101
|
+
};
|
|
2102
|
+
case "sessions.checkpoints.warm":
|
|
2103
|
+
return {
|
|
2104
|
+
path: `/v1/desktop/sessions/${request.sessionId}/checkpoints/warm`,
|
|
2105
|
+
method: "POST",
|
|
2106
|
+
/*
|
|
2107
|
+
* Omitted, not zeroed: an absent `ids` IS the rail-open arm (the backend
|
|
2108
|
+
* selects its own default), and an absent `limit` leaves that selection
|
|
2109
|
+
* its own number — sending 8 here would be a second copy of the
|
|
2110
|
+
* backend's `DEFAULT_WARM_LIMIT` that could drift from it.
|
|
2111
|
+
*/
|
|
2112
|
+
body: {
|
|
2113
|
+
...request.ids ? { ids: request.ids } : {},
|
|
2114
|
+
...request.limit !== void 0 ? { limit: request.limit } : {}
|
|
2115
|
+
}
|
|
2116
|
+
};
|
|
2117
|
+
case "sessions.find": {
|
|
2118
|
+
const query = new URLSearchParams({
|
|
2119
|
+
q: request.q,
|
|
2120
|
+
limit: String(request.limit ?? THREAD_FIND_DEFAULT_LIMIT)
|
|
2121
|
+
});
|
|
2122
|
+
return {
|
|
2123
|
+
path: `/v1/desktop/sessions/${request.sessionId}/find?${query}`,
|
|
2124
|
+
method: "GET"
|
|
2125
|
+
};
|
|
2126
|
+
}
|
|
2021
2127
|
case "subagents.transcript": {
|
|
2022
2128
|
const query = new URLSearchParams({
|
|
2023
2129
|
limit: String(request.limit ?? 100)
|
|
@@ -2036,7 +2142,18 @@ function desktopEndpoint(request) {
|
|
|
2036
2142
|
request_id: request.requestId,
|
|
2037
2143
|
text: request.text,
|
|
2038
2144
|
images: request.images ?? [],
|
|
2039
|
-
mode: request.mode ?? "prompt"
|
|
2145
|
+
mode: request.mode ?? "prompt",
|
|
2146
|
+
/*
|
|
2147
|
+
* ABSENT, not empty, when the app has nothing to say: an older harness
|
|
2148
|
+
* validates this body with `extra="forbid"`, so a key present-but-null
|
|
2149
|
+
* would be refused where a missing one is simply a legacy body. That is
|
|
2150
|
+
* why these are conditional spreads rather than `?? undefined` values
|
|
2151
|
+
* (which `JSON.stringify` would drop anyway - stated so a reader does
|
|
2152
|
+
* not "simplify" them into a shape whose behaviour depends on the
|
|
2153
|
+
* serializer).
|
|
2154
|
+
*/
|
|
2155
|
+
...request.inputMode ? { input_mode: request.inputMode } : {},
|
|
2156
|
+
...request.inputPath ? { input_path: request.inputPath } : {}
|
|
2040
2157
|
}
|
|
2041
2158
|
};
|
|
2042
2159
|
case "sessions.command":
|
|
@@ -2748,7 +2865,7 @@ function isMiniViewDismissReason(value) {
|
|
|
2748
2865
|
}
|
|
2749
2866
|
const MINI_VIEW_WIDTH = 640;
|
|
2750
2867
|
const MINI_VIEW_HEIGHT = 168;
|
|
2751
|
-
const DEFAULT_QUICK_SEND_VALUE = "primary+alt+space";
|
|
2868
|
+
const DEFAULT_QUICK_SEND_VALUE = "primary+alt+shift+space";
|
|
2752
2869
|
const FUNCTION_KEY_TOKEN = /^f([1-9]|1[0-9]|2[0-4])$/;
|
|
2753
2870
|
function isFunctionKeyToken(token) {
|
|
2754
2871
|
return FUNCTION_KEY_TOKEN.test(token);
|
|
@@ -11663,6 +11780,11 @@ const REFUSABLE_DELIVERY = {
|
|
|
11663
11780
|
// THE ONE REFUSAL. The residual above says what it rests on and what it cannot
|
|
11664
11781
|
// see.
|
|
11665
11782
|
"second-instance": "when-its-plan-is-silent",
|
|
11783
|
+
// A Dock click carries no conversation and installs nothing: it only ever
|
|
11784
|
+
// opens this process's own window, so there is no delivery here to refuse or
|
|
11785
|
+
// to park. (The refusal a QUITTING process answers it with is not this gate's;
|
|
11786
|
+
// it has a line of its own, `applied=skipped+quitting`.)
|
|
11787
|
+
activate: "never",
|
|
11666
11788
|
// A person clicked a real banner, so refusing it and applying it must not
|
|
11667
11789
|
// differ — and with a window up it does not even reach this gate.
|
|
11668
11790
|
"banner-click": "never",
|
|
@@ -11731,6 +11853,17 @@ function reportParksAtQuit(sessions, report) {
|
|
|
11731
11853
|
].join(" ")
|
|
11732
11854
|
);
|
|
11733
11855
|
}
|
|
11856
|
+
function reportSkippedWhileQuitting(context, requested) {
|
|
11857
|
+
context.report?.(
|
|
11858
|
+
[
|
|
11859
|
+
`trigger=${context.trigger}`,
|
|
11860
|
+
`mode=${MODE_OF_SHOW[requested]}`,
|
|
11861
|
+
`requested=${requested}`,
|
|
11862
|
+
...requesterFields(context),
|
|
11863
|
+
"applied=skipped+quitting"
|
|
11864
|
+
].join(" ")
|
|
11865
|
+
);
|
|
11866
|
+
}
|
|
11734
11867
|
function raiseWindow(window, show, context) {
|
|
11735
11868
|
if (show === "never") return;
|
|
11736
11869
|
const applied = [];
|
|
@@ -11769,6 +11902,17 @@ function readSecondLaunchRequest(input) {
|
|
|
11769
11902
|
};
|
|
11770
11903
|
}
|
|
11771
11904
|
function applySecondLaunch(request, target2) {
|
|
11905
|
+
if (target2.quitting) {
|
|
11906
|
+
reportSkippedWhileQuitting(
|
|
11907
|
+
{
|
|
11908
|
+
trigger: "second-instance",
|
|
11909
|
+
requester: request.requester ?? void 0,
|
|
11910
|
+
report: target2.report
|
|
11911
|
+
},
|
|
11912
|
+
request.show
|
|
11913
|
+
);
|
|
11914
|
+
return;
|
|
11915
|
+
}
|
|
11772
11916
|
if (request.session !== null) {
|
|
11773
11917
|
if (target2.openConversation) {
|
|
11774
11918
|
target2.openConversation(request.session, request);
|
|
@@ -12013,6 +12157,23 @@ class BackendInstaller {
|
|
|
12013
12157
|
* and never resolves at all.
|
|
12014
12158
|
*/
|
|
12015
12159
|
settleUserDecision = null;
|
|
12160
|
+
/**
|
|
12161
|
+
* What to tell the app when THIS window's question cancels a running quit.
|
|
12162
|
+
*
|
|
12163
|
+
* WHY THE INSTALLER CARRIES IT AND `index.ts` OWNS IT (round-1 review,
|
|
12164
|
+
* F-1). The declined "Quit without setup?" - `cancelId: 0`, the default -
|
|
12165
|
+
* lets a quit abort and leaves the process serving, which means any quit
|
|
12166
|
+
* that was in flight is now CANCELLED and the app must stop claiming
|
|
12167
|
+
* otherwise: without a release, `index.ts`'s quit state stays set and every
|
|
12168
|
+
* later second launch and Dock click is refused for the process's life
|
|
12169
|
+
* although the app is running normally. The dialog is the ONE cancellation
|
|
12170
|
+
* a running quit has (see `../quit-state` for the sweep); this module never
|
|
12171
|
+
* reaches for the app's state itself, so the installer stays drivable in a
|
|
12172
|
+
* test and the single release site stays greppable. Optional because the
|
|
12173
|
+
* harness constructs installers with no app around them, and a release that
|
|
12174
|
+
* fires where no quit exists clears an already-false state.
|
|
12175
|
+
*/
|
|
12176
|
+
onQuitCancelled;
|
|
12016
12177
|
/*
|
|
12017
12178
|
* The last phase announced to the setup window, and whether a failure is
|
|
12018
12179
|
* currently on screen with nobody's answer yet.
|
|
@@ -12124,8 +12285,14 @@ ${error instanceof Error ? error.message : String(error ?? "")}`;
|
|
|
12124
12285
|
}
|
|
12125
12286
|
/**
|
|
12126
12287
|
* Constructor
|
|
12288
|
+
*
|
|
12289
|
+
* `options.onQuitCancelled` is `index.ts`'s one release for the app's quit
|
|
12290
|
+
* state (see the field's own note); it is handed in rather than imported so
|
|
12291
|
+
* this module never depends on the app's lifecycle and its test can drive
|
|
12292
|
+
* the declined answer with a spy.
|
|
12127
12293
|
*/
|
|
12128
|
-
constructor() {
|
|
12294
|
+
constructor(options = {}) {
|
|
12295
|
+
this.onQuitCancelled = options.onQuitCancelled;
|
|
12129
12296
|
this.venvPath = managedVenvPath({
|
|
12130
12297
|
platform: process.platform,
|
|
12131
12298
|
home: electron.app.getPath("home"),
|
|
@@ -12772,6 +12939,7 @@ ${result.stdout}`,
|
|
|
12772
12939
|
"Setup quit declined from the setup window",
|
|
12773
12940
|
LogFileType.INSTALLER
|
|
12774
12941
|
);
|
|
12942
|
+
this.onQuitCancelled?.();
|
|
12775
12943
|
return;
|
|
12776
12944
|
}
|
|
12777
12945
|
this.attemptCancelled = inFlight;
|
|
@@ -32433,8 +32601,8 @@ function createMiniView(options) {
|
|
|
32433
32601
|
backgroundThrottling: false,
|
|
32434
32602
|
/*
|
|
32435
32603
|
* The argv the preload reads SYNCHRONOUSLY, and both entries are
|
|
32436
|
-
* deliberate: the chrome facts because the keycap's spelling (
|
|
32437
|
-
* against Ctrl+Alt) is a first-frame fact with no IPC round trip to
|
|
32604
|
+
* deliberate: the chrome facts because the keycap's spelling (⌘⌥⇧
|
|
32605
|
+
* against Ctrl+Alt+Shift) is a first-frame fact with no IPC round trip to
|
|
32438
32606
|
* wait for — the main window composes the same entry through
|
|
32439
32607
|
* `windowChromeArgumentFor` — and an EXPLICIT telemetry `off` because
|
|
32440
32608
|
* this window mounts no telemetry surface at all (§D.1), and the
|
|
@@ -32534,6 +32702,18 @@ function rememberPickedDirectory(kind, filePaths, directoryPicked = false) {
|
|
|
32534
32702
|
if (!first) return;
|
|
32535
32703
|
lastPickedDirectory.set(kind, directoryPicked ? first : path$1.dirname(first));
|
|
32536
32704
|
}
|
|
32705
|
+
function createQuitState() {
|
|
32706
|
+
let quitting = false;
|
|
32707
|
+
return {
|
|
32708
|
+
begin: () => {
|
|
32709
|
+
quitting = true;
|
|
32710
|
+
},
|
|
32711
|
+
cancel: () => {
|
|
32712
|
+
quitting = false;
|
|
32713
|
+
},
|
|
32714
|
+
isQuitting: () => quitting
|
|
32715
|
+
};
|
|
32716
|
+
}
|
|
32537
32717
|
function titlebarOptions(platform, chrome) {
|
|
32538
32718
|
if (platform === "darwin") {
|
|
32539
32719
|
return { titleBarStyle: "hidden" };
|
|
@@ -40087,7 +40267,12 @@ const userShellPath = createUserShellPath({
|
|
|
40087
40267
|
log: (message) => logger.info(message, LogFileType.BACKEND)
|
|
40088
40268
|
});
|
|
40089
40269
|
const backendService = new BackendServiceManager({ userShellPath });
|
|
40090
|
-
const
|
|
40270
|
+
const quitState = createQuitState();
|
|
40271
|
+
const backendInstaller = new BackendInstaller({
|
|
40272
|
+
// The installer's one route back from a cancelled quit: the declined dialog
|
|
40273
|
+
// answer (`./quit-state` owns why there is exactly one such site).
|
|
40274
|
+
onQuitCancelled: () => quitState.cancel()
|
|
40275
|
+
});
|
|
40091
40276
|
const reportBackendFailure = (message, fileType) => {
|
|
40092
40277
|
if (backendService.isShuttingDown()) {
|
|
40093
40278
|
logger.error(
|
|
@@ -40301,6 +40486,16 @@ if (!gotTheLock) {
|
|
|
40301
40486
|
}),
|
|
40302
40487
|
{
|
|
40303
40488
|
window: mainWindow,
|
|
40489
|
+
/*
|
|
40490
|
+
* Read PER REQUEST rather than captured once: this handler outlives every
|
|
40491
|
+
* window, and the state is LIVE — set at each quit's first `before-quit`
|
|
40492
|
+
* entry, released when the setup dialog declines to stop a run — so a
|
|
40493
|
+
* request that arrives during a quit is refused instead of answered with
|
|
40494
|
+
* a window the shutdown would take down, and a request after a CANCELLED
|
|
40495
|
+
* quit is answered normally (`./quit-state` owns the transitions;
|
|
40496
|
+
* `window-raise.ts` owns the refusal and its line).
|
|
40497
|
+
*/
|
|
40498
|
+
quitting: quitState.isQuitting(),
|
|
40304
40499
|
openConversation: openConversationInWindow ? (session, request) => openConversationInWindow?.(
|
|
40305
40500
|
session,
|
|
40306
40501
|
secondInstanceRequest(request)
|
|
@@ -40480,7 +40675,10 @@ electron.app.whenReady().then(async () => {
|
|
|
40480
40675
|
});
|
|
40481
40676
|
return "raised the window";
|
|
40482
40677
|
}
|
|
40483
|
-
setupMainWindowWithUpdateService(
|
|
40678
|
+
setupMainWindowWithUpdateService(null, false, {
|
|
40679
|
+
show: windowLaunch.show,
|
|
40680
|
+
trigger: "viewer-focus"
|
|
40681
|
+
});
|
|
40484
40682
|
return "opened a window";
|
|
40485
40683
|
}
|
|
40486
40684
|
},
|
|
@@ -40530,7 +40728,7 @@ electron.app.whenReady().then(async () => {
|
|
|
40530
40728
|
* this feature's slice for a value that is a launch fact (argv, the
|
|
40531
40729
|
* launch env, the persisted file) and cannot differ between the two
|
|
40532
40730
|
* calls. The mini view's visible consumer of it is the platform
|
|
40533
|
-
* half: the header's keycap spells
|
|
40731
|
+
* half: the header's keycap spells ⌘⌥⇧Space against Ctrl+Alt+Shift+Space
|
|
40534
40732
|
* from exactly this entry.
|
|
40535
40733
|
*/
|
|
40536
40734
|
chromeMode: resolveLaunchWindowChrome({
|
|
@@ -41072,6 +41270,10 @@ electron.app.whenReady().then(async () => {
|
|
|
41072
41270
|
});
|
|
41073
41271
|
}
|
|
41074
41272
|
function setupMainWindowWithUpdateService(initialSession = null, openCatalogue = false, request = ownLaunchRequest()) {
|
|
41273
|
+
if (quitState.isQuitting()) {
|
|
41274
|
+
reportSkippedWhileQuitting(request, request.show);
|
|
41275
|
+
return;
|
|
41276
|
+
}
|
|
41075
41277
|
const parked = initialSession === null && !openCatalogue ? parkedLaunches[0] : void 0;
|
|
41076
41278
|
mainWindow = createWindow(
|
|
41077
41279
|
parked?.session ?? initialSession,
|
|
@@ -41235,6 +41437,10 @@ electron.app.whenReady().then(async () => {
|
|
|
41235
41437
|
});
|
|
41236
41438
|
return;
|
|
41237
41439
|
}
|
|
41440
|
+
if (quitState.isQuitting()) {
|
|
41441
|
+
reportSkippedWhileQuitting(request, request.show);
|
|
41442
|
+
return;
|
|
41443
|
+
}
|
|
41238
41444
|
if (!canCreateWindowFor(request.show)) {
|
|
41239
41445
|
if (sessionId2 !== null) parkLaunch(sessionId2, request);
|
|
41240
41446
|
return;
|
|
@@ -41249,9 +41455,22 @@ electron.app.whenReady().then(async () => {
|
|
|
41249
41455
|
setupMainWindowWithUpdateService(launchSession, launchCatalogue);
|
|
41250
41456
|
electron.app.on("activate", () => {
|
|
41251
41457
|
if (electron.BrowserWindow.getAllWindows().length === 0) {
|
|
41458
|
+
if (quitState.isQuitting()) {
|
|
41459
|
+
reportSkippedWhileQuitting(
|
|
41460
|
+
{ trigger: "activate", report: reportRaise },
|
|
41461
|
+
OPERATOR_SHOW
|
|
41462
|
+
);
|
|
41463
|
+
return;
|
|
41464
|
+
}
|
|
41252
41465
|
setupMainWindowWithUpdateService(null, false, {
|
|
41253
41466
|
show: OPERATOR_SHOW,
|
|
41254
|
-
|
|
41467
|
+
/*
|
|
41468
|
+
* The request names itself on its raise line. It used to present as
|
|
41469
|
+
* `initial-present` — this process's own launch — which is what a Dock
|
|
41470
|
+
* click is not, and the log's whole job is attribution; the refusal
|
|
41471
|
+
* above is the same request and must carry the same name.
|
|
41472
|
+
*/
|
|
41473
|
+
trigger: "activate"
|
|
41255
41474
|
});
|
|
41256
41475
|
}
|
|
41257
41476
|
});
|
|
@@ -41331,6 +41550,7 @@ const holdQuitForSessionCookieSnapshot = createSessionCookieQuitHold({
|
|
|
41331
41550
|
log: (message) => logger.warn(message, LogFileType.BACKEND)
|
|
41332
41551
|
});
|
|
41333
41552
|
electron.app.on("before-quit", async (event) => {
|
|
41553
|
+
quitState.begin();
|
|
41334
41554
|
if (await holdQuitForSessionCookieSnapshot(event)) return;
|
|
41335
41555
|
logger.info("App is about to quit", LogFileType.BACKEND);
|
|
41336
41556
|
if (parkedLaunches.length > 0) {
|
|
@@ -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-xIg3idQF.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-DLc2GDBk.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-BisXdtq8.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-DLc2GDBk.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-DFrsX5r2.js → agent-details-page-D2QdVqJp.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as F,j as e,c as G}from"./index-
|
|
1
|
+
import{r as F,j as e,c as G}from"./index-C17iOszj.js";import{l as ue,c as he,u as xe,d as ge,g as je,i as fe,a as pe,b as ye,e as ve}from"./use-memberships-query-Q96GogTV.js";import{b as ne,a as I,y as we}from"./aida-control-BqbEHtVs.js";import{a9 as b,aa as K,a4 as Y,ab as B,ac as be,ad as Ce,ae as ie,e as re,a as Ne,af as Ae,B as ke,ag as Se,ah as De,ai as J,a3 as Ee,aj as Fe,ak as Te}from"./index-BsveCKct.js";import{c as _e,L as Pe,a as ee,B as l,S as z,b as oe,d as L,e as M,f as v,X as qe,g as w,A as te,h as se,i as ae}from"./textarea-CPyoWJfR.js";import{f as W,u as Le,i as Me,a as ze,b as Ie,c as Ke,O as Be,H as Oe,A as Qe}from"./use-download-agent-mutation-CJP2OhpP.js";import"./ui-preferences-store-CyKvDymq.js";import"./error-boundary-X9vF0zez.js";import"./console-mirror-CqlxE8VR.js";import"./en-US-BkS8Ixxl.js";import"./book-open-tLP18D-k.js";/**
|
|
2
2
|
* @license lucide-react v0.507.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|