@imenam/mcp-messenger 1.0.9 → 1.0.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +46 -14
- package/dist/src/client/messenger-client.d.ts +1 -0
- package/dist/src/core/store.d.ts +26 -1
- package/dist/src/core/store.js +264 -146
- package/dist/src/core/types.d.ts +29 -0
- package/dist/src/mcp/start.js +7 -2
- package/dist/src/mcp/tools.js +150 -37
- package/dist/src/server/app.js +25 -2
- package/dist/src/server/ui/app.js +703 -320
- package/dist/src/server/ui/index.html +92 -27
- package/dist/src/server/ui/styles.css +1147 -328
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/package.json +1 -1
|
@@ -9,46 +9,111 @@
|
|
|
9
9
|
<body>
|
|
10
10
|
<header class="topbar">
|
|
11
11
|
<div class="brand">
|
|
12
|
-
<
|
|
12
|
+
<svg class="brand-mark" viewBox="0 0 24 24" aria-hidden="true">
|
|
13
|
+
<path d="M22 12h-6l-2 3h-4l-2-3H2" />
|
|
14
|
+
<path d="M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z" />
|
|
15
|
+
</svg>
|
|
13
16
|
<h1>MCP Messenger</h1>
|
|
14
|
-
<span class="
|
|
17
|
+
<span class="pill pill--idle" id="status">
|
|
18
|
+
<span class="pill-dot"></span>
|
|
19
|
+
<span id="status-label">connexion…</span>
|
|
20
|
+
</span>
|
|
15
21
|
</div>
|
|
16
|
-
|
|
17
|
-
|
|
22
|
+
|
|
23
|
+
<div class="topbar-search" id="search-box">
|
|
24
|
+
<svg class="icon" viewBox="0 0 24 24" aria-hidden="true">
|
|
25
|
+
<circle cx="11" cy="11" r="8" />
|
|
26
|
+
<path d="m21 21-4.3-4.3" />
|
|
27
|
+
</svg>
|
|
28
|
+
<input type="search" id="search" placeholder="Rechercher un sujet, un fil, un agent…" />
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
<div class="topbar-controls" id="controls" hidden>
|
|
32
|
+
<label class="switch">
|
|
18
33
|
<input type="checkbox" id="auto-refresh" checked />
|
|
19
|
-
|
|
34
|
+
<span class="switch-track"><span class="switch-knob"></span></span>
|
|
35
|
+
<span class="switch-label">auto · 5 s</span>
|
|
20
36
|
</label>
|
|
21
|
-
<button id="refresh"
|
|
22
|
-
|
|
37
|
+
<button type="button" id="refresh" class="btn btn--icon" title="Rafraîchir" aria-label="Rafraîchir">
|
|
38
|
+
<svg class="icon" viewBox="0 0 24 24" aria-hidden="true">
|
|
39
|
+
<path d="M3 12a9 9 0 0 1 15-6.7L21 8" />
|
|
40
|
+
<path d="M21 3v5h-5" />
|
|
41
|
+
<path d="M21 12a9 9 0 0 1-15 6.7L3 16" />
|
|
42
|
+
<path d="M3 21v-5h5" />
|
|
43
|
+
</svg>
|
|
44
|
+
</button>
|
|
45
|
+
<button type="button" id="logout" class="btn btn--link">Se déconnecter</button>
|
|
23
46
|
</div>
|
|
24
47
|
</header>
|
|
25
48
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
<
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
<h2>
|
|
36
|
-
<
|
|
49
|
+
<!-- Écran de connexion : une carte seule, sans les panneaux vides derrière elle. -->
|
|
50
|
+
<main class="login" id="login" hidden>
|
|
51
|
+
<form class="card" id="login-form">
|
|
52
|
+
<div class="card-badge">
|
|
53
|
+
<svg class="icon" viewBox="0 0 24 24" aria-hidden="true">
|
|
54
|
+
<rect x="3" y="11" width="18" height="11" rx="2" />
|
|
55
|
+
<path d="M7 11V7a5 5 0 0 1 10 0v4" />
|
|
56
|
+
</svg>
|
|
57
|
+
</div>
|
|
58
|
+
<h2>Console de supervision</h2>
|
|
59
|
+
<p class="card-sub" id="login-origin">MCP Messenger</p>
|
|
60
|
+
|
|
61
|
+
<label class="field">
|
|
62
|
+
<span class="field-label">Jeton administrateur</span>
|
|
63
|
+
<span class="field-input">
|
|
64
|
+
<input type="password" id="token" autocomplete="current-password" placeholder="MESSENGER_ADMIN_TOKEN" />
|
|
65
|
+
<button type="button" class="field-eye" id="token-reveal" aria-label="Afficher le jeton">
|
|
66
|
+
<svg class="icon" viewBox="0 0 24 24" aria-hidden="true">
|
|
67
|
+
<path d="M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7-10-7-10-7z" />
|
|
68
|
+
<circle cx="12" cy="12" r="3" />
|
|
69
|
+
</svg>
|
|
70
|
+
</button>
|
|
71
|
+
</span>
|
|
72
|
+
<span class="field-error" id="token-error"></span>
|
|
73
|
+
</label>
|
|
74
|
+
|
|
75
|
+
<button type="submit" class="btn btn--primary btn--block">Se connecter</button>
|
|
76
|
+
<p class="card-note">
|
|
77
|
+
Le jeton n'est jamais conservé dans le navigateur : la session tient dans un cookie HttpOnly, fermé à la
|
|
78
|
+
déconnexion.
|
|
79
|
+
</p>
|
|
80
|
+
</form>
|
|
81
|
+
</main>
|
|
82
|
+
|
|
83
|
+
<!-- Console : agents, fils, lecteur du fil, volet de détail. -->
|
|
84
|
+
<main class="console" id="console" hidden>
|
|
85
|
+
<aside class="agents" id="agents-pane">
|
|
86
|
+
<div class="agents-head">
|
|
87
|
+
<span class="section-label">Agents</span>
|
|
88
|
+
<button type="button" class="btn btn--icon btn--ghost" id="collapse" title="Replier" aria-label="Replier la liste des agents">
|
|
89
|
+
<svg class="icon" viewBox="0 0 24 24" aria-hidden="true">
|
|
90
|
+
<rect x="3" y="3" width="18" height="18" rx="2" />
|
|
91
|
+
<path d="M9 3v18" />
|
|
92
|
+
</svg>
|
|
93
|
+
</button>
|
|
94
|
+
</div>
|
|
95
|
+
<ul class="agent-list" id="agents"></ul>
|
|
96
|
+
<p class="agents-foot muted" id="agents-foot"></p>
|
|
37
97
|
</aside>
|
|
38
98
|
|
|
39
|
-
<section class="
|
|
40
|
-
<div class="
|
|
41
|
-
<
|
|
42
|
-
<
|
|
43
|
-
<
|
|
99
|
+
<section class="threads">
|
|
100
|
+
<div class="threads-head">
|
|
101
|
+
<h2>Fils</h2>
|
|
102
|
+
<p class="muted" id="threads-scope"></p>
|
|
103
|
+
<div class="chips" id="chips">
|
|
104
|
+
<button type="button" class="chip is-active" data-filter="all">Tous</button>
|
|
105
|
+
<button type="button" class="chip" data-filter="unread">Non lus</button>
|
|
106
|
+
<button type="button" class="chip" data-filter="high">Priorité haute</button>
|
|
107
|
+
</div>
|
|
44
108
|
</div>
|
|
45
|
-
<ul id="
|
|
109
|
+
<ul class="thread-list" id="threads"></ul>
|
|
46
110
|
</section>
|
|
47
111
|
|
|
48
|
-
<section class="
|
|
49
|
-
|
|
50
|
-
|
|
112
|
+
<section class="reader" id="reader"></section>
|
|
113
|
+
|
|
114
|
+
<aside class="sheet" id="sheet" hidden></aside>
|
|
51
115
|
</main>
|
|
116
|
+
|
|
52
117
|
<script type="module" src="./app.js"></script>
|
|
53
118
|
</body>
|
|
54
119
|
</html>
|