agent-comms 3.18.0 → 3.20.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/user/web/dist/bundle.js +49 -565
- package/dist/bridges/user/web/{frontend → dist}/index.html +1 -1
- package/dist/bridges/user/web/dist/mesh-worker.js +1 -1
- package/dist/bridges/user/web/dist/sw.js +1 -1
- package/dist/bridges/user/web/frontend/components/App.d.ts +3 -4
- package/dist/bridges/user/web/frontend/components/App.d.ts.map +1 -1
- package/dist/bridges/user/web/frontend/components/App.js +11 -9
- package/dist/bridges/user/web/frontend/components/App.js.map +1 -1
- package/dist/bridges/user/web/frontend/components/ChatArea.d.ts +3 -1
- package/dist/bridges/user/web/frontend/components/ChatArea.d.ts.map +1 -1
- package/dist/bridges/user/web/frontend/components/ChatArea.js +7 -7
- package/dist/bridges/user/web/frontend/components/ChatArea.js.map +1 -1
- package/dist/bridges/user/web/frontend/components/CreateRoomForm.d.ts +1 -1
- package/dist/bridges/user/web/frontend/components/CreateRoomForm.d.ts.map +1 -1
- package/dist/bridges/user/web/frontend/components/CreateRoomForm.js +19 -13
- package/dist/bridges/user/web/frontend/components/CreateRoomForm.js.map +1 -1
- package/dist/bridges/user/web/frontend/components/JoinForm.d.ts +1 -1
- package/dist/bridges/user/web/frontend/components/JoinForm.d.ts.map +1 -1
- package/dist/bridges/user/web/frontend/components/JoinForm.js +7 -7
- package/dist/bridges/user/web/frontend/components/JoinForm.js.map +1 -1
- package/dist/bridges/user/web/frontend/components/Message.d.ts +1 -1
- package/dist/bridges/user/web/frontend/components/Message.d.ts.map +1 -1
- package/dist/bridges/user/web/frontend/components/Message.js +10 -6
- package/dist/bridges/user/web/frontend/components/Message.js.map +1 -1
- package/dist/bridges/user/web/frontend/components/MessageList.d.ts +1 -1
- package/dist/bridges/user/web/frontend/components/MessageList.d.ts.map +1 -1
- package/dist/bridges/user/web/frontend/components/MessageList.js +8 -6
- package/dist/bridges/user/web/frontend/components/MessageList.js.map +1 -1
- package/dist/bridges/user/web/frontend/components/ProjectTree.d.ts +2 -3
- package/dist/bridges/user/web/frontend/components/ProjectTree.d.ts.map +1 -1
- package/dist/bridges/user/web/frontend/components/ProjectTree.js +38 -22
- package/dist/bridges/user/web/frontend/components/ProjectTree.js.map +1 -1
- package/dist/bridges/user/web/frontend/components/Sidebar.d.ts +3 -2
- package/dist/bridges/user/web/frontend/components/Sidebar.d.ts.map +1 -1
- package/dist/bridges/user/web/frontend/components/Sidebar.js +9 -6
- package/dist/bridges/user/web/frontend/components/Sidebar.js.map +1 -1
- package/dist/bridges/user/web/frontend/main.d.ts +3 -4
- package/dist/bridges/user/web/frontend/main.d.ts.map +1 -1
- package/dist/bridges/user/web/frontend/main.js +35 -35
- package/dist/bridges/user/web/frontend/main.js.map +1 -1
- package/dist/bridges/user/web/frontend/messages.d.ts +1 -0
- package/dist/bridges/user/web/frontend/messages.d.ts.map +1 -1
- package/dist/bridges/user/web/frontend/messages.js +6 -0
- package/dist/bridges/user/web/frontend/messages.js.map +1 -1
- package/dist/bridges/user/web/frontend/sw.js +2 -9
- package/dist/bridges/user/web/frontend/sw.js.map +1 -1
- package/dist/bridges/user/web/frontend/theme.d.ts +154 -0
- package/dist/bridges/user/web/frontend/theme.d.ts.map +1 -0
- package/dist/bridges/user/web/frontend/theme.js +36 -0
- package/dist/bridges/user/web/frontend/theme.js.map +1 -0
- package/dist/bridges/user/web/frontend/use-client-state.d.ts +6 -0
- package/dist/bridges/user/web/frontend/use-client-state.d.ts.map +1 -0
- package/dist/bridges/user/web/frontend/use-client-state.js +8 -0
- package/dist/bridges/user/web/frontend/use-client-state.js.map +1 -0
- package/dist/bridges/user/web/server.js +9 -3
- package/dist/bridges/user/web/server.js.map +1 -1
- package/dist/bridges/user/web/vite.config.d.ts +10 -0
- package/dist/bridges/user/web/vite.config.d.ts.map +1 -0
- package/dist/bridges/user/web/vite.config.js +66 -0
- package/dist/bridges/user/web/vite.config.js.map +1 -0
- package/package.json +30 -10
- package/dist/bridges/user/web/build.d.ts +0 -12
- package/dist/bridges/user/web/build.d.ts.map +0 -1
- package/dist/bridges/user/web/build.js +0 -95
- package/dist/bridges/user/web/build.js.map +0 -1
- package/dist/bridges/user/web/frontend/dom.d.ts +0 -25
- package/dist/bridges/user/web/frontend/dom.d.ts.map +0 -1
- package/dist/bridges/user/web/frontend/dom.js +0 -48
- package/dist/bridges/user/web/frontend/dom.js.map +0 -1
- package/dist/bridges/user/web/generated-html.d.ts +0 -6
- package/dist/bridges/user/web/generated-html.d.ts.map +0 -1
- package/dist/bridges/user/web/generated-html.js +0 -179
- package/dist/bridges/user/web/generated-html.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectTree.js","sourceRoot":"","sources":["../../../../../../src/bridges/user/web/frontend/components/ProjectTree.tsx"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"ProjectTree.js","sourceRoot":"","sources":["../../../../../../src/bridges/user/web/frontend/components/ProjectTree.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Sidebar — project tree, manual rooms, create/join room controls.
|
|
3
|
+
*
|
|
4
|
+
* Rendered inside AppShell.Navbar by App.
|
|
3
5
|
*/
|
|
4
6
|
import type { Agent, Room } from "../types.js";
|
|
5
7
|
interface SidebarProps {
|
|
6
8
|
rooms: readonly Room[];
|
|
7
9
|
agents: readonly Agent[];
|
|
8
10
|
currentRoom: string | undefined;
|
|
9
|
-
collapsed: boolean;
|
|
10
11
|
onJoinRoom: (roomId: string) => void;
|
|
11
12
|
onSelectAgent: (agentId: string) => void;
|
|
12
13
|
onRenameAgent: (agentId: string, newName: string) => void;
|
|
13
14
|
onCreateRoom: (name: string, type: "public" | "private" | "secret", description: string) => void;
|
|
14
15
|
onJoinRoomInput: (roomName: string) => void;
|
|
15
16
|
}
|
|
16
|
-
export declare function Sidebar({ rooms, agents, currentRoom,
|
|
17
|
+
export declare function Sidebar({ rooms, agents, currentRoom, onJoinRoom, onSelectAgent, onRenameAgent, onCreateRoom, onJoinRoomInput, }: SidebarProps): import("react").JSX.Element;
|
|
17
18
|
export {};
|
|
18
19
|
//# sourceMappingURL=Sidebar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sidebar.d.ts","sourceRoot":"","sources":["../../../../../../src/bridges/user/web/frontend/components/Sidebar.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"Sidebar.d.ts","sourceRoot":"","sources":["../../../../../../src/bridges/user/web/frontend/components/Sidebar.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAM/C,UAAU,YAAY;IACpB,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC;IACvB,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,YAAY,EAAE,CACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,EACrC,WAAW,EAAE,MAAM,KAChB,IAAI,CAAC;IACV,eAAe,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7C;AAED,wBAAgB,OAAO,CAAC,EACtB,KAAK,EACL,MAAM,EACN,WAAW,EACX,UAAU,EACV,aAAa,EACb,aAAa,EACb,YAAY,EACZ,eAAe,GAChB,EAAE,YAAY,+BAoFd"}
|
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
/**
|
|
3
3
|
* Sidebar — project tree, manual rooms, create/join room controls.
|
|
4
|
+
*
|
|
5
|
+
* Rendered inside AppShell.Navbar by App.
|
|
4
6
|
*/
|
|
5
|
-
import {
|
|
7
|
+
import { ActionIcon, Button, Group, ScrollArea, Text } from "@mantine/core";
|
|
8
|
+
import { useState } from "react";
|
|
6
9
|
import { buildProjectTree } from "../project-tree.js";
|
|
7
10
|
import { CreateRoomForm } from "./CreateRoomForm.js";
|
|
8
11
|
import { JoinForm } from "./JoinForm.js";
|
|
9
12
|
import { ProjectTree } from "./ProjectTree.js";
|
|
10
|
-
export function Sidebar({ rooms, agents, currentRoom,
|
|
13
|
+
export function Sidebar({ rooms, agents, currentRoom, onJoinRoom, onSelectAgent, onRenameAgent, onCreateRoom, onJoinRoomInput, }) {
|
|
11
14
|
const [createFormVisible, setCreateFormVisible] = useState(false);
|
|
12
15
|
const [joinFormVisible, setJoinFormVisible] = useState(false);
|
|
13
16
|
const [showOffline, setShowOffline] = useState(false);
|
|
@@ -15,16 +18,16 @@ export function Sidebar({ rooms, agents, currentRoom, collapsed, onJoinRoom, onS
|
|
|
15
18
|
? agents
|
|
16
19
|
: agents.filter((a) => a.status !== "offline");
|
|
17
20
|
const tree = buildProjectTree(visibleAgents, rooms);
|
|
18
|
-
return (_jsxs(
|
|
21
|
+
return (_jsxs(_Fragment, { children: [_jsxs(Group, { justify: "space-between", px: "md", py: "sm", children: [_jsx(Text, { size: "sm", fw: 600, c: "accent", children: "Agent Comms" }), _jsx(ActionIcon, { variant: showOffline ? "filled" : "default", size: "sm", "aria-label": `${showOffline ? "Hide" : "Show"} offline agents`, title: `${showOffline ? "Hide" : "Show"} offline agents`, onClick: () => {
|
|
19
22
|
setShowOffline((v) => !v);
|
|
20
|
-
}, children: showOffline ? "◉" : "◎" })] }), _jsxs(
|
|
23
|
+
}, children: showOffline ? "◉" : "◎" })] }), _jsxs(ScrollArea, { flex: 1, px: "xs", children: [_jsx(ProjectTree, { tree: tree, onJoinRoom: onJoinRoom, onSelectAgent: onSelectAgent, onRenameAgent: onRenameAgent, currentRoom: currentRoom }), _jsxs(Group, { justify: "space-between", px: "xs", py: 4, children: [_jsx(Text, { size: "xs", c: "dimmed", fw: 700, tt: "uppercase", children: "Create" }), _jsx(ActionIcon, { variant: "default", size: "sm", "aria-label": "Create room", title: "Create room", onClick: () => {
|
|
21
24
|
setCreateFormVisible((v) => !v);
|
|
22
25
|
}, children: "+" })] }), _jsx(CreateRoomForm, { visible: createFormVisible, onSubmit: (name, type, desc) => {
|
|
23
26
|
onCreateRoom(name, type, desc);
|
|
24
27
|
setCreateFormVisible(false);
|
|
25
28
|
}, onCancel: () => {
|
|
26
29
|
setCreateFormVisible(false);
|
|
27
|
-
} }), _jsx(
|
|
30
|
+
} }), _jsx(Button, { fullWidth: true, size: "xs", variant: "outline", onClick: () => {
|
|
28
31
|
setJoinFormVisible((v) => !v);
|
|
29
32
|
}, children: "+ Join Room" }), _jsx(JoinForm, { visible: joinFormVisible, onSubmit: (name) => {
|
|
30
33
|
onJoinRoomInput(name);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sidebar.js","sourceRoot":"","sources":["../../../../../../src/bridges/user/web/frontend/components/Sidebar.tsx"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"Sidebar.js","sourceRoot":"","sources":["../../../../../../src/bridges/user/web/frontend/components/Sidebar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Entry point — bootstraps the web UI with
|
|
2
|
+
* Entry point — bootstraps the web UI with React + Mantine.
|
|
3
3
|
*
|
|
4
|
-
* Owns the state store, WebSocket connection, and action handlers.
|
|
5
|
-
* Renders the App component on every state change.
|
|
4
|
+
* Owns the state store, WebSocket connection, and action handlers. The Root component subscribes to state changes via useClientState and re-renders reactively; this file itself stays a plain imperative shell around that one component, same as before the framework swap.
|
|
6
5
|
*/
|
|
7
|
-
|
|
6
|
+
export {};
|
|
8
7
|
//# sourceMappingURL=main.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../../../src/bridges/user/web/frontend/main.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../../../src/bridges/user/web/frontend/main.tsx"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -1,19 +1,24 @@
|
|
|
1
|
-
import { jsx as _jsx } from "
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
/**
|
|
3
|
-
* Entry point — bootstraps the web UI with
|
|
3
|
+
* Entry point — bootstraps the web UI with React + Mantine.
|
|
4
4
|
*
|
|
5
|
-
* Owns the state store, WebSocket connection, and action handlers.
|
|
6
|
-
* Renders the App component on every state change.
|
|
5
|
+
* Owns the state store, WebSocket connection, and action handlers. The Root component subscribes to state changes via useClientState and re-renders reactively; this file itself stays a plain imperative shell around that one component, same as before the framework swap.
|
|
7
6
|
*/
|
|
8
|
-
import
|
|
9
|
-
import "
|
|
7
|
+
import mantineStyles from "@mantine/core/styles.css?inline";
|
|
8
|
+
import { createRoot } from "react-dom/client";
|
|
9
|
+
import { MantineProvider } from "@mantine/core";
|
|
10
|
+
import { useEffect } from "react";
|
|
10
11
|
import { App } from "./components/App.js";
|
|
11
12
|
import { CommsWs, fetchAgents, fetchRoomMessages, fetchRooms } from "./api.js";
|
|
12
|
-
import { requireElement } from "./dom.js";
|
|
13
13
|
import { parseInput, routeAction } from "./input.js";
|
|
14
14
|
import { State } from "./state.js";
|
|
15
|
+
import { useClientState } from "./use-client-state.js";
|
|
15
16
|
import { MeshClient } from "./mesh-client.js";
|
|
17
|
+
import { theme } from "./theme.js";
|
|
16
18
|
import { isLocalHost, hasConnectedBefore } from "./boot-logic.js";
|
|
19
|
+
const mantineStyleEl = document.createElement("style");
|
|
20
|
+
mantineStyleEl.textContent = mantineStyles;
|
|
21
|
+
document.head.appendChild(mantineStyleEl);
|
|
17
22
|
/** Whether the page is served from a local mesh server (vs standalone PWA). */
|
|
18
23
|
const isLocalServer = isLocalHost(location.host);
|
|
19
24
|
import { deliveryEventToMessage, roomMessageToDisplay } from "./messages.js";
|
|
@@ -21,7 +26,10 @@ import { parseDeepLink, resolveDeepLink, syncUrl } from "./url-sync.js";
|
|
|
21
26
|
// ---------------------------------------------------------------------------
|
|
22
27
|
// Mount point
|
|
23
28
|
// ---------------------------------------------------------------------------
|
|
24
|
-
const rootEl =
|
|
29
|
+
const rootEl = document.getElementById("root");
|
|
30
|
+
if (rootEl === null) {
|
|
31
|
+
throw new Error("missing #root element");
|
|
32
|
+
}
|
|
25
33
|
// ---------------------------------------------------------------------------
|
|
26
34
|
// State
|
|
27
35
|
// ---------------------------------------------------------------------------
|
|
@@ -31,9 +39,7 @@ const state = new State();
|
|
|
31
39
|
// ---------------------------------------------------------------------------
|
|
32
40
|
const meshClient = new MeshClient();
|
|
33
41
|
meshClient.subscribe((meshState) => {
|
|
34
|
-
// Apply real-time mesh state updates on top of the REST-fetched baseline.
|
|
35
|
-
// The MeshClient delivers authoritative state from the mesh worker,
|
|
36
|
-
// which maintains a local copy of all agents and rooms.
|
|
42
|
+
// Apply real-time mesh state updates on top of the REST-fetched baseline. The MeshClient delivers authoritative state from the mesh worker, which maintains a local copy of all agents and rooms.
|
|
37
43
|
if (meshState.agents.length > 0) {
|
|
38
44
|
state.setAgents(meshState.agents);
|
|
39
45
|
}
|
|
@@ -42,10 +48,7 @@ meshClient.subscribe((meshState) => {
|
|
|
42
48
|
}
|
|
43
49
|
state.setConnected(meshState.connected);
|
|
44
50
|
});
|
|
45
|
-
// Don't auto-connect the MeshClient on first load.
|
|
46
|
-
// The user must explicitly connect to avoid Chrome's "access device"
|
|
47
|
-
// prompt appearing before the user understands the UI.
|
|
48
|
-
// meshClient.connect() is called from onConnectToMesh().
|
|
51
|
+
// Don't auto-connect the MeshClient on first load. The user must explicitly connect to avoid Chrome's "access device" prompt appearing before the user understands the UI. meshClient.connect() is called from onConnectToMesh().
|
|
49
52
|
// ---------------------------------------------------------------------------
|
|
50
53
|
// Helpers
|
|
51
54
|
// ---------------------------------------------------------------------------
|
|
@@ -185,31 +188,28 @@ function onJoinRoomInput(roomName) {
|
|
|
185
188
|
function onRenameAgent(agentId, newName) {
|
|
186
189
|
sendAction({ action: "rename_agent", agent: agentId, name: newName });
|
|
187
190
|
}
|
|
191
|
+
function onConnectToMesh() {
|
|
192
|
+
localStorage.setItem("agent-comms-connected", "true");
|
|
193
|
+
meshClient.connect();
|
|
194
|
+
if (isLocalServer)
|
|
195
|
+
ws.connect();
|
|
196
|
+
}
|
|
188
197
|
// ---------------------------------------------------------------------------
|
|
189
|
-
//
|
|
198
|
+
// Root — subscribes to state and keeps the URL in sync
|
|
190
199
|
// ---------------------------------------------------------------------------
|
|
191
|
-
function
|
|
192
|
-
const s = state
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
200
|
+
function Root() {
|
|
201
|
+
const s = useClientState(state);
|
|
202
|
+
useEffect(() => {
|
|
203
|
+
syncUrl({ currentRoom: s.currentRoom, dmTarget: s.dmTarget });
|
|
204
|
+
}, [s.currentRoom, s.dmTarget]);
|
|
205
|
+
return (_jsx(App, { rooms: s.rooms, agents: s.agents, currentRoom: s.currentRoom, dmTarget: s.dmTarget, messages: s.messages, connected: s.connected, onJoinRoom: (roomId) => {
|
|
196
206
|
void onJoinRoom(roomId);
|
|
197
|
-
}, onSelectAgent: onSelectAgent, onRenameAgent: onRenameAgent, onLeaveRoom: onLeaveRoom, onSendAction: handleSendAction, onCreateRoom: onCreateRoom, onJoinRoomInput: onJoinRoomInput, onConnectToMesh:
|
|
198
|
-
localStorage.setItem("agent-comms-connected", "true");
|
|
199
|
-
meshClient.connect();
|
|
200
|
-
if (isLocalServer)
|
|
201
|
-
ws.connect();
|
|
202
|
-
} }), rootEl);
|
|
207
|
+
}, onSelectAgent: onSelectAgent, onRenameAgent: onRenameAgent, onLeaveRoom: onLeaveRoom, onSendAction: handleSendAction, onCreateRoom: onCreateRoom, onJoinRoomInput: onJoinRoomInput, onConnectToMesh: onConnectToMesh }));
|
|
203
208
|
}
|
|
204
|
-
|
|
205
|
-
// Capture the deep link from the URL BEFORE
|
|
206
|
-
// clears the query parameters via replaceState, which would make
|
|
207
|
-
// location.search empty by the time parseDeepLink runs.
|
|
209
|
+
createRoot(rootEl).render(_jsx(MantineProvider, { theme: theme, defaultColorScheme: "dark", children: _jsx(Root, {}) }));
|
|
210
|
+
// Capture the deep link from the URL BEFORE syncUrl's first run clears the query parameters via replaceState, which would make location.search empty by the time parseDeepLink runs.
|
|
208
211
|
const deepLink = parseDeepLink(location.search);
|
|
209
|
-
|
|
210
|
-
// Auto-connect when served from local server, or when the user has connected before.
|
|
211
|
-
// First-time visitors to the standalone PWA see a connect prompt instead of
|
|
212
|
-
// Chrome's unexpected "access device" permission prompt.
|
|
212
|
+
// Auto-connect when served from local server, or when the user has connected before. First-time visitors to the standalone PWA see a connect prompt instead of Chrome's unexpected "access device" permission prompt.
|
|
213
213
|
const previouslyConnected = hasConnectedBefore(localStorage);
|
|
214
214
|
if (isLocalServer || previouslyConnected) {
|
|
215
215
|
meshClient.connect();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../../../src/bridges/user/web/frontend/main.tsx"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../../../src/bridges/user/web/frontend/main.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* Pure functions, no DOM or state dependency. Testable in isolation.
|
|
5
5
|
*/
|
|
6
6
|
import type { DeliveryEvent, DisplayMessage, RoomMessage } from "./types.js";
|
|
7
|
+
export declare function formatTime(timestamp: string): string;
|
|
7
8
|
/**
|
|
8
9
|
* Convert a delivery event to a display message for the UI.
|
|
9
10
|
* Returns undefined if the event should not be displayed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../../../src/bridges/user/web/frontend/messages.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../../../src/bridges/user/web/frontend/messages.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAM7E,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,aAAa,EACpB,WAAW,EAAE,MAAM,GAAG,SAAS,GAC9B,cAAc,GAAG,SAAS,CAuE5B;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,WAAW,GAAG,cAAc,CAOnE"}
|
|
@@ -3,6 +3,12 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Pure functions, no DOM or state dependency. Testable in isolation.
|
|
5
5
|
*/
|
|
6
|
+
/** Format an ISO timestamp to HH:MM:SS for display. */
|
|
7
|
+
const ISO_TIME_OF_DAY_START = 11;
|
|
8
|
+
const ISO_TIME_OF_DAY_END = 19;
|
|
9
|
+
export function formatTime(timestamp) {
|
|
10
|
+
return timestamp.slice(ISO_TIME_OF_DAY_START, ISO_TIME_OF_DAY_END);
|
|
11
|
+
}
|
|
6
12
|
/**
|
|
7
13
|
* Convert a delivery event to a display message for the UI.
|
|
8
14
|
* Returns undefined if the event should not be displayed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../../../src/bridges/user/web/frontend/messages.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../../../src/bridges/user/web/frontend/messages.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,15 +16,8 @@
|
|
|
16
16
|
// Cache versioning — bump to invalidate old caches on deploy
|
|
17
17
|
// ---------------------------------------------------------------------------
|
|
18
18
|
const CACHE_NAME = "agent-comms-v1";
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
"./bundle.js",
|
|
22
|
-
"./sw.js",
|
|
23
|
-
"./manifest.json",
|
|
24
|
-
"./icons/icon-96x96.svg",
|
|
25
|
-
"./icons/icon-192x192.svg",
|
|
26
|
-
"./icons/icon-512x512.svg",
|
|
27
|
-
];
|
|
19
|
+
/** The app shell to precache, derived from vite-plugin-pwa's own build-time scan of dist/ -- this is what closes the previous gap where mesh-worker.js, built as a separate non-hashed bundle outside Vite's own module graph, was never in the hand-maintained list. */
|
|
20
|
+
const APP_SHELL = self.__WB_MANIFEST.map((entry) => entry.url);
|
|
28
21
|
// ---------------------------------------------------------------------------
|
|
29
22
|
// Install — pre-cache the app shell
|
|
30
23
|
// ---------------------------------------------------------------------------
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sw.js","sourceRoot":"","sources":["../../../../../src/bridges/user/web/frontend/sw.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"sw.js","sourceRoot":"","sources":["../../../../../src/bridges/user/web/frontend/sw.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mantine theme carrying agent-comms' existing dark navy brand identity.
|
|
3
|
+
*
|
|
4
|
+
* `accent` and `dark` are 10-shade ramps anchored to the app's original CSS custom properties (--accent, --bg, --surface, --border, --text, --dim), so the chrome keeps its current look under Mantine's own components instead of Mantine's default palette. Status semantics (active/idle/busy/offline) use Mantine's built-in green/yellow/red rather than forcing the old --green/--red/--yellow constants into new theme keys.
|
|
5
|
+
*/
|
|
6
|
+
import { type MantineColorsTuple } from "@mantine/core";
|
|
7
|
+
export declare const theme: {
|
|
8
|
+
focusRing?: "auto" | "always" | "never";
|
|
9
|
+
scale?: number;
|
|
10
|
+
fontSmoothing?: boolean;
|
|
11
|
+
white?: string;
|
|
12
|
+
black?: string;
|
|
13
|
+
colors?: {
|
|
14
|
+
[x: string & {}]: MantineColorsTuple | undefined;
|
|
15
|
+
dark?: MantineColorsTuple;
|
|
16
|
+
gray?: MantineColorsTuple;
|
|
17
|
+
red?: MantineColorsTuple;
|
|
18
|
+
pink?: MantineColorsTuple;
|
|
19
|
+
grape?: MantineColorsTuple;
|
|
20
|
+
violet?: MantineColorsTuple;
|
|
21
|
+
indigo?: MantineColorsTuple;
|
|
22
|
+
blue?: MantineColorsTuple;
|
|
23
|
+
cyan?: MantineColorsTuple;
|
|
24
|
+
green?: MantineColorsTuple;
|
|
25
|
+
lime?: MantineColorsTuple;
|
|
26
|
+
yellow?: MantineColorsTuple;
|
|
27
|
+
orange?: MantineColorsTuple;
|
|
28
|
+
teal?: MantineColorsTuple;
|
|
29
|
+
};
|
|
30
|
+
primaryShade?: import("@mantine/core").MantineColorShade | {
|
|
31
|
+
light?: import("@mantine/core").MantineColorShade;
|
|
32
|
+
dark?: import("@mantine/core").MantineColorShade;
|
|
33
|
+
};
|
|
34
|
+
primaryColor?: string;
|
|
35
|
+
variantColorResolver?: import("@mantine/core").VariantColorsResolver;
|
|
36
|
+
autoContrast?: boolean;
|
|
37
|
+
luminanceThreshold?: number;
|
|
38
|
+
fontFamily?: string;
|
|
39
|
+
fontFamilyMonospace?: string;
|
|
40
|
+
headings?: {
|
|
41
|
+
fontFamily?: string;
|
|
42
|
+
fontWeight?: string;
|
|
43
|
+
textWrap?: "wrap" | "nowrap" | "balance" | "pretty" | "stable";
|
|
44
|
+
sizes?: {
|
|
45
|
+
h1?: {
|
|
46
|
+
fontSize?: string;
|
|
47
|
+
fontWeight?: string;
|
|
48
|
+
lineHeight?: string;
|
|
49
|
+
};
|
|
50
|
+
h2?: {
|
|
51
|
+
fontSize?: string;
|
|
52
|
+
fontWeight?: string;
|
|
53
|
+
lineHeight?: string;
|
|
54
|
+
};
|
|
55
|
+
h3?: {
|
|
56
|
+
fontSize?: string;
|
|
57
|
+
fontWeight?: string;
|
|
58
|
+
lineHeight?: string;
|
|
59
|
+
};
|
|
60
|
+
h4?: {
|
|
61
|
+
fontSize?: string;
|
|
62
|
+
fontWeight?: string;
|
|
63
|
+
lineHeight?: string;
|
|
64
|
+
};
|
|
65
|
+
h5?: {
|
|
66
|
+
fontSize?: string;
|
|
67
|
+
fontWeight?: string;
|
|
68
|
+
lineHeight?: string;
|
|
69
|
+
};
|
|
70
|
+
h6?: {
|
|
71
|
+
fontSize?: string;
|
|
72
|
+
fontWeight?: string;
|
|
73
|
+
lineHeight?: string;
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
};
|
|
77
|
+
radius?: {
|
|
78
|
+
[x: string & {}]: string | undefined;
|
|
79
|
+
xs?: string;
|
|
80
|
+
sm?: string;
|
|
81
|
+
md?: string;
|
|
82
|
+
lg?: string;
|
|
83
|
+
xl?: string;
|
|
84
|
+
};
|
|
85
|
+
defaultRadius?: import("@mantine/core").MantineRadius;
|
|
86
|
+
spacing?: {
|
|
87
|
+
[x: number]: string | undefined;
|
|
88
|
+
[x: string & {}]: string | undefined;
|
|
89
|
+
xs?: string;
|
|
90
|
+
sm?: string;
|
|
91
|
+
md?: string;
|
|
92
|
+
lg?: string;
|
|
93
|
+
xl?: string;
|
|
94
|
+
};
|
|
95
|
+
fontSizes?: {
|
|
96
|
+
[x: string & {}]: string | undefined;
|
|
97
|
+
xs?: string;
|
|
98
|
+
sm?: string;
|
|
99
|
+
md?: string;
|
|
100
|
+
lg?: string;
|
|
101
|
+
xl?: string;
|
|
102
|
+
};
|
|
103
|
+
lineHeights?: {
|
|
104
|
+
[x: string & {}]: string | undefined;
|
|
105
|
+
xs?: string;
|
|
106
|
+
sm?: string;
|
|
107
|
+
md?: string;
|
|
108
|
+
lg?: string;
|
|
109
|
+
xl?: string;
|
|
110
|
+
};
|
|
111
|
+
fontWeights?: {
|
|
112
|
+
[x: string & {}]: string | undefined;
|
|
113
|
+
bold?: string;
|
|
114
|
+
regular?: string;
|
|
115
|
+
medium?: string;
|
|
116
|
+
};
|
|
117
|
+
breakpoints?: {
|
|
118
|
+
[x: string & {}]: string | undefined;
|
|
119
|
+
xs?: string;
|
|
120
|
+
sm?: string;
|
|
121
|
+
md?: string;
|
|
122
|
+
lg?: string;
|
|
123
|
+
xl?: string;
|
|
124
|
+
};
|
|
125
|
+
shadows?: {
|
|
126
|
+
[x: string & {}]: string | undefined;
|
|
127
|
+
xs?: string;
|
|
128
|
+
sm?: string;
|
|
129
|
+
md?: string;
|
|
130
|
+
lg?: string;
|
|
131
|
+
xl?: string;
|
|
132
|
+
};
|
|
133
|
+
respectReducedMotion?: boolean;
|
|
134
|
+
cursorType?: "default" | "pointer";
|
|
135
|
+
defaultGradient?: {
|
|
136
|
+
from?: string;
|
|
137
|
+
to?: string;
|
|
138
|
+
deg?: number;
|
|
139
|
+
};
|
|
140
|
+
activeClassName?: string;
|
|
141
|
+
focusClassName?: string;
|
|
142
|
+
components?: {
|
|
143
|
+
[x: string]: {
|
|
144
|
+
classNames?: any;
|
|
145
|
+
styles?: any;
|
|
146
|
+
vars?: any;
|
|
147
|
+
defaultProps?: any;
|
|
148
|
+
} | undefined;
|
|
149
|
+
};
|
|
150
|
+
other?: {
|
|
151
|
+
[x: string]: any;
|
|
152
|
+
};
|
|
153
|
+
};
|
|
154
|
+
//# sourceMappingURL=theme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../../../src/bridges/user/web/frontend/theme.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAe,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAC;AA4BrE,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIhB,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mantine theme carrying agent-comms' existing dark navy brand identity.
|
|
3
|
+
*
|
|
4
|
+
* `accent` and `dark` are 10-shade ramps anchored to the app's original CSS custom properties (--accent, --bg, --surface, --border, --text, --dim), so the chrome keeps its current look under Mantine's own components instead of Mantine's default palette. Status semantics (active/idle/busy/offline) use Mantine's built-in green/yellow/red rather than forcing the old --green/--red/--yellow constants into new theme keys.
|
|
5
|
+
*/
|
|
6
|
+
import { createTheme } from "@mantine/core";
|
|
7
|
+
const accent = [
|
|
8
|
+
"#e5fbff",
|
|
9
|
+
"#bdf4ff",
|
|
10
|
+
"#85ebff",
|
|
11
|
+
"#47e0ff",
|
|
12
|
+
"#0fd7ff",
|
|
13
|
+
"#00b3d6",
|
|
14
|
+
"#009dbd",
|
|
15
|
+
"#00849e",
|
|
16
|
+
"#006f85",
|
|
17
|
+
"#005566",
|
|
18
|
+
];
|
|
19
|
+
const dark = [
|
|
20
|
+
"#e4e4e4",
|
|
21
|
+
"#b6b6b6",
|
|
22
|
+
"#888888",
|
|
23
|
+
"#4c5e74",
|
|
24
|
+
"#0f3460",
|
|
25
|
+
"#132b4f",
|
|
26
|
+
"#16213e",
|
|
27
|
+
"#1a1a2e",
|
|
28
|
+
"#131321",
|
|
29
|
+
"#0c0c16",
|
|
30
|
+
];
|
|
31
|
+
export const theme = createTheme({
|
|
32
|
+
primaryColor: "accent",
|
|
33
|
+
primaryShade: 5,
|
|
34
|
+
colors: { accent, dark },
|
|
35
|
+
});
|
|
36
|
+
//# sourceMappingURL=theme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../../../src/bridges/user/web/frontend/theme.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAA2B,MAAM,eAAe,CAAC;AAErE,MAAM,MAAM,GAAuB;IACjC,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;CACV,CAAC;AAEF,MAAM,IAAI,GAAuB;IAC/B,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;CACV,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,WAAW,CAAC;IAC/B,YAAY,EAAE,QAAQ;IACtB,YAAY,EAAE,CAAC;IACf,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;CACzB,CAAC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bridges the plain State class (subscribe/get) into React via useSyncExternalStore, React's built-in primitive for exactly this shape of external store.
|
|
3
|
+
*/
|
|
4
|
+
import type { State, ClientState } from "./state.js";
|
|
5
|
+
export declare function useClientState(state: State): Readonly<ClientState>;
|
|
6
|
+
//# sourceMappingURL=use-client-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-client-state.d.ts","sourceRoot":"","sources":["../../../../../src/bridges/user/web/frontend/use-client-state.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAErD,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,CAKlE"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bridges the plain State class (subscribe/get) into React via useSyncExternalStore, React's built-in primitive for exactly this shape of external store.
|
|
3
|
+
*/
|
|
4
|
+
import { useSyncExternalStore } from "react";
|
|
5
|
+
export function useClientState(state) {
|
|
6
|
+
return useSyncExternalStore((onChange) => state.subscribe(onChange), () => state.get());
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=use-client-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-client-state.js","sourceRoot":"","sources":["../../../../../src/bridges/user/web/frontend/use-client-state.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAG7C,MAAM,UAAU,cAAc,CAAC,KAAY;IACzC,OAAO,oBAAoB,CACzB,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EACvC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAClB,CAAC;AACJ,CAAC"}
|