@delt/claude-alarm 0.9.1 → 1.0.1
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 +24 -0
- package/dist/channel/server.js +41 -22
- package/dist/channel/server.js.map +1 -1
- package/dist/cli.js +354 -130
- package/dist/cli.js.map +1 -1
- package/dist/codex/main.js +778 -0
- package/dist/codex/main.js.map +1 -0
- package/dist/dashboard/index.html +18 -4
- package/dist/hub/server.js +155 -61
- package/dist/hub/server.js.map +1 -1
- package/dist/index.d.ts +24 -2
- package/dist/index.js +201 -88
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/dashboard/index.html +18 -4
package/package.json
CHANGED
package/src/dashboard/index.html
CHANGED
|
@@ -209,6 +209,14 @@
|
|
|
209
209
|
justify-content: center;
|
|
210
210
|
padding: 0 5px;
|
|
211
211
|
}
|
|
212
|
+
.agent-badge {
|
|
213
|
+
font-size: 10px;
|
|
214
|
+
font-weight: 600;
|
|
215
|
+
padding: 1px 6px;
|
|
216
|
+
border-radius: 8px;
|
|
217
|
+
border: 1px solid var(--green);
|
|
218
|
+
color: var(--green);
|
|
219
|
+
}
|
|
212
220
|
.session-status {
|
|
213
221
|
display: inline-block;
|
|
214
222
|
font-size: 11px;
|
|
@@ -1130,6 +1138,10 @@
|
|
|
1130
1138
|
return state.sessionMeta.names[s.id] || s.displayName || s.name;
|
|
1131
1139
|
}
|
|
1132
1140
|
|
|
1141
|
+
function agentName(s) {
|
|
1142
|
+
return s && s.agentKind === 'codex' ? 'Codex' : 'Claude';
|
|
1143
|
+
}
|
|
1144
|
+
|
|
1133
1145
|
function normName(s) {
|
|
1134
1146
|
return String(s).normalize('NFC').trim().toLowerCase();
|
|
1135
1147
|
}
|
|
@@ -1153,7 +1165,7 @@
|
|
|
1153
1165
|
// Built-in SendMessage only reaches sessions on the hub's own machine.
|
|
1154
1166
|
function mentionTargets() {
|
|
1155
1167
|
const selected = state.sessions[state.selectedSession];
|
|
1156
|
-
if (!selected || !selected.isLocal) return [];
|
|
1168
|
+
if (!selected || !selected.isLocal || selected.agentKind === 'codex') return [];
|
|
1157
1169
|
return Object.values(state.sessions).filter(s => s.id !== selected.id && s.isLocal && s.peerName);
|
|
1158
1170
|
}
|
|
1159
1171
|
|
|
@@ -1190,6 +1202,8 @@
|
|
|
1190
1202
|
// The routing line is the contract with the channel instructions in
|
|
1191
1203
|
// src/channel/server.ts (ROUTING) — change both together.
|
|
1192
1204
|
function buildRouting(text) {
|
|
1205
|
+
const target = state.sessions[state.selectedSession];
|
|
1206
|
+
if (target && target.agentKind === 'codex') return { ok: true, content: text };
|
|
1193
1207
|
const mentions = extractMentions(text);
|
|
1194
1208
|
if (!mentions.length) return { ok: true, content: text };
|
|
1195
1209
|
const unknown = [];
|
|
@@ -1433,7 +1447,7 @@
|
|
|
1433
1447
|
return `<div class="session-card${active}" data-id="${id}">
|
|
1434
1448
|
<span class="drag-handle" title="Drag to reorder">⠿</span>
|
|
1435
1449
|
<div class="session-body">
|
|
1436
|
-
<div class="session-name" title="Double-click to rename">${esc(dispName)}${unread ? `<span class="unread-badge">${unread}</span>` : ''}</div>
|
|
1450
|
+
<div class="session-name" title="Double-click to rename">${esc(dispName)}${s.agentKind === 'codex' ? '<span class="agent-badge">Codex</span>' : ''}${unread ? `<span class="unread-badge">${unread}</span>` : ''}</div>
|
|
1437
1451
|
${cwdDisplay ? `<div class="session-cwd" title="${esc(s.cwd)}">${esc(cwdDisplay)} · ${connTime}</div>` : `<div class="session-cwd">${connTime}</div>`}
|
|
1438
1452
|
<span class="session-status ${s.status}">${s.status.replace('_', ' ')}</span>
|
|
1439
1453
|
</div>
|
|
@@ -1580,7 +1594,7 @@
|
|
|
1580
1594
|
|
|
1581
1595
|
function updateImageUI() {
|
|
1582
1596
|
const s = state.selectedSession ? state.sessions[state.selectedSession] : null;
|
|
1583
|
-
const canImage = s && s.isLocal;
|
|
1597
|
+
const canImage = s && s.isLocal && s.agentKind !== 'codex';
|
|
1584
1598
|
$('#attachBtn').disabled = !canImage;
|
|
1585
1599
|
}
|
|
1586
1600
|
|
|
@@ -1616,7 +1630,7 @@
|
|
|
1616
1630
|
content = m.from === 'session' ? renderMarkdown(m.content) : esc(m.content).replace(/\n/g, '<br>');
|
|
1617
1631
|
}
|
|
1618
1632
|
return `<div class="message ${cls}">
|
|
1619
|
-
<div class="message-meta">${m.from === 'session' ?
|
|
1633
|
+
<div class="message-meta">${m.from === 'session' ? agentName(s) : 'You'} · ${timeStr}</div>
|
|
1620
1634
|
<div class="message-body">${content}</div>
|
|
1621
1635
|
</div>`;
|
|
1622
1636
|
}).join('');
|