agent-comms 3.20.0 → 3.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/README.md +1 -1
- package/dist/bridges/cc-peer/front-runtime.d.ts.map +1 -1
- package/dist/bridges/cc-peer/front-runtime.js +2 -1
- package/dist/bridges/cc-peer/front-runtime.js.map +1 -1
- package/dist/bridges/cc-peer/run.d.ts.map +1 -1
- package/dist/bridges/cc-peer/run.js +2 -1
- package/dist/bridges/cc-peer/run.js.map +1 -1
- package/dist/bridges/user/web/actions.d.ts +59 -0
- package/dist/bridges/user/web/actions.d.ts.map +1 -0
- package/dist/bridges/user/web/actions.js +109 -0
- package/dist/bridges/user/web/actions.js.map +1 -0
- package/dist/bridges/user/web/contract.d.ts +1796 -0
- package/dist/bridges/user/web/contract.d.ts.map +1 -0
- package/dist/bridges/user/web/contract.js +120 -0
- package/dist/bridges/user/web/contract.js.map +1 -0
- package/dist/bridges/user/web/dist/bundle.js +1 -1
- package/dist/bridges/user/web/dist/sw.js +1 -1
- package/dist/bridges/user/web/event-publisher.d.ts +30 -0
- package/dist/bridges/user/web/event-publisher.d.ts.map +1 -0
- package/dist/bridges/user/web/event-publisher.js +84 -0
- package/dist/bridges/user/web/event-publisher.js.map +1 -0
- package/dist/bridges/user/web/frontend/components/App.d.ts.map +1 -1
- package/dist/bridges/user/web/frontend/components/App.js +1 -1
- package/dist/bridges/user/web/frontend/components/App.js.map +1 -1
- package/dist/bridges/user/web/frontend/components/ChatArea.d.ts +3 -2
- package/dist/bridges/user/web/frontend/components/ChatArea.d.ts.map +1 -1
- package/dist/bridges/user/web/frontend/components/ChatArea.js +6 -2
- package/dist/bridges/user/web/frontend/components/ChatArea.js.map +1 -1
- package/dist/bridges/user/web/frontend/main.js +5 -2
- package/dist/bridges/user/web/frontend/main.js.map +1 -1
- package/dist/bridges/user/web/router.d.ts +696 -0
- package/dist/bridges/user/web/router.d.ts.map +1 -0
- package/dist/bridges/user/web/router.js +50 -0
- package/dist/bridges/user/web/router.js.map +1 -0
- package/dist/bridges/user/web/server.d.ts +2 -0
- package/dist/bridges/user/web/server.d.ts.map +1 -1
- package/dist/bridges/user/web/server.js +94 -114
- package/dist/bridges/user/web/server.js.map +1 -1
- package/dist/bridges/user/web/test/contract.unit.test.d.ts +2 -0
- package/dist/bridges/user/web/test/contract.unit.test.d.ts.map +1 -0
- package/dist/bridges/user/web/test/contract.unit.test.js +56 -0
- package/dist/bridges/user/web/test/contract.unit.test.js.map +1 -0
- package/dist/bridges/user/web/test/orpc-router.integration.test.d.ts +7 -0
- package/dist/bridges/user/web/test/orpc-router.integration.test.d.ts.map +1 -0
- package/dist/bridges/user/web/test/orpc-router.integration.test.js +214 -0
- package/dist/bridges/user/web/test/orpc-router.integration.test.js.map +1 -0
- package/dist/core/bridge-mesh.d.ts +2 -0
- package/dist/core/bridge-mesh.d.ts.map +1 -1
- package/dist/core/bridge-mesh.js +5 -1
- package/dist/core/bridge-mesh.js.map +1 -1
- package/dist/core/bridge.d.ts +4 -0
- package/dist/core/bridge.d.ts.map +1 -1
- package/dist/core/bridge.js +19 -0
- package/dist/core/bridge.js.map +1 -1
- package/dist/core/data-frame-routing.d.ts +14 -0
- package/dist/core/data-frame-routing.d.ts.map +1 -0
- package/dist/core/data-frame-routing.js +37 -0
- package/dist/core/data-frame-routing.js.map +1 -0
- package/dist/core/gossip-directory.d.ts +11 -2
- package/dist/core/gossip-directory.d.ts.map +1 -1
- package/dist/core/gossip-directory.js +32 -4
- package/dist/core/gossip-directory.js.map +1 -1
- package/dist/core/hub-session.d.ts +5 -1
- package/dist/core/hub-session.d.ts.map +1 -1
- package/dist/core/hub-session.js +24 -0
- package/dist/core/hub-session.js.map +1 -1
- package/dist/core/mesh-graph-trace-tool.d.ts +12 -0
- package/dist/core/mesh-graph-trace-tool.d.ts.map +1 -0
- package/dist/core/mesh-graph-trace-tool.js +60 -0
- package/dist/core/mesh-graph-trace-tool.js.map +1 -0
- package/dist/core/mesh-graph.d.ts +14 -0
- package/dist/core/mesh-graph.d.ts.map +1 -0
- package/dist/core/mesh-graph.js +46 -0
- package/dist/core/mesh-graph.js.map +1 -0
- package/dist/core/mesh-network-actions.d.ts +28 -0
- package/dist/core/mesh-network-actions.d.ts.map +1 -0
- package/dist/core/mesh-network-actions.js +143 -0
- package/dist/core/mesh-network-actions.js.map +1 -0
- package/dist/core/mesh-store.d.ts +19 -1
- package/dist/core/mesh-store.d.ts.map +1 -1
- package/dist/core/mesh-store.js +56 -0
- package/dist/core/mesh-store.js.map +1 -1
- package/dist/core/package-version.d.ts +4 -0
- package/dist/core/package-version.d.ts.map +1 -1
- package/dist/core/package-version.js +2 -1
- package/dist/core/package-version.js.map +1 -1
- package/dist/core/peer-versions.d.ts +16 -0
- package/dist/core/peer-versions.d.ts.map +1 -0
- package/dist/core/peer-versions.js +42 -0
- package/dist/core/peer-versions.js.map +1 -0
- package/dist/core/room-lifecycle.d.ts +5 -5
- package/dist/core/room-lifecycle.d.ts.map +1 -1
- package/dist/core/room-lifecycle.js +11 -5
- package/dist/core/room-lifecycle.js.map +1 -1
- package/dist/core/room-lookup.d.ts +9 -0
- package/dist/core/room-lookup.d.ts.map +1 -0
- package/dist/core/room-lookup.js +26 -0
- package/dist/core/room-lookup.js.map +1 -0
- package/dist/core/room-messaging.d.ts +2 -2
- package/dist/core/room-messaging.d.ts.map +1 -1
- package/dist/core/room-messaging.js +5 -2
- package/dist/core/room-messaging.js.map +1 -1
- package/dist/core/tool.d.ts +19 -10
- package/dist/core/tool.d.ts.map +1 -1
- package/dist/core/tool.js +25 -151
- package/dist/core/tool.js.map +1 -1
- package/dist/core/transport.d.ts +39 -0
- package/dist/core/transport.d.ts.map +1 -1
- package/dist/core/types.d.ts +18 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +10 -0
- package/dist/core/types.js.map +1 -1
- package/dist/core/version-report-actions.d.ts +18 -0
- package/dist/core/version-report-actions.d.ts.map +1 -0
- package/dist/core/version-report-actions.js +51 -0
- package/dist/core/version-report-actions.js.map +1 -0
- package/dist/core/wire-mesh-core-version.d.ts +6 -0
- package/dist/core/wire-mesh-core-version.d.ts.map +1 -0
- package/dist/core/wire-mesh-core-version.js +20 -0
- package/dist/core/wire-mesh-core-version.js.map +1 -0
- package/dist/core/wire-mesh-transport.d.ts +11 -2
- package/dist/core/wire-mesh-transport.d.ts.map +1 -1
- package/dist/core/wire-mesh-transport.js +29 -46
- package/dist/core/wire-mesh-transport.js.map +1 -1
- package/dist/test/agent-comms-version-gossip.integration.test.d.ts +5 -0
- package/dist/test/agent-comms-version-gossip.integration.test.d.ts.map +1 -0
- package/dist/test/agent-comms-version-gossip.integration.test.js +103 -0
- package/dist/test/agent-comms-version-gossip.integration.test.js.map +1 -0
- package/dist/test/mesh-graph-trace-tool.test.d.ts +2 -0
- package/dist/test/mesh-graph-trace-tool.test.d.ts.map +1 -0
- package/dist/test/mesh-graph-trace-tool.test.js +104 -0
- package/dist/test/mesh-graph-trace-tool.test.js.map +1 -0
- package/dist/test/mesh-graph-trace.integration.test.d.ts +5 -0
- package/dist/test/mesh-graph-trace.integration.test.d.ts.map +1 -0
- package/dist/test/mesh-graph-trace.integration.test.js +146 -0
- package/dist/test/mesh-graph-trace.integration.test.js.map +1 -0
- package/dist/test/peer-versions.test.d.ts +5 -0
- package/dist/test/peer-versions.test.d.ts.map +1 -0
- package/dist/test/peer-versions.test.js +68 -0
- package/dist/test/peer-versions.test.js.map +1 -0
- package/dist/test/query-version.integration.test.d.ts +5 -0
- package/dist/test/query-version.integration.test.d.ts.map +1 -0
- package/dist/test/query-version.integration.test.js +64 -0
- package/dist/test/query-version.integration.test.js.map +1 -0
- package/dist/test/send-by-room-name.test.d.ts +5 -0
- package/dist/test/send-by-room-name.test.d.ts.map +1 -0
- package/dist/test/send-by-room-name.test.js +77 -0
- package/dist/test/send-by-room-name.test.js.map +1 -0
- package/dist/test/tool-version-reporting.test.js +38 -0
- package/dist/test/tool-version-reporting.test.js.map +1 -1
- package/dist/test/version-report-actions.test.d.ts +5 -0
- package/dist/test/version-report-actions.test.d.ts.map +1 -0
- package/dist/test/version-report-actions.test.js +88 -0
- package/dist/test/version-report-actions.test.js.map +1 -0
- package/dist/test/wire-mesh-core-version.test.d.ts +5 -0
- package/dist/test/wire-mesh-core-version.test.d.ts.map +1 -0
- package/dist/test/wire-mesh-core-version.test.js +14 -0
- package/dist/test/wire-mesh-core-version.test.js.map +1 -0
- package/package.json +6 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../../../src/bridges/user/web/contract.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB,QAAA,MAAM,kBAAkB;;;iBAGtB,CAAC;AAYH,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAoBxB,CAAC;AAEH,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAKzB,CAAC;AAEH;;GAEG;AACH,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAInB,CAAC;AAeH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqExB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* oRPC contract for the web UI's browser-to-server protocol.
|
|
3
|
+
*
|
|
4
|
+
* One procedure per browser-facing action, plus a single `subscribeEvents` procedure that unifies what the JSON-over-WebSocket protocol split across three separate concepts: the chat socket's `delivery` frames, the mesh socket's `state_sync` method, and its `state_update` method. Entity and delivery-event shapes are imported from core/types.ts rather than re-declared here -- core already carries the single source of truth Zod schema for each (AgentIdentitySchema, RoomSchema, RoomMessageSchema, DmMessageSchema, DeliveryEventSchema), and duplicating them a third time (frontend/types.ts's hand-written interfaces are the second copy) is exactly the kind of drift that let frontend/mesh-worker.ts's local MeshStatePatch keep a "message_read" variant the real server stopped emitting once room.read replaced the old mesh-wide broadcast.
|
|
5
|
+
*/
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
import { oc, eventIterator } from "@orpc/contract";
|
|
8
|
+
import { AgentIdentitySchema, RoomSchema, RoomMessageSchema, DmMessageSchema, DeliveryEventSchema, } from "../../../core/types.js";
|
|
9
|
+
// ---------------------------------------------------------------------------
|
|
10
|
+
// Shared fragments
|
|
11
|
+
// ---------------------------------------------------------------------------
|
|
12
|
+
const ActionResultSchema = z.object({
|
|
13
|
+
content: z.string(),
|
|
14
|
+
isError: z.boolean(),
|
|
15
|
+
});
|
|
16
|
+
const RoomTypeSchema = z.union([
|
|
17
|
+
z.literal("public"),
|
|
18
|
+
z.literal("private"),
|
|
19
|
+
z.literal("secret"),
|
|
20
|
+
]);
|
|
21
|
+
// ---------------------------------------------------------------------------
|
|
22
|
+
// Mesh state patch -- mirrors core/wire-protocol.ts's MeshStatePatch exactly (7 variants; no "message_read", which room.read/P3.5 already replaced).
|
|
23
|
+
// ---------------------------------------------------------------------------
|
|
24
|
+
const MeshStatePatchSchema = z.discriminatedUnion("type", [
|
|
25
|
+
z.object({ type: z.literal("agent_upsert"), agent: AgentIdentitySchema }),
|
|
26
|
+
z.object({ type: z.literal("agent_offline"), agentId: z.string() }),
|
|
27
|
+
z.object({ type: z.literal("room_upsert"), room: RoomSchema }),
|
|
28
|
+
z.object({ type: z.literal("room_delete"), roomId: z.string() }),
|
|
29
|
+
z.object({
|
|
30
|
+
type: z.literal("message_add"),
|
|
31
|
+
roomId: z.string(),
|
|
32
|
+
message: RoomMessageSchema,
|
|
33
|
+
}),
|
|
34
|
+
z.object({
|
|
35
|
+
type: z.literal("dm_add"),
|
|
36
|
+
key: z.string(),
|
|
37
|
+
message: DmMessageSchema,
|
|
38
|
+
}),
|
|
39
|
+
z.object({
|
|
40
|
+
type: z.literal("delivery"),
|
|
41
|
+
agentId: z.string(),
|
|
42
|
+
event: DeliveryEventSchema,
|
|
43
|
+
}),
|
|
44
|
+
]);
|
|
45
|
+
const SerialisedStateSchema = z.object({
|
|
46
|
+
agents: z.record(z.string(), AgentIdentitySchema),
|
|
47
|
+
rooms: z.record(z.string(), RoomSchema),
|
|
48
|
+
messages: z.record(z.string(), z.array(RoomMessageSchema)),
|
|
49
|
+
dms: z.record(z.string(), z.array(DmMessageSchema)),
|
|
50
|
+
});
|
|
51
|
+
/**
|
|
52
|
+
* The one stream every tab subscribes to. Unifies state_sync (a full snapshot, sent once on connect or resume-without-lastEventId), state_update (an incremental patch), and the old chat socket's delivery frames -- today three separate wire concepts -- into a single ordered event stream a tab can resume by lastEventId.
|
|
53
|
+
*/
|
|
54
|
+
const MeshEventSchema = z.discriminatedUnion("kind", [
|
|
55
|
+
z.object({ kind: z.literal("state_sync"), state: SerialisedStateSchema }),
|
|
56
|
+
z.object({ kind: z.literal("state_patch"), patch: MeshStatePatchSchema }),
|
|
57
|
+
z.object({ kind: z.literal("delivery"), event: DeliveryEventSchema }),
|
|
58
|
+
]);
|
|
59
|
+
// ---------------------------------------------------------------------------
|
|
60
|
+
// Push subscription (PWA)
|
|
61
|
+
// ---------------------------------------------------------------------------
|
|
62
|
+
const PushSubscriptionSchema = z.object({
|
|
63
|
+
endpoint: z.string(),
|
|
64
|
+
keys: z.object({ p256dh: z.string(), auth: z.string() }),
|
|
65
|
+
});
|
|
66
|
+
// ---------------------------------------------------------------------------
|
|
67
|
+
// Contract
|
|
68
|
+
// ---------------------------------------------------------------------------
|
|
69
|
+
export const meshContract = {
|
|
70
|
+
send: oc
|
|
71
|
+
.input(z.object({ target: z.string(), content: z.string() }))
|
|
72
|
+
.output(ActionResultSchema),
|
|
73
|
+
dm: oc
|
|
74
|
+
.input(z.object({ target: z.string(), content: z.string() }))
|
|
75
|
+
.output(ActionResultSchema),
|
|
76
|
+
joinRoom: oc.input(z.object({ room: z.string() })).output(ActionResultSchema),
|
|
77
|
+
leaveRoom: oc
|
|
78
|
+
.input(z.object({ room: z.string().optional() }))
|
|
79
|
+
.output(ActionResultSchema),
|
|
80
|
+
createRoom: oc
|
|
81
|
+
.input(z.object({
|
|
82
|
+
name: z.string(),
|
|
83
|
+
type: RoomTypeSchema,
|
|
84
|
+
description: z.string().optional(),
|
|
85
|
+
}))
|
|
86
|
+
.output(ActionResultSchema),
|
|
87
|
+
listRooms: oc.input(z.object({})).output(ActionResultSchema),
|
|
88
|
+
listAgents: oc.input(z.object({})).output(ActionResultSchema),
|
|
89
|
+
readRoom: oc
|
|
90
|
+
.input(z.object({ room: z.string().optional() }))
|
|
91
|
+
.output(ActionResultSchema),
|
|
92
|
+
destroyRoom: oc
|
|
93
|
+
.input(z.object({ room: z.string() }))
|
|
94
|
+
.output(ActionResultSchema),
|
|
95
|
+
invite: oc
|
|
96
|
+
.input(z.object({ room: z.string(), agent: z.string() }))
|
|
97
|
+
.output(ActionResultSchema),
|
|
98
|
+
declineInvite: oc
|
|
99
|
+
.input(z.object({ room: z.string(), reason: z.string() }))
|
|
100
|
+
.output(ActionResultSchema),
|
|
101
|
+
kick: oc
|
|
102
|
+
.input(z.object({ room: z.string(), agent: z.string() }))
|
|
103
|
+
.output(ActionResultSchema),
|
|
104
|
+
renameAgent: oc
|
|
105
|
+
.input(z.object({ agent: z.string(), name: z.string() }))
|
|
106
|
+
.output(ActionResultSchema),
|
|
107
|
+
pushSubscribe: oc
|
|
108
|
+
.input(z.object({
|
|
109
|
+
subscription: PushSubscriptionSchema,
|
|
110
|
+
agentId: z.string().optional(),
|
|
111
|
+
}))
|
|
112
|
+
.output(ActionResultSchema),
|
|
113
|
+
pushUnsubscribe: oc
|
|
114
|
+
.input(z.object({ agentId: z.string().optional() }))
|
|
115
|
+
.output(ActionResultSchema),
|
|
116
|
+
subscribeEvents: oc
|
|
117
|
+
.input(z.object({ lastEventId: z.string().optional() }))
|
|
118
|
+
.output(eventIterator(MeshEventSchema)),
|
|
119
|
+
};
|
|
120
|
+
//# sourceMappingURL=contract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../../src/bridges/user/web/contract.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,EAAE,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EACL,mBAAmB,EACnB,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAEhC,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;CACrB,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC;IAC7B,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACnB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IACpB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;CACpB,CAAC,CAAC;AAEH,8EAA8E;AAC9E,qJAAqJ;AACrJ,8EAA8E;AAE9E,MAAM,oBAAoB,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IACxD,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;IACzE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;IACnE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC9D,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;IAChE,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;QAC9B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,OAAO,EAAE,iBAAiB;KAC3B,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACzB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;QACf,OAAO,EAAE,eAAe;KACzB,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;QAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,KAAK,EAAE,mBAAmB;KAC3B,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC;IACjD,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,UAAU,CAAC;IACvC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC1D,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;CACpD,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,eAAe,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IACnD,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;IACzE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC;IACzE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;CACtE,CAAC,CAAC;AAEH,8EAA8E;AAC9E,0BAA0B;AAC1B,8EAA8E;AAE9E,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;CACzD,CAAC,CAAC;AAEH,8EAA8E;AAC9E,WAAW;AACX,8EAA8E;AAE9E,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,EAAE;SACL,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SAC5D,MAAM,CAAC,kBAAkB,CAAC;IAE7B,EAAE,EAAE,EAAE;SACH,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SAC5D,MAAM,CAAC,kBAAkB,CAAC;IAE7B,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC;IAE7E,SAAS,EAAE,EAAE;SACV,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;SAChD,MAAM,CAAC,kBAAkB,CAAC;IAE7B,UAAU,EAAE,EAAE;SACX,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACnC,CAAC,CACH;SACA,MAAM,CAAC,kBAAkB,CAAC;IAE7B,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC;IAE5D,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC;IAE7D,QAAQ,EAAE,EAAE;SACT,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;SAChD,MAAM,CAAC,kBAAkB,CAAC;IAE7B,WAAW,EAAE,EAAE;SACZ,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SACrC,MAAM,CAAC,kBAAkB,CAAC;IAE7B,MAAM,EAAE,EAAE;SACP,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SACxD,MAAM,CAAC,kBAAkB,CAAC;IAE7B,aAAa,EAAE,EAAE;SACd,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SACzD,MAAM,CAAC,kBAAkB,CAAC;IAE7B,IAAI,EAAE,EAAE;SACL,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SACxD,MAAM,CAAC,kBAAkB,CAAC;IAE7B,WAAW,EAAE,EAAE;SACZ,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SACxD,MAAM,CAAC,kBAAkB,CAAC;IAE7B,aAAa,EAAE,EAAE;SACd,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,YAAY,EAAE,sBAAsB;QACpC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC/B,CAAC,CACH;SACA,MAAM,CAAC,kBAAkB,CAAC;IAE7B,eAAe,EAAE,EAAE;SAChB,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;SACnD,MAAM,CAAC,kBAAkB,CAAC;IAE7B,eAAe,EAAE,EAAE;SAChB,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;SACvD,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;CAC1C,CAAC"}
|
|
@@ -46,4 +46,4 @@ Error generating stack: `+e.message+`
|
|
|
46
46
|
`},Vc=function(){var e=parseInt(document.body.getAttribute(`data-scroll-locked`)||`0`,10);return isFinite(e)?e:0},Hc=function(){A.useEffect(function(){return document.body.setAttribute(zc,(Vc()+1).toString()),function(){var e=Vc()-1;e<=0?document.body.removeAttribute(zc):document.body.setAttribute(zc,e.toString())}},[])},Uc=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,i=r===void 0?`margin`:r;Hc();var a=A.useMemo(function(){return Lc(i)},[i]);return A.createElement(Rc,{styles:Bc(a,!t,i,n?``:`!important`)})},Wc=!1;if(typeof window<`u`)try{var Gc=Object.defineProperty({},"passive",{get:function(){return Wc=!0,!0}});window.addEventListener(`test`,Gc,Gc),window.removeEventListener(`test`,Gc,Gc)}catch{Wc=!1}var Kc=Wc?{passive:!1}:!1,qc=function(e){return e.tagName===`TEXTAREA`},Jc=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!==`hidden`&&!(n.overflowY===n.overflowX&&!qc(e)&&n[t]===`visible`)},Yc=function(e){return Jc(e,`overflowY`)},Xc=function(e){return Jc(e,`overflowX`)},Zc=function(e,t){var n=t.ownerDocument,r=t;do{if(typeof ShadowRoot<`u`&&r instanceof ShadowRoot&&(r=r.host),el(e,r)){var i=tl(e,r);if(i[1]>i[2])return!0}r=r.parentNode}while(r&&r!==n.body);return!1},Qc=function(e){return[e.scrollTop,e.scrollHeight,e.clientHeight]},$c=function(e){return[e.scrollLeft,e.scrollWidth,e.clientWidth]},el=function(e,t){return e===`v`?Yc(t):Xc(t)},tl=function(e,t){return e===`v`?Qc(t):$c(t)},nl=function(e,t){return e===`h`&&t===`rtl`?-1:1},rl=function(e,t,n,r,i){var a=nl(e,window.getComputedStyle(t).direction),o=a*r,s=n.target,c=t.contains(s),l=!1,u=o>0,d=0,f=0;do{if(!s)break;var p=tl(e,s),m=p[0],h=p[1]-p[2]-a*m;(m||h)&&el(e,s)&&(d+=h,f+=m);var g=s.parentNode;s=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!c&&s!==document.body||c&&(t.contains(s)||t===s));return(u&&(i&&Math.abs(d)<1||!i&&o>d)||!u&&(i&&Math.abs(f)<1||!i&&-o>f))&&(l=!0),l},il=function(e){return`changedTouches`in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},al=function(e){return[e.deltaX,e.deltaY]},ol=function(e){return e&&`current`in e?e.current:e},sl=function(e,t){return e[0]===t[0]&&e[1]===t[1]},cl=function(e){return`
|
|
47
47
|
.block-interactivity-${e} {pointer-events: none;}
|
|
48
48
|
.allow-interactivity-${e} {pointer-events: all;}
|
|
49
|
-
`},ll=0,ul=[];function dl(e){var t=A.useRef([]),n=A.useRef([0,0]),r=A.useRef(),i=A.useState(ll++)[0],a=A.useState(Nc)[0],o=A.useRef(e);A.useEffect(function(){o.current=e},[e]),A.useEffect(function(){if(e.inert){document.body.classList.add(`block-interactivity-${i}`);var t=lc([e.lockRef.current],(e.shards||[]).map(ol),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add(`allow-interactivity-${i}`)}),function(){document.body.classList.remove(`block-interactivity-${i}`),t.forEach(function(e){return e.classList.remove(`allow-interactivity-${i}`)})}}},[e.inert,e.lockRef.current,e.shards]);var s=A.useCallback(function(e,t){if(`touches`in e&&e.touches.length===2||e.type===`wheel`&&e.ctrlKey)return!o.current.allowPinchZoom;var i=il(e),a=n.current,s=`deltaX`in e?e.deltaX:a[0]-i[0],c=`deltaY`in e?e.deltaY:a[1]-i[1],l,u=e.target,d=Math.abs(s)>Math.abs(c)?`h`:`v`;if(`touches`in e&&d===`h`&&u.type===`range`)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===u||p.contains(u)))return!1;var m=Zc(d,u);if(!m)return!0;if(m?l=d:(l=d===`v`?`h`:`v`,m=Zc(d,u)),!m)return!1;if(!r.current&&`changedTouches`in e&&(s||c)&&(r.current=l),!l)return!0;var h=r.current||l;return rl(h,t,e,h===`h`?s:c,!0)},[]),c=A.useCallback(function(e){var n=e;if(ul.length&&ul[ul.length-1]===a){var r=`deltaY`in n?al(n):il(n),i=t.current.filter(function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&sl(e.delta,r)})[0];if(i&&i.should){n.cancelable&&n.preventDefault();return}if(!i){var c=(o.current.shards||[]).map(ol).filter(Boolean).filter(function(e){return e.contains(n.target)});(c.length>0?s(n,c[0]):!o.current.noIsolation)&&n.cancelable&&n.preventDefault()}}},[]),l=A.useCallback(function(e,n,r,i){var a={name:e,delta:n,target:r,should:i,shadowParent:fl(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),u=A.useCallback(function(e){n.current=il(e),r.current=void 0},[]),d=A.useCallback(function(t){l(t.type,al(t),t.target,s(t,e.lockRef.current))},[]),f=A.useCallback(function(t){l(t.type,il(t),t.target,s(t,e.lockRef.current))},[]);A.useEffect(function(){return ul.push(a),e.setCallbacks({onScrollCapture:d,onWheelCapture:d,onTouchMoveCapture:f}),document.addEventListener(`wheel`,c,Kc),document.addEventListener(`touchmove`,c,Kc),document.addEventListener(`touchstart`,u,Kc),function(){ul=ul.filter(function(e){return e!==a}),document.removeEventListener(`wheel`,c,Kc),document.removeEventListener(`touchmove`,c,Kc),document.removeEventListener(`touchstart`,u,Kc)}},[]);var p=e.removeScrollBar,m=e.inert;return A.createElement(A.Fragment,null,m?A.createElement(a,{styles:cl(i)}):null,p?A.createElement(Uc,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function fl(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var pl=Cc(wc,dl),ml=A.forwardRef(function(e,t){return A.createElement(Ec,sc({},e,{ref:t,sideCar:pl}))});ml.classNames=Ec.classNames;var hl=(0,A.createContext)({size:`sm`}),gl=H(e=>{let t=B(`InputClearButton`,null,e),{size:n,variant:r,vars:i,classNames:a,styles:o,...s}=t,c=(0,A.use)(hl),{resolvedClassNames:l,resolvedStyles:u}=bn({classNames:a,styles:o,props:t});return(0,z.jsx)(tc,{variant:r||`transparent`,size:n||c?.size||`sm`,classNames:l,styles:u,__staticSelector:`InputClearButton`,style:{pointerEvents:`all`,background:`var(--input-bg)`,...s.style},...s})});gl.displayName=`@mantine/core/InputClearButton`;var _l={xs:7,sm:8,md:10,lg:12,xl:15};function vl({__clearable:e,__clearSection:t,rightSection:n,__defaultRightSection:r,size:i=`sm`,__clearSectionMode:a=`both`}){let o=e&&t;return a===`rightSection`?n===null?null:n||r:a===`clear`?n===null?null:o||r:o&&(n||r)?(0,z.jsxs)(`div`,{"data-combined-clear-section":!0,style:{display:`flex`,gap:2,alignItems:`center`,paddingInlineEnd:_l[i]},children:[o,n||r]}):n===null?null:n||o||r}var yl=(0,A.createContext)({offsetBottom:!1,offsetTop:!1,describedBy:void 0,getStyles:null,inputId:void 0,labelId:void 0}),bl={wrapper:`m_6c018570`,input:`m_8fb7ebe7`,bottomSection:`m_93f4ed57`,section:`m_82577fc2`,placeholder:`m_88bacfd0`,root:`m_46b77525`,label:`m_8fdc1311`,required:`m_78a94662`,error:`m_8f816625`,success:`m_9d9d40e0`,description:`m_fe47ce59`},xl=rt((e,{size:t})=>({description:{"--input-description-size":t===void 0?void 0:`calc(${P(t)} - ${E(2)})`}})),Sl=H(e=>{let t=B(`InputDescription`,null,e),{classNames:n,className:r,style:i,styles:a,unstyled:o,vars:s,__staticSelector:c,__inheritStyles:l=!0,attributes:u,...d}=B(`InputDescription`,null,t),f=(0,A.use)(yl),p=V({name:[`InputWrapper`,c],props:t,classes:bl,className:r,style:i,classNames:n,styles:a,unstyled:o,attributes:u,rootSelector:`description`,vars:s,varsResolver:xl}),m=l&&f?.getStyles||p;return(0,z.jsx)(U,{component:`p`,...m(`description`,f?.getStyles?{className:r,style:i}:void 0),...d})});Sl.classes=bl,Sl.varsResolver=xl,Sl.displayName=`@mantine/core/InputDescription`;var Cl=rt((e,{size:t})=>({error:{"--input-error-size":t===void 0?void 0:`calc(${P(t)} - ${E(2)})`}})),wl=H(e=>{let t=B(`InputError`,null,e),{classNames:n,className:r,style:i,styles:a,unstyled:o,vars:s,attributes:c,__staticSelector:l,__inheritStyles:u=!0,...d}=t,f=V({name:[`InputWrapper`,l],props:t,classes:bl,className:r,style:i,classNames:n,styles:a,unstyled:o,attributes:c,rootSelector:`error`,vars:s,varsResolver:Cl}),p=(0,A.use)(yl),m=u&&p?.getStyles||f;return(0,z.jsx)(U,{component:`p`,...m(`error`,p?.getStyles?{className:r,style:i}:void 0),...d})});wl.classes=bl,wl.varsResolver=Cl,wl.displayName=`@mantine/core/InputError`;var Tl={labelElement:`label`},El=rt((e,{size:t})=>({label:{"--input-label-size":P(t),"--input-asterisk-color":void 0}})),Dl=H(e=>{let t=B(`InputLabel`,Tl,e),{classNames:n,className:r,style:i,styles:a,unstyled:o,vars:s,labelElement:c,required:l,htmlFor:u,onMouseDown:d,children:f,__staticSelector:p,mod:m,attributes:h,...g}=t,_=V({name:[`InputWrapper`,p],props:t,classes:bl,className:r,style:i,classNames:n,styles:a,unstyled:o,attributes:h,rootSelector:`label`,vars:s,varsResolver:El}),v=(0,A.use)(yl),y=v?.getStyles||_,b=g.component||c,x=typeof b!=`string`||b===`label`;return(0,z.jsxs)(U,{...y(`label`,v?.getStyles?{className:r,style:i}:void 0),component:c,htmlFor:x?u:void 0,mod:[{required:l},m],onMouseDown:e=>{d?.(e),!e.defaultPrevented&&e.detail>1&&e.preventDefault()},...g,children:[f,l&&(0,z.jsx)(`span`,{...y(`required`),"aria-hidden":!0,children:` *`})]})});Dl.classes=bl,Dl.varsResolver=El,Dl.displayName=`@mantine/core/InputLabel`;var Ol=H(e=>{let t=B(`InputPlaceholder`,null,e),{classNames:n,className:r,style:i,styles:a,unstyled:o,vars:s,__staticSelector:c,error:l,mod:u,attributes:d,...f}=t,p=V({name:[`InputPlaceholder`,c],props:t,classes:bl,className:r,style:i,classNames:n,styles:a,unstyled:o,attributes:d,rootSelector:`placeholder`});return(0,z.jsx)(U,{...p(`placeholder`),mod:[{error:!!l},u],component:`span`,...f})});Ol.classes=bl,Ol.displayName=`@mantine/core/InputPlaceholder`;var kl=rt((e,{size:t})=>({success:{"--input-success-size":t===void 0?void 0:`calc(${P(t)} - ${E(2)})`}})),Al=H(e=>{let t=B(`InputSuccess`,null,e),{classNames:n,className:r,style:i,styles:a,unstyled:o,vars:s,attributes:c,__staticSelector:l,__inheritStyles:u=!0,...d}=t,f=V({name:[`InputWrapper`,l],props:t,classes:bl,className:r,style:i,classNames:n,styles:a,unstyled:o,attributes:c,rootSelector:`success`,vars:s,varsResolver:kl}),p=(0,A.use)(yl),m=u&&p?.getStyles||f;return(0,z.jsx)(U,{component:`p`,...m(`success`,p?.getStyles?{className:r,style:i}:void 0),...d})});Al.classes=bl,Al.varsResolver=kl,Al.displayName=`@mantine/core/InputSuccess`;function jl(e,{hasDescription:t,hasError:n}){let r=e.findIndex(e=>e===`input`),i=e.slice(0,r),a=e.slice(r+1),o=t&&i.includes(`description`)||n&&i.includes(`error`);return{offsetBottom:t&&a.includes(`description`)||n&&a.includes(`error`),offsetTop:o}}var Ml={labelElement:`label`,inputContainer:e=>e,inputWrapperOrder:[`label`,`description`,`input`,`error`]},Nl=rt((e,{size:t})=>({label:{"--input-label-size":P(t),"--input-asterisk-color":void 0},error:{"--input-error-size":t===void 0?void 0:`calc(${P(t)} - ${E(2)})`},success:{"--input-success-size":t===void 0?void 0:`calc(${P(t)} - ${E(2)})`},description:{"--input-description-size":t===void 0?void 0:`calc(${P(t)} - ${E(2)})`}})),Pl=H(e=>{let t=B(`InputWrapper`,Ml,e),{classNames:n,className:r,style:i,styles:a,unstyled:o,vars:s,size:c,variant:l,__staticSelector:u,inputContainer:d,inputWrapperOrder:f,label:p,error:m,success:h,description:g,labelProps:_,descriptionProps:v,errorProps:y,successProps:b,labelElement:x,children:S,withAsterisk:C,id:w,required:T,__stylesApiProps:E,mod:D,attributes:O,...k}=t,j=V({name:[`InputWrapper`,u],props:E||t,classes:bl,className:r,style:i,classNames:n,styles:a,unstyled:o,attributes:O,vars:s,varsResolver:Nl}),M={size:c,variant:l,__staticSelector:u},ee=ke(w),te=typeof C==`boolean`?C:T,ne=y?.id||`${ee}-error`,re=b?.id||`${ee}-success`,N=v?.id||`${ee}-description`,ie=ee,ae=!!m&&typeof m!=`boolean`,P=!!h&&typeof h!=`boolean`&&!m,oe=!!g,se=ae&&f.includes(`error`),ce=P&&f.includes(`error`),le=oe&&f.includes(`description`),ue=`${se?ne:``} ${ce?re:``} ${le?N:``}`,de=ue.trim().length>0?ue.trim():void 0,fe=_?.id||`${ee}-label`,pe=p&&(0,z.jsx)(Dl,{labelElement:x,id:fe,htmlFor:ie,required:te,...M,..._,children:p},`label`),me=oe&&(0,z.jsx)(Sl,{...v,...M,size:v?.size||M.size,id:v?.id||N,children:g},`description`),he=(0,z.jsx)(A.Fragment,{children:d(S)},`input`),F=ae&&(0,A.createElement)(wl,{...y,...M,size:y?.size||M.size,key:`error`,id:y?.id||ne},m),I=P&&(0,A.createElement)(Al,{...b,...M,size:b?.size||M.size,key:`success`,id:b?.id||re},h),ge=f.map(e=>{switch(e){case`label`:return pe;case`input`:return he;case`description`:return me;case`error`:return F||I;default:return null}});return(0,z.jsx)(yl,{value:{getStyles:j,describedBy:de,inputId:ie,labelId:fe,...jl(f,{hasDescription:oe,hasError:ae||P})},children:(0,z.jsx)(U,{variant:l,size:c,mod:[{error:!!m,success:!!h&&!m},D],id:x===`label`?void 0:w,...j(`root`),...k,children:ge})})});Pl.classes=bl,Pl.varsResolver=Nl,Pl.displayName=`@mantine/core/InputWrapper`;var Fl={variant:`default`,leftSectionPointerEvents:`none`,rightSectionPointerEvents:`none`,withAria:!0,withErrorStyles:!0,withSuccessStyles:!0,size:`sm`,loading:!1,loadingPosition:`right`},Il=rt((e,t,n)=>({wrapper:{"--input-margin-top":n.offsetTop?`calc(var(--mantine-spacing-xs) / 2)`:void 0,"--input-margin-bottom":n.offsetBottom?`calc(var(--mantine-spacing-xs) / 2)`:void 0,"--input-height":N(t.size,`input-height`),"--input-fz":P(t.size),"--input-radius":t.radius===void 0?void 0:ae(t.radius),"--input-left-section-width":t.leftSectionWidth===void 0?void 0:E(t.leftSectionWidth),"--input-right-section-width":t.rightSectionWidth===void 0?void 0:E(t.rightSectionWidth),"--input-padding-y":t.multiline?N(t.size,`input-padding-y`):void 0,"--input-left-section-pointer-events":t.leftSectionPointerEvents,"--input-right-section-pointer-events":t.rightSectionPointerEvents}})),Ll=hr(e=>{let t=B(`Input`,Fl,e),{classNames:n,className:r,style:i,styles:a,unstyled:o,required:s,__staticSelector:c,__stylesApiProps:l,size:u,wrapperProps:d,error:f,success:p,disabled:m,leftSection:h,leftSectionProps:g,leftSectionWidth:_,rightSection:v,rightSectionProps:y,rightSectionWidth:b,rightSectionPointerEvents:x,leftSectionPointerEvents:S,variant:C,vars:w,pointer:T,multiline:E,radius:D,id:O,withAria:k,withErrorStyles:j,withSuccessStyles:M,mod:ee,inputSize:te,attributes:ne,__clearSection:re,__clearable:N,__clearSectionMode:ie,__defaultRightSection:ae,loading:P,loadingPosition:oe,__bottomSection:se,__bottomSectionProps:ce,rootRef:le,dir:ue,...de}=t,{styleProps:fe,rest:pe}=Bn(de),me=(0,A.use)(yl),he={offsetBottom:me?.offsetBottom,offsetTop:me?.offsetTop},F=V({name:[`Input`,c],props:l||t,classes:bl,className:r,style:i,classNames:n,styles:a,unstyled:o,attributes:ne,stylesCtx:he,rootSelector:`wrapper`,vars:w,varsResolver:Il}),I=k?{required:s,disabled:m,"aria-invalid":f?!0:void 0,"aria-describedby":me?.describedBy,id:me?.inputId||O}:{},ge=P?(0,z.jsx)(Hs,{size:oe===`left`?`calc(var(--input-left-section-size) / 2)`:`calc(var(--input-right-section-size) / 2)`}):null,_e=P&&oe===`left`?ge:h,ve=vl({__clearable:N,__clearSection:re,rightSection:P&&oe===`right`?ge:v,__defaultRightSection:ae,size:u,__clearSectionMode:ie});return(0,z.jsx)(hl,{value:{size:u||`sm`},children:(0,z.jsxs)(U,{ref:le,dir:ue,...F(`wrapper`),...fe,...d,mod:[{error:!!f&&j,success:!!p&&!f&&M,pointer:T,disabled:m,multiline:E,withRightSection:!!ve,withLeftSection:!!_e,withBottomSection:!!se},ee],variant:C,size:u,children:[_e&&(0,z.jsx)(`div`,{...g,"data-position":`left`,...F(`section`,{className:g?.className,style:g?.style}),children:_e}),(0,z.jsx)(U,{component:`input`,...pe,...I,required:s,mod:{disabled:m,error:!!f&&j,success:!!p&&!f&&M},variant:C,__size:te,...F(`input`)}),se&&(0,z.jsx)(`div`,{...ce,...F(`bottomSection`,{className:ce?.className,style:ce?.style}),children:se}),ve&&(0,z.jsx)(`div`,{...y,"data-position":`right`,...F(`section`,{className:y?.className,style:y?.style}),children:ve})]})})});Ll.classes=bl,Ll.varsResolver=Il,Ll.Wrapper=Pl,Ll.Label=Dl,Ll.Error=wl,Ll.Success=Al,Ll.Description=Sl,Ll.Placeholder=Ol,Ll.ClearButton=gl,Ll.displayName=`@mantine/core/Input`;function Rl(e,t,n){let r=B([`Input`,`InputWrapper`,e],t,n),{label:i,description:a,error:o,success:s,required:c,classNames:l,styles:u,className:d,unstyled:f,__staticSelector:p,__stylesApiProps:m,errorProps:h,successProps:g,labelProps:_,descriptionProps:v,wrapperProps:y,id:b,size:x,style:S,inputContainer:C,inputWrapperOrder:w,withAsterisk:T,variant:E,vars:D,mod:O,attributes:k,...A}=r,{styleProps:j,rest:M}=Bn(A),ee={label:i,description:a,error:o,success:s,required:c,classNames:l,className:d,__staticSelector:p,__stylesApiProps:m||r,errorProps:h,successProps:g,labelProps:_,descriptionProps:v,unstyled:f,styles:u,size:x,style:S,inputContainer:C,inputWrapperOrder:w,withAsterisk:T,variant:E,id:b,mod:O,attributes:k,...y};return{...M,classNames:l,styles:u,unstyled:f,wrapperProps:{...ee,...j},inputProps:{required:c,classNames:l,styles:u,unstyled:f,size:x,__staticSelector:p,__stylesApiProps:m||r,error:o,success:s,variant:E,id:b,attributes:k}}}var zl={__staticSelector:`InputBase`,withAria:!0,size:`sm`},Bl=hr(e=>{let{inputProps:t,wrapperProps:n,...r}=Rl(`InputBase`,zl,e);return(0,z.jsx)(Ll.Wrapper,{...n,children:(0,z.jsx)(Ll,{...t,...r})})});Bl.classes={...Ll.classes,...Ll.Wrapper.classes},Bl.displayName=`@mantine/core/InputBase`;function Vl({style:e,size:t=16,...n}){return(0,z.jsx)(`svg`,{viewBox:`0 0 15 15`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,style:{...e,width:E(t),height:E(t),display:`block`},...n,children:(0,z.jsx)(`path`,{d:`M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z`,fill:`currentColor`,fillRule:`evenodd`,clipRule:`evenodd`})})}Vl.displayName=`@mantine/core/AccordionChevron`;var Hl={root:`m_b6d8b162`};function Ul(e){if(e===`start`)return`start`;if(e===`end`||e)return`end`}var Wl={inherit:!1},Gl=rt((e,{variant:t,lineClamp:n,gradient:r,size:i,textWrap:a})=>({root:{"--text-fz":P(i),"--text-lh":oe(i),"--text-gradient":t===`gradient`?Et(r,e):void 0,"--text-line-clamp":typeof n==`number`?n.toString():void 0,"--text-text-wrap":a}})),Kl=hr(e=>{let t=B(`Text`,Wl,e),{lineClamp:n,truncate:r,inline:i,inherit:a,gradient:o,span:s,textWrap:c,__staticSelector:l,vars:u,className:d,style:f,classNames:p,styles:m,unstyled:h,variant:g,mod:_,size:v,attributes:y,...b}=t,x=V({name:[`Text`,l],props:t,classes:Hl,className:d,style:f,classNames:p,styles:m,unstyled:h,attributes:y,vars:u,varsResolver:Gl});return(0,z.jsx)(U,{...x(`root`,{focusable:!0}),component:s?`span`:`p`,variant:g,mod:[{truncate:Ul(r),lineClamp:typeof n==`number`,inline:i,inherit:a},_],size:v,...b})});Kl.classes=Hl,Kl.varsResolver=Gl,Kl.displayName=`@mantine/core/Text`;var[ql,Jl]=M(`AppShell was not found in tree`),Yl={root:`m_89ab340`,navbar:`m_45252eee`,aside:`m_9cdde9a`,header:`m_3b16f56b`,main:`m_8983817`,footer:`m_3840c879`,section:`m_6dcfc7c7`},Xl=H(e=>{let{classNames:t,className:n,style:r,styles:i,unstyled:a,vars:o,withBorder:s,zIndex:c,mod:l,...u}=B(`AppShellAside`,null,e),d=Jl();return d.disabled?null:(0,z.jsx)(U,{component:`aside`,mod:[{"with-border":s??d.withBorder},l],...d.getStyles(`aside`,{className:at({[ml.classNames.zeroRight]:d.offsetScrollbars},n),classNames:t,styles:i,style:r}),...u,__vars:{"--app-shell-aside-z-index":`calc(${c??d.zIndex} + 1)`}})});Xl.classes=Yl,Xl.displayName=`@mantine/core/AppShellAside`;var Zl=H(e=>{let{classNames:t,className:n,style:r,styles:i,unstyled:a,vars:o,withBorder:s,zIndex:c,mod:l,...u}=B(`AppShellFooter`,null,e),d=Jl();return d.disabled?null:(0,z.jsx)(U,{component:`footer`,mod:[{"with-border":s??d.withBorder},l],...d.getStyles(`footer`,{className:at({[ml.classNames.zeroRight]:d.offsetScrollbars},n),classNames:t,styles:i,style:r}),...u,__vars:{"--app-shell-footer-z-index":(c??d.zIndex)?.toString()}})});Zl.classes=Yl,Zl.displayName=`@mantine/core/AppShellFooter`;var Ql=H(e=>{let{classNames:t,className:n,style:r,styles:i,unstyled:a,vars:o,withBorder:s,zIndex:c,mod:l,...u}=B(`AppShellHeader`,null,e),d=Jl();return d.disabled?null:(0,z.jsx)(U,{component:`header`,mod:[{"with-border":s??d.withBorder},l],...d.getStyles(`header`,{className:at({[ml.classNames.zeroRight]:d.offsetScrollbars},n),classNames:t,styles:i,style:r}),...u,__vars:{"--app-shell-header-z-index":(c??d.zIndex)?.toString()}})});Ql.classes=Yl,Ql.displayName=`@mantine/core/AppShellHeader`;var $l=H(e=>{let{classNames:t,className:n,style:r,styles:i,vars:a,...o}=B(`AppShellMain`,null,e),s=Jl();return(0,z.jsx)(U,{component:`main`,...s.getStyles(`main`,{className:n,style:r,classNames:t,styles:i}),...o})});$l.classes=Yl,$l.displayName=`@mantine/core/AppShellMain`;var eu=H(e=>{let{classNames:t,className:n,style:r,styles:i,unstyled:a,vars:o,withBorder:s,zIndex:c,mod:l,...u}=B(`AppShellNavbar`,null,e),d=Jl();return d.disabled?null:(0,z.jsx)(U,{component:`nav`,mod:[{"with-border":s??d.withBorder},l],...d.getStyles(`navbar`,{className:n,classNames:t,styles:i,style:r}),...u,__vars:{"--app-shell-navbar-z-index":`calc(${c??d.zIndex} + 1)`}})});eu.classes=Yl,eu.displayName=`@mantine/core/AppShellNavbar`;var tu=hr(e=>{let{classNames:t,className:n,style:r,styles:i,vars:a,grow:o,mod:s,...c}=B(`AppShellSection`,null,e),l=Jl();return(0,z.jsx)(U,{mod:[{grow:o},s],...l.getStyles(`section`,{className:n,style:r,classNames:t,styles:i}),...c})});tu.classes=Yl,tu.displayName=`@mantine/core/AppShellSection`;function nu(e){return typeof e==`object`?e.base:e}function ru(e){let t=typeof e==`object`&&!!e&&e.base!==void 0&&Object.keys(e).length===1;return typeof e==`number`||typeof e==`string`||t}function K(e){return!(typeof e!=`object`||!e||Object.keys(e).length===1&&`base`in e)}function iu({baseStyles:e,minMediaStyles:t,maxMediaStyles:n,aside:r,theme:i,mode:a}){let o=r?.width,s=`translateX(var(--app-shell-aside-width))`,c=`translateX(calc(var(--app-shell-aside-width) * -1))`;if(r?.breakpoint!==void 0&&!r?.collapsed?.mobile&&(n[r?.breakpoint]=n[r?.breakpoint]||{},a===`fixed`?(n[r?.breakpoint][`--app-shell-aside-width`]=`100%`,n[r?.breakpoint][`--app-shell-aside-offset`]=`0px`):(n[r?.breakpoint][`--app-shell-aside-width`]=`0px`,n[r?.breakpoint][`--app-shell-aside-offset`]=`0px`)),ru(o)){let t=E(nu(o));e[`--app-shell-aside-width`]=t,e[`--app-shell-aside-offset`]=t}if(K(o)&&(o.base!==void 0&&(e[`--app-shell-aside-width`]=E(o.base),e[`--app-shell-aside-offset`]=E(o.base)),v(o).forEach(e=>{e!==`base`&&(t[e]=t[e]||{},t[e][`--app-shell-aside-width`]=E(o[e]),t[e][`--app-shell-aside-offset`]=E(o[e]))})),r?.breakpoint!==void 0&&a===`static`&&(t[r.breakpoint]=t[r.breakpoint]||{},t[r.breakpoint][`--app-shell-aside-position`]=`sticky`,t[r.breakpoint][`--app-shell-aside-grid-row`]=`2`,t[r.breakpoint][`--app-shell-aside-grid-column`]=`3`,t[r.breakpoint][`--app-shell-main-column-end`]=`3`),r?.collapsed?.desktop){let e=r.breakpoint;t[e]=t[e]||{},t[e][`--app-shell-aside-transform`]=s,t[e][`--app-shell-aside-transform-rtl`]=c,a===`fixed`?t[e][`--app-shell-aside-offset`]=`0px !important`:(t[e][`--app-shell-aside-width`]=`0px`,t[e][`--app-shell-aside-display`]=`none`,t[e][`--app-shell-main-column-end`]=`-1`),t[e][`--app-shell-aside-scroll-locked-visibility`]=`hidden`}if(r?.collapsed?.mobile){let e=le(r.breakpoint,i.breakpoints)-.1;n[e]=n[e]||{},a===`fixed`?(n[e][`--app-shell-aside-width`]=`100%`,n[e][`--app-shell-aside-offset`]=`0px`):n[e][`--app-shell-aside-width`]=`0px`,n[e][`--app-shell-aside-transform`]=s,n[e][`--app-shell-aside-transform-rtl`]=c,n[e][`--app-shell-aside-scroll-locked-visibility`]=`hidden`}}function au({baseStyles:e,minMediaStyles:t,footer:n,mode:r}){let i=n?.height,a=r===`static`?!0:n?.offset??!0;if(r===`static`&&n&&(e[`--app-shell-footer-position`]=`sticky`,e[`--app-shell-footer-grid-column`]=`1 / -1`,e[`--app-shell-footer-grid-row`]=`3`),ru(i)){let t=E(nu(i));e[`--app-shell-footer-height`]=t,a&&(e[`--app-shell-footer-offset`]=t)}K(i)&&(i.base!==void 0&&(e[`--app-shell-footer-height`]=E(i.base),a&&(e[`--app-shell-footer-offset`]=E(i.base))),v(i).forEach(e=>{e!==`base`&&(t[e]=t[e]||{},t[e][`--app-shell-footer-height`]=E(i[e]),a&&(t[e][`--app-shell-footer-offset`]=E(i[e])))})),n?.collapsed&&(e[`--app-shell-footer-transform`]=`translateY(var(--app-shell-footer-height))`,r===`fixed`&&(e[`--app-shell-footer-offset`]=`0px !important`))}function ou({baseStyles:e,minMediaStyles:t,header:n,mode:r}){let i=n?.height,a=r===`static`?!0:n?.offset??!0;if(r===`static`&&n&&(e[`--app-shell-header-position`]=`sticky`,e[`--app-shell-header-grid-column`]=`1 / -1`,e[`--app-shell-header-grid-row`]=`1`),ru(i)){let t=E(nu(i));e[`--app-shell-header-height`]=t,a&&(e[`--app-shell-header-offset`]=t)}K(i)&&(i.base!==void 0&&(e[`--app-shell-header-height`]=E(i.base),a&&(e[`--app-shell-header-offset`]=E(i.base))),v(i).forEach(e=>{e!==`base`&&(t[e]=t[e]||{},t[e][`--app-shell-header-height`]=E(i[e]),a&&(t[e][`--app-shell-header-offset`]=E(i[e])))})),n?.collapsed&&(e[`--app-shell-header-transform`]=`translateY(calc(var(--app-shell-header-height) * -1))`,r===`fixed`&&(e[`--app-shell-header-offset`]=`0px !important`))}function su({baseStyles:e,minMediaStyles:t,maxMediaStyles:n,navbar:r,theme:i,mode:a}){let o=r?.width,s=`translateX(calc(var(--app-shell-navbar-width) * -1))`,c=`translateX(var(--app-shell-navbar-width))`;if(r?.breakpoint!==void 0&&!r?.collapsed?.mobile&&(n[r?.breakpoint]=n[r?.breakpoint]||{},n[r?.breakpoint][`--app-shell-navbar-offset`]=`0px`,n[r?.breakpoint][`--app-shell-navbar-width`]=`100%`,a===`static`&&(n[r?.breakpoint][`--app-shell-navbar-grid-width`]=`0px`)),ru(o)){let t=E(nu(o));e[`--app-shell-navbar-width`]=t,e[`--app-shell-navbar-offset`]=t,a===`static`&&(e[`--app-shell-navbar-grid-width`]=t)}if(K(o)&&(o.base!==void 0&&(e[`--app-shell-navbar-width`]=E(o.base),e[`--app-shell-navbar-offset`]=E(o.base),a===`static`&&(e[`--app-shell-navbar-grid-width`]=E(o.base))),v(o).forEach(e=>{e!==`base`&&(t[e]=t[e]||{},t[e][`--app-shell-navbar-width`]=E(o[e]),t[e][`--app-shell-navbar-offset`]=E(o[e]),a===`static`&&(t[e][`--app-shell-navbar-grid-width`]=E(o[e])))})),r?.breakpoint!==void 0&&a===`static`&&(t[r.breakpoint]=t[r.breakpoint]||{},t[r.breakpoint][`--app-shell-navbar-position`]=`sticky`,t[r.breakpoint][`--app-shell-navbar-grid-row`]=`2`,t[r.breakpoint][`--app-shell-navbar-grid-column`]=`1`,t[r.breakpoint][`--app-shell-main-column-start`]=`2`),r?.collapsed?.desktop){let e=r.breakpoint;t[e]=t[e]||{},t[e][`--app-shell-navbar-transform`]=s,t[e][`--app-shell-navbar-transform-rtl`]=c,a===`fixed`?t[e][`--app-shell-navbar-offset`]=`0px !important`:(t[e][`--app-shell-navbar-width`]=`0px`,t[e][`--app-shell-navbar-display`]=`none`,t[e][`--app-shell-main-column-start`]=`1`)}if(r?.collapsed?.mobile){let e=le(r.breakpoint,i.breakpoints)-.1;n[e]=n[e]||{},n[e][`--app-shell-navbar-width`]=`100%`,n[e][`--app-shell-navbar-offset`]=`0px`,a===`static`&&(n[e][`--app-shell-navbar-grid-width`]=`0px`),n[e][`--app-shell-navbar-transform`]=s,n[e][`--app-shell-navbar-transform-rtl`]=c}}function cu(e){return Number(e)===0?`0px`:ie(e)}function lu({padding:e,baseStyles:t,minMediaStyles:n}){ru(e)&&(t[`--app-shell-padding`]=cu(nu(e))),K(e)&&(e.base&&(t[`--app-shell-padding`]=cu(e.base)),v(e).forEach(t=>{t!==`base`&&(n[t]=n[t]||{},n[t][`--app-shell-padding`]=cu(e[t]))}))}function uu({navbar:e,header:t,footer:n,aside:r,padding:i,theme:a,mode:o}){let s={},c={},l={};o===`static`&&(l[`--app-shell-main-grid-column`]=`1 / -1`,l[`--app-shell-main-grid-row`]=`2`),su({baseStyles:l,minMediaStyles:s,maxMediaStyles:c,navbar:e,theme:a,mode:o}),iu({baseStyles:l,minMediaStyles:s,maxMediaStyles:c,aside:r,theme:a,mode:o}),ou({baseStyles:l,minMediaStyles:s,header:t,mode:o}),au({baseStyles:l,minMediaStyles:s,footer:n,mode:o}),lu({baseStyles:l,minMediaStyles:s,padding:i});let u=ue(v(s),a.breakpoints).map(e=>({query:`(min-width: ${D(e.px)})`,styles:s[e.value]})),d=ue(v(c),a.breakpoints).map(e=>({query:`(max-width: ${D(e.px)})`,styles:c[e.value]}));return{baseStyles:l,media:[...u,...d]}}function du({navbar:e,header:t,aside:n,footer:r,padding:i,mode:a,selector:o}){let s=rn(),c=Pt(),{media:l,baseStyles:u}=uu({navbar:e,header:t,footer:r,aside:n,padding:i,theme:s,mode:a});return(0,z.jsx)(Ln,{media:l,styles:u,selector:o||c.cssVariablesSelector})}function fu({transitionDuration:e,disabled:t}){let[n,r]=(0,A.useState)(!0),i=(0,A.useRef)(-1),a=(0,A.useRef)(-1);return Ae(`resize`,()=>{r(!0),clearTimeout(i.current),i.current=window.setTimeout(()=>(0,A.startTransition)(()=>{r(!1)}),200)}),ge(()=>{r(!0),clearTimeout(a.current),a.current=window.setTimeout(()=>(0,A.startTransition)(()=>{r(!1)}),e||0)},[t,e]),n}var pu={withBorder:!0,padding:0,transitionDuration:200,transitionTimingFunction:`ease`,zIndex:te(`app`),mode:`fixed`},mu=rt((e,{transitionDuration:t,transitionTimingFunction:n})=>({root:{"--app-shell-transition-duration":`${t}ms`,"--app-shell-transition-timing-function":n}})),hu=H(e=>{let t=B(`AppShell`,pu,e),{classNames:n,className:r,style:i,styles:a,unstyled:o,vars:s,navbar:c,withBorder:l,padding:u,transitionDuration:d,transitionTimingFunction:f,header:p,zIndex:m,layout:h,disabled:g,aside:_,footer:v,offsetScrollbars:y=!0,mode:b,mod:x,attributes:S,id:C,...w}=t,T=V({name:`AppShell`,classes:Yl,props:t,className:r,style:i,classNames:n,styles:a,unstyled:o,attributes:S,vars:s,varsResolver:mu}),E=fu({disabled:g,transitionDuration:d}),D=ke(C);return(0,z.jsxs)(ql,{value:{getStyles:T,withBorder:l,zIndex:m,disabled:g,offsetScrollbars:y,mode:b},children:[(0,z.jsx)(du,{navbar:c,header:p,aside:_,footer:v,padding:u,mode:b,selector:b===`static`?`#${D}`:void 0}),(0,z.jsx)(U,{...T(`root`),id:D,mod:[{resizing:E,layout:h,disabled:g,mode:b},x],...w})]})});hu.classes=Yl,hu.varsResolver=mu,hu.displayName=`@mantine/core/AppShell`,hu.Navbar=eu,hu.Header=Ql,hu.Main=$l,hu.Aside=Xl,hu.Footer=Zl,hu.Section=tu;function gu(e){return typeof e==`string`?{value:e,label:e}:typeof e==`object`&&`value`in e&&!(`label`in e)?{value:e.value,label:`${e.value}`,disabled:e.disabled}:typeof e==`object`&&`group`in e?{group:e.group,items:e.items.map(e=>gu(e))}:typeof e==`number`||typeof e==`bigint`||typeof e==`boolean`?{value:e,label:`${e}`}:e}function _u(e){return e?e.map(e=>gu(e)):[]}function vu(e){return e.reduce((e,t)=>`group`in t?{...e,...vu(t.items)}:(e[`${t.value}`]=t,e),{})}var q={dropdown:`m_88b62a41`,search:`m_985517d8`,options:`m_b2821a6e`,option:`m_92253aa5`,empty:`m_2530cd1d`,header:`m_858f94bd`,footer:`m_82b967cb`,group:`m_254f3e4f`,groupLabel:`m_2bb2e9e5`,chevron:`m_2943220b`,optionsDropdownOption:`m_390b5f4`,optionsDropdownCheckIcon:`m_8ee53fc2`,optionsDropdownCheckPlaceholder:`m_a530ee0a`},yu={error:null},bu=rt((e,{size:t,color:n})=>({chevron:{"--combobox-chevron-size":N(t,`combobox-chevron-size`),"--combobox-chevron-color":n?Ct(n,e):void 0}})),xu=H(e=>{let t=B(`ComboboxChevron`,yu,e),{size:n,error:r,style:i,className:a,classNames:o,styles:s,unstyled:c,vars:l,attributes:u,mod:d,...f}=t,p=V({name:`ComboboxChevron`,classes:q,props:t,style:i,className:a,classNames:o,styles:s,unstyled:c,vars:l,varsResolver:bu,attributes:u,rootSelector:`chevron`});return(0,z.jsx)(U,{component:`svg`,...f,...p(`chevron`),size:n,viewBox:`0 0 15 15`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,mod:[`combobox-chevron`,{error:r},d],children:(0,z.jsx)(`path`,{d:`M4.93179 5.43179C4.75605 5.60753 4.75605 5.89245 4.93179 6.06819C5.10753 6.24392 5.39245 6.24392 5.56819 6.06819L7.49999 4.13638L9.43179 6.06819C9.60753 6.24392 9.89245 6.24392 10.0682 6.06819C10.2439 5.89245 10.2439 5.60753 10.0682 5.43179L7.81819 3.18179C7.73379 3.0974 7.61933 3.04999 7.49999 3.04999C7.38064 3.04999 7.26618 3.0974 7.18179 3.18179L4.93179 5.43179ZM10.0682 9.56819C10.2439 9.39245 10.2439 9.10753 10.0682 8.93179C9.89245 8.75606 9.60753 8.75606 9.43179 8.93179L7.49999 10.8636L5.56819 8.93179C5.39245 8.75606 5.10753 8.75606 4.93179 8.93179C4.75605 9.10753 4.75605 9.39245 4.93179 9.56819L7.18179 11.8182C7.35753 11.9939 7.64245 11.9939 7.81819 11.8182L10.0682 9.56819Z`,fill:`currentColor`,fillRule:`evenodd`,clipRule:`evenodd`})})});xu.classes=q,xu.varsResolver=bu,xu.displayName=`@mantine/core/ComboboxChevron`;var[Su,Cu]=M(`Combobox component was not found in tree`);function wu({onMouseDown:e,onClick:t,onClear:n,...r}){return(0,z.jsx)(Ll.ClearButton,{tabIndex:-1,"aria-hidden":!0,...r,onMouseDown:t=>{t.preventDefault(),e?.(t)},onClick:e=>{n(),t?.(e)}})}wu.displayName=`@mantine/core/ComboboxClearButton`;var Tu=H(e=>{let{classNames:t,styles:n,className:r,style:i,hidden:a,...o}=B(`ComboboxDropdown`,null,e),s=Cu();return(0,z.jsx)(Ps.Dropdown,{...o,role:`presentation`,"data-hidden":a||void 0,"data-floating-height":s.floatingHeight||void 0,...s.getStyles(`dropdown`,{className:r,style:i,classNames:t,styles:n})})});Tu.classes=q,Tu.displayName=`@mantine/core/ComboboxDropdown`;var Eu={refProp:`ref`},Du=H(e=>{let{children:t,refProp:n,ref:r}=B(`ComboboxDropdownTarget`,Eu,e);if(Cu(),!j(t))throw Error(`Combobox.DropdownTarget component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported`);return(0,z.jsx)(Ps.Target,{ref:r,refProp:n,children:t})});Du.displayName=`@mantine/core/ComboboxDropdownTarget`;var Ou=H(e=>{let{classNames:t,className:n,style:r,styles:i,vars:a,...o}=B(`ComboboxEmpty`,null,e),s=Cu();return(0,z.jsx)(U,{...s.getStyles(`empty`,{className:n,classNames:t,styles:i,style:r}),...o})});Ou.classes=q,Ou.displayName=`@mantine/core/ComboboxEmpty`;function ku({onKeyDown:e,onClick:t,withKeyboardNavigation:n,withAriaAttributes:r,withExpandedAttribute:i,targetType:a,autoComplete:o}){let s=Cu(),[c,l]=(0,A.useState)(null),u=t=>{if(e?.(t),!s.readOnly&&n){if(t.nativeEvent.isComposing)return;if(t.nativeEvent.code===`ArrowDown`&&(t.preventDefault(),s.store.dropdownOpened?l(s.store.selectNextOption()):(s.store.openDropdown(`keyboard`),l(s.store.selectActiveOption()),s.store.updateSelectedOptionIndex(`selected`,{scrollIntoView:!0}))),t.nativeEvent.code===`ArrowUp`&&(t.preventDefault(),s.store.dropdownOpened?l(s.store.selectPreviousOption()):(s.store.openDropdown(`keyboard`),l(s.store.selectActiveOption()),s.store.updateSelectedOptionIndex(`selected`,{scrollIntoView:!0}))),t.nativeEvent.code===`Enter`||t.nativeEvent.code===`NumpadEnter`){if(t.nativeEvent.keyCode===229)return;let e=s.store.getSelectedOptionIndex();s.store.dropdownOpened&&e!==-1?(t.preventDefault(),s.store.clickSelectedOption()):a===`button`&&(t.preventDefault(),s.store.openDropdown(`keyboard`))}t.key===`Escape`&&s.store.closeDropdown(`keyboard`),t.nativeEvent.code===`Space`&&a===`button`&&(t.preventDefault(),s.store.toggleDropdown(`keyboard`))}},d=r?{...i?{role:`combobox`}:{},"aria-haspopup":`listbox`,"aria-expanded":i?!!(s.store.listId&&s.store.dropdownOpened):void 0,"aria-controls":s.store.dropdownOpened&&s.store.listId?s.store.listId:void 0,"aria-activedescendant":s.store.dropdownOpened&&c||void 0,autoComplete:o,"data-expanded":s.store.dropdownOpened||void 0,"data-mantine-stop-propagation":s.store.dropdownOpened||void 0}:{},f=e=>{a===`button`&&e.currentTarget.focus(),t?.(e)};return{...d,onKeyDown:u,onClick:f}}var Au={refProp:`ref`,targetType:`input`,withKeyboardNavigation:!0,withAriaAttributes:!0,withExpandedAttribute:!1,autoComplete:`off`},ju=H(e=>{let{children:t,refProp:n,withKeyboardNavigation:r,withAriaAttributes:i,withExpandedAttribute:a,targetType:o,autoComplete:s,ref:c,...l}=B(`ComboboxEventsTarget`,Au,e),u=nt(t);if(!u)throw Error(`Combobox.EventsTarget component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported`);let d=Cu(),f=ku({targetType:o,withAriaAttributes:i,withKeyboardNavigation:r,withExpandedAttribute:a,onKeyDown:u.props.onKeyDown,onClick:u.props.onClick,autoComplete:s});return(0,A.cloneElement)(u,{...f,...l,[n]:Ne(c,d.store.targetRef,Qe(u))})});ju.displayName=`@mantine/core/ComboboxEventsTarget`;var Mu=H(e=>{let{classNames:t,className:n,style:r,styles:i,vars:a,...o}=B(`ComboboxFooter`,null,e),s=Cu();return(0,z.jsx)(U,{...s.getStyles(`footer`,{className:n,classNames:t,style:r,styles:i}),...o,onMouseDown:e=>{e.preventDefault()}})});Mu.classes=q,Mu.displayName=`@mantine/core/ComboboxFooter`;var Nu=H(e=>{let{classNames:t,className:n,style:r,styles:i,vars:a,children:o,label:s,id:c,...l}=B(`ComboboxGroup`,null,e),u=Cu(),d=ke(c),f=s!=null&&s!==!1&&s!==``;return(0,z.jsxs)(U,{role:`group`,"aria-labelledby":f?d:void 0,...u.getStyles(`group`,{className:n,classNames:t,style:r,styles:i}),...l,children:[f&&(0,z.jsx)(`div`,{id:d,...u.getStyles(`groupLabel`,{classNames:t,styles:i}),children:s}),o]})});Nu.classes=q,Nu.displayName=`@mantine/core/ComboboxGroup`;var Pu=H(e=>{let{classNames:t,className:n,style:r,styles:i,vars:a,...o}=B(`ComboboxHeader`,null,e),s=Cu();return(0,z.jsx)(U,{...s.getStyles(`header`,{className:n,classNames:t,style:r,styles:i}),...o,onMouseDown:e=>{e.preventDefault()}})});Pu.classes=q,Pu.displayName=`@mantine/core/ComboboxHeader`;function Fu({value:e,valuesDivider:t=`,`,...n}){return(0,z.jsx)(`input`,{type:`hidden`,value:Array.isArray(e)?e.join(t):e?`${e}`:``,...n})}Fu.displayName=`@mantine/core/ComboboxHiddenInput`;var Iu=H(e=>{let t=B(`ComboboxOption`,null,e),{classNames:n,className:r,style:i,styles:a,vars:o,onClick:s,id:c,active:l,onMouseDown:u,onMouseOver:d,disabled:f,selected:p,mod:m,...h}=t,g=Cu(),_=(0,A.useId)(),v=c||_;return(0,z.jsx)(U,{...g.getStyles(`option`,{className:r,classNames:n,styles:a,style:i}),...h,id:v,mod:[`combobox-option`,{"combobox-active":l,"combobox-disabled":f,"combobox-selected":p},m],role:`option`,onClick:e=>{f?e.preventDefault():(g.onOptionSubmit?.(t.value,t),s?.(e))},onMouseDown:e=>{e.preventDefault(),u?.(e)},onMouseOver:e=>{g.resetSelectionOnOptionHover&&g.store.resetSelectedOption(),d?.(e)}})});Iu.classes=q,Iu.displayName=`@mantine/core/ComboboxOption`;var Lu=H(e=>{let{classNames:t,className:n,style:r,styles:i,id:a,onMouseDown:o,labelledBy:s,...c}=B(`ComboboxOptions`,null,e),l=Cu(),u=ke(a);return(0,A.useEffect)(()=>{l.store.setListId(u)},[u]),(0,z.jsx)(U,{...l.getStyles(`options`,{className:n,style:r,classNames:t,styles:i}),...c,id:u,role:`listbox`,"aria-labelledby":s,onMouseDown:e=>{e.preventDefault(),o?.(e)}})});Lu.classes=q,Lu.displayName=`@mantine/core/ComboboxOptions`;var Ru={withAriaAttributes:!0,withKeyboardNavigation:!0},zu=H(e=>{let{classNames:t,styles:n,unstyled:r,vars:i,withAriaAttributes:a,onKeyDown:o,onClick:s,withKeyboardNavigation:c,size:l,ref:u,...d}=B(`ComboboxSearch`,Ru,e),f=Cu(),p=f.getStyles(`search`),m=ku({targetType:`input`,withAriaAttributes:a,withKeyboardNavigation:c,withExpandedAttribute:!1,onKeyDown:o,onClick:s,autoComplete:`off`});return(0,z.jsx)(Ll,{ref:Ne(u,f.store.searchRef),classNames:[{input:p.className},t],styles:[{input:p.style},n],size:l||f.size,...m,...d,__staticSelector:`Combobox`})});zu.classes=q,zu.displayName=`@mantine/core/ComboboxSearch`;var Bu={refProp:`ref`,targetType:`input`,withKeyboardNavigation:!0,withAriaAttributes:!0,withExpandedAttribute:!1,autoComplete:`off`},Vu=H(e=>{let{children:t,refProp:n,withKeyboardNavigation:r,withAriaAttributes:i,withExpandedAttribute:a,targetType:o,autoComplete:s,ref:c,...l}=B(`ComboboxTarget`,Bu,e),u=nt(t);if(!u)throw Error(`Combobox.Target component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported`);let d=Cu(),f=ku({targetType:o,withAriaAttributes:i,withKeyboardNavigation:r,withExpandedAttribute:a,onKeyDown:u.props.onKeyDown,onClick:u.props.onClick,autoComplete:s}),p=(0,A.cloneElement)(u,{...f,...l});return(0,z.jsx)(Ps.Target,{refProp:n,ref:Ne(c,d.store.targetRef),children:p})});Vu.displayName=`@mantine/core/ComboboxTarget`;function Hu(e,t,n){for(let n=e-1;n>=0;--n)if(!t[n].hasAttribute(`data-combobox-disabled`))return n;if(n){for(let e=t.length-1;e>-1;--e)if(!t[e].hasAttribute(`data-combobox-disabled`))return e}return e}function Uu(e,t,n){for(let n=e+1;n<t.length;n+=1)if(!t[n].hasAttribute(`data-combobox-disabled`))return n;if(n){for(let e=0;e<t.length;e+=1)if(!t[e].hasAttribute(`data-combobox-disabled`))return e}return e}function Wu(e){for(let t=0;t<e.length;t+=1)if(!e[t].hasAttribute(`data-combobox-disabled`))return t;return-1}function Gu({defaultOpened:e,opened:t,onOpenedChange:n,onDropdownClose:r,onDropdownOpen:i,loop:a=!0,scrollBehavior:o=`instant`}={}){let[s,c]=Pe({value:t,defaultValue:e,finalValue:!1,onChange:n}),l=(0,A.useRef)(null),u=(0,A.useRef)(-1),d=(0,A.useRef)(null),f=(0,A.useRef)(null),p=(0,A.useRef)(-1),m=(0,A.useRef)(-1),h=(0,A.useRef)(-1),g=(0,A.useCallback)((e=`unknown`)=>{s||(c(!0),i?.(e))},[c,i,s]),_=(0,A.useCallback)((e=`unknown`)=>{s&&(c(!1),r?.(e))},[c,r,s]),v=(0,A.useCallback)((e=`unknown`)=>{s?_(e):g(e)},[_,g,s]),y=(0,A.useCallback)(()=>{let e=tt(f.current),t=$e(`#${l.current} [data-combobox-selected]`,e);t?.removeAttribute(`data-combobox-selected`),t?.removeAttribute(`aria-selected`)},[]),b=(0,A.useCallback)(e=>{let t=tt(f.current),n=$e(`#${l.current}`,t),r=n?et(`[data-combobox-option]`,n):null;if(!r)return null;let i=e>=r.length?0:e<0?r.length-1:e;return u.current=i,r?.[i]&&!r[i].hasAttribute(`data-combobox-disabled`)?(y(),r[i].setAttribute(`data-combobox-selected`,`true`),r[i].setAttribute(`aria-selected`,`true`),r[i].scrollIntoView({block:`nearest`,behavior:o}),r[i].id):null},[o,y]),x=(0,A.useCallback)(()=>{let e=tt(f.current),t=$e(`#${l.current} [data-combobox-active]`,e);if(t){let n=et(`#${l.current} [data-combobox-option]`,e).findIndex(e=>e===t);return b(n)}return b(0)},[b]),S=(0,A.useCallback)(()=>{let e=tt(f.current),t=et(`#${l.current} [data-combobox-option]`,e);return b(Uu(u.current,t,a))},[b,a]),C=(0,A.useCallback)(()=>{let e=tt(f.current),t=et(`#${l.current} [data-combobox-option]`,e);return b(Hu(u.current,t,a))},[b,a]),w=(0,A.useCallback)(()=>{let e=tt(f.current),t=et(`#${l.current} [data-combobox-option]`,e);return b(Wu(t))},[b]),T=(0,A.useCallback)((e=`selected`,t)=>{if(typeof e==`number`){u.current=e;let n=tt(f.current),r=et(`#${l.current} [data-combobox-option]`,n);t?.scrollIntoView&&r[e]?.scrollIntoView({block:`nearest`,behavior:o});return}h.current=window.setTimeout(()=>{let n=tt(f.current),r=et(`#${l.current} [data-combobox-option]`,n),i=r.findIndex(t=>t.hasAttribute(`data-combobox-${e}`));u.current=i,t?.scrollIntoView&&r[i]?.scrollIntoView({block:`nearest`,behavior:o})},0)},[]),E=(0,A.useCallback)(()=>{u.current=-1,y()},[y]),D=(0,A.useCallback)(()=>{let e=tt(f.current);(et(`#${l.current} [data-combobox-option]`,e)?.[u.current])?.click()},[]),O=(0,A.useCallback)(e=>{l.current=e},[]),k=(0,A.useCallback)(()=>{p.current=window.setTimeout(()=>d.current?.focus(),0)},[]),j=(0,A.useCallback)(()=>{m.current=window.setTimeout(()=>f.current?.focus(),0)},[]),M=(0,A.useCallback)(()=>u.current,[]);return(0,A.useEffect)(()=>()=>{window.clearTimeout(p.current),window.clearTimeout(m.current),window.clearTimeout(h.current)},[]),{dropdownOpened:s,openDropdown:g,closeDropdown:_,toggleDropdown:v,selectedOptionIndex:u.current,getSelectedOptionIndex:M,selectOption:b,selectFirstOption:w,selectActiveOption:x,selectNextOption:S,selectPreviousOption:C,resetSelectedOption:E,updateSelectedOptionIndex:T,listId:l.current,setListId:O,clickSelectedOption:D,searchRef:d,focusSearchInput:k,targetRef:f,focusTarget:j}}var Ku={keepMounted:!0,keepMountedMode:`display-none`,withinPortal:!0,resetSelectionOnOptionHover:!1,width:`target`,transitionProps:{transition:`fade`,duration:0},size:`sm`},qu=rt((e,{size:t,dropdownPadding:n})=>({options:{"--combobox-option-fz":P(t),"--combobox-option-padding":N(t,`combobox-option-padding`)},dropdown:{"--combobox-padding":n===void 0?void 0:E(n),"--combobox-option-fz":P(t),"--combobox-option-padding":N(t,`combobox-option-padding`)}})),J=e=>{let t=B(`Combobox`,Ku,e),{classNames:n,styles:r,unstyled:i,children:a,store:o,vars:s,onOptionSubmit:c,onClose:l,size:u,dropdownPadding:d,resetSelectionOnOptionHover:f,__staticSelector:p,readOnly:m,attributes:h,floatingHeight:g,middlewares:_,...v}=t,y=g===`viewport`?{..._,flip:!1,size:{...typeof _?.size==`object`?_.size:{},padding:typeof _?.size==`object`&&_.size.padding!==void 0?_.size.padding:10,apply:({availableHeight:e,availableWidth:t,elements:n,...r})=>{n.floating.style.setProperty(`--combobox-floating-max-height`,`${e}px`);let i=_?.size;typeof i==`object`&&i.apply?i.apply({availableHeight:e,availableWidth:t,elements:n,...r}):i&&Object.assign(n.floating.style,{maxWidth:`${t}px`,maxHeight:`${e}px`})}}}:_,b=Gu(),x=o||b,S=V({name:p||`Combobox`,classes:q,props:t,classNames:n,styles:r,unstyled:i,attributes:h,vars:s,varsResolver:qu}),C=()=>{l?.(),x.closeDropdown()};return(0,z.jsx)(Su,{value:{getStyles:S,store:x,onOptionSubmit:c,size:u,resetSelectionOnOptionHover:f,readOnly:m,floatingHeight:g},children:(0,z.jsx)(Ps,{opened:x.dropdownOpened,...v,middlewares:y,onChange:e=>!e&&C(),withRoles:!1,unstyled:i,children:a})})};J.extend=e=>e,J.classes=q,J.varsResolver=qu,J.displayName=`@mantine/core/Combobox`,J.Target=Vu,J.Dropdown=Tu,J.Options=Lu,J.Option=Iu,J.Search=zu,J.Empty=Ou,J.Chevron=xu,J.Footer=Mu,J.Header=Pu,J.EventsTarget=ju,J.DropdownTarget=Du,J.Group=Nu,J.ClearButton=wu,J.HiddenInput=Fu;function Ju({size:e,style:t,...n}){let r=e===void 0?t:{width:E(e),height:E(e),...t};return(0,z.jsx)(`svg`,{viewBox:`0 0 10 7`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,style:r,"aria-hidden":!0,...n,children:(0,z.jsx)(`path`,{d:`M4 4.586L1.707 2.293A1 1 0 1 0 .293 3.707l3 3a.997.997 0 0 0 1.414 0l5-5A1 1 0 1 0 8.293.293L4 4.586z`,fill:`currentColor`,fillRule:`evenodd`,clipRule:`evenodd`})})}function Yu(e){return`group`in e}function Xu({options:e,search:t,limit:n}){let r=t.trim().toLowerCase(),i=[];for(let a=0;a<e.length;a+=1){let o=e[a];if(i.length===n)return i;Yu(o)&&i.push({group:o.group,items:Xu({options:o.items,search:t,limit:n-i.length})}),Yu(o)||o.label.toLowerCase().includes(r)&&i.push(o)}return i}function Y(e){if(e.length===0)return!0;for(let t of e)if(!(`group`in t)||t.items.length>0)return!1;return!0}function Zu(e,t=new Set){if(Array.isArray(e))for(let n of e)if(Yu(n))Zu(n.items,t);else{if(n.value===void 0)throw Error(`[@mantine/core] Each option must have value property`);if(t.has(n.value))throw Error(`[@mantine/core] Duplicate options are not supported. Option with value "${n.value}" was provided more than once`);t.add(n.value)}}function X(e,t){return Array.isArray(e)?e.includes(t):e===t}function Z({data:e,withCheckIcon:t,withAlignedLabels:n,value:r,checkIconPosition:i,unstyled:a,renderOption:o}){if(!Yu(e)){let s=X(r,e.value),c=t&&(s?(0,z.jsx)(Ju,{className:q.optionsDropdownCheckIcon}):n?(0,z.jsx)(`div`,{className:q.optionsDropdownCheckPlaceholder}):null),l=(0,z.jsxs)(z.Fragment,{children:[i===`left`&&c,(0,z.jsx)(`span`,{children:e.label}),i===`right`&&c]});return(0,z.jsx)(J.Option,{value:e.value,disabled:e.disabled,className:at({[q.optionsDropdownOption]:!a}),"data-reverse":i===`right`||void 0,"data-checked":s||void 0,"aria-selected":s,active:s,children:typeof o==`function`?o({option:e,checked:s}):l})}let s=e.items.map(e=>(0,z.jsx)(Z,{data:e,value:r,unstyled:a,withCheckIcon:t,withAlignedLabels:n,checkIconPosition:i,renderOption:o},`${e.value}`));return(0,z.jsx)(J.Group,{label:e.group,children:s})}function Qu({data:e,hidden:t,hiddenWhenEmpty:n,filter:r,search:i,limit:a,maxDropdownHeight:o,floatingHeight:s,withScrollArea:c=!0,filterOptions:l=!0,withCheckIcon:u=!1,withAlignedLabels:d=!1,value:f,checkIconPosition:p,nothingFoundMessage:m,unstyled:h,labelId:g,renderOption:_,scrollAreaProps:v,"aria-label":y}){let b=Cu();Zu(e);let x=typeof i==`string`?(r||Xu)({options:e,search:l?i:``,limit:a??1/0}):e,S=Y(x),C=x.map((e,t)=>(0,z.jsx)(Z,{data:e,withCheckIcon:u,withAlignedLabels:d,value:f,checkIconPosition:p,unstyled:h,renderOption:_},Yu(e)?`group-${typeof e.group==`string`?e.group:t}`:`${e.value}`));return(0,z.jsx)(J.Dropdown,{hidden:t||n&&S,"data-composed":!0,children:(0,z.jsxs)(J.Options,{labelledBy:g,"aria-label":y,children:[c?(0,z.jsx)(Uo.Autosize,{mah:(s??b.floatingHeight)===`viewport`?`var(--combobox-floating-options-max-height)`:o??220,type:`scroll`,scrollbarSize:`var(--combobox-padding)`,offsetScrollbars:`y`,...v,children:C}):C,S&&m&&(0,z.jsx)(J.Empty,{children:m})]})})}var $u={root:`m_347db0ec`,"root--dot":`m_fbd81e3d`,label:`m_5add502a`,section:`m_91fdda9b`},ed=rt((e,{radius:t,color:n,gradient:r,variant:i,size:a,autoContrast:o,circle:s})=>{let c=e.variantColorResolver({color:n||e.primaryColor,theme:e,gradient:r,variant:i||`filled`,autoContrast:o});return{root:{"--badge-height":N(a,`badge-height`),"--badge-padding-x":N(a,`badge-padding-x`),"--badge-fz":N(a,`badge-fz`),"--badge-radius":s||t===void 0?void 0:ae(t),"--badge-bg":n||i?c.background:void 0,"--badge-color":n||i?c.color:void 0,"--badge-bd":n||i?c.border:void 0,"--badge-dot-color":i===`dot`?Ct(n,e):void 0}}}),td=hr(e=>{let t=B(`Badge`,null,e),{classNames:n,className:r,style:i,styles:a,unstyled:o,vars:s,radius:c,color:l,gradient:u,leftSection:d,rightSection:f,children:p,variant:m,fullWidth:h,autoContrast:g,circle:_,mod:v,attributes:y,...b}=t,x=V({name:`Badge`,props:t,classes:$u,className:r,style:i,classNames:n,styles:a,unstyled:o,attributes:y,vars:s,varsResolver:ed});return(0,z.jsxs)(U,{variant:m,mod:[{block:h,circle:_,"with-right-section":!!f,"with-left-section":!!d},v],...x(`root`,{variant:m}),...b,children:[d&&(0,z.jsx)(`span`,{...x(`section`),"data-position":`left`,children:d}),(0,z.jsx)(`span`,{...x(`label`),children:p}),f&&(0,z.jsx)(`span`,{...x(`section`),"data-position":`right`,children:f})]})});td.classes=$u,td.varsResolver=ed,td.displayName=`@mantine/core/Badge`;var nd={root:`m_fea6bf1a`,burger:`m_d4fb9cad`},rd=rt((e,{color:t,size:n,lineSize:r,transitionDuration:i,transitionTimingFunction:a})=>({root:{"--burger-color":t?Ct(t,e):void 0,"--burger-size":N(n,`burger-size`),"--burger-line-size":r?E(r):void 0,"--burger-transition-duration":i===void 0?void 0:`${i}ms`,"--burger-transition-timing-function":a}})),id=H(e=>{let t=B(`Burger`,null,e),{classNames:n,className:r,style:i,styles:a,unstyled:o,vars:s,opened:c,children:l,transitionDuration:u,transitionTimingFunction:d,lineSize:f,attributes:p,...m}=t,h=V({name:`Burger`,classes:nd,props:t,className:r,style:i,classNames:n,styles:a,unstyled:o,attributes:p,vars:s,varsResolver:rd});return(0,z.jsxs)(qo,{...h(`root`),...m,children:[(0,z.jsx)(U,{mod:[`reduce-motion`,{opened:c}],...h(`burger`)}),l]})});id.classes=nd,id.varsResolver=rd,id.displayName=`@mantine/core/Burger`;var ad={root:`m_77c9d27d`,inner:`m_80f1301b`,label:`m_811560b9`,section:`m_a74036a`,loader:`m_a25b86ee`,group:`m_80d6d844`,groupSection:`m_70be2a01`},od={orientation:`horizontal`},sd=rt((e,{borderWidth:t})=>({group:{"--button-border-width":E(t)}})),cd=H(e=>{let t=B(`ButtonGroup`,od,e),{className:n,style:r,classNames:i,styles:a,unstyled:o,orientation:s,vars:c,borderWidth:l,mod:u,attributes:d,...f}=B(`ButtonGroup`,od,e),p=V({name:`ButtonGroup`,props:t,classes:ad,className:n,style:r,classNames:i,styles:a,unstyled:o,attributes:d,vars:c,varsResolver:sd,rootSelector:`group`});return(0,z.jsx)(U,{...p(`group`),mod:[{orientation:s},u],role:`group`,...f})});cd.classes=ad,cd.varsResolver=sd,cd.displayName=`@mantine/core/ButtonGroup`;var ld=rt((e,{radius:t,color:n,gradient:r,variant:i,autoContrast:a,size:o})=>{let s=e.variantColorResolver({color:n||e.primaryColor,theme:e,gradient:r,variant:i||`filled`,autoContrast:a});return{groupSection:{"--section-height":N(o,`section-height`),"--section-padding-x":N(o,`section-padding-x`),"--section-fz":o?.includes(`compact`)?P(o.replace(`compact-`,``)):P(o),"--section-radius":t===void 0?void 0:ae(t),"--section-bg":n||i?s.background:void 0,"--section-color":s.color,"--section-bd":n||i?s.border:void 0}}}),ud=H(e=>{let t=B(`ButtonGroupSection`,null,e),{className:n,style:r,classNames:i,styles:a,unstyled:o,vars:s,gradient:c,radius:l,autoContrast:u,attributes:d,...f}=t,p=V({name:`ButtonGroupSection`,props:t,classes:ad,className:n,style:r,classNames:i,styles:a,unstyled:o,attributes:d,vars:s,varsResolver:ld,rootSelector:`groupSection`});return(0,z.jsx)(U,{...p(`groupSection`),...f})});ud.classes=ad,ud.varsResolver=ld,ud.displayName=`@mantine/core/ButtonGroupSection`;var dd={in:{opacity:1,transform:`translate(-50%, calc(-50% + ${E(1)}))`},out:{opacity:0,transform:`translate(-50%, -200%)`},common:{transformOrigin:`center`},transitionProperty:`transform, opacity`},fd=rt((e,{radius:t,color:n,gradient:r,variant:i,size:a,justify:o,autoContrast:s})=>{let c=e.variantColorResolver({color:n||e.primaryColor,theme:e,gradient:r,variant:i||`filled`,autoContrast:s});return{root:{"--button-justify":o,"--button-height":N(a,`button-height`),"--button-padding-x":N(a,`button-padding-x`),"--button-fz":a?.includes(`compact`)?P(a.replace(`compact-`,``)):P(a),"--button-radius":t===void 0?void 0:ae(t),"--button-bg":n||i?c.background:void 0,"--button-hover":n||i?c.hover:void 0,"--button-color":c.color,"--button-bd":n||i?c.border:void 0,"--button-hover-color":n||i?c.hoverColor:void 0}}}),pd=hr(e=>{let t=B(`Button`,null,e),{style:n,vars:r,className:i,color:a,disabled:o,children:s,leftSection:c,rightSection:l,fullWidth:u,variant:d,radius:f,loading:p,loaderProps:m,gradient:h,classNames:g,styles:_,unstyled:v,"data-disabled":y,autoContrast:b,mod:x,attributes:S,...C}=t,w=V({name:`Button`,props:t,classes:ad,className:i,style:n,classNames:g,styles:_,unstyled:v,attributes:S,vars:r,varsResolver:fd}),T=!!c,E=!!l;return(0,z.jsxs)(qo,{...w(`root`,{active:!o&&!p&&!y}),unstyled:v,variant:d,disabled:o||p,mod:[{disabled:o||y,loading:p,block:u,"with-left-section":T,"with-right-section":E},x],...C,children:[typeof p==`boolean`&&(0,z.jsx)(vs,{mounted:p,transition:dd,duration:150,children:e=>(0,z.jsx)(U,{component:`span`,...w(`loader`,{style:e}),"aria-hidden":!0,children:(0,z.jsx)(Hs,{color:`var(--button-color)`,size:`calc(var(--button-height) / 1.8)`,...m})})}),(0,z.jsxs)(`span`,{...w(`inner`),children:[c&&(0,z.jsx)(U,{component:`span`,...w(`section`),mod:{position:`left`},children:c}),(0,z.jsx)(U,{component:`span`,mod:{loading:p},...w(`label`),children:s}),l&&(0,z.jsx)(U,{component:`span`,...w(`section`),mod:{position:`right`},children:l})]})]})});pd.classes=ad,pd.varsResolver=fd,pd.displayName=`@mantine/core/Button`,pd.Group=cd,pd.GroupSection=ud;function md(e){let t=e.currentTarget;return tt(t).activeElement!==t}function hd(e,t){let n=t.trim().toLowerCase();if(n===``)return;let r=Object.values(e).filter(e=>!e.disabled&&e.label.trim().toLowerCase()===n);return r.length===1?r[0]:void 0}var gd={root:`m_f0824112`,description:`m_57492dcc`,section:`m_690090b5`,label:`m_1f6ac4c4`,body:`m_f07af9d2`,children:`m_e17b862f`,chevron:`m_1fd8a00b`},_d=rt((e,{variant:t,color:n,childrenOffset:r,autoContrast:i})=>{let a=e.variantColorResolver({color:n||e.primaryColor,theme:e,variant:t||`light`,autoContrast:i});return{root:{"--nl-bg":n||t?a.background:void 0,"--nl-hover":n||t?a.hover:void 0,"--nl-color":n||t?a.color:void 0},children:{"--nl-offset":ie(r)}}}),vd=hr(e=>{let t=B(`NavLink`,null,e),{classNames:n,className:r,style:i,styles:a,unstyled:o,vars:s,opened:c,defaultOpened:l,onChange:u,children:d,active:f,disabled:p,leftSection:m,rightSection:h,label:g,description:_,disableRightSectionRotation:v,noWrap:y,childrenOffset:b,autoContrast:x,mod:S,attributes:C,onClick:w,onKeyDown:T,keepMounted:E,...D}=t,O=V({name:`NavLink`,props:t,classes:gd,className:r,style:i,classNames:n,styles:a,unstyled:o,attributes:C,vars:s,varsResolver:_d}),[k,A]=Pe({value:c,defaultValue:l,finalValue:!1,onChange:u}),j=!!d,M=e=>{w?.(e),j&&(e.preventDefault(),A(!k))};return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(qo,{...O(`root`),component:`a`,onClick:M,onKeyDown:e=>{T?.(e),e.nativeEvent.code===`Space`&&j&&(e.preventDefault(),A(!k))},unstyled:o,mod:[{disabled:p,active:f,expanded:k},S],...D,children:[m&&(0,z.jsx)(U,{component:`span`,...O(`section`),mod:{position:`left`},children:m}),(0,z.jsxs)(U,{...O(`body`),mod:{"no-wrap":y},children:[(0,z.jsx)(U,{component:`span`,...O(`label`),children:g}),(0,z.jsx)(U,{component:`span`,mod:{active:f},...O(`description`),children:_})]}),(j||h!==void 0)&&(0,z.jsx)(U,{...O(`section`),component:`span`,mod:{rotate:k&&!v,position:`right`},children:j&&h===void 0?(0,z.jsx)(Vl,{...O(`chevron`)}):h})]}),j&&(0,z.jsx)(Tr,{expanded:k,keepMounted:E,...O(`collapse`),children:(0,z.jsx)(`div`,{...O(`children`),children:d})})]})});vd.classes=gd,vd.varsResolver=_d,vd.displayName=`@mantine/core/NavLink`;var yd={size:`sm`,withCheckIcon:!0,allowDeselect:!0,checkIconPosition:`left`,openOnFocus:!0},bd=mr(e=>{let t=B([`Input`,`InputWrapper`,`Select`],yd,e),{classNames:n,styles:r,unstyled:i,vars:a,dropdownOpened:o,defaultDropdownOpened:s,onDropdownClose:c,onDropdownOpen:l,onFocus:u,onBlur:d,onClick:f,onChange:p,data:m,value:h,defaultValue:g,selectFirstOptionOnChange:_,selectFirstOptionOnDropdownOpen:v,onOptionSubmit:y,comboboxProps:b,readOnly:x,disabled:S,filter:C,limit:w,withScrollArea:T,maxDropdownHeight:E,floatingHeight:D,size:O,searchable:k,rightSection:j,checkIconPosition:M,withCheckIcon:ee,withAlignedLabels:te,nothingFoundMessage:ne,name:re,form:N,searchValue:ie,defaultSearchValue:ae,onSearchChange:P,allowDeselect:oe,error:se,rightSectionPointerEvents:ce,id:le,clearable:ue,clearSectionMode:de,clearButtonProps:fe,hiddenInputProps:pe,renderOption:me,onClear:he,autoComplete:F,scrollAreaProps:I,__defaultRightSection:ge,__clearSection:_e,__clearable:ve,chevronColor:ye,autoSelectOnBlur:be,openOnFocus:L,attributes:xe,...Se}=t,Ce=(0,A.useMemo)(()=>_u(m),[m]),we=(0,A.useRef)({}),Te=(0,A.useMemo)(()=>vu(Ce),[Ce]),Ee=ke(le),[De,Oe,Ae]=Pe({value:h,defaultValue:g,finalValue:null,onChange:p}),je=De==null?void 0:`${De}`in Te?Te[`${De}`]:we.current[`${De}`],Me=Le(je),[Ne,Fe,Ie]=Pe({value:ie,defaultValue:ae,finalValue:je?je.label:``,onChange:P}),Re=Gu({opened:o,defaultOpened:s,onDropdownOpen:()=>{l?.(),v?Re.selectFirstOption():Re.updateSelectedOptionIndex(`active`,{scrollIntoView:!0})},onDropdownClose:()=>{c?.(),setTimeout(Re.resetSelectedOption,0)}}),ze=e=>{Fe(e),Re.resetSelectedOption()},{resolvedClassNames:Be,resolvedStyles:Ve}=bn({props:t,styles:r,classNames:n});(0,A.useEffect)(()=>{_&&Re.selectFirstOption()},[_,Ne]),(0,A.useEffect)(()=>{h===null&&ze(``),h!=null&&je&&(Me?.value!==je.value||Me?.label!==je.label)&&ze(je.label)},[h,je]),(0,A.useEffect)(()=>{!Ae&&!Ie&&ze(De==null?``:`${De}`in Te?Te[`${De}`]?.label:we.current[`${De}`]?.label||``)},[Te,De]),(0,A.useEffect)(()=>{De&&`${De}`in Te&&(we.current[`${De}`]=Te[`${De}`])},[Te,De]);let He=(0,z.jsx)(J.ClearButton,{...fe,onClear:()=>{Oe(null,null),ze(``),he?.()}}),Ue=ue&&De!=null&&!S&&!x;return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(J,{store:Re,__staticSelector:`Select`,classNames:Be,styles:Ve,unstyled:i,readOnly:x,size:O,attributes:xe,floatingHeight:D,keepMounted:be,onOptionSubmit:e=>{y?.(e);let t=oe&&`${Te[e].value}`==`${De}`?null:Te[e],n=t?t.value:null;n!==De&&Oe(n,t),!Ae&&ze(n==null?``:t?.label||``),Re.closeDropdown()},...b,children:[(0,z.jsx)(J.Target,{targetType:k?`input`:`button`,autoComplete:F,withExpandedAttribute:!0,children:(0,z.jsx)(Bl,{id:Ee,__defaultRightSection:(0,z.jsx)(J.Chevron,{size:O,error:se,unstyled:i,color:ye}),__clearSection:He,__clearable:Ue,__clearSectionMode:de,rightSection:j,rightSectionPointerEvents:ce||`none`,...Se,size:O,__staticSelector:`Select`,disabled:S,readOnly:x||!k,value:Ne,onChange:e=>{if(md(e)){if(!x){let t=hd(Te,e.currentTarget.value);t&&`${t.value}`!=`${De}`&&(Oe(t.value,t),!Ae&&ze(t.label))}return}ze(e.currentTarget.value),Re.openDropdown(),_&&Re.selectFirstOption()},onFocus:e=>{L&&k&&Re.openDropdown(),u?.(e)},onBlur:e=>{be&&Re.clickSelectedOption(),k&&Re.closeDropdown();let t=De!=null&&(`${De}`in Te?Te[`${De}`]:we.current[`${De}`]);ze(t&&t.label||``),d?.(e)},onClick:e=>{k?Re.openDropdown():Re.toggleDropdown(),f?.(e)},classNames:Be,styles:Ve,unstyled:i,pointer:!k,error:se,attributes:xe})}),(0,z.jsx)(Qu,{data:Ce,hidden:x||S,filter:C,search:Ne,limit:w,hiddenWhenEmpty:!ne,withScrollArea:T,maxDropdownHeight:E,filterOptions:!!k&&je?.label!==Ne,value:De,checkIconPosition:M,withCheckIcon:ee,withAlignedLabels:te,nothingFoundMessage:ne,unstyled:i,labelId:Se.label?`${Ee}-label`:void 0,"aria-label":Se.label?void 0:Se[`aria-label`],renderOption:me,scrollAreaProps:I})]}),(0,z.jsx)(J.HiddenInput,{value:De,name:re,form:N,disabled:S,...pe})]})});bd.classes={...Bl.classes,...J.classes},bd.displayName=`@mantine/core/Select`;var xd={root:`m_6d731127`},Sd={gap:`md`,align:`stretch`,justify:`flex-start`},Cd=rt((e,{gap:t,align:n,justify:r})=>({root:{"--stack-gap":ie(t),"--stack-align":n,"--stack-justify":r}})),wd=H(e=>{let t=B(`Stack`,Sd,e),{classNames:n,className:r,style:i,styles:a,unstyled:o,vars:s,align:c,justify:l,gap:u,variant:d,attributes:f,...p}=t,m=V({name:`Stack`,props:t,classes:xd,className:r,style:i,classNames:n,styles:a,unstyled:o,attributes:f,vars:s,varsResolver:Cd});return(0,z.jsx)(U,{...m(`root`),variant:d,...p})});wd.classes=xd,wd.varsResolver=Cd,wd.displayName=`@mantine/core/Stack`;var Td=H(e=>{let t=B([`Input`,`InputWrapper`,`TextInput`],null,e);return(0,z.jsx)(Bl,{component:`input`,...t,__staticSelector:`TextInput`})});Td.classes=Bl.classes,Td.displayName=`@mantine/core/TextInput`;var Ed=_();function Dd(e){if(e.kind!==`action`)return null;let t=e.action;return t.action===`join_room`?{kind:`join_room`,room:t.room}:t.action===`leave_room`?{kind:`leave_room`}:null}function Od(e,t,n){let r=e.trim();return r.length===0?{kind:`ignored`}:r.startsWith(`/`)?kd(r,t):t!==void 0&&t!==``?{kind:`action`,action:{action:`send`,target:t,content:r}}:n!==void 0&&n!==``?{kind:`action`,action:{action:`dm`,target:n,content:r}}:{kind:`local`,result:{type:`error`,text:`Join a room or select an agent first`}}}function kd(e,t){let n=e.slice(1).split(/\s+/),r=(n[0]??``).toLowerCase();switch(r){case`join`:return n[1]===void 0||n[1]===``?{kind:`local`,result:{type:`error`,text:`Usage: /join <room>`}}:{kind:`action`,action:{action:`join_room`,room:n[1]}};case`leave`:return{kind:`action`,action:{action:`leave_room`,room:n[1]??t??``}};case`rooms`:return{kind:`action`,action:{action:`list_rooms`}};case`agents`:return{kind:`action`,action:{action:`list_agents`}};case`dm`:return n[1]===void 0||n[1]===``||n[2]===void 0||n[2]===``?{kind:`local`,result:{type:`error`,text:`Usage: /dm <agent> <message>`}}:{kind:`action`,action:{action:`dm`,target:n[1],content:n.slice(2).join(` `)}};case`create`:return n[1]===void 0||n[1]===``?{kind:`local`,result:{type:`error`,text:`Usage: /create <name>`}}:{kind:`action`,action:{action:`create_room`,name:n[1],type:`public`}};case`destroy`:return n[1]===void 0||n[1]===``?{kind:`local`,result:{type:`error`,text:`Usage: /destroy <room>`}}:{kind:`action`,action:{action:`destroy_room`,room:n[1]}};case`rename`:return n[1]===void 0||n[1]===``||n[2]===void 0||n[2]===``?{kind:`local`,result:{type:`error`,text:`Usage: /rename <agent> <new-name>`}}:{kind:`action`,action:{action:`rename_agent`,agent:n[1],name:n.slice(2).join(` `)}};case`help`:return{kind:`local`,result:{type:`help`,text:`Commands: /join, /leave, /rooms, /agents, /dm, /create, /destroy, /rename, /help`}};default:return{kind:`local`,result:{type:`unknown`,text:`Unknown command: /${r}`}}}}var Ad=11,jd=19;function Md(e){return e.slice(Ad,jd)}function Nd(e,t){switch(e.type){case`room_message`:return t===e.message.room?{type:`chat`,sender:e.message.from,content:e.message.content,timestamp:e.message.timestamp}:void 0;case`dm`:return{type:`dm`,sender:e.message.from,content:e.message.content,timestamp:e.message.timestamp};case`member_joined`:return{type:`system`,text:`${e.agent} joined ${e.room}`};case`member_left`:return{type:`system`,text:`${e.agent} left ${e.room}`};case`member_status`:return{type:`status`,text:`${e.agent} is now ${e.status} in ${e.room}`};case`delivery_status`:return{type:`status`,text:`Message ${e.messageId} ${e.status} by ${e.agent}`};case`room_members`:return t===e.room?{type:`system`,text:`Members: ${e.members.map(e=>`${e.name} (${e.status})`).join(`, `)}`}:void 0;case`room_invite`:{let t=e.roomDescription?` — ${e.roomDescription}`:``;return{type:`system`,text:`${e.fromName} invited you to "${e.room}"${t}`}}case`invite_declined`:return{type:`system`,text:`${e.agentName} declined invite to ${e.room}: "${e.reason}"`};case`name_changed`:return{type:`system`,text:`${e.oldName} is now known as ${e.newName}`};default:return e}}function Pd(e){return{type:`chat`,sender:e.from,content:e.content,timestamp:e.timestamp}}function Fd({message:e}){switch(e.type){case`chat`:return(0,z.jsxs)(oc,{gap:`xs`,wrap:`wrap`,align:`baseline`,children:[(0,z.jsx)(Kl,{fw:600,c:`accent`,span:!0,children:e.sender}),(0,z.jsx)(Kl,{c:`dimmed`,size:`xs`,span:!0,children:Md(e.timestamp)}),(0,z.jsxs)(Kl,{span:!0,children:[`: `,e.content]})]});case`dm`:return(0,z.jsxs)(oc,{gap:`xs`,wrap:`wrap`,align:`baseline`,children:[(0,z.jsx)(td,{color:`grape`,size:`xs`,children:`DM`}),(0,z.jsx)(Kl,{fw:600,c:`accent`,span:!0,children:e.sender}),(0,z.jsx)(Kl,{c:`dimmed`,size:`xs`,span:!0,children:Md(e.timestamp)}),(0,z.jsxs)(Kl,{span:!0,children:[`: `,e.content]})]});case`system`:return(0,z.jsx)(Kl,{c:`dimmed`,fs:`italic`,size:`sm`,children:e.text});case`status`:return(0,z.jsx)(Kl,{c:`yellow`,size:`xs`,children:e.text})}}function Id({messages:e}){let t=(0,A.useRef)(null);return(0,A.useEffect)(()=>{let e=t.current;e&&(e.scrollTop=e.scrollHeight)},[e.length]),(0,z.jsx)(Uo,{flex:1,p:`md`,viewportRef:t,"aria-label":`Conversation`,children:(0,z.jsx)(wd,{gap:4,children:e.map((e,t)=>(0,z.jsx)(Fd,{message:e},t))})})}function Ld({messages:e,currentRoom:t,dmTarget:n,connected:r,sidebarOpened:i,onToggleSidebar:a,onSendAction:o,onLeaveRoom:s,onConnectToMesh:c}){let[l,u]=(0,A.useState)(``),d=t??(n===void 0?`Select a room`:`DM with ${n}`),f=()=>{let e=l.trim();if(e){switch(Od(e,t,n).kind){case`action`:o(e);break;case`local`:o(e)}u(``)}};return(0,z.jsxs)(wd,{h:`100%`,gap:0,children:[(0,z.jsxs)(oc,{component:`header`,justify:`space-between`,px:`md`,py:`sm`,bg:`dark.6`,children:[(0,z.jsxs)(oc,{gap:`sm`,children:[(0,z.jsx)(id,{opened:i,onClick:a,size:`sm`,"aria-label":`Toggle sidebar`}),(0,z.jsx)(Kl,{fw:600,children:d})]}),t!==void 0&&(0,z.jsx)(pd,{size:`xs`,variant:`subtle`,onClick:s,children:`Leave`})]}),(0,z.jsx)(Id,{messages:e}),!r&&e.length===0&&(0,z.jsxs)(wd,{align:`center`,justify:`center`,gap:`md`,p:`xl`,children:[(0,z.jsx)(Kl,{c:`dimmed`,children:`Connect to a local mesh to discover agents and rooms.`}),(0,z.jsx)(pd,{variant:`outline`,onClick:c,children:`Connect to local mesh`})]}),(0,z.jsxs)(oc,{px:`md`,py:`sm`,gap:`xs`,bg:`dark.6`,children:[(0,z.jsx)(Td,{flex:1,placeholder:`Type a message or /command...`,"aria-label":`Message`,autoComplete:`off`,value:l,onChange:e=>{u(e.target.value)},onKeyDown:e=>{e.key===`Enter`&&f()}}),(0,z.jsx)(pd,{onClick:f,children:`Send`})]})]})}function Rd(e,t,n){let[r,...i]=t;if(r===void 0){e.agents.push(n);return}let a=e.children.get(r);a||(a={children:new Map,agents:[]},e.children.set(r,a)),Rd(a,i,n)}function zd(e,t){let[n,...r]=t;if(n===void 0)return;let i=e.children.get(n);i||(i={children:new Map,agents:[]},e.children.set(n,i)),zd(i,r)}var Bd=`Project room for `;function Vd(e){return e.description.startsWith(Bd)}function Hd(e){return e.description.slice(17)}function Ud(e,t){let n=t.filter(e=>!Vd(e)),r=new Map;for(let e of t)Vd(e)&&r.set(Hd(e),e);let i=new Set;for(let t of e)i.add(t.cwd);for(let e of r.keys())i.add(e);if(i.size===0)return{roots:[],manualRooms:n};let a=Kd(Array.from(i)),o=a===`/`?[]:Wd(a),s={children:new Map,agents:[]};for(let t of e)Rd(s,Wd(t.cwd).slice(o.length),t);for(let e of r.keys())zd(s,Wd(e).slice(o.length));return{roots:Jd(qd(s,a,``,r)),manualRooms:n}}function Wd(e){return e.split(`/`).filter(e=>e.length>0)}function Gd(...e){return`/`+e.join(`/`)}function Kd(e){if(e.length===0)return`/`;let t=e.map(Wd),n=Math.min(...t.map(e=>e.length)),r=0;for(let e=0;e<n;e++){let n=t[0]?.[e];if(n===void 0)break;if(t.every(t=>t[e]===n))r++;else break}return r>0&&r--,r===0?`/`:Gd(...t[0]?.slice(0,r)??[])}function qd(e,t,n,r){let i=[];for(let[a,o]of e.children){let e=n===``&&t===`/`?`/`+a:n===``?t+`/`+a:n+`/`+a,s=qd(o,t,e,r),c=r.get(e);(s.length>0||c)&&i.push({type:`directory`,name:a,path:e,...c?{roomId:c.id}:{},children:Jd(s)})}for(let t of e.agents)i.push({type:`agent`,name:t.name,agentId:t.id,status:t.status,cwd:t.cwd});return i}function Jd(e){return[...e].sort((e,t)=>e.type===t.type?e.name.localeCompare(t.name):e.type===`directory`?-1:1)}var Yd=[{value:`public`,label:`Public`},{value:`private`,label:`Private`},{value:`secret`,label:`Secret`}];function Xd(e){return e===`public`||e===`private`||e===`secret`}function Zd({visible:e,onSubmit:t,onCancel:n}){let[r,i]=(0,A.useState)(``),[a,o]=(0,A.useState)(`public`),[s,c]=(0,A.useState)(``);return e?(0,z.jsx)(`form`,{onSubmit:e=>{e.preventDefault(),r.trim()&&(t(r.trim(),a,s.trim()),i(``),o(`public`),c(``))},children:(0,z.jsxs)(wd,{gap:`xs`,p:`xs`,children:[(0,z.jsx)(Td,{label:`Room name`,name:`room-name`,required:!0,placeholder:`e.g. project-alpha`,size:`xs`,value:r,onChange:e=>{i(e.target.value)}}),(0,z.jsx)(bd,{label:`Type`,name:`room-type`,size:`xs`,data:Yd,value:a,allowDeselect:!1,onChange:e=>{Xd(e)&&o(e)}}),(0,z.jsx)(Td,{label:`Description (optional)`,name:`room-description`,placeholder:`What is this room about?`,size:`xs`,value:s,onChange:e=>{c(e.target.value)}}),(0,z.jsxs)(oc,{gap:`xs`,children:[(0,z.jsx)(pd,{type:`submit`,size:`xs`,flex:1,children:`Create`}),(0,z.jsx)(pd,{type:`button`,size:`xs`,flex:1,variant:`default`,onClick:n,children:`Cancel`})]})]})}):null}function Qd({visible:e,onSubmit:t,onCancel:n}){let[r,i]=(0,A.useState)(``);if(!e)return null;let a=()=>{let e=r.trim();e&&(t(e),i(``))};return(0,z.jsxs)(oc,{gap:`xs`,py:4,children:[(0,z.jsx)(Td,{flex:1,size:`xs`,placeholder:`Room name...`,"aria-label":`Room name`,autoComplete:`off`,value:r,onChange:e=>{i(e.target.value)},onKeyDown:e=>{e.key===`Enter`&&a(),e.key===`Escape`&&n()}}),(0,z.jsx)(pd,{size:`xs`,onClick:a,children:`Join`})]})}var $d={active:`green`,idle:`yellow`,busy:`red`,offline:`gray`};function ef({status:e}){return(0,z.jsx)(U,{w:8,h:8,style:{borderRadius:`50%`,backgroundColor:`var(--mantine-color-${$d[e]}-6)`}})}function tf({tree:e,onJoinRoom:t,onSelectAgent:n,onRenameAgent:r,currentRoom:i}){return(0,z.jsxs)(U,{mb:`xs`,children:[e.roots.map(e=>(0,z.jsx)(nf,{node:e,onJoinRoom:t,onSelectAgent:n,onRenameAgent:r,currentRoom:i},e.type===`agent`?e.agentId:e.path)),e.manualRooms.length>0&&(0,z.jsxs)(U,{py:4,children:[(0,z.jsx)(Kl,{size:`xs`,c:`dimmed`,fw:700,tt:`uppercase`,px:`xs`,py:4,children:`Rooms`}),e.manualRooms.map(e=>(0,z.jsx)(vd,{label:`${e.name} (${String(e.members.length)})`,active:i===e.id,onClick:()=>{t(e.id)}},e.id))]})]})}function nf({node:e,onJoinRoom:t,onSelectAgent:n,onRenameAgent:r,currentRoom:i}){return e.type===`agent`?(0,z.jsx)(af,{node:e,onSelectAgent:n,onRenameAgent:r}):(0,z.jsx)(rf,{node:e,onJoinRoom:t,onSelectAgent:n,onRenameAgent:r,currentRoom:i})}function rf({node:e,onJoinRoom:t,onSelectAgent:n,onRenameAgent:r,currentRoom:i}){let a=e.roomId,o=i===a,s=a===void 0?{}:{onClick:()=>{t(a)}};return(0,z.jsx)(vd,{label:e.name,leftSection:(0,z.jsx)(`span`,{"aria-hidden":`true`,children:`📁`}),defaultOpened:!0,active:o,...s,children:e.children.map(e=>(0,z.jsx)(nf,{node:e,onJoinRoom:t,onSelectAgent:n,onRenameAgent:r,currentRoom:i},e.type===`agent`?e.agentId:e.path))})}function af({node:e,onSelectAgent:t,onRenameAgent:n}){let[r,i]=(0,A.useState)(!1),[a,o]=(0,A.useState)(``),s=(0,A.useRef)(null);(0,A.useEffect)(()=>{r&&s.current?.focus()},[r]);let c=()=>{o(e.name),i(!0)},l=()=>{let t=a.trim();t&&t!==e.name&&n(e.agentId,t),i(!1)};return r?(0,z.jsx)(Td,{ref:s,size:`xs`,ml:`md`,"aria-label":`Rename ${e.name}`,value:a,onChange:e=>{o(e.target.value)},onKeyDown:e=>{e.key===`Enter`&&l(),e.key===`Escape`&&i(!1)},onBlur:l}):(0,z.jsx)(vd,{label:e.name,leftSection:(0,z.jsx)(ef,{status:e.status}),onClick:()=>{t(e.agentId)},onDoubleClick:c})}function of({rooms:e,agents:t,currentRoom:n,onJoinRoom:r,onSelectAgent:i,onRenameAgent:a,onCreateRoom:o,onJoinRoomInput:s}){let[c,l]=(0,A.useState)(!1),[u,d]=(0,A.useState)(!1),[f,p]=(0,A.useState)(!1),m=Ud(f?t:t.filter(e=>e.status!==`offline`),e);return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(oc,{justify:`space-between`,px:`md`,py:`sm`,children:[(0,z.jsx)(Kl,{size:`sm`,fw:600,c:`accent`,children:`Agent Comms`}),(0,z.jsx)(Xs,{variant:f?`filled`:`default`,size:`sm`,"aria-label":`${f?`Hide`:`Show`} offline agents`,title:`${f?`Hide`:`Show`} offline agents`,onClick:()=>{p(e=>!e)},children:f?`◉`:`◎`})]}),(0,z.jsxs)(Uo,{flex:1,px:`xs`,children:[(0,z.jsx)(tf,{tree:m,onJoinRoom:r,onSelectAgent:i,onRenameAgent:a,currentRoom:n}),(0,z.jsxs)(oc,{justify:`space-between`,px:`xs`,py:4,children:[(0,z.jsx)(Kl,{size:`xs`,c:`dimmed`,fw:700,tt:`uppercase`,children:`Create`}),(0,z.jsx)(Xs,{variant:`default`,size:`sm`,"aria-label":`Create room`,title:`Create room`,onClick:()=>{l(e=>!e)},children:`+`})]}),(0,z.jsx)(Zd,{visible:c,onSubmit:(e,t,n)=>{o(e,t,n),l(!1)},onCancel:()=>{l(!1)}}),(0,z.jsx)(pd,{fullWidth:!0,size:`xs`,variant:`outline`,onClick:()=>{d(e=>!e)},children:`+ Join Room`}),(0,z.jsx)(Qd,{visible:u,onSubmit:e=>{s(e),d(!1)},onCancel:()=>{d(!1)}})]})]})}function sf(e){let[t,{toggle:n}]=Ie(!0);return(0,z.jsxs)(hu,{navbar:{width:260,breakpoint:`sm`,collapsed:{desktop:!t,mobile:!t}},children:[(0,z.jsx)(hu.Navbar,{children:(0,z.jsx)(of,{rooms:e.rooms,agents:e.agents,currentRoom:e.currentRoom,onJoinRoom:e.onJoinRoom,onSelectAgent:e.onSelectAgent,onRenameAgent:e.onRenameAgent,onCreateRoom:e.onCreateRoom,onJoinRoomInput:e.onJoinRoomInput})}),(0,z.jsx)(hu.Main,{h:`100vh`,children:(0,z.jsx)(Ld,{messages:e.messages,currentRoom:e.currentRoom,dmTarget:e.dmTarget,connected:e.connected,sidebarOpened:t,onToggleSidebar:n,onSendAction:e.onSendAction,onLeaveRoom:e.onLeaveRoom,onConnectToMesh:e.onConnectToMesh})})]})}function cf(e){return typeof e==`object`&&!!e}function lf(e){return Array.isArray(e)}function uf(e){return Array.isArray(e)}function df(e){return Array.isArray(e)}function ff(e){return cf(e)&&typeof e.type==`string`}async function pf(){let e=await(await fetch(`/api/agents`)).json();if(!lf(e))throw Error(`Invalid agents response`);return e}async function mf(){let e=await(await fetch(`/api/rooms`)).json();if(!uf(e))throw Error(`Invalid rooms response`);return e}async function hf(e,t){let n=t===void 0?`/api/rooms/${encodeURIComponent(e)}/messages`:`/api/rooms/${encodeURIComponent(e)}/messages?since=${encodeURIComponent(t)}`,r=await(await fetch(n)).json();if(!df(r))throw Error(`Invalid messages response`);return r}var gf=3e3,_f=class{ws;reconnectTimer;handler;constructor(e){this.handler=e}connect(){let e=location.protocol===`https:`?`wss:`:`ws:`,t=new WebSocket(`${e}//${location.host}`);this.ws=t,t.onopen=()=>{this.handler.onOpen?.()},t.onclose=()=>{this.handler.onClose?.(),this.scheduleReconnect()},t.onerror=()=>{},t.onmessage=e=>{let t=JSON.parse(typeof e.data==`string`?e.data:String(e.data));ff(t)&&this.handler.onFrame?.(t)}}sendAction(e){let t=this.ws;t?.readyState===WebSocket.OPEN&&t.send(JSON.stringify(e))}disconnect(){this.reconnectTimer!==void 0&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=void 0);let e=this.ws;e&&e.close(),this.ws=void 0}scheduleReconnect(){this.reconnectTimer=setTimeout(()=>{this.connect()},gf)}},vf={currentRoom:void 0,dmTarget:void 0,agents:[],rooms:[],messages:[],connected:!1},yf=class{state={...vf};listeners=new Set;subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}get(){return this.state}setCurrentRoom(e){this.state={...this.state,currentRoom:e},this.notify()}setDmTarget(e){this.state={...this.state,dmTarget:e},this.notify()}setAgents(e){this.state={...this.state,agents:e},this.notify()}setRooms(e){this.state={...this.state,rooms:e},this.notify()}setConnected(e){this.state={...this.state,connected:e},this.notify()}addMessage(e){this.state={...this.state,messages:[...this.state.messages,e]},this.notify()}setMessages(e){this.state={...this.state,messages:e},this.notify()}clearMessages(){this.state={...this.state,messages:[]},this.notify()}applyState(e,t){this.state={...this.state,agents:e,rooms:t},this.notify()}reset(){this.state={...vf,messages:[]},this.notify()}notify(){let e=this.state;for(let t of this.listeners)t(e)}};function bf(e){return(0,A.useSyncExternalStore)(t=>e.subscribe(t),()=>e.get())}var xf=19877,Sf=10,Cf=class{worker;state={agents:[],rooms:[],connected:!1};listeners=new Set;actionCounter=0;pendingActions=new Map;connect(){if(this.worker)return;let e=new SharedWorker(`./mesh-worker.js`);if(this.worker=e,e.port.onmessage=e=>{let t=JSON.parse(typeof e.data==`string`?e.data:String(e.data));if(wf(t))switch(t.type){case`state`:{if(!(`state`in t)||typeof t.state!=`object`||t.state===null||!(`agents`in t.state)||!(`rooms`in t.state))break;let e=t.state,n=Tf(e.agents)?Object.values(e.agents).filter(Ef):[],r=Tf(e.rooms)?Object.values(e.rooms).filter(Df):[];this.state={...this.state,agents:n,rooms:r},this.notify();break}case`connected`:this.state={...this.state,connected:!0},this.notify();break;case`disconnected`:this.state={...this.state,connected:!1},this.notify();break;case`patch`:this.postToWorker({type:`getState`})}},e.port.start(),/^(localhost|127\.\d+\.\d+\.\d+)(:\d+)?$/.test(location.host)){let e=`${location.protocol===`https:`?`wss:`:`ws:`}//${location.host}/ws/mesh`;this.postToWorker({type:`init`,url:e})}else this.probeLocalMesh(xf,Sf)}get(){return this.state}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}sendAction(e){let t=String(++this.actionCounter);this.postToWorker({type:`action`,id:t,action:e})}disconnect(){this.worker&&=(this.worker.port.close(),void 0),this.pendingActions.clear()}probeLocalMesh(e,t){let n=0,r=e=>{if(n>=t)return;n++;let i=`ws://127.0.0.1:${String(e)}/ws/mesh`;fetch(`http://127.0.0.1:${String(e)}/`,{mode:`no-cors`}).then(()=>{this.postToWorker({type:`init`,url:i})}).catch(()=>{r(e+1)})};r(e)}postToWorker(e){this.worker&&this.worker.port.postMessage(JSON.stringify(e))}notify(){let e=this.state;for(let t of this.listeners)t(e)}};function wf(e){return typeof e==`object`&&!!e&&`type`in e}function Tf(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Ef(e){return Tf(e)&&typeof e.id==`string`&&typeof e.name==`string`}function Df(e){return Tf(e)&&typeof e.id==`string`&&typeof e.name==`string`}var Of=yn({primaryColor:`accent`,primaryShade:5,colors:{accent:[`#e5fbff`,`#bdf4ff`,`#85ebff`,`#47e0ff`,`#0fd7ff`,`#00b3d6`,`#009dbd`,`#00849e`,`#006f85`,`#005566`],dark:[`#e4e4e4`,`#b6b6b6`,`#888888`,`#4c5e74`,`#0f3460`,`#132b4f`,`#16213e`,`#1a1a2e`,`#131321`,`#0c0c16`]}}),kf=/^(localhost|127\.\d+\.\d+\.\d+)(:\d+)?$/;function Af(e){return kf.test(e)}function jf(e){return e.getItem(`agent-comms-connected`)===`true`}var Mf=`Project room for `;function Nf(e){let t=new URLSearchParams(e),n=t.get(`room`);if(n!==null&&n!==``)return{kind:`room`,roomId:n};let r=t.get(`dm`);if(r!==null&&r!==``)return{kind:`dm`,agentId:r};let i=t.get(`cwd`);if(i!==null&&i!==``)return{kind:`cwd`,path:i}}function Pf(e,t){switch(e.kind){case`room`:return t.some(t=>t.id===e.roomId)?{kind:`room`,targetId:e.roomId}:void 0;case`dm`:return{kind:`dm`,targetId:e.agentId};case`cwd`:{let n=t.find(t=>t.description===`${Mf}${e.path}`);return n?{kind:`room`,targetId:n.id}:void 0}default:return e}}function Ff(e){let t=new URL(location.href);t.searchParams.delete(`room`),t.searchParams.delete(`dm`),t.searchParams.delete(`cwd`),e.currentRoom!==void 0&&e.currentRoom!==``?t.searchParams.set(`room`,e.currentRoom):e.dmTarget!==void 0&&e.dmTarget!==``&&t.searchParams.set(`dm`,e.dmTarget);let n=t.pathname+t.search+t.hash;history.replaceState(null,``,n)}var If=document.createElement(`style`);If.textContent=l,document.head.appendChild(If);var Lf=Af(location.host),Rf=document.getElementById(`root`);if(Rf===null)throw Error(`missing #root element`);var Q=new yf,zf=new Cf;zf.subscribe(e=>{e.agents.length>0&&Q.setAgents(e.agents),e.rooms.length>0&&Q.setRooms(e.rooms),Q.setConnected(e.connected)});function Bf(e){Q.addMessage(e)}var $,Vf=new _f({onOpen:()=>{Q.setConnected(!0),Bf({type:`system`,text:`Connected to mesh`})},onClose:()=>{Q.setConnected(!1),Bf({type:`system`,text:`Disconnected — reconnecting...`})},onFrame:Hf});function Hf(e){let t=Q.get();switch(e.type){case`delivery`:{let n=Nd(e.event,t.currentRoom);n&&Bf(n),(e.event.type===`member_joined`||e.event.type===`member_left`||e.event.type===`member_status`||e.event.type===`name_changed`)&&Wf();break}case`result`:if(Bf({type:`system`,text:e.result.content}),!e.result.isError){if($?.action===`join_room`&&(Q.get().currentRoom===void 0||Q.get().currentRoom===``)){let e=$.room;Q.setDmTarget(void 0),Q.setCurrentRoom(e)}Wf()}$=void 0;break;case`error`:Bf({type:`status`,text:`Error: ${e.message}`});break;case`state`:Q.applyState(e.agents,e.rooms)}}function Uf(e){$=e,Vf.sendAction(e)}async function Wf(){if(!Lf)return;let[e,t]=await Promise.all([pf(),mf()]);Q.setAgents(e),Q.setRooms(t)}async function Gf(e){if(Q.setDmTarget(void 0),Q.setCurrentRoom(e),Q.clearMessages(),Uf({action:`join_room`,room:e}),Lf){let t=await hf(e);Q.setMessages(t.map(Pd))}Bf({type:`system`,text:`Joined ${e}`})}function Kf(e){Q.setCurrentRoom(void 0),Q.setDmTarget(e),Q.clearMessages()}function qf(){let e=Q.get().currentRoom;e!==void 0&&e!==``&&(Uf({action:`leave_room`,room:e}),Q.setCurrentRoom(void 0),Q.clearMessages(),Bf({type:`system`,text:`Left room "${e}"`}))}function Jf(e){let t=Q.get(),n=Od(e,t.currentRoom,t.dmTarget),r=Dd(n);if(r)switch(r.kind){case`join_room`:Gf(r.room);return;case`leave_room`:qf();return}switch(n.kind){case`action`:Uf(n.action);break;case`local`:Bf({type:`system`,text:n.result.text})}}function Yf(e,t,n){Uf({action:`create_room`,name:e,type:t,...n?{description:n}:{}})}function Xf(e){Gf(e)}function Zf(e,t){Uf({action:`rename_agent`,agent:e,name:t})}function Qf(){localStorage.setItem(`agent-comms-connected`,`true`),zf.connect(),Lf&&Vf.connect()}function $f(){let e=bf(Q);return(0,A.useEffect)(()=>{Ff({currentRoom:e.currentRoom,dmTarget:e.dmTarget})},[e.currentRoom,e.dmTarget]),(0,z.jsx)(sf,{rooms:e.rooms,agents:e.agents,currentRoom:e.currentRoom,dmTarget:e.dmTarget,messages:e.messages,connected:e.connected,onJoinRoom:e=>{Gf(e)},onSelectAgent:Kf,onRenameAgent:Zf,onLeaveRoom:qf,onSendAction:Jf,onCreateRoom:Yf,onJoinRoomInput:Xf,onConnectToMesh:Qf})}(0,Ed.createRoot)(Rf).render((0,z.jsx)(vn,{theme:Of,defaultColorScheme:`dark`,children:(0,z.jsx)($f,{})}));var ep=Nf(location.search),tp=jf(localStorage);(Lf||tp)&&(zf.connect(),Lf&&Vf.connect()),Wf().then(()=>{if(!ep)return;let e=Pf(ep,Q.get().rooms);if(e)switch(e.kind){case`room`:Gf(e.targetId);break;case`dm`:Kf(e.targetId)}});
|
|
49
|
+
`},ll=0,ul=[];function dl(e){var t=A.useRef([]),n=A.useRef([0,0]),r=A.useRef(),i=A.useState(ll++)[0],a=A.useState(Nc)[0],o=A.useRef(e);A.useEffect(function(){o.current=e},[e]),A.useEffect(function(){if(e.inert){document.body.classList.add(`block-interactivity-${i}`);var t=lc([e.lockRef.current],(e.shards||[]).map(ol),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add(`allow-interactivity-${i}`)}),function(){document.body.classList.remove(`block-interactivity-${i}`),t.forEach(function(e){return e.classList.remove(`allow-interactivity-${i}`)})}}},[e.inert,e.lockRef.current,e.shards]);var s=A.useCallback(function(e,t){if(`touches`in e&&e.touches.length===2||e.type===`wheel`&&e.ctrlKey)return!o.current.allowPinchZoom;var i=il(e),a=n.current,s=`deltaX`in e?e.deltaX:a[0]-i[0],c=`deltaY`in e?e.deltaY:a[1]-i[1],l,u=e.target,d=Math.abs(s)>Math.abs(c)?`h`:`v`;if(`touches`in e&&d===`h`&&u.type===`range`)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===u||p.contains(u)))return!1;var m=Zc(d,u);if(!m)return!0;if(m?l=d:(l=d===`v`?`h`:`v`,m=Zc(d,u)),!m)return!1;if(!r.current&&`changedTouches`in e&&(s||c)&&(r.current=l),!l)return!0;var h=r.current||l;return rl(h,t,e,h===`h`?s:c,!0)},[]),c=A.useCallback(function(e){var n=e;if(ul.length&&ul[ul.length-1]===a){var r=`deltaY`in n?al(n):il(n),i=t.current.filter(function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&sl(e.delta,r)})[0];if(i&&i.should){n.cancelable&&n.preventDefault();return}if(!i){var c=(o.current.shards||[]).map(ol).filter(Boolean).filter(function(e){return e.contains(n.target)});(c.length>0?s(n,c[0]):!o.current.noIsolation)&&n.cancelable&&n.preventDefault()}}},[]),l=A.useCallback(function(e,n,r,i){var a={name:e,delta:n,target:r,should:i,shadowParent:fl(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),u=A.useCallback(function(e){n.current=il(e),r.current=void 0},[]),d=A.useCallback(function(t){l(t.type,al(t),t.target,s(t,e.lockRef.current))},[]),f=A.useCallback(function(t){l(t.type,il(t),t.target,s(t,e.lockRef.current))},[]);A.useEffect(function(){return ul.push(a),e.setCallbacks({onScrollCapture:d,onWheelCapture:d,onTouchMoveCapture:f}),document.addEventListener(`wheel`,c,Kc),document.addEventListener(`touchmove`,c,Kc),document.addEventListener(`touchstart`,u,Kc),function(){ul=ul.filter(function(e){return e!==a}),document.removeEventListener(`wheel`,c,Kc),document.removeEventListener(`touchmove`,c,Kc),document.removeEventListener(`touchstart`,u,Kc)}},[]);var p=e.removeScrollBar,m=e.inert;return A.createElement(A.Fragment,null,m?A.createElement(a,{styles:cl(i)}):null,p?A.createElement(Uc,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function fl(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var pl=Cc(wc,dl),ml=A.forwardRef(function(e,t){return A.createElement(Ec,sc({},e,{ref:t,sideCar:pl}))});ml.classNames=Ec.classNames;var hl=(0,A.createContext)({size:`sm`}),gl=H(e=>{let t=B(`InputClearButton`,null,e),{size:n,variant:r,vars:i,classNames:a,styles:o,...s}=t,c=(0,A.use)(hl),{resolvedClassNames:l,resolvedStyles:u}=bn({classNames:a,styles:o,props:t});return(0,z.jsx)(tc,{variant:r||`transparent`,size:n||c?.size||`sm`,classNames:l,styles:u,__staticSelector:`InputClearButton`,style:{pointerEvents:`all`,background:`var(--input-bg)`,...s.style},...s})});gl.displayName=`@mantine/core/InputClearButton`;var _l={xs:7,sm:8,md:10,lg:12,xl:15};function vl({__clearable:e,__clearSection:t,rightSection:n,__defaultRightSection:r,size:i=`sm`,__clearSectionMode:a=`both`}){let o=e&&t;return a===`rightSection`?n===null?null:n||r:a===`clear`?n===null?null:o||r:o&&(n||r)?(0,z.jsxs)(`div`,{"data-combined-clear-section":!0,style:{display:`flex`,gap:2,alignItems:`center`,paddingInlineEnd:_l[i]},children:[o,n||r]}):n===null?null:n||o||r}var yl=(0,A.createContext)({offsetBottom:!1,offsetTop:!1,describedBy:void 0,getStyles:null,inputId:void 0,labelId:void 0}),bl={wrapper:`m_6c018570`,input:`m_8fb7ebe7`,bottomSection:`m_93f4ed57`,section:`m_82577fc2`,placeholder:`m_88bacfd0`,root:`m_46b77525`,label:`m_8fdc1311`,required:`m_78a94662`,error:`m_8f816625`,success:`m_9d9d40e0`,description:`m_fe47ce59`},xl=rt((e,{size:t})=>({description:{"--input-description-size":t===void 0?void 0:`calc(${P(t)} - ${E(2)})`}})),Sl=H(e=>{let t=B(`InputDescription`,null,e),{classNames:n,className:r,style:i,styles:a,unstyled:o,vars:s,__staticSelector:c,__inheritStyles:l=!0,attributes:u,...d}=B(`InputDescription`,null,t),f=(0,A.use)(yl),p=V({name:[`InputWrapper`,c],props:t,classes:bl,className:r,style:i,classNames:n,styles:a,unstyled:o,attributes:u,rootSelector:`description`,vars:s,varsResolver:xl}),m=l&&f?.getStyles||p;return(0,z.jsx)(U,{component:`p`,...m(`description`,f?.getStyles?{className:r,style:i}:void 0),...d})});Sl.classes=bl,Sl.varsResolver=xl,Sl.displayName=`@mantine/core/InputDescription`;var Cl=rt((e,{size:t})=>({error:{"--input-error-size":t===void 0?void 0:`calc(${P(t)} - ${E(2)})`}})),wl=H(e=>{let t=B(`InputError`,null,e),{classNames:n,className:r,style:i,styles:a,unstyled:o,vars:s,attributes:c,__staticSelector:l,__inheritStyles:u=!0,...d}=t,f=V({name:[`InputWrapper`,l],props:t,classes:bl,className:r,style:i,classNames:n,styles:a,unstyled:o,attributes:c,rootSelector:`error`,vars:s,varsResolver:Cl}),p=(0,A.use)(yl),m=u&&p?.getStyles||f;return(0,z.jsx)(U,{component:`p`,...m(`error`,p?.getStyles?{className:r,style:i}:void 0),...d})});wl.classes=bl,wl.varsResolver=Cl,wl.displayName=`@mantine/core/InputError`;var Tl={labelElement:`label`},El=rt((e,{size:t})=>({label:{"--input-label-size":P(t),"--input-asterisk-color":void 0}})),Dl=H(e=>{let t=B(`InputLabel`,Tl,e),{classNames:n,className:r,style:i,styles:a,unstyled:o,vars:s,labelElement:c,required:l,htmlFor:u,onMouseDown:d,children:f,__staticSelector:p,mod:m,attributes:h,...g}=t,_=V({name:[`InputWrapper`,p],props:t,classes:bl,className:r,style:i,classNames:n,styles:a,unstyled:o,attributes:h,rootSelector:`label`,vars:s,varsResolver:El}),v=(0,A.use)(yl),y=v?.getStyles||_,b=g.component||c,x=typeof b!=`string`||b===`label`;return(0,z.jsxs)(U,{...y(`label`,v?.getStyles?{className:r,style:i}:void 0),component:c,htmlFor:x?u:void 0,mod:[{required:l},m],onMouseDown:e=>{d?.(e),!e.defaultPrevented&&e.detail>1&&e.preventDefault()},...g,children:[f,l&&(0,z.jsx)(`span`,{...y(`required`),"aria-hidden":!0,children:` *`})]})});Dl.classes=bl,Dl.varsResolver=El,Dl.displayName=`@mantine/core/InputLabel`;var Ol=H(e=>{let t=B(`InputPlaceholder`,null,e),{classNames:n,className:r,style:i,styles:a,unstyled:o,vars:s,__staticSelector:c,error:l,mod:u,attributes:d,...f}=t,p=V({name:[`InputPlaceholder`,c],props:t,classes:bl,className:r,style:i,classNames:n,styles:a,unstyled:o,attributes:d,rootSelector:`placeholder`});return(0,z.jsx)(U,{...p(`placeholder`),mod:[{error:!!l},u],component:`span`,...f})});Ol.classes=bl,Ol.displayName=`@mantine/core/InputPlaceholder`;var kl=rt((e,{size:t})=>({success:{"--input-success-size":t===void 0?void 0:`calc(${P(t)} - ${E(2)})`}})),Al=H(e=>{let t=B(`InputSuccess`,null,e),{classNames:n,className:r,style:i,styles:a,unstyled:o,vars:s,attributes:c,__staticSelector:l,__inheritStyles:u=!0,...d}=t,f=V({name:[`InputWrapper`,l],props:t,classes:bl,className:r,style:i,classNames:n,styles:a,unstyled:o,attributes:c,rootSelector:`success`,vars:s,varsResolver:kl}),p=(0,A.use)(yl),m=u&&p?.getStyles||f;return(0,z.jsx)(U,{component:`p`,...m(`success`,p?.getStyles?{className:r,style:i}:void 0),...d})});Al.classes=bl,Al.varsResolver=kl,Al.displayName=`@mantine/core/InputSuccess`;function jl(e,{hasDescription:t,hasError:n}){let r=e.findIndex(e=>e===`input`),i=e.slice(0,r),a=e.slice(r+1),o=t&&i.includes(`description`)||n&&i.includes(`error`);return{offsetBottom:t&&a.includes(`description`)||n&&a.includes(`error`),offsetTop:o}}var Ml={labelElement:`label`,inputContainer:e=>e,inputWrapperOrder:[`label`,`description`,`input`,`error`]},Nl=rt((e,{size:t})=>({label:{"--input-label-size":P(t),"--input-asterisk-color":void 0},error:{"--input-error-size":t===void 0?void 0:`calc(${P(t)} - ${E(2)})`},success:{"--input-success-size":t===void 0?void 0:`calc(${P(t)} - ${E(2)})`},description:{"--input-description-size":t===void 0?void 0:`calc(${P(t)} - ${E(2)})`}})),Pl=H(e=>{let t=B(`InputWrapper`,Ml,e),{classNames:n,className:r,style:i,styles:a,unstyled:o,vars:s,size:c,variant:l,__staticSelector:u,inputContainer:d,inputWrapperOrder:f,label:p,error:m,success:h,description:g,labelProps:_,descriptionProps:v,errorProps:y,successProps:b,labelElement:x,children:S,withAsterisk:C,id:w,required:T,__stylesApiProps:E,mod:D,attributes:O,...k}=t,j=V({name:[`InputWrapper`,u],props:E||t,classes:bl,className:r,style:i,classNames:n,styles:a,unstyled:o,attributes:O,vars:s,varsResolver:Nl}),M={size:c,variant:l,__staticSelector:u},ee=ke(w),te=typeof C==`boolean`?C:T,ne=y?.id||`${ee}-error`,re=b?.id||`${ee}-success`,N=v?.id||`${ee}-description`,ie=ee,ae=!!m&&typeof m!=`boolean`,P=!!h&&typeof h!=`boolean`&&!m,oe=!!g,se=ae&&f.includes(`error`),ce=P&&f.includes(`error`),le=oe&&f.includes(`description`),ue=`${se?ne:``} ${ce?re:``} ${le?N:``}`,de=ue.trim().length>0?ue.trim():void 0,fe=_?.id||`${ee}-label`,pe=p&&(0,z.jsx)(Dl,{labelElement:x,id:fe,htmlFor:ie,required:te,...M,..._,children:p},`label`),me=oe&&(0,z.jsx)(Sl,{...v,...M,size:v?.size||M.size,id:v?.id||N,children:g},`description`),he=(0,z.jsx)(A.Fragment,{children:d(S)},`input`),F=ae&&(0,A.createElement)(wl,{...y,...M,size:y?.size||M.size,key:`error`,id:y?.id||ne},m),I=P&&(0,A.createElement)(Al,{...b,...M,size:b?.size||M.size,key:`success`,id:b?.id||re},h),ge=f.map(e=>{switch(e){case`label`:return pe;case`input`:return he;case`description`:return me;case`error`:return F||I;default:return null}});return(0,z.jsx)(yl,{value:{getStyles:j,describedBy:de,inputId:ie,labelId:fe,...jl(f,{hasDescription:oe,hasError:ae||P})},children:(0,z.jsx)(U,{variant:l,size:c,mod:[{error:!!m,success:!!h&&!m},D],id:x===`label`?void 0:w,...j(`root`),...k,children:ge})})});Pl.classes=bl,Pl.varsResolver=Nl,Pl.displayName=`@mantine/core/InputWrapper`;var Fl={variant:`default`,leftSectionPointerEvents:`none`,rightSectionPointerEvents:`none`,withAria:!0,withErrorStyles:!0,withSuccessStyles:!0,size:`sm`,loading:!1,loadingPosition:`right`},Il=rt((e,t,n)=>({wrapper:{"--input-margin-top":n.offsetTop?`calc(var(--mantine-spacing-xs) / 2)`:void 0,"--input-margin-bottom":n.offsetBottom?`calc(var(--mantine-spacing-xs) / 2)`:void 0,"--input-height":N(t.size,`input-height`),"--input-fz":P(t.size),"--input-radius":t.radius===void 0?void 0:ae(t.radius),"--input-left-section-width":t.leftSectionWidth===void 0?void 0:E(t.leftSectionWidth),"--input-right-section-width":t.rightSectionWidth===void 0?void 0:E(t.rightSectionWidth),"--input-padding-y":t.multiline?N(t.size,`input-padding-y`):void 0,"--input-left-section-pointer-events":t.leftSectionPointerEvents,"--input-right-section-pointer-events":t.rightSectionPointerEvents}})),Ll=hr(e=>{let t=B(`Input`,Fl,e),{classNames:n,className:r,style:i,styles:a,unstyled:o,required:s,__staticSelector:c,__stylesApiProps:l,size:u,wrapperProps:d,error:f,success:p,disabled:m,leftSection:h,leftSectionProps:g,leftSectionWidth:_,rightSection:v,rightSectionProps:y,rightSectionWidth:b,rightSectionPointerEvents:x,leftSectionPointerEvents:S,variant:C,vars:w,pointer:T,multiline:E,radius:D,id:O,withAria:k,withErrorStyles:j,withSuccessStyles:M,mod:ee,inputSize:te,attributes:ne,__clearSection:re,__clearable:N,__clearSectionMode:ie,__defaultRightSection:ae,loading:P,loadingPosition:oe,__bottomSection:se,__bottomSectionProps:ce,rootRef:le,dir:ue,...de}=t,{styleProps:fe,rest:pe}=Bn(de),me=(0,A.use)(yl),he={offsetBottom:me?.offsetBottom,offsetTop:me?.offsetTop},F=V({name:[`Input`,c],props:l||t,classes:bl,className:r,style:i,classNames:n,styles:a,unstyled:o,attributes:ne,stylesCtx:he,rootSelector:`wrapper`,vars:w,varsResolver:Il}),I=k?{required:s,disabled:m,"aria-invalid":f?!0:void 0,"aria-describedby":me?.describedBy,id:me?.inputId||O}:{},ge=P?(0,z.jsx)(Hs,{size:oe===`left`?`calc(var(--input-left-section-size) / 2)`:`calc(var(--input-right-section-size) / 2)`}):null,_e=P&&oe===`left`?ge:h,ve=vl({__clearable:N,__clearSection:re,rightSection:P&&oe===`right`?ge:v,__defaultRightSection:ae,size:u,__clearSectionMode:ie});return(0,z.jsx)(hl,{value:{size:u||`sm`},children:(0,z.jsxs)(U,{ref:le,dir:ue,...F(`wrapper`),...fe,...d,mod:[{error:!!f&&j,success:!!p&&!f&&M,pointer:T,disabled:m,multiline:E,withRightSection:!!ve,withLeftSection:!!_e,withBottomSection:!!se},ee],variant:C,size:u,children:[_e&&(0,z.jsx)(`div`,{...g,"data-position":`left`,...F(`section`,{className:g?.className,style:g?.style}),children:_e}),(0,z.jsx)(U,{component:`input`,...pe,...I,required:s,mod:{disabled:m,error:!!f&&j,success:!!p&&!f&&M},variant:C,__size:te,...F(`input`)}),se&&(0,z.jsx)(`div`,{...ce,...F(`bottomSection`,{className:ce?.className,style:ce?.style}),children:se}),ve&&(0,z.jsx)(`div`,{...y,"data-position":`right`,...F(`section`,{className:y?.className,style:y?.style}),children:ve})]})})});Ll.classes=bl,Ll.varsResolver=Il,Ll.Wrapper=Pl,Ll.Label=Dl,Ll.Error=wl,Ll.Success=Al,Ll.Description=Sl,Ll.Placeholder=Ol,Ll.ClearButton=gl,Ll.displayName=`@mantine/core/Input`;function Rl(e,t,n){let r=B([`Input`,`InputWrapper`,e],t,n),{label:i,description:a,error:o,success:s,required:c,classNames:l,styles:u,className:d,unstyled:f,__staticSelector:p,__stylesApiProps:m,errorProps:h,successProps:g,labelProps:_,descriptionProps:v,wrapperProps:y,id:b,size:x,style:S,inputContainer:C,inputWrapperOrder:w,withAsterisk:T,variant:E,vars:D,mod:O,attributes:k,...A}=r,{styleProps:j,rest:M}=Bn(A),ee={label:i,description:a,error:o,success:s,required:c,classNames:l,className:d,__staticSelector:p,__stylesApiProps:m||r,errorProps:h,successProps:g,labelProps:_,descriptionProps:v,unstyled:f,styles:u,size:x,style:S,inputContainer:C,inputWrapperOrder:w,withAsterisk:T,variant:E,id:b,mod:O,attributes:k,...y};return{...M,classNames:l,styles:u,unstyled:f,wrapperProps:{...ee,...j},inputProps:{required:c,classNames:l,styles:u,unstyled:f,size:x,__staticSelector:p,__stylesApiProps:m||r,error:o,success:s,variant:E,id:b,attributes:k}}}var zl={__staticSelector:`InputBase`,withAria:!0,size:`sm`},Bl=hr(e=>{let{inputProps:t,wrapperProps:n,...r}=Rl(`InputBase`,zl,e);return(0,z.jsx)(Ll.Wrapper,{...n,children:(0,z.jsx)(Ll,{...t,...r})})});Bl.classes={...Ll.classes,...Ll.Wrapper.classes},Bl.displayName=`@mantine/core/InputBase`;function Vl({style:e,size:t=16,...n}){return(0,z.jsx)(`svg`,{viewBox:`0 0 15 15`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,style:{...e,width:E(t),height:E(t),display:`block`},...n,children:(0,z.jsx)(`path`,{d:`M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z`,fill:`currentColor`,fillRule:`evenodd`,clipRule:`evenodd`})})}Vl.displayName=`@mantine/core/AccordionChevron`;var Hl={root:`m_b6d8b162`};function Ul(e){if(e===`start`)return`start`;if(e===`end`||e)return`end`}var Wl={inherit:!1},Gl=rt((e,{variant:t,lineClamp:n,gradient:r,size:i,textWrap:a})=>({root:{"--text-fz":P(i),"--text-lh":oe(i),"--text-gradient":t===`gradient`?Et(r,e):void 0,"--text-line-clamp":typeof n==`number`?n.toString():void 0,"--text-text-wrap":a}})),Kl=hr(e=>{let t=B(`Text`,Wl,e),{lineClamp:n,truncate:r,inline:i,inherit:a,gradient:o,span:s,textWrap:c,__staticSelector:l,vars:u,className:d,style:f,classNames:p,styles:m,unstyled:h,variant:g,mod:_,size:v,attributes:y,...b}=t,x=V({name:[`Text`,l],props:t,classes:Hl,className:d,style:f,classNames:p,styles:m,unstyled:h,attributes:y,vars:u,varsResolver:Gl});return(0,z.jsx)(U,{...x(`root`,{focusable:!0}),component:s?`span`:`p`,variant:g,mod:[{truncate:Ul(r),lineClamp:typeof n==`number`,inline:i,inherit:a},_],size:v,...b})});Kl.classes=Hl,Kl.varsResolver=Gl,Kl.displayName=`@mantine/core/Text`;var[ql,Jl]=M(`AppShell was not found in tree`),Yl={root:`m_89ab340`,navbar:`m_45252eee`,aside:`m_9cdde9a`,header:`m_3b16f56b`,main:`m_8983817`,footer:`m_3840c879`,section:`m_6dcfc7c7`},Xl=H(e=>{let{classNames:t,className:n,style:r,styles:i,unstyled:a,vars:o,withBorder:s,zIndex:c,mod:l,...u}=B(`AppShellAside`,null,e),d=Jl();return d.disabled?null:(0,z.jsx)(U,{component:`aside`,mod:[{"with-border":s??d.withBorder},l],...d.getStyles(`aside`,{className:at({[ml.classNames.zeroRight]:d.offsetScrollbars},n),classNames:t,styles:i,style:r}),...u,__vars:{"--app-shell-aside-z-index":`calc(${c??d.zIndex} + 1)`}})});Xl.classes=Yl,Xl.displayName=`@mantine/core/AppShellAside`;var Zl=H(e=>{let{classNames:t,className:n,style:r,styles:i,unstyled:a,vars:o,withBorder:s,zIndex:c,mod:l,...u}=B(`AppShellFooter`,null,e),d=Jl();return d.disabled?null:(0,z.jsx)(U,{component:`footer`,mod:[{"with-border":s??d.withBorder},l],...d.getStyles(`footer`,{className:at({[ml.classNames.zeroRight]:d.offsetScrollbars},n),classNames:t,styles:i,style:r}),...u,__vars:{"--app-shell-footer-z-index":(c??d.zIndex)?.toString()}})});Zl.classes=Yl,Zl.displayName=`@mantine/core/AppShellFooter`;var Ql=H(e=>{let{classNames:t,className:n,style:r,styles:i,unstyled:a,vars:o,withBorder:s,zIndex:c,mod:l,...u}=B(`AppShellHeader`,null,e),d=Jl();return d.disabled?null:(0,z.jsx)(U,{component:`header`,mod:[{"with-border":s??d.withBorder},l],...d.getStyles(`header`,{className:at({[ml.classNames.zeroRight]:d.offsetScrollbars},n),classNames:t,styles:i,style:r}),...u,__vars:{"--app-shell-header-z-index":(c??d.zIndex)?.toString()}})});Ql.classes=Yl,Ql.displayName=`@mantine/core/AppShellHeader`;var $l=H(e=>{let{classNames:t,className:n,style:r,styles:i,vars:a,...o}=B(`AppShellMain`,null,e),s=Jl();return(0,z.jsx)(U,{component:`main`,...s.getStyles(`main`,{className:n,style:r,classNames:t,styles:i}),...o})});$l.classes=Yl,$l.displayName=`@mantine/core/AppShellMain`;var eu=H(e=>{let{classNames:t,className:n,style:r,styles:i,unstyled:a,vars:o,withBorder:s,zIndex:c,mod:l,...u}=B(`AppShellNavbar`,null,e),d=Jl();return d.disabled?null:(0,z.jsx)(U,{component:`nav`,mod:[{"with-border":s??d.withBorder},l],...d.getStyles(`navbar`,{className:n,classNames:t,styles:i,style:r}),...u,__vars:{"--app-shell-navbar-z-index":`calc(${c??d.zIndex} + 1)`}})});eu.classes=Yl,eu.displayName=`@mantine/core/AppShellNavbar`;var tu=hr(e=>{let{classNames:t,className:n,style:r,styles:i,vars:a,grow:o,mod:s,...c}=B(`AppShellSection`,null,e),l=Jl();return(0,z.jsx)(U,{mod:[{grow:o},s],...l.getStyles(`section`,{className:n,style:r,classNames:t,styles:i}),...c})});tu.classes=Yl,tu.displayName=`@mantine/core/AppShellSection`;function nu(e){return typeof e==`object`?e.base:e}function ru(e){let t=typeof e==`object`&&!!e&&e.base!==void 0&&Object.keys(e).length===1;return typeof e==`number`||typeof e==`string`||t}function K(e){return!(typeof e!=`object`||!e||Object.keys(e).length===1&&`base`in e)}function iu({baseStyles:e,minMediaStyles:t,maxMediaStyles:n,aside:r,theme:i,mode:a}){let o=r?.width,s=`translateX(var(--app-shell-aside-width))`,c=`translateX(calc(var(--app-shell-aside-width) * -1))`;if(r?.breakpoint!==void 0&&!r?.collapsed?.mobile&&(n[r?.breakpoint]=n[r?.breakpoint]||{},a===`fixed`?(n[r?.breakpoint][`--app-shell-aside-width`]=`100%`,n[r?.breakpoint][`--app-shell-aside-offset`]=`0px`):(n[r?.breakpoint][`--app-shell-aside-width`]=`0px`,n[r?.breakpoint][`--app-shell-aside-offset`]=`0px`)),ru(o)){let t=E(nu(o));e[`--app-shell-aside-width`]=t,e[`--app-shell-aside-offset`]=t}if(K(o)&&(o.base!==void 0&&(e[`--app-shell-aside-width`]=E(o.base),e[`--app-shell-aside-offset`]=E(o.base)),v(o).forEach(e=>{e!==`base`&&(t[e]=t[e]||{},t[e][`--app-shell-aside-width`]=E(o[e]),t[e][`--app-shell-aside-offset`]=E(o[e]))})),r?.breakpoint!==void 0&&a===`static`&&(t[r.breakpoint]=t[r.breakpoint]||{},t[r.breakpoint][`--app-shell-aside-position`]=`sticky`,t[r.breakpoint][`--app-shell-aside-grid-row`]=`2`,t[r.breakpoint][`--app-shell-aside-grid-column`]=`3`,t[r.breakpoint][`--app-shell-main-column-end`]=`3`),r?.collapsed?.desktop){let e=r.breakpoint;t[e]=t[e]||{},t[e][`--app-shell-aside-transform`]=s,t[e][`--app-shell-aside-transform-rtl`]=c,a===`fixed`?t[e][`--app-shell-aside-offset`]=`0px !important`:(t[e][`--app-shell-aside-width`]=`0px`,t[e][`--app-shell-aside-display`]=`none`,t[e][`--app-shell-main-column-end`]=`-1`),t[e][`--app-shell-aside-scroll-locked-visibility`]=`hidden`}if(r?.collapsed?.mobile){let e=le(r.breakpoint,i.breakpoints)-.1;n[e]=n[e]||{},a===`fixed`?(n[e][`--app-shell-aside-width`]=`100%`,n[e][`--app-shell-aside-offset`]=`0px`):n[e][`--app-shell-aside-width`]=`0px`,n[e][`--app-shell-aside-transform`]=s,n[e][`--app-shell-aside-transform-rtl`]=c,n[e][`--app-shell-aside-scroll-locked-visibility`]=`hidden`}}function au({baseStyles:e,minMediaStyles:t,footer:n,mode:r}){let i=n?.height,a=r===`static`?!0:n?.offset??!0;if(r===`static`&&n&&(e[`--app-shell-footer-position`]=`sticky`,e[`--app-shell-footer-grid-column`]=`1 / -1`,e[`--app-shell-footer-grid-row`]=`3`),ru(i)){let t=E(nu(i));e[`--app-shell-footer-height`]=t,a&&(e[`--app-shell-footer-offset`]=t)}K(i)&&(i.base!==void 0&&(e[`--app-shell-footer-height`]=E(i.base),a&&(e[`--app-shell-footer-offset`]=E(i.base))),v(i).forEach(e=>{e!==`base`&&(t[e]=t[e]||{},t[e][`--app-shell-footer-height`]=E(i[e]),a&&(t[e][`--app-shell-footer-offset`]=E(i[e])))})),n?.collapsed&&(e[`--app-shell-footer-transform`]=`translateY(var(--app-shell-footer-height))`,r===`fixed`&&(e[`--app-shell-footer-offset`]=`0px !important`))}function ou({baseStyles:e,minMediaStyles:t,header:n,mode:r}){let i=n?.height,a=r===`static`?!0:n?.offset??!0;if(r===`static`&&n&&(e[`--app-shell-header-position`]=`sticky`,e[`--app-shell-header-grid-column`]=`1 / -1`,e[`--app-shell-header-grid-row`]=`1`),ru(i)){let t=E(nu(i));e[`--app-shell-header-height`]=t,a&&(e[`--app-shell-header-offset`]=t)}K(i)&&(i.base!==void 0&&(e[`--app-shell-header-height`]=E(i.base),a&&(e[`--app-shell-header-offset`]=E(i.base))),v(i).forEach(e=>{e!==`base`&&(t[e]=t[e]||{},t[e][`--app-shell-header-height`]=E(i[e]),a&&(t[e][`--app-shell-header-offset`]=E(i[e])))})),n?.collapsed&&(e[`--app-shell-header-transform`]=`translateY(calc(var(--app-shell-header-height) * -1))`,r===`fixed`&&(e[`--app-shell-header-offset`]=`0px !important`))}function su({baseStyles:e,minMediaStyles:t,maxMediaStyles:n,navbar:r,theme:i,mode:a}){let o=r?.width,s=`translateX(calc(var(--app-shell-navbar-width) * -1))`,c=`translateX(var(--app-shell-navbar-width))`;if(r?.breakpoint!==void 0&&!r?.collapsed?.mobile&&(n[r?.breakpoint]=n[r?.breakpoint]||{},n[r?.breakpoint][`--app-shell-navbar-offset`]=`0px`,n[r?.breakpoint][`--app-shell-navbar-width`]=`100%`,a===`static`&&(n[r?.breakpoint][`--app-shell-navbar-grid-width`]=`0px`)),ru(o)){let t=E(nu(o));e[`--app-shell-navbar-width`]=t,e[`--app-shell-navbar-offset`]=t,a===`static`&&(e[`--app-shell-navbar-grid-width`]=t)}if(K(o)&&(o.base!==void 0&&(e[`--app-shell-navbar-width`]=E(o.base),e[`--app-shell-navbar-offset`]=E(o.base),a===`static`&&(e[`--app-shell-navbar-grid-width`]=E(o.base))),v(o).forEach(e=>{e!==`base`&&(t[e]=t[e]||{},t[e][`--app-shell-navbar-width`]=E(o[e]),t[e][`--app-shell-navbar-offset`]=E(o[e]),a===`static`&&(t[e][`--app-shell-navbar-grid-width`]=E(o[e])))})),r?.breakpoint!==void 0&&a===`static`&&(t[r.breakpoint]=t[r.breakpoint]||{},t[r.breakpoint][`--app-shell-navbar-position`]=`sticky`,t[r.breakpoint][`--app-shell-navbar-grid-row`]=`2`,t[r.breakpoint][`--app-shell-navbar-grid-column`]=`1`,t[r.breakpoint][`--app-shell-main-column-start`]=`2`),r?.collapsed?.desktop){let e=r.breakpoint;t[e]=t[e]||{},t[e][`--app-shell-navbar-transform`]=s,t[e][`--app-shell-navbar-transform-rtl`]=c,a===`fixed`?t[e][`--app-shell-navbar-offset`]=`0px !important`:(t[e][`--app-shell-navbar-width`]=`0px`,t[e][`--app-shell-navbar-display`]=`none`,t[e][`--app-shell-main-column-start`]=`1`)}if(r?.collapsed?.mobile){let e=le(r.breakpoint,i.breakpoints)-.1;n[e]=n[e]||{},n[e][`--app-shell-navbar-width`]=`100%`,n[e][`--app-shell-navbar-offset`]=`0px`,a===`static`&&(n[e][`--app-shell-navbar-grid-width`]=`0px`),n[e][`--app-shell-navbar-transform`]=s,n[e][`--app-shell-navbar-transform-rtl`]=c}}function cu(e){return Number(e)===0?`0px`:ie(e)}function lu({padding:e,baseStyles:t,minMediaStyles:n}){ru(e)&&(t[`--app-shell-padding`]=cu(nu(e))),K(e)&&(e.base&&(t[`--app-shell-padding`]=cu(e.base)),v(e).forEach(t=>{t!==`base`&&(n[t]=n[t]||{},n[t][`--app-shell-padding`]=cu(e[t]))}))}function uu({navbar:e,header:t,footer:n,aside:r,padding:i,theme:a,mode:o}){let s={},c={},l={};o===`static`&&(l[`--app-shell-main-grid-column`]=`1 / -1`,l[`--app-shell-main-grid-row`]=`2`),su({baseStyles:l,minMediaStyles:s,maxMediaStyles:c,navbar:e,theme:a,mode:o}),iu({baseStyles:l,minMediaStyles:s,maxMediaStyles:c,aside:r,theme:a,mode:o}),ou({baseStyles:l,minMediaStyles:s,header:t,mode:o}),au({baseStyles:l,minMediaStyles:s,footer:n,mode:o}),lu({baseStyles:l,minMediaStyles:s,padding:i});let u=ue(v(s),a.breakpoints).map(e=>({query:`(min-width: ${D(e.px)})`,styles:s[e.value]})),d=ue(v(c),a.breakpoints).map(e=>({query:`(max-width: ${D(e.px)})`,styles:c[e.value]}));return{baseStyles:l,media:[...u,...d]}}function du({navbar:e,header:t,aside:n,footer:r,padding:i,mode:a,selector:o}){let s=rn(),c=Pt(),{media:l,baseStyles:u}=uu({navbar:e,header:t,footer:r,aside:n,padding:i,theme:s,mode:a});return(0,z.jsx)(Ln,{media:l,styles:u,selector:o||c.cssVariablesSelector})}function fu({transitionDuration:e,disabled:t}){let[n,r]=(0,A.useState)(!0),i=(0,A.useRef)(-1),a=(0,A.useRef)(-1);return Ae(`resize`,()=>{r(!0),clearTimeout(i.current),i.current=window.setTimeout(()=>(0,A.startTransition)(()=>{r(!1)}),200)}),ge(()=>{r(!0),clearTimeout(a.current),a.current=window.setTimeout(()=>(0,A.startTransition)(()=>{r(!1)}),e||0)},[t,e]),n}var pu={withBorder:!0,padding:0,transitionDuration:200,transitionTimingFunction:`ease`,zIndex:te(`app`),mode:`fixed`},mu=rt((e,{transitionDuration:t,transitionTimingFunction:n})=>({root:{"--app-shell-transition-duration":`${t}ms`,"--app-shell-transition-timing-function":n}})),hu=H(e=>{let t=B(`AppShell`,pu,e),{classNames:n,className:r,style:i,styles:a,unstyled:o,vars:s,navbar:c,withBorder:l,padding:u,transitionDuration:d,transitionTimingFunction:f,header:p,zIndex:m,layout:h,disabled:g,aside:_,footer:v,offsetScrollbars:y=!0,mode:b,mod:x,attributes:S,id:C,...w}=t,T=V({name:`AppShell`,classes:Yl,props:t,className:r,style:i,classNames:n,styles:a,unstyled:o,attributes:S,vars:s,varsResolver:mu}),E=fu({disabled:g,transitionDuration:d}),D=ke(C);return(0,z.jsxs)(ql,{value:{getStyles:T,withBorder:l,zIndex:m,disabled:g,offsetScrollbars:y,mode:b},children:[(0,z.jsx)(du,{navbar:c,header:p,aside:_,footer:v,padding:u,mode:b,selector:b===`static`?`#${D}`:void 0}),(0,z.jsx)(U,{...T(`root`),id:D,mod:[{resizing:E,layout:h,disabled:g,mode:b},x],...w})]})});hu.classes=Yl,hu.varsResolver=mu,hu.displayName=`@mantine/core/AppShell`,hu.Navbar=eu,hu.Header=Ql,hu.Main=$l,hu.Aside=Xl,hu.Footer=Zl,hu.Section=tu;function gu(e){return typeof e==`string`?{value:e,label:e}:typeof e==`object`&&`value`in e&&!(`label`in e)?{value:e.value,label:`${e.value}`,disabled:e.disabled}:typeof e==`object`&&`group`in e?{group:e.group,items:e.items.map(e=>gu(e))}:typeof e==`number`||typeof e==`bigint`||typeof e==`boolean`?{value:e,label:`${e}`}:e}function _u(e){return e?e.map(e=>gu(e)):[]}function vu(e){return e.reduce((e,t)=>`group`in t?{...e,...vu(t.items)}:(e[`${t.value}`]=t,e),{})}var q={dropdown:`m_88b62a41`,search:`m_985517d8`,options:`m_b2821a6e`,option:`m_92253aa5`,empty:`m_2530cd1d`,header:`m_858f94bd`,footer:`m_82b967cb`,group:`m_254f3e4f`,groupLabel:`m_2bb2e9e5`,chevron:`m_2943220b`,optionsDropdownOption:`m_390b5f4`,optionsDropdownCheckIcon:`m_8ee53fc2`,optionsDropdownCheckPlaceholder:`m_a530ee0a`},yu={error:null},bu=rt((e,{size:t,color:n})=>({chevron:{"--combobox-chevron-size":N(t,`combobox-chevron-size`),"--combobox-chevron-color":n?Ct(n,e):void 0}})),xu=H(e=>{let t=B(`ComboboxChevron`,yu,e),{size:n,error:r,style:i,className:a,classNames:o,styles:s,unstyled:c,vars:l,attributes:u,mod:d,...f}=t,p=V({name:`ComboboxChevron`,classes:q,props:t,style:i,className:a,classNames:o,styles:s,unstyled:c,vars:l,varsResolver:bu,attributes:u,rootSelector:`chevron`});return(0,z.jsx)(U,{component:`svg`,...f,...p(`chevron`),size:n,viewBox:`0 0 15 15`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,mod:[`combobox-chevron`,{error:r},d],children:(0,z.jsx)(`path`,{d:`M4.93179 5.43179C4.75605 5.60753 4.75605 5.89245 4.93179 6.06819C5.10753 6.24392 5.39245 6.24392 5.56819 6.06819L7.49999 4.13638L9.43179 6.06819C9.60753 6.24392 9.89245 6.24392 10.0682 6.06819C10.2439 5.89245 10.2439 5.60753 10.0682 5.43179L7.81819 3.18179C7.73379 3.0974 7.61933 3.04999 7.49999 3.04999C7.38064 3.04999 7.26618 3.0974 7.18179 3.18179L4.93179 5.43179ZM10.0682 9.56819C10.2439 9.39245 10.2439 9.10753 10.0682 8.93179C9.89245 8.75606 9.60753 8.75606 9.43179 8.93179L7.49999 10.8636L5.56819 8.93179C5.39245 8.75606 5.10753 8.75606 4.93179 8.93179C4.75605 9.10753 4.75605 9.39245 4.93179 9.56819L7.18179 11.8182C7.35753 11.9939 7.64245 11.9939 7.81819 11.8182L10.0682 9.56819Z`,fill:`currentColor`,fillRule:`evenodd`,clipRule:`evenodd`})})});xu.classes=q,xu.varsResolver=bu,xu.displayName=`@mantine/core/ComboboxChevron`;var[Su,Cu]=M(`Combobox component was not found in tree`);function wu({onMouseDown:e,onClick:t,onClear:n,...r}){return(0,z.jsx)(Ll.ClearButton,{tabIndex:-1,"aria-hidden":!0,...r,onMouseDown:t=>{t.preventDefault(),e?.(t)},onClick:e=>{n(),t?.(e)}})}wu.displayName=`@mantine/core/ComboboxClearButton`;var Tu=H(e=>{let{classNames:t,styles:n,className:r,style:i,hidden:a,...o}=B(`ComboboxDropdown`,null,e),s=Cu();return(0,z.jsx)(Ps.Dropdown,{...o,role:`presentation`,"data-hidden":a||void 0,"data-floating-height":s.floatingHeight||void 0,...s.getStyles(`dropdown`,{className:r,style:i,classNames:t,styles:n})})});Tu.classes=q,Tu.displayName=`@mantine/core/ComboboxDropdown`;var Eu={refProp:`ref`},Du=H(e=>{let{children:t,refProp:n,ref:r}=B(`ComboboxDropdownTarget`,Eu,e);if(Cu(),!j(t))throw Error(`Combobox.DropdownTarget component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported`);return(0,z.jsx)(Ps.Target,{ref:r,refProp:n,children:t})});Du.displayName=`@mantine/core/ComboboxDropdownTarget`;var Ou=H(e=>{let{classNames:t,className:n,style:r,styles:i,vars:a,...o}=B(`ComboboxEmpty`,null,e),s=Cu();return(0,z.jsx)(U,{...s.getStyles(`empty`,{className:n,classNames:t,styles:i,style:r}),...o})});Ou.classes=q,Ou.displayName=`@mantine/core/ComboboxEmpty`;function ku({onKeyDown:e,onClick:t,withKeyboardNavigation:n,withAriaAttributes:r,withExpandedAttribute:i,targetType:a,autoComplete:o}){let s=Cu(),[c,l]=(0,A.useState)(null),u=t=>{if(e?.(t),!s.readOnly&&n){if(t.nativeEvent.isComposing)return;if(t.nativeEvent.code===`ArrowDown`&&(t.preventDefault(),s.store.dropdownOpened?l(s.store.selectNextOption()):(s.store.openDropdown(`keyboard`),l(s.store.selectActiveOption()),s.store.updateSelectedOptionIndex(`selected`,{scrollIntoView:!0}))),t.nativeEvent.code===`ArrowUp`&&(t.preventDefault(),s.store.dropdownOpened?l(s.store.selectPreviousOption()):(s.store.openDropdown(`keyboard`),l(s.store.selectActiveOption()),s.store.updateSelectedOptionIndex(`selected`,{scrollIntoView:!0}))),t.nativeEvent.code===`Enter`||t.nativeEvent.code===`NumpadEnter`){if(t.nativeEvent.keyCode===229)return;let e=s.store.getSelectedOptionIndex();s.store.dropdownOpened&&e!==-1?(t.preventDefault(),s.store.clickSelectedOption()):a===`button`&&(t.preventDefault(),s.store.openDropdown(`keyboard`))}t.key===`Escape`&&s.store.closeDropdown(`keyboard`),t.nativeEvent.code===`Space`&&a===`button`&&(t.preventDefault(),s.store.toggleDropdown(`keyboard`))}},d=r?{...i?{role:`combobox`}:{},"aria-haspopup":`listbox`,"aria-expanded":i?!!(s.store.listId&&s.store.dropdownOpened):void 0,"aria-controls":s.store.dropdownOpened&&s.store.listId?s.store.listId:void 0,"aria-activedescendant":s.store.dropdownOpened&&c||void 0,autoComplete:o,"data-expanded":s.store.dropdownOpened||void 0,"data-mantine-stop-propagation":s.store.dropdownOpened||void 0}:{},f=e=>{a===`button`&&e.currentTarget.focus(),t?.(e)};return{...d,onKeyDown:u,onClick:f}}var Au={refProp:`ref`,targetType:`input`,withKeyboardNavigation:!0,withAriaAttributes:!0,withExpandedAttribute:!1,autoComplete:`off`},ju=H(e=>{let{children:t,refProp:n,withKeyboardNavigation:r,withAriaAttributes:i,withExpandedAttribute:a,targetType:o,autoComplete:s,ref:c,...l}=B(`ComboboxEventsTarget`,Au,e),u=nt(t);if(!u)throw Error(`Combobox.EventsTarget component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported`);let d=Cu(),f=ku({targetType:o,withAriaAttributes:i,withKeyboardNavigation:r,withExpandedAttribute:a,onKeyDown:u.props.onKeyDown,onClick:u.props.onClick,autoComplete:s});return(0,A.cloneElement)(u,{...f,...l,[n]:Ne(c,d.store.targetRef,Qe(u))})});ju.displayName=`@mantine/core/ComboboxEventsTarget`;var Mu=H(e=>{let{classNames:t,className:n,style:r,styles:i,vars:a,...o}=B(`ComboboxFooter`,null,e),s=Cu();return(0,z.jsx)(U,{...s.getStyles(`footer`,{className:n,classNames:t,style:r,styles:i}),...o,onMouseDown:e=>{e.preventDefault()}})});Mu.classes=q,Mu.displayName=`@mantine/core/ComboboxFooter`;var Nu=H(e=>{let{classNames:t,className:n,style:r,styles:i,vars:a,children:o,label:s,id:c,...l}=B(`ComboboxGroup`,null,e),u=Cu(),d=ke(c),f=s!=null&&s!==!1&&s!==``;return(0,z.jsxs)(U,{role:`group`,"aria-labelledby":f?d:void 0,...u.getStyles(`group`,{className:n,classNames:t,style:r,styles:i}),...l,children:[f&&(0,z.jsx)(`div`,{id:d,...u.getStyles(`groupLabel`,{classNames:t,styles:i}),children:s}),o]})});Nu.classes=q,Nu.displayName=`@mantine/core/ComboboxGroup`;var Pu=H(e=>{let{classNames:t,className:n,style:r,styles:i,vars:a,...o}=B(`ComboboxHeader`,null,e),s=Cu();return(0,z.jsx)(U,{...s.getStyles(`header`,{className:n,classNames:t,style:r,styles:i}),...o,onMouseDown:e=>{e.preventDefault()}})});Pu.classes=q,Pu.displayName=`@mantine/core/ComboboxHeader`;function Fu({value:e,valuesDivider:t=`,`,...n}){return(0,z.jsx)(`input`,{type:`hidden`,value:Array.isArray(e)?e.join(t):e?`${e}`:``,...n})}Fu.displayName=`@mantine/core/ComboboxHiddenInput`;var Iu=H(e=>{let t=B(`ComboboxOption`,null,e),{classNames:n,className:r,style:i,styles:a,vars:o,onClick:s,id:c,active:l,onMouseDown:u,onMouseOver:d,disabled:f,selected:p,mod:m,...h}=t,g=Cu(),_=(0,A.useId)(),v=c||_;return(0,z.jsx)(U,{...g.getStyles(`option`,{className:r,classNames:n,styles:a,style:i}),...h,id:v,mod:[`combobox-option`,{"combobox-active":l,"combobox-disabled":f,"combobox-selected":p},m],role:`option`,onClick:e=>{f?e.preventDefault():(g.onOptionSubmit?.(t.value,t),s?.(e))},onMouseDown:e=>{e.preventDefault(),u?.(e)},onMouseOver:e=>{g.resetSelectionOnOptionHover&&g.store.resetSelectedOption(),d?.(e)}})});Iu.classes=q,Iu.displayName=`@mantine/core/ComboboxOption`;var Lu=H(e=>{let{classNames:t,className:n,style:r,styles:i,id:a,onMouseDown:o,labelledBy:s,...c}=B(`ComboboxOptions`,null,e),l=Cu(),u=ke(a);return(0,A.useEffect)(()=>{l.store.setListId(u)},[u]),(0,z.jsx)(U,{...l.getStyles(`options`,{className:n,style:r,classNames:t,styles:i}),...c,id:u,role:`listbox`,"aria-labelledby":s,onMouseDown:e=>{e.preventDefault(),o?.(e)}})});Lu.classes=q,Lu.displayName=`@mantine/core/ComboboxOptions`;var Ru={withAriaAttributes:!0,withKeyboardNavigation:!0},zu=H(e=>{let{classNames:t,styles:n,unstyled:r,vars:i,withAriaAttributes:a,onKeyDown:o,onClick:s,withKeyboardNavigation:c,size:l,ref:u,...d}=B(`ComboboxSearch`,Ru,e),f=Cu(),p=f.getStyles(`search`),m=ku({targetType:`input`,withAriaAttributes:a,withKeyboardNavigation:c,withExpandedAttribute:!1,onKeyDown:o,onClick:s,autoComplete:`off`});return(0,z.jsx)(Ll,{ref:Ne(u,f.store.searchRef),classNames:[{input:p.className},t],styles:[{input:p.style},n],size:l||f.size,...m,...d,__staticSelector:`Combobox`})});zu.classes=q,zu.displayName=`@mantine/core/ComboboxSearch`;var Bu={refProp:`ref`,targetType:`input`,withKeyboardNavigation:!0,withAriaAttributes:!0,withExpandedAttribute:!1,autoComplete:`off`},Vu=H(e=>{let{children:t,refProp:n,withKeyboardNavigation:r,withAriaAttributes:i,withExpandedAttribute:a,targetType:o,autoComplete:s,ref:c,...l}=B(`ComboboxTarget`,Bu,e),u=nt(t);if(!u)throw Error(`Combobox.Target component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported`);let d=Cu(),f=ku({targetType:o,withAriaAttributes:i,withKeyboardNavigation:r,withExpandedAttribute:a,onKeyDown:u.props.onKeyDown,onClick:u.props.onClick,autoComplete:s}),p=(0,A.cloneElement)(u,{...f,...l});return(0,z.jsx)(Ps.Target,{refProp:n,ref:Ne(c,d.store.targetRef),children:p})});Vu.displayName=`@mantine/core/ComboboxTarget`;function Hu(e,t,n){for(let n=e-1;n>=0;--n)if(!t[n].hasAttribute(`data-combobox-disabled`))return n;if(n){for(let e=t.length-1;e>-1;--e)if(!t[e].hasAttribute(`data-combobox-disabled`))return e}return e}function Uu(e,t,n){for(let n=e+1;n<t.length;n+=1)if(!t[n].hasAttribute(`data-combobox-disabled`))return n;if(n){for(let e=0;e<t.length;e+=1)if(!t[e].hasAttribute(`data-combobox-disabled`))return e}return e}function Wu(e){for(let t=0;t<e.length;t+=1)if(!e[t].hasAttribute(`data-combobox-disabled`))return t;return-1}function Gu({defaultOpened:e,opened:t,onOpenedChange:n,onDropdownClose:r,onDropdownOpen:i,loop:a=!0,scrollBehavior:o=`instant`}={}){let[s,c]=Pe({value:t,defaultValue:e,finalValue:!1,onChange:n}),l=(0,A.useRef)(null),u=(0,A.useRef)(-1),d=(0,A.useRef)(null),f=(0,A.useRef)(null),p=(0,A.useRef)(-1),m=(0,A.useRef)(-1),h=(0,A.useRef)(-1),g=(0,A.useCallback)((e=`unknown`)=>{s||(c(!0),i?.(e))},[c,i,s]),_=(0,A.useCallback)((e=`unknown`)=>{s&&(c(!1),r?.(e))},[c,r,s]),v=(0,A.useCallback)((e=`unknown`)=>{s?_(e):g(e)},[_,g,s]),y=(0,A.useCallback)(()=>{let e=tt(f.current),t=$e(`#${l.current} [data-combobox-selected]`,e);t?.removeAttribute(`data-combobox-selected`),t?.removeAttribute(`aria-selected`)},[]),b=(0,A.useCallback)(e=>{let t=tt(f.current),n=$e(`#${l.current}`,t),r=n?et(`[data-combobox-option]`,n):null;if(!r)return null;let i=e>=r.length?0:e<0?r.length-1:e;return u.current=i,r?.[i]&&!r[i].hasAttribute(`data-combobox-disabled`)?(y(),r[i].setAttribute(`data-combobox-selected`,`true`),r[i].setAttribute(`aria-selected`,`true`),r[i].scrollIntoView({block:`nearest`,behavior:o}),r[i].id):null},[o,y]),x=(0,A.useCallback)(()=>{let e=tt(f.current),t=$e(`#${l.current} [data-combobox-active]`,e);if(t){let n=et(`#${l.current} [data-combobox-option]`,e).findIndex(e=>e===t);return b(n)}return b(0)},[b]),S=(0,A.useCallback)(()=>{let e=tt(f.current),t=et(`#${l.current} [data-combobox-option]`,e);return b(Uu(u.current,t,a))},[b,a]),C=(0,A.useCallback)(()=>{let e=tt(f.current),t=et(`#${l.current} [data-combobox-option]`,e);return b(Hu(u.current,t,a))},[b,a]),w=(0,A.useCallback)(()=>{let e=tt(f.current),t=et(`#${l.current} [data-combobox-option]`,e);return b(Wu(t))},[b]),T=(0,A.useCallback)((e=`selected`,t)=>{if(typeof e==`number`){u.current=e;let n=tt(f.current),r=et(`#${l.current} [data-combobox-option]`,n);t?.scrollIntoView&&r[e]?.scrollIntoView({block:`nearest`,behavior:o});return}h.current=window.setTimeout(()=>{let n=tt(f.current),r=et(`#${l.current} [data-combobox-option]`,n),i=r.findIndex(t=>t.hasAttribute(`data-combobox-${e}`));u.current=i,t?.scrollIntoView&&r[i]?.scrollIntoView({block:`nearest`,behavior:o})},0)},[]),E=(0,A.useCallback)(()=>{u.current=-1,y()},[y]),D=(0,A.useCallback)(()=>{let e=tt(f.current);(et(`#${l.current} [data-combobox-option]`,e)?.[u.current])?.click()},[]),O=(0,A.useCallback)(e=>{l.current=e},[]),k=(0,A.useCallback)(()=>{p.current=window.setTimeout(()=>d.current?.focus(),0)},[]),j=(0,A.useCallback)(()=>{m.current=window.setTimeout(()=>f.current?.focus(),0)},[]),M=(0,A.useCallback)(()=>u.current,[]);return(0,A.useEffect)(()=>()=>{window.clearTimeout(p.current),window.clearTimeout(m.current),window.clearTimeout(h.current)},[]),{dropdownOpened:s,openDropdown:g,closeDropdown:_,toggleDropdown:v,selectedOptionIndex:u.current,getSelectedOptionIndex:M,selectOption:b,selectFirstOption:w,selectActiveOption:x,selectNextOption:S,selectPreviousOption:C,resetSelectedOption:E,updateSelectedOptionIndex:T,listId:l.current,setListId:O,clickSelectedOption:D,searchRef:d,focusSearchInput:k,targetRef:f,focusTarget:j}}var Ku={keepMounted:!0,keepMountedMode:`display-none`,withinPortal:!0,resetSelectionOnOptionHover:!1,width:`target`,transitionProps:{transition:`fade`,duration:0},size:`sm`},qu=rt((e,{size:t,dropdownPadding:n})=>({options:{"--combobox-option-fz":P(t),"--combobox-option-padding":N(t,`combobox-option-padding`)},dropdown:{"--combobox-padding":n===void 0?void 0:E(n),"--combobox-option-fz":P(t),"--combobox-option-padding":N(t,`combobox-option-padding`)}})),J=e=>{let t=B(`Combobox`,Ku,e),{classNames:n,styles:r,unstyled:i,children:a,store:o,vars:s,onOptionSubmit:c,onClose:l,size:u,dropdownPadding:d,resetSelectionOnOptionHover:f,__staticSelector:p,readOnly:m,attributes:h,floatingHeight:g,middlewares:_,...v}=t,y=g===`viewport`?{..._,flip:!1,size:{...typeof _?.size==`object`?_.size:{},padding:typeof _?.size==`object`&&_.size.padding!==void 0?_.size.padding:10,apply:({availableHeight:e,availableWidth:t,elements:n,...r})=>{n.floating.style.setProperty(`--combobox-floating-max-height`,`${e}px`);let i=_?.size;typeof i==`object`&&i.apply?i.apply({availableHeight:e,availableWidth:t,elements:n,...r}):i&&Object.assign(n.floating.style,{maxWidth:`${t}px`,maxHeight:`${e}px`})}}}:_,b=Gu(),x=o||b,S=V({name:p||`Combobox`,classes:q,props:t,classNames:n,styles:r,unstyled:i,attributes:h,vars:s,varsResolver:qu}),C=()=>{l?.(),x.closeDropdown()};return(0,z.jsx)(Su,{value:{getStyles:S,store:x,onOptionSubmit:c,size:u,resetSelectionOnOptionHover:f,readOnly:m,floatingHeight:g},children:(0,z.jsx)(Ps,{opened:x.dropdownOpened,...v,middlewares:y,onChange:e=>!e&&C(),withRoles:!1,unstyled:i,children:a})})};J.extend=e=>e,J.classes=q,J.varsResolver=qu,J.displayName=`@mantine/core/Combobox`,J.Target=Vu,J.Dropdown=Tu,J.Options=Lu,J.Option=Iu,J.Search=zu,J.Empty=Ou,J.Chevron=xu,J.Footer=Mu,J.Header=Pu,J.EventsTarget=ju,J.DropdownTarget=Du,J.Group=Nu,J.ClearButton=wu,J.HiddenInput=Fu;function Ju({size:e,style:t,...n}){let r=e===void 0?t:{width:E(e),height:E(e),...t};return(0,z.jsx)(`svg`,{viewBox:`0 0 10 7`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,style:r,"aria-hidden":!0,...n,children:(0,z.jsx)(`path`,{d:`M4 4.586L1.707 2.293A1 1 0 1 0 .293 3.707l3 3a.997.997 0 0 0 1.414 0l5-5A1 1 0 1 0 8.293.293L4 4.586z`,fill:`currentColor`,fillRule:`evenodd`,clipRule:`evenodd`})})}function Yu(e){return`group`in e}function Xu({options:e,search:t,limit:n}){let r=t.trim().toLowerCase(),i=[];for(let a=0;a<e.length;a+=1){let o=e[a];if(i.length===n)return i;Yu(o)&&i.push({group:o.group,items:Xu({options:o.items,search:t,limit:n-i.length})}),Yu(o)||o.label.toLowerCase().includes(r)&&i.push(o)}return i}function Y(e){if(e.length===0)return!0;for(let t of e)if(!(`group`in t)||t.items.length>0)return!1;return!0}function Zu(e,t=new Set){if(Array.isArray(e))for(let n of e)if(Yu(n))Zu(n.items,t);else{if(n.value===void 0)throw Error(`[@mantine/core] Each option must have value property`);if(t.has(n.value))throw Error(`[@mantine/core] Duplicate options are not supported. Option with value "${n.value}" was provided more than once`);t.add(n.value)}}function X(e,t){return Array.isArray(e)?e.includes(t):e===t}function Z({data:e,withCheckIcon:t,withAlignedLabels:n,value:r,checkIconPosition:i,unstyled:a,renderOption:o}){if(!Yu(e)){let s=X(r,e.value),c=t&&(s?(0,z.jsx)(Ju,{className:q.optionsDropdownCheckIcon}):n?(0,z.jsx)(`div`,{className:q.optionsDropdownCheckPlaceholder}):null),l=(0,z.jsxs)(z.Fragment,{children:[i===`left`&&c,(0,z.jsx)(`span`,{children:e.label}),i===`right`&&c]});return(0,z.jsx)(J.Option,{value:e.value,disabled:e.disabled,className:at({[q.optionsDropdownOption]:!a}),"data-reverse":i===`right`||void 0,"data-checked":s||void 0,"aria-selected":s,active:s,children:typeof o==`function`?o({option:e,checked:s}):l})}let s=e.items.map(e=>(0,z.jsx)(Z,{data:e,value:r,unstyled:a,withCheckIcon:t,withAlignedLabels:n,checkIconPosition:i,renderOption:o},`${e.value}`));return(0,z.jsx)(J.Group,{label:e.group,children:s})}function Qu({data:e,hidden:t,hiddenWhenEmpty:n,filter:r,search:i,limit:a,maxDropdownHeight:o,floatingHeight:s,withScrollArea:c=!0,filterOptions:l=!0,withCheckIcon:u=!1,withAlignedLabels:d=!1,value:f,checkIconPosition:p,nothingFoundMessage:m,unstyled:h,labelId:g,renderOption:_,scrollAreaProps:v,"aria-label":y}){let b=Cu();Zu(e);let x=typeof i==`string`?(r||Xu)({options:e,search:l?i:``,limit:a??1/0}):e,S=Y(x),C=x.map((e,t)=>(0,z.jsx)(Z,{data:e,withCheckIcon:u,withAlignedLabels:d,value:f,checkIconPosition:p,unstyled:h,renderOption:_},Yu(e)?`group-${typeof e.group==`string`?e.group:t}`:`${e.value}`));return(0,z.jsx)(J.Dropdown,{hidden:t||n&&S,"data-composed":!0,children:(0,z.jsxs)(J.Options,{labelledBy:g,"aria-label":y,children:[c?(0,z.jsx)(Uo.Autosize,{mah:(s??b.floatingHeight)===`viewport`?`var(--combobox-floating-options-max-height)`:o??220,type:`scroll`,scrollbarSize:`var(--combobox-padding)`,offsetScrollbars:`y`,...v,children:C}):C,S&&m&&(0,z.jsx)(J.Empty,{children:m})]})})}var $u={root:`m_347db0ec`,"root--dot":`m_fbd81e3d`,label:`m_5add502a`,section:`m_91fdda9b`},ed=rt((e,{radius:t,color:n,gradient:r,variant:i,size:a,autoContrast:o,circle:s})=>{let c=e.variantColorResolver({color:n||e.primaryColor,theme:e,gradient:r,variant:i||`filled`,autoContrast:o});return{root:{"--badge-height":N(a,`badge-height`),"--badge-padding-x":N(a,`badge-padding-x`),"--badge-fz":N(a,`badge-fz`),"--badge-radius":s||t===void 0?void 0:ae(t),"--badge-bg":n||i?c.background:void 0,"--badge-color":n||i?c.color:void 0,"--badge-bd":n||i?c.border:void 0,"--badge-dot-color":i===`dot`?Ct(n,e):void 0}}}),td=hr(e=>{let t=B(`Badge`,null,e),{classNames:n,className:r,style:i,styles:a,unstyled:o,vars:s,radius:c,color:l,gradient:u,leftSection:d,rightSection:f,children:p,variant:m,fullWidth:h,autoContrast:g,circle:_,mod:v,attributes:y,...b}=t,x=V({name:`Badge`,props:t,classes:$u,className:r,style:i,classNames:n,styles:a,unstyled:o,attributes:y,vars:s,varsResolver:ed});return(0,z.jsxs)(U,{variant:m,mod:[{block:h,circle:_,"with-right-section":!!f,"with-left-section":!!d},v],...x(`root`,{variant:m}),...b,children:[d&&(0,z.jsx)(`span`,{...x(`section`),"data-position":`left`,children:d}),(0,z.jsx)(`span`,{...x(`label`),children:p}),f&&(0,z.jsx)(`span`,{...x(`section`),"data-position":`right`,children:f})]})});td.classes=$u,td.varsResolver=ed,td.displayName=`@mantine/core/Badge`;var nd={root:`m_fea6bf1a`,burger:`m_d4fb9cad`},rd=rt((e,{color:t,size:n,lineSize:r,transitionDuration:i,transitionTimingFunction:a})=>({root:{"--burger-color":t?Ct(t,e):void 0,"--burger-size":N(n,`burger-size`),"--burger-line-size":r?E(r):void 0,"--burger-transition-duration":i===void 0?void 0:`${i}ms`,"--burger-transition-timing-function":a}})),id=H(e=>{let t=B(`Burger`,null,e),{classNames:n,className:r,style:i,styles:a,unstyled:o,vars:s,opened:c,children:l,transitionDuration:u,transitionTimingFunction:d,lineSize:f,attributes:p,...m}=t,h=V({name:`Burger`,classes:nd,props:t,className:r,style:i,classNames:n,styles:a,unstyled:o,attributes:p,vars:s,varsResolver:rd});return(0,z.jsxs)(qo,{...h(`root`),...m,children:[(0,z.jsx)(U,{mod:[`reduce-motion`,{opened:c}],...h(`burger`)}),l]})});id.classes=nd,id.varsResolver=rd,id.displayName=`@mantine/core/Burger`;var ad={root:`m_77c9d27d`,inner:`m_80f1301b`,label:`m_811560b9`,section:`m_a74036a`,loader:`m_a25b86ee`,group:`m_80d6d844`,groupSection:`m_70be2a01`},od={orientation:`horizontal`},sd=rt((e,{borderWidth:t})=>({group:{"--button-border-width":E(t)}})),cd=H(e=>{let t=B(`ButtonGroup`,od,e),{className:n,style:r,classNames:i,styles:a,unstyled:o,orientation:s,vars:c,borderWidth:l,mod:u,attributes:d,...f}=B(`ButtonGroup`,od,e),p=V({name:`ButtonGroup`,props:t,classes:ad,className:n,style:r,classNames:i,styles:a,unstyled:o,attributes:d,vars:c,varsResolver:sd,rootSelector:`group`});return(0,z.jsx)(U,{...p(`group`),mod:[{orientation:s},u],role:`group`,...f})});cd.classes=ad,cd.varsResolver=sd,cd.displayName=`@mantine/core/ButtonGroup`;var ld=rt((e,{radius:t,color:n,gradient:r,variant:i,autoContrast:a,size:o})=>{let s=e.variantColorResolver({color:n||e.primaryColor,theme:e,gradient:r,variant:i||`filled`,autoContrast:a});return{groupSection:{"--section-height":N(o,`section-height`),"--section-padding-x":N(o,`section-padding-x`),"--section-fz":o?.includes(`compact`)?P(o.replace(`compact-`,``)):P(o),"--section-radius":t===void 0?void 0:ae(t),"--section-bg":n||i?s.background:void 0,"--section-color":s.color,"--section-bd":n||i?s.border:void 0}}}),ud=H(e=>{let t=B(`ButtonGroupSection`,null,e),{className:n,style:r,classNames:i,styles:a,unstyled:o,vars:s,gradient:c,radius:l,autoContrast:u,attributes:d,...f}=t,p=V({name:`ButtonGroupSection`,props:t,classes:ad,className:n,style:r,classNames:i,styles:a,unstyled:o,attributes:d,vars:s,varsResolver:ld,rootSelector:`groupSection`});return(0,z.jsx)(U,{...p(`groupSection`),...f})});ud.classes=ad,ud.varsResolver=ld,ud.displayName=`@mantine/core/ButtonGroupSection`;var dd={in:{opacity:1,transform:`translate(-50%, calc(-50% + ${E(1)}))`},out:{opacity:0,transform:`translate(-50%, -200%)`},common:{transformOrigin:`center`},transitionProperty:`transform, opacity`},fd=rt((e,{radius:t,color:n,gradient:r,variant:i,size:a,justify:o,autoContrast:s})=>{let c=e.variantColorResolver({color:n||e.primaryColor,theme:e,gradient:r,variant:i||`filled`,autoContrast:s});return{root:{"--button-justify":o,"--button-height":N(a,`button-height`),"--button-padding-x":N(a,`button-padding-x`),"--button-fz":a?.includes(`compact`)?P(a.replace(`compact-`,``)):P(a),"--button-radius":t===void 0?void 0:ae(t),"--button-bg":n||i?c.background:void 0,"--button-hover":n||i?c.hover:void 0,"--button-color":c.color,"--button-bd":n||i?c.border:void 0,"--button-hover-color":n||i?c.hoverColor:void 0}}}),pd=hr(e=>{let t=B(`Button`,null,e),{style:n,vars:r,className:i,color:a,disabled:o,children:s,leftSection:c,rightSection:l,fullWidth:u,variant:d,radius:f,loading:p,loaderProps:m,gradient:h,classNames:g,styles:_,unstyled:v,"data-disabled":y,autoContrast:b,mod:x,attributes:S,...C}=t,w=V({name:`Button`,props:t,classes:ad,className:i,style:n,classNames:g,styles:_,unstyled:v,attributes:S,vars:r,varsResolver:fd}),T=!!c,E=!!l;return(0,z.jsxs)(qo,{...w(`root`,{active:!o&&!p&&!y}),unstyled:v,variant:d,disabled:o||p,mod:[{disabled:o||y,loading:p,block:u,"with-left-section":T,"with-right-section":E},x],...C,children:[typeof p==`boolean`&&(0,z.jsx)(vs,{mounted:p,transition:dd,duration:150,children:e=>(0,z.jsx)(U,{component:`span`,...w(`loader`,{style:e}),"aria-hidden":!0,children:(0,z.jsx)(Hs,{color:`var(--button-color)`,size:`calc(var(--button-height) / 1.8)`,...m})})}),(0,z.jsxs)(`span`,{...w(`inner`),children:[c&&(0,z.jsx)(U,{component:`span`,...w(`section`),mod:{position:`left`},children:c}),(0,z.jsx)(U,{component:`span`,mod:{loading:p},...w(`label`),children:s}),l&&(0,z.jsx)(U,{component:`span`,...w(`section`),mod:{position:`right`},children:l})]})]})});pd.classes=ad,pd.varsResolver=fd,pd.displayName=`@mantine/core/Button`,pd.Group=cd,pd.GroupSection=ud;function md(e){let t=e.currentTarget;return tt(t).activeElement!==t}function hd(e,t){let n=t.trim().toLowerCase();if(n===``)return;let r=Object.values(e).filter(e=>!e.disabled&&e.label.trim().toLowerCase()===n);return r.length===1?r[0]:void 0}var gd={root:`m_f0824112`,description:`m_57492dcc`,section:`m_690090b5`,label:`m_1f6ac4c4`,body:`m_f07af9d2`,children:`m_e17b862f`,chevron:`m_1fd8a00b`},_d=rt((e,{variant:t,color:n,childrenOffset:r,autoContrast:i})=>{let a=e.variantColorResolver({color:n||e.primaryColor,theme:e,variant:t||`light`,autoContrast:i});return{root:{"--nl-bg":n||t?a.background:void 0,"--nl-hover":n||t?a.hover:void 0,"--nl-color":n||t?a.color:void 0},children:{"--nl-offset":ie(r)}}}),vd=hr(e=>{let t=B(`NavLink`,null,e),{classNames:n,className:r,style:i,styles:a,unstyled:o,vars:s,opened:c,defaultOpened:l,onChange:u,children:d,active:f,disabled:p,leftSection:m,rightSection:h,label:g,description:_,disableRightSectionRotation:v,noWrap:y,childrenOffset:b,autoContrast:x,mod:S,attributes:C,onClick:w,onKeyDown:T,keepMounted:E,...D}=t,O=V({name:`NavLink`,props:t,classes:gd,className:r,style:i,classNames:n,styles:a,unstyled:o,attributes:C,vars:s,varsResolver:_d}),[k,A]=Pe({value:c,defaultValue:l,finalValue:!1,onChange:u}),j=!!d,M=e=>{w?.(e),j&&(e.preventDefault(),A(!k))};return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(qo,{...O(`root`),component:`a`,onClick:M,onKeyDown:e=>{T?.(e),e.nativeEvent.code===`Space`&&j&&(e.preventDefault(),A(!k))},unstyled:o,mod:[{disabled:p,active:f,expanded:k},S],...D,children:[m&&(0,z.jsx)(U,{component:`span`,...O(`section`),mod:{position:`left`},children:m}),(0,z.jsxs)(U,{...O(`body`),mod:{"no-wrap":y},children:[(0,z.jsx)(U,{component:`span`,...O(`label`),children:g}),(0,z.jsx)(U,{component:`span`,mod:{active:f},...O(`description`),children:_})]}),(j||h!==void 0)&&(0,z.jsx)(U,{...O(`section`),component:`span`,mod:{rotate:k&&!v,position:`right`},children:j&&h===void 0?(0,z.jsx)(Vl,{...O(`chevron`)}):h})]}),j&&(0,z.jsx)(Tr,{expanded:k,keepMounted:E,...O(`collapse`),children:(0,z.jsx)(`div`,{...O(`children`),children:d})})]})});vd.classes=gd,vd.varsResolver=_d,vd.displayName=`@mantine/core/NavLink`;var yd={size:`sm`,withCheckIcon:!0,allowDeselect:!0,checkIconPosition:`left`,openOnFocus:!0},bd=mr(e=>{let t=B([`Input`,`InputWrapper`,`Select`],yd,e),{classNames:n,styles:r,unstyled:i,vars:a,dropdownOpened:o,defaultDropdownOpened:s,onDropdownClose:c,onDropdownOpen:l,onFocus:u,onBlur:d,onClick:f,onChange:p,data:m,value:h,defaultValue:g,selectFirstOptionOnChange:_,selectFirstOptionOnDropdownOpen:v,onOptionSubmit:y,comboboxProps:b,readOnly:x,disabled:S,filter:C,limit:w,withScrollArea:T,maxDropdownHeight:E,floatingHeight:D,size:O,searchable:k,rightSection:j,checkIconPosition:M,withCheckIcon:ee,withAlignedLabels:te,nothingFoundMessage:ne,name:re,form:N,searchValue:ie,defaultSearchValue:ae,onSearchChange:P,allowDeselect:oe,error:se,rightSectionPointerEvents:ce,id:le,clearable:ue,clearSectionMode:de,clearButtonProps:fe,hiddenInputProps:pe,renderOption:me,onClear:he,autoComplete:F,scrollAreaProps:I,__defaultRightSection:ge,__clearSection:_e,__clearable:ve,chevronColor:ye,autoSelectOnBlur:be,openOnFocus:L,attributes:xe,...Se}=t,Ce=(0,A.useMemo)(()=>_u(m),[m]),we=(0,A.useRef)({}),Te=(0,A.useMemo)(()=>vu(Ce),[Ce]),Ee=ke(le),[De,Oe,Ae]=Pe({value:h,defaultValue:g,finalValue:null,onChange:p}),je=De==null?void 0:`${De}`in Te?Te[`${De}`]:we.current[`${De}`],Me=Le(je),[Ne,Fe,Ie]=Pe({value:ie,defaultValue:ae,finalValue:je?je.label:``,onChange:P}),Re=Gu({opened:o,defaultOpened:s,onDropdownOpen:()=>{l?.(),v?Re.selectFirstOption():Re.updateSelectedOptionIndex(`active`,{scrollIntoView:!0})},onDropdownClose:()=>{c?.(),setTimeout(Re.resetSelectedOption,0)}}),ze=e=>{Fe(e),Re.resetSelectedOption()},{resolvedClassNames:Be,resolvedStyles:Ve}=bn({props:t,styles:r,classNames:n});(0,A.useEffect)(()=>{_&&Re.selectFirstOption()},[_,Ne]),(0,A.useEffect)(()=>{h===null&&ze(``),h!=null&&je&&(Me?.value!==je.value||Me?.label!==je.label)&&ze(je.label)},[h,je]),(0,A.useEffect)(()=>{!Ae&&!Ie&&ze(De==null?``:`${De}`in Te?Te[`${De}`]?.label:we.current[`${De}`]?.label||``)},[Te,De]),(0,A.useEffect)(()=>{De&&`${De}`in Te&&(we.current[`${De}`]=Te[`${De}`])},[Te,De]);let He=(0,z.jsx)(J.ClearButton,{...fe,onClear:()=>{Oe(null,null),ze(``),he?.()}}),Ue=ue&&De!=null&&!S&&!x;return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(J,{store:Re,__staticSelector:`Select`,classNames:Be,styles:Ve,unstyled:i,readOnly:x,size:O,attributes:xe,floatingHeight:D,keepMounted:be,onOptionSubmit:e=>{y?.(e);let t=oe&&`${Te[e].value}`==`${De}`?null:Te[e],n=t?t.value:null;n!==De&&Oe(n,t),!Ae&&ze(n==null?``:t?.label||``),Re.closeDropdown()},...b,children:[(0,z.jsx)(J.Target,{targetType:k?`input`:`button`,autoComplete:F,withExpandedAttribute:!0,children:(0,z.jsx)(Bl,{id:Ee,__defaultRightSection:(0,z.jsx)(J.Chevron,{size:O,error:se,unstyled:i,color:ye}),__clearSection:He,__clearable:Ue,__clearSectionMode:de,rightSection:j,rightSectionPointerEvents:ce||`none`,...Se,size:O,__staticSelector:`Select`,disabled:S,readOnly:x||!k,value:Ne,onChange:e=>{if(md(e)){if(!x){let t=hd(Te,e.currentTarget.value);t&&`${t.value}`!=`${De}`&&(Oe(t.value,t),!Ae&&ze(t.label))}return}ze(e.currentTarget.value),Re.openDropdown(),_&&Re.selectFirstOption()},onFocus:e=>{L&&k&&Re.openDropdown(),u?.(e)},onBlur:e=>{be&&Re.clickSelectedOption(),k&&Re.closeDropdown();let t=De!=null&&(`${De}`in Te?Te[`${De}`]:we.current[`${De}`]);ze(t&&t.label||``),d?.(e)},onClick:e=>{k?Re.openDropdown():Re.toggleDropdown(),f?.(e)},classNames:Be,styles:Ve,unstyled:i,pointer:!k,error:se,attributes:xe})}),(0,z.jsx)(Qu,{data:Ce,hidden:x||S,filter:C,search:Ne,limit:w,hiddenWhenEmpty:!ne,withScrollArea:T,maxDropdownHeight:E,filterOptions:!!k&&je?.label!==Ne,value:De,checkIconPosition:M,withCheckIcon:ee,withAlignedLabels:te,nothingFoundMessage:ne,unstyled:i,labelId:Se.label?`${Ee}-label`:void 0,"aria-label":Se.label?void 0:Se[`aria-label`],renderOption:me,scrollAreaProps:I})]}),(0,z.jsx)(J.HiddenInput,{value:De,name:re,form:N,disabled:S,...pe})]})});bd.classes={...Bl.classes,...J.classes},bd.displayName=`@mantine/core/Select`;var xd={root:`m_6d731127`},Sd={gap:`md`,align:`stretch`,justify:`flex-start`},Cd=rt((e,{gap:t,align:n,justify:r})=>({root:{"--stack-gap":ie(t),"--stack-align":n,"--stack-justify":r}})),wd=H(e=>{let t=B(`Stack`,Sd,e),{classNames:n,className:r,style:i,styles:a,unstyled:o,vars:s,align:c,justify:l,gap:u,variant:d,attributes:f,...p}=t,m=V({name:`Stack`,props:t,classes:xd,className:r,style:i,classNames:n,styles:a,unstyled:o,attributes:f,vars:s,varsResolver:Cd});return(0,z.jsx)(U,{...m(`root`),variant:d,...p})});wd.classes=xd,wd.varsResolver=Cd,wd.displayName=`@mantine/core/Stack`;var Td=H(e=>{let t=B([`Input`,`InputWrapper`,`TextInput`],null,e);return(0,z.jsx)(Bl,{component:`input`,...t,__staticSelector:`TextInput`})});Td.classes=Bl.classes,Td.displayName=`@mantine/core/TextInput`;var Ed=_();function Dd(e){if(e.kind!==`action`)return null;let t=e.action;return t.action===`join_room`?{kind:`join_room`,room:t.room}:t.action===`leave_room`?{kind:`leave_room`}:null}function Od(e,t,n){let r=e.trim();return r.length===0?{kind:`ignored`}:r.startsWith(`/`)?kd(r,t):t!==void 0&&t!==``?{kind:`action`,action:{action:`send`,target:t,content:r}}:n!==void 0&&n!==``?{kind:`action`,action:{action:`dm`,target:n,content:r}}:{kind:`local`,result:{type:`error`,text:`Join a room or select an agent first`}}}function kd(e,t){let n=e.slice(1).split(/\s+/),r=(n[0]??``).toLowerCase();switch(r){case`join`:return n[1]===void 0||n[1]===``?{kind:`local`,result:{type:`error`,text:`Usage: /join <room>`}}:{kind:`action`,action:{action:`join_room`,room:n[1]}};case`leave`:return{kind:`action`,action:{action:`leave_room`,room:n[1]??t??``}};case`rooms`:return{kind:`action`,action:{action:`list_rooms`}};case`agents`:return{kind:`action`,action:{action:`list_agents`}};case`dm`:return n[1]===void 0||n[1]===``||n[2]===void 0||n[2]===``?{kind:`local`,result:{type:`error`,text:`Usage: /dm <agent> <message>`}}:{kind:`action`,action:{action:`dm`,target:n[1],content:n.slice(2).join(` `)}};case`create`:return n[1]===void 0||n[1]===``?{kind:`local`,result:{type:`error`,text:`Usage: /create <name>`}}:{kind:`action`,action:{action:`create_room`,name:n[1],type:`public`}};case`destroy`:return n[1]===void 0||n[1]===``?{kind:`local`,result:{type:`error`,text:`Usage: /destroy <room>`}}:{kind:`action`,action:{action:`destroy_room`,room:n[1]}};case`rename`:return n[1]===void 0||n[1]===``||n[2]===void 0||n[2]===``?{kind:`local`,result:{type:`error`,text:`Usage: /rename <agent> <new-name>`}}:{kind:`action`,action:{action:`rename_agent`,agent:n[1],name:n.slice(2).join(` `)}};case`help`:return{kind:`local`,result:{type:`help`,text:`Commands: /join, /leave, /rooms, /agents, /dm, /create, /destroy, /rename, /help`}};default:return{kind:`local`,result:{type:`unknown`,text:`Unknown command: /${r}`}}}}var Ad=11,jd=19;function Md(e){return e.slice(Ad,jd)}function Nd(e,t){switch(e.type){case`room_message`:return t===e.message.room?{type:`chat`,sender:e.message.from,content:e.message.content,timestamp:e.message.timestamp}:void 0;case`dm`:return{type:`dm`,sender:e.message.from,content:e.message.content,timestamp:e.message.timestamp};case`member_joined`:return{type:`system`,text:`${e.agent} joined ${e.room}`};case`member_left`:return{type:`system`,text:`${e.agent} left ${e.room}`};case`member_status`:return{type:`status`,text:`${e.agent} is now ${e.status} in ${e.room}`};case`delivery_status`:return{type:`status`,text:`Message ${e.messageId} ${e.status} by ${e.agent}`};case`room_members`:return t===e.room?{type:`system`,text:`Members: ${e.members.map(e=>`${e.name} (${e.status})`).join(`, `)}`}:void 0;case`room_invite`:{let t=e.roomDescription?` — ${e.roomDescription}`:``;return{type:`system`,text:`${e.fromName} invited you to "${e.room}"${t}`}}case`invite_declined`:return{type:`system`,text:`${e.agentName} declined invite to ${e.room}: "${e.reason}"`};case`name_changed`:return{type:`system`,text:`${e.oldName} is now known as ${e.newName}`};default:return e}}function Pd(e){return{type:`chat`,sender:e.from,content:e.content,timestamp:e.timestamp}}function Fd({message:e}){switch(e.type){case`chat`:return(0,z.jsxs)(oc,{gap:`xs`,wrap:`wrap`,align:`baseline`,children:[(0,z.jsx)(Kl,{fw:600,c:`accent`,span:!0,children:e.sender}),(0,z.jsx)(Kl,{c:`dimmed`,size:`xs`,span:!0,children:Md(e.timestamp)}),(0,z.jsxs)(Kl,{span:!0,children:[`: `,e.content]})]});case`dm`:return(0,z.jsxs)(oc,{gap:`xs`,wrap:`wrap`,align:`baseline`,children:[(0,z.jsx)(td,{color:`grape`,size:`xs`,children:`DM`}),(0,z.jsx)(Kl,{fw:600,c:`accent`,span:!0,children:e.sender}),(0,z.jsx)(Kl,{c:`dimmed`,size:`xs`,span:!0,children:Md(e.timestamp)}),(0,z.jsxs)(Kl,{span:!0,children:[`: `,e.content]})]});case`system`:return(0,z.jsx)(Kl,{c:`dimmed`,fs:`italic`,size:`sm`,children:e.text});case`status`:return(0,z.jsx)(Kl,{c:`yellow`,size:`xs`,children:e.text})}}function Id({messages:e}){let t=(0,A.useRef)(null);return(0,A.useEffect)(()=>{let e=t.current;e&&(e.scrollTop=e.scrollHeight)},[e.length]),(0,z.jsx)(Uo,{flex:1,p:`md`,viewportRef:t,"aria-label":`Conversation`,children:(0,z.jsx)(wd,{gap:4,children:e.map((e,t)=>(0,z.jsx)(Fd,{message:e},t))})})}function Ld({messages:e,rooms:t,currentRoom:n,dmTarget:r,connected:i,sidebarOpened:a,onToggleSidebar:o,onSendAction:s,onLeaveRoom:c,onConnectToMesh:l}){let[u,d]=(0,A.useState)(``),f=(n===void 0?void 0:t.find(e=>e.id===n)?.name??n)??(r===void 0?`Select a room`:`DM with ${r}`),p=()=>{let e=u.trim();if(e){switch(Od(e,n,r).kind){case`action`:s(e);break;case`local`:s(e)}d(``)}};return(0,z.jsxs)(wd,{h:`100%`,gap:0,children:[(0,z.jsxs)(oc,{component:`header`,justify:`space-between`,px:`md`,py:`sm`,bg:`dark.6`,children:[(0,z.jsxs)(oc,{gap:`sm`,children:[(0,z.jsx)(id,{opened:a,onClick:o,size:`sm`,"aria-label":`Toggle sidebar`}),(0,z.jsx)(Kl,{fw:600,children:f})]}),n!==void 0&&(0,z.jsx)(pd,{size:`xs`,variant:`subtle`,onClick:c,children:`Leave`})]}),(0,z.jsx)(Id,{messages:e}),!i&&e.length===0&&(0,z.jsxs)(wd,{align:`center`,justify:`center`,gap:`md`,p:`xl`,children:[(0,z.jsx)(Kl,{c:`dimmed`,children:`Connect to a local mesh to discover agents and rooms.`}),(0,z.jsx)(pd,{variant:`outline`,onClick:l,children:`Connect to local mesh`})]}),(0,z.jsxs)(oc,{px:`md`,py:`sm`,gap:`xs`,bg:`dark.6`,children:[(0,z.jsx)(Td,{flex:1,placeholder:`Type a message or /command...`,"aria-label":`Message`,autoComplete:`off`,value:u,onChange:e=>{d(e.target.value)},onKeyDown:e=>{e.key===`Enter`&&p()}}),(0,z.jsx)(pd,{onClick:p,children:`Send`})]})]})}function Rd(e,t,n){let[r,...i]=t;if(r===void 0){e.agents.push(n);return}let a=e.children.get(r);a||(a={children:new Map,agents:[]},e.children.set(r,a)),Rd(a,i,n)}function zd(e,t){let[n,...r]=t;if(n===void 0)return;let i=e.children.get(n);i||(i={children:new Map,agents:[]},e.children.set(n,i)),zd(i,r)}var Bd=`Project room for `;function Vd(e){return e.description.startsWith(Bd)}function Hd(e){return e.description.slice(17)}function Ud(e,t){let n=t.filter(e=>!Vd(e)),r=new Map;for(let e of t)Vd(e)&&r.set(Hd(e),e);let i=new Set;for(let t of e)i.add(t.cwd);for(let e of r.keys())i.add(e);if(i.size===0)return{roots:[],manualRooms:n};let a=Kd(Array.from(i)),o=a===`/`?[]:Wd(a),s={children:new Map,agents:[]};for(let t of e)Rd(s,Wd(t.cwd).slice(o.length),t);for(let e of r.keys())zd(s,Wd(e).slice(o.length));return{roots:Jd(qd(s,a,``,r)),manualRooms:n}}function Wd(e){return e.split(`/`).filter(e=>e.length>0)}function Gd(...e){return`/`+e.join(`/`)}function Kd(e){if(e.length===0)return`/`;let t=e.map(Wd),n=Math.min(...t.map(e=>e.length)),r=0;for(let e=0;e<n;e++){let n=t[0]?.[e];if(n===void 0)break;if(t.every(t=>t[e]===n))r++;else break}return r>0&&r--,r===0?`/`:Gd(...t[0]?.slice(0,r)??[])}function qd(e,t,n,r){let i=[];for(let[a,o]of e.children){let e=n===``&&t===`/`?`/`+a:n===``?t+`/`+a:n+`/`+a,s=qd(o,t,e,r),c=r.get(e);(s.length>0||c)&&i.push({type:`directory`,name:a,path:e,...c?{roomId:c.id}:{},children:Jd(s)})}for(let t of e.agents)i.push({type:`agent`,name:t.name,agentId:t.id,status:t.status,cwd:t.cwd});return i}function Jd(e){return[...e].sort((e,t)=>e.type===t.type?e.name.localeCompare(t.name):e.type===`directory`?-1:1)}var Yd=[{value:`public`,label:`Public`},{value:`private`,label:`Private`},{value:`secret`,label:`Secret`}];function Xd(e){return e===`public`||e===`private`||e===`secret`}function Zd({visible:e,onSubmit:t,onCancel:n}){let[r,i]=(0,A.useState)(``),[a,o]=(0,A.useState)(`public`),[s,c]=(0,A.useState)(``);return e?(0,z.jsx)(`form`,{onSubmit:e=>{e.preventDefault(),r.trim()&&(t(r.trim(),a,s.trim()),i(``),o(`public`),c(``))},children:(0,z.jsxs)(wd,{gap:`xs`,p:`xs`,children:[(0,z.jsx)(Td,{label:`Room name`,name:`room-name`,required:!0,placeholder:`e.g. project-alpha`,size:`xs`,value:r,onChange:e=>{i(e.target.value)}}),(0,z.jsx)(bd,{label:`Type`,name:`room-type`,size:`xs`,data:Yd,value:a,allowDeselect:!1,onChange:e=>{Xd(e)&&o(e)}}),(0,z.jsx)(Td,{label:`Description (optional)`,name:`room-description`,placeholder:`What is this room about?`,size:`xs`,value:s,onChange:e=>{c(e.target.value)}}),(0,z.jsxs)(oc,{gap:`xs`,children:[(0,z.jsx)(pd,{type:`submit`,size:`xs`,flex:1,children:`Create`}),(0,z.jsx)(pd,{type:`button`,size:`xs`,flex:1,variant:`default`,onClick:n,children:`Cancel`})]})]})}):null}function Qd({visible:e,onSubmit:t,onCancel:n}){let[r,i]=(0,A.useState)(``);if(!e)return null;let a=()=>{let e=r.trim();e&&(t(e),i(``))};return(0,z.jsxs)(oc,{gap:`xs`,py:4,children:[(0,z.jsx)(Td,{flex:1,size:`xs`,placeholder:`Room name...`,"aria-label":`Room name`,autoComplete:`off`,value:r,onChange:e=>{i(e.target.value)},onKeyDown:e=>{e.key===`Enter`&&a(),e.key===`Escape`&&n()}}),(0,z.jsx)(pd,{size:`xs`,onClick:a,children:`Join`})]})}var $d={active:`green`,idle:`yellow`,busy:`red`,offline:`gray`};function ef({status:e}){return(0,z.jsx)(U,{w:8,h:8,style:{borderRadius:`50%`,backgroundColor:`var(--mantine-color-${$d[e]}-6)`}})}function tf({tree:e,onJoinRoom:t,onSelectAgent:n,onRenameAgent:r,currentRoom:i}){return(0,z.jsxs)(U,{mb:`xs`,children:[e.roots.map(e=>(0,z.jsx)(nf,{node:e,onJoinRoom:t,onSelectAgent:n,onRenameAgent:r,currentRoom:i},e.type===`agent`?e.agentId:e.path)),e.manualRooms.length>0&&(0,z.jsxs)(U,{py:4,children:[(0,z.jsx)(Kl,{size:`xs`,c:`dimmed`,fw:700,tt:`uppercase`,px:`xs`,py:4,children:`Rooms`}),e.manualRooms.map(e=>(0,z.jsx)(vd,{label:`${e.name} (${String(e.members.length)})`,active:i===e.id,onClick:()=>{t(e.id)}},e.id))]})]})}function nf({node:e,onJoinRoom:t,onSelectAgent:n,onRenameAgent:r,currentRoom:i}){return e.type===`agent`?(0,z.jsx)(af,{node:e,onSelectAgent:n,onRenameAgent:r}):(0,z.jsx)(rf,{node:e,onJoinRoom:t,onSelectAgent:n,onRenameAgent:r,currentRoom:i})}function rf({node:e,onJoinRoom:t,onSelectAgent:n,onRenameAgent:r,currentRoom:i}){let a=e.roomId,o=i===a,s=a===void 0?{}:{onClick:()=>{t(a)}};return(0,z.jsx)(vd,{label:e.name,leftSection:(0,z.jsx)(`span`,{"aria-hidden":`true`,children:`📁`}),defaultOpened:!0,active:o,...s,children:e.children.map(e=>(0,z.jsx)(nf,{node:e,onJoinRoom:t,onSelectAgent:n,onRenameAgent:r,currentRoom:i},e.type===`agent`?e.agentId:e.path))})}function af({node:e,onSelectAgent:t,onRenameAgent:n}){let[r,i]=(0,A.useState)(!1),[a,o]=(0,A.useState)(``),s=(0,A.useRef)(null);(0,A.useEffect)(()=>{r&&s.current?.focus()},[r]);let c=()=>{o(e.name),i(!0)},l=()=>{let t=a.trim();t&&t!==e.name&&n(e.agentId,t),i(!1)};return r?(0,z.jsx)(Td,{ref:s,size:`xs`,ml:`md`,"aria-label":`Rename ${e.name}`,value:a,onChange:e=>{o(e.target.value)},onKeyDown:e=>{e.key===`Enter`&&l(),e.key===`Escape`&&i(!1)},onBlur:l}):(0,z.jsx)(vd,{label:e.name,leftSection:(0,z.jsx)(ef,{status:e.status}),onClick:()=>{t(e.agentId)},onDoubleClick:c})}function of({rooms:e,agents:t,currentRoom:n,onJoinRoom:r,onSelectAgent:i,onRenameAgent:a,onCreateRoom:o,onJoinRoomInput:s}){let[c,l]=(0,A.useState)(!1),[u,d]=(0,A.useState)(!1),[f,p]=(0,A.useState)(!1),m=Ud(f?t:t.filter(e=>e.status!==`offline`),e);return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(oc,{justify:`space-between`,px:`md`,py:`sm`,children:[(0,z.jsx)(Kl,{size:`sm`,fw:600,c:`accent`,children:`Agent Comms`}),(0,z.jsx)(Xs,{variant:f?`filled`:`default`,size:`sm`,"aria-label":`${f?`Hide`:`Show`} offline agents`,title:`${f?`Hide`:`Show`} offline agents`,onClick:()=>{p(e=>!e)},children:f?`◉`:`◎`})]}),(0,z.jsxs)(Uo,{flex:1,px:`xs`,children:[(0,z.jsx)(tf,{tree:m,onJoinRoom:r,onSelectAgent:i,onRenameAgent:a,currentRoom:n}),(0,z.jsxs)(oc,{justify:`space-between`,px:`xs`,py:4,children:[(0,z.jsx)(Kl,{size:`xs`,c:`dimmed`,fw:700,tt:`uppercase`,children:`Create`}),(0,z.jsx)(Xs,{variant:`default`,size:`sm`,"aria-label":`Create room`,title:`Create room`,onClick:()=>{l(e=>!e)},children:`+`})]}),(0,z.jsx)(Zd,{visible:c,onSubmit:(e,t,n)=>{o(e,t,n),l(!1)},onCancel:()=>{l(!1)}}),(0,z.jsx)(pd,{fullWidth:!0,size:`xs`,variant:`outline`,onClick:()=>{d(e=>!e)},children:`+ Join Room`}),(0,z.jsx)(Qd,{visible:u,onSubmit:e=>{s(e),d(!1)},onCancel:()=>{d(!1)}})]})]})}function sf(e){let[t,{toggle:n}]=Ie(!0);return(0,z.jsxs)(hu,{navbar:{width:260,breakpoint:`sm`,collapsed:{desktop:!t,mobile:!t}},children:[(0,z.jsx)(hu.Navbar,{children:(0,z.jsx)(of,{rooms:e.rooms,agents:e.agents,currentRoom:e.currentRoom,onJoinRoom:e.onJoinRoom,onSelectAgent:e.onSelectAgent,onRenameAgent:e.onRenameAgent,onCreateRoom:e.onCreateRoom,onJoinRoomInput:e.onJoinRoomInput})}),(0,z.jsx)(hu.Main,{h:`100vh`,children:(0,z.jsx)(Ld,{messages:e.messages,rooms:e.rooms,currentRoom:e.currentRoom,dmTarget:e.dmTarget,connected:e.connected,sidebarOpened:t,onToggleSidebar:n,onSendAction:e.onSendAction,onLeaveRoom:e.onLeaveRoom,onConnectToMesh:e.onConnectToMesh})})]})}function cf(e){return typeof e==`object`&&!!e}function lf(e){return Array.isArray(e)}function uf(e){return Array.isArray(e)}function df(e){return Array.isArray(e)}function ff(e){return cf(e)&&typeof e.type==`string`}async function pf(){let e=await(await fetch(`/api/agents`)).json();if(!lf(e))throw Error(`Invalid agents response`);return e}async function mf(){let e=await(await fetch(`/api/rooms`)).json();if(!uf(e))throw Error(`Invalid rooms response`);return e}async function hf(e,t){let n=t===void 0?`/api/rooms/${encodeURIComponent(e)}/messages`:`/api/rooms/${encodeURIComponent(e)}/messages?since=${encodeURIComponent(t)}`,r=await(await fetch(n)).json();if(!df(r))throw Error(`Invalid messages response`);return r}var gf=3e3,_f=class{ws;reconnectTimer;handler;constructor(e){this.handler=e}connect(){let e=location.protocol===`https:`?`wss:`:`ws:`,t=new WebSocket(`${e}//${location.host}`);this.ws=t,t.onopen=()=>{this.handler.onOpen?.()},t.onclose=()=>{this.handler.onClose?.(),this.scheduleReconnect()},t.onerror=()=>{},t.onmessage=e=>{let t=JSON.parse(typeof e.data==`string`?e.data:String(e.data));ff(t)&&this.handler.onFrame?.(t)}}sendAction(e){let t=this.ws;t?.readyState===WebSocket.OPEN&&t.send(JSON.stringify(e))}disconnect(){this.reconnectTimer!==void 0&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=void 0);let e=this.ws;e&&e.close(),this.ws=void 0}scheduleReconnect(){this.reconnectTimer=setTimeout(()=>{this.connect()},gf)}},vf={currentRoom:void 0,dmTarget:void 0,agents:[],rooms:[],messages:[],connected:!1},yf=class{state={...vf};listeners=new Set;subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}get(){return this.state}setCurrentRoom(e){this.state={...this.state,currentRoom:e},this.notify()}setDmTarget(e){this.state={...this.state,dmTarget:e},this.notify()}setAgents(e){this.state={...this.state,agents:e},this.notify()}setRooms(e){this.state={...this.state,rooms:e},this.notify()}setConnected(e){this.state={...this.state,connected:e},this.notify()}addMessage(e){this.state={...this.state,messages:[...this.state.messages,e]},this.notify()}setMessages(e){this.state={...this.state,messages:e},this.notify()}clearMessages(){this.state={...this.state,messages:[]},this.notify()}applyState(e,t){this.state={...this.state,agents:e,rooms:t},this.notify()}reset(){this.state={...vf,messages:[]},this.notify()}notify(){let e=this.state;for(let t of this.listeners)t(e)}};function bf(e){return(0,A.useSyncExternalStore)(t=>e.subscribe(t),()=>e.get())}var xf=19877,Sf=10,Cf=class{worker;state={agents:[],rooms:[],connected:!1};listeners=new Set;actionCounter=0;pendingActions=new Map;connect(){if(this.worker)return;let e=new SharedWorker(`./mesh-worker.js`);if(this.worker=e,e.port.onmessage=e=>{let t=JSON.parse(typeof e.data==`string`?e.data:String(e.data));if(wf(t))switch(t.type){case`state`:{if(!(`state`in t)||typeof t.state!=`object`||t.state===null||!(`agents`in t.state)||!(`rooms`in t.state))break;let e=t.state,n=Tf(e.agents)?Object.values(e.agents).filter(Ef):[],r=Tf(e.rooms)?Object.values(e.rooms).filter(Df):[];this.state={...this.state,agents:n,rooms:r},this.notify();break}case`connected`:this.state={...this.state,connected:!0},this.notify();break;case`disconnected`:this.state={...this.state,connected:!1},this.notify();break;case`patch`:this.postToWorker({type:`getState`})}},e.port.start(),/^(localhost|127\.\d+\.\d+\.\d+)(:\d+)?$/.test(location.host)){let e=`${location.protocol===`https:`?`wss:`:`ws:`}//${location.host}/ws/mesh`;this.postToWorker({type:`init`,url:e})}else this.probeLocalMesh(xf,Sf)}get(){return this.state}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}sendAction(e){let t=String(++this.actionCounter);this.postToWorker({type:`action`,id:t,action:e})}disconnect(){this.worker&&=(this.worker.port.close(),void 0),this.pendingActions.clear()}probeLocalMesh(e,t){let n=0,r=e=>{if(n>=t)return;n++;let i=`ws://127.0.0.1:${String(e)}/ws/mesh`;fetch(`http://127.0.0.1:${String(e)}/`,{mode:`no-cors`}).then(()=>{this.postToWorker({type:`init`,url:i})}).catch(()=>{r(e+1)})};r(e)}postToWorker(e){this.worker&&this.worker.port.postMessage(JSON.stringify(e))}notify(){let e=this.state;for(let t of this.listeners)t(e)}};function wf(e){return typeof e==`object`&&!!e&&`type`in e}function Tf(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Ef(e){return Tf(e)&&typeof e.id==`string`&&typeof e.name==`string`}function Df(e){return Tf(e)&&typeof e.id==`string`&&typeof e.name==`string`}var Of=yn({primaryColor:`accent`,primaryShade:5,colors:{accent:[`#e5fbff`,`#bdf4ff`,`#85ebff`,`#47e0ff`,`#0fd7ff`,`#00b3d6`,`#009dbd`,`#00849e`,`#006f85`,`#005566`],dark:[`#e4e4e4`,`#b6b6b6`,`#888888`,`#4c5e74`,`#0f3460`,`#132b4f`,`#16213e`,`#1a1a2e`,`#131321`,`#0c0c16`]}}),kf=/^(localhost|127\.\d+\.\d+\.\d+)(:\d+)?$/;function Af(e){return kf.test(e)}function jf(e){return e.getItem(`agent-comms-connected`)===`true`}var Mf=`Project room for `;function Nf(e){let t=new URLSearchParams(e),n=t.get(`room`);if(n!==null&&n!==``)return{kind:`room`,roomId:n};let r=t.get(`dm`);if(r!==null&&r!==``)return{kind:`dm`,agentId:r};let i=t.get(`cwd`);if(i!==null&&i!==``)return{kind:`cwd`,path:i}}function Pf(e,t){switch(e.kind){case`room`:return t.some(t=>t.id===e.roomId)?{kind:`room`,targetId:e.roomId}:void 0;case`dm`:return{kind:`dm`,targetId:e.agentId};case`cwd`:{let n=t.find(t=>t.description===`${Mf}${e.path}`);return n?{kind:`room`,targetId:n.id}:void 0}default:return e}}function Ff(e){let t=new URL(location.href);t.searchParams.delete(`room`),t.searchParams.delete(`dm`),t.searchParams.delete(`cwd`),e.currentRoom!==void 0&&e.currentRoom!==``?t.searchParams.set(`room`,e.currentRoom):e.dmTarget!==void 0&&e.dmTarget!==``&&t.searchParams.set(`dm`,e.dmTarget);let n=t.pathname+t.search+t.hash;history.replaceState(null,``,n)}var If=document.createElement(`style`);If.textContent=l,document.head.appendChild(If);var Lf=Af(location.host),Rf=document.getElementById(`root`);if(Rf===null)throw Error(`missing #root element`);var Q=new yf,zf=new Cf;zf.subscribe(e=>{e.agents.length>0&&Q.setAgents(e.agents),e.rooms.length>0&&Q.setRooms(e.rooms),Q.setConnected(e.connected)});function Bf(e){Q.addMessage(e)}var $,Vf=new _f({onOpen:()=>{Q.setConnected(!0),Bf({type:`system`,text:`Connected to mesh`})},onClose:()=>{Q.setConnected(!1),Bf({type:`system`,text:`Disconnected — reconnecting...`})},onFrame:Hf});function Hf(e){let t=Q.get();switch(e.type){case`delivery`:{let n=Nd(e.event,t.currentRoom);n&&Bf(n),(e.event.type===`member_joined`||e.event.type===`member_left`||e.event.type===`member_status`||e.event.type===`name_changed`)&&Wf();break}case`result`:if(Bf({type:`system`,text:e.result.content}),!e.result.isError){if($?.action===`join_room`&&(Q.get().currentRoom===void 0||Q.get().currentRoom===``)){let e=$.room;Q.setDmTarget(void 0),Q.setCurrentRoom(e)}Wf()}$=void 0;break;case`error`:Bf({type:`status`,text:`Error: ${e.message}`});break;case`state`:Q.applyState(e.agents,e.rooms)}}function Uf(e){$=e,Vf.sendAction(e)}async function Wf(){if(!Lf)return;let[e,t]=await Promise.all([pf(),mf()]);Q.setAgents(e),Q.setRooms(t)}async function Gf(e){if(Q.setDmTarget(void 0),Q.setCurrentRoom(e),Q.clearMessages(),Uf({action:`join_room`,room:e}),Lf){let t=await hf(e);Q.setMessages(t.map(Pd))}Bf({type:`system`,text:`Joined ${e}`})}function Kf(e){Q.setCurrentRoom(void 0),Q.setDmTarget(e),Q.clearMessages()}function qf(){let e=Q.get(),t=e.currentRoom;if(t!==void 0&&t!==``){let n=e.rooms.find(e=>e.id===t)?.name??t;Uf({action:`leave_room`,room:t}),Q.setCurrentRoom(void 0),Q.clearMessages(),Bf({type:`system`,text:`Left room "${n}"`})}}function Jf(e){let t=Q.get(),n=Od(e,t.currentRoom,t.dmTarget),r=Dd(n);if(r)switch(r.kind){case`join_room`:Gf(r.room);return;case`leave_room`:qf();return}switch(n.kind){case`action`:Uf(n.action);break;case`local`:Bf({type:`system`,text:n.result.text})}}function Yf(e,t,n){Uf({action:`create_room`,name:e,type:t,...n?{description:n}:{}})}function Xf(e){Gf(e)}function Zf(e,t){Uf({action:`rename_agent`,agent:e,name:t})}function Qf(){localStorage.setItem(`agent-comms-connected`,`true`),zf.connect(),Lf&&Vf.connect()}function $f(){let e=bf(Q);return(0,A.useEffect)(()=>{Ff({currentRoom:e.currentRoom,dmTarget:e.dmTarget})},[e.currentRoom,e.dmTarget]),(0,z.jsx)(sf,{rooms:e.rooms,agents:e.agents,currentRoom:e.currentRoom,dmTarget:e.dmTarget,messages:e.messages,connected:e.connected,onJoinRoom:e=>{Gf(e)},onSelectAgent:Kf,onRenameAgent:Zf,onLeaveRoom:qf,onSendAction:Jf,onCreateRoom:Yf,onJoinRoomInput:Xf,onConnectToMesh:Qf})}(0,Ed.createRoot)(Rf).render((0,z.jsx)(vn,{theme:Of,defaultColorScheme:`dark`,children:(0,z.jsx)($f,{})}));var ep=Nf(location.search),tp=jf(localStorage);(Lf||tp)&&(zf.connect(),Lf&&Vf.connect()),Wf().then(()=>{if(!ep)return;let e=Pf(ep,Q.get().rooms);if(e)switch(e.kind){case`room`:Gf(e.targetId);break;case`dm`:Kf(e.targetId)}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e=`agent-comms-v1`,t=[{"revision":"7efa9980ba0b02137565a56208e14f7b","url":"mesh-worker.js"},{"revision":"f1ee3afb8c9e8f0d7315fd93d6457316","url":"index.html"},{"revision":"
|
|
1
|
+
var e=`agent-comms-v1`,t=[{"revision":"7efa9980ba0b02137565a56208e14f7b","url":"mesh-worker.js"},{"revision":"f1ee3afb8c9e8f0d7315fd93d6457316","url":"index.html"},{"revision":"c8581eb68732d5f03e4c7af10080357a","url":"bundle.js"}].map(e=>e.url);self.addEventListener(`install`,n=>{n.waitUntil(self.caches.open(e).then(async e=>e.addAll(t)).then(async()=>self.skipWaiting()))}),self.addEventListener(`activate`,t=>{t.waitUntil(self.caches.keys().then(async t=>Promise.all(t.filter(t=>t!==e).map(async e=>self.caches.delete(e)))))});var n=200,r=300;function i(e,t){return e.method===`GET`&&t.status>=n&&t.status<r}self.addEventListener(`fetch`,t=>{if(new URL(t.request.url).pathname.startsWith(`/api/`)){t.respondWith(fetch(t.request).then(n=>{if(i(t.request,n)){let r=n.clone();self.caches.open(e).then(async e=>e.put(t.request,r))}return n}).catch(async()=>self.caches.open(e).then(async e=>e.match(t.request)).then(e=>e??new Response(`Offline`,{status:503}))));return}t.respondWith(self.caches.open(e).then(async e=>e.match(t.request)).then(async n=>n||fetch(t.request).then(n=>{if(i(t.request,n)){let r=n.clone();self.caches.open(e).then(async e=>e.put(t.request,r))}return n})))}),self.addEventListener(`push`,e=>{let t=`Agent Comms`,n=`New message`;if(e.data)try{let r=e.data.json();typeof r.title==`string`&&(t=r.title),typeof r.body==`string`&&(n=r.body)}catch{let t=e.data.text();t&&(n=t)}e.waitUntil(self.registration.showNotification(t,{body:n,data:{url:self.location.origin}}))}),self.addEventListener(`notificationclick`,e=>{e.notification.close();let t=e.notification.data,n=typeof t==`object`&&t&&`url`in t&&typeof t.url==`string`?t.url:self.location.origin;e.waitUntil(self.clients.matchAll({type:`window`,includeUncontrolled:!0}).then(async e=>{for(let t of e)if(t.url===n&&`focus`in t)return t.focus();return self.clients.openWindow(n)}))});
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* In-memory, resumable event publisher for the web UI's subscribeEvents stream.
|
|
3
|
+
*
|
|
4
|
+
* oRPC v2 beta (`\@orpc/server`, `\@orpc/client`, `\@orpc/contract` at 2.0.0-beta.35 -- confirmed against the actual published tarballs, not just docs) ships no MemoryPublisher/EventPublisher class. This is a hand-written equivalent built on the primitives that do exist: a plain async generator (satisfies AsyncIteratorObject on its own) and withEventMeta (from `\@standard-server/core`, re-exported by `\@orpc/server`) to tag each published event with a monotonic id oRPC's own RetryLinkPlugin already knows how to read back as lastEventId on reconnect.
|
|
5
|
+
*
|
|
6
|
+
* One instance per WebServerHandle -- not a module-level singleton -- so multiple concurrent web server instances (multiple bridges each starting their own web UI) never share replay buffers.
|
|
7
|
+
*/
|
|
8
|
+
import type { MeshEvent } from "./contract.js";
|
|
9
|
+
export interface MeshEventPublisherOptions {
|
|
10
|
+
/** How long a published event stays available for replay by a resuming subscriber. */
|
|
11
|
+
retentionMs?: number;
|
|
12
|
+
}
|
|
13
|
+
export interface MeshEventSubscribeOptions {
|
|
14
|
+
signal?: AbortSignal;
|
|
15
|
+
lastEventId?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare class MeshEventPublisher {
|
|
18
|
+
private seq;
|
|
19
|
+
private readonly buffer;
|
|
20
|
+
private readonly listeners;
|
|
21
|
+
private readonly retentionMs;
|
|
22
|
+
constructor(options?: Readonly<MeshEventPublisherOptions>);
|
|
23
|
+
publish(event: MeshEvent): void;
|
|
24
|
+
private prune;
|
|
25
|
+
/**
|
|
26
|
+
* Replays buffered events after `lastEventId` (or every buffered event, if a resuming subscriber's `lastEventId` has already aged out of the retention window), then yields new events as they're published until `signal` aborts.
|
|
27
|
+
*/
|
|
28
|
+
subscribe(options?: Readonly<MeshEventSubscribeOptions>): AsyncGenerator<MeshEvent, void, void>;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=event-publisher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-publisher.d.ts","sourceRoot":"","sources":["../../../../src/bridges/user/web/event-publisher.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAO/C,MAAM,WAAW,yBAAyB;IACxC,sFAAsF;IACtF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAUD,MAAM,WAAW,yBAAyB;IACxC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,GAAG,CAAK;IAChB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyC;IACnE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAEzB,OAAO,GAAE,QAAQ,CAAC,yBAAyB,CAAM;IAI7D,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAQ/B,OAAO,CAAC,KAAK;IAUb;;OAEG;IACI,SAAS,CACd,OAAO,GAAE,QAAQ,CAAC,yBAAyB,CAAM,GAChD,cAAc,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC;CA8CzC"}
|