agentgui 1.0.938 → 1.0.940
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/AGENTS.md +10 -0
- package/lib/claude-runner-agents.js +25 -0
- package/lib/ws-handlers-util.js +27 -1
- package/package.json +1 -1
- package/site/app/index.html +63 -4
- package/site/app/js/app.js +322 -103
- package/site/app/js/backend.js +24 -22
- package/site/app/vendor/anentrypoint-design/247420.css +5216 -0
- package/site/app/vendor/anentrypoint-design/247420.js +247 -0
- package/site/app/vendor/cdn/dompurify.js +9 -0
- package/site/app/vendor/cdn/fonts/1291de6d401a.woff2 +0 -0
- package/site/app/vendor/cdn/fonts/1ba89a87e0b8.woff2 +0 -0
- package/site/app/vendor/cdn/fonts/3644d51c507b.woff2 +0 -0
- package/site/app/vendor/cdn/fonts/4b91d2650dc2.woff2 +0 -0
- package/site/app/vendor/cdn/fonts/530d036ba64a.woff2 +0 -0
- package/site/app/vendor/cdn/fonts/570a2bdd8f8b.woff2 +0 -0
- package/site/app/vendor/cdn/fonts/5dd6d880fee9.woff2 +0 -0
- package/site/app/vendor/cdn/fonts/62de9143afe3.woff2 +0 -0
- package/site/app/vendor/cdn/fonts/64884efa2f11.woff2 +0 -0
- package/site/app/vendor/cdn/fonts/68cd7063be2e.woff2 +0 -0
- package/site/app/vendor/cdn/fonts/6c252abcf99b.woff2 +0 -0
- package/site/app/vendor/cdn/fonts/71e69e06516a.woff2 +0 -0
- package/site/app/vendor/cdn/fonts/9ea68c62083f.woff2 +0 -0
- package/site/app/vendor/cdn/fonts/c010f9b7d6b2.woff2 +0 -0
- package/site/app/vendor/cdn/fonts/d69723fc74be.woff2 +0 -0
- package/site/app/vendor/cdn/fonts/fonts.css +459 -0
- package/site/app/vendor/cdn/marked.js +8 -0
- package/site/app/vendor/cdn/prismjs/components/prism-bash.min.js +1 -0
- package/site/app/vendor/cdn/prismjs/components/prism-clike.min.js +1 -0
- package/site/app/vendor/cdn/prismjs/components/prism-core.min.js +1 -0
- package/site/app/vendor/cdn/prismjs/components/prism-css.min.js +1 -0
- package/site/app/vendor/cdn/prismjs/components/prism-diff.min.js +1 -0
- package/site/app/vendor/cdn/prismjs/components/prism-go.min.js +1 -0
- package/site/app/vendor/cdn/prismjs/components/prism-javascript.min.js +1 -0
- package/site/app/vendor/cdn/prismjs/components/prism-json.min.js +1 -0
- package/site/app/vendor/cdn/prismjs/components/prism-jsx.min.js +1 -0
- package/site/app/vendor/cdn/prismjs/components/prism-markdown.min.js +1 -0
- package/site/app/vendor/cdn/prismjs/components/prism-markup.min.js +1 -0
- package/site/app/vendor/cdn/prismjs/components/prism-python.min.js +1 -0
- package/site/app/vendor/cdn/prismjs/components/prism-rust.min.js +1 -0
- package/site/app/vendor/cdn/prismjs/components/prism-sql.min.js +1 -0
- package/site/app/vendor/cdn/prismjs/components/prism-toml.min.js +1 -0
- package/site/app/vendor/cdn/prismjs/components/prism-tsx.min.js +1 -0
- package/site/app/vendor/cdn/prismjs/components/prism-typescript.min.js +1 -0
- package/site/app/vendor/cdn/prismjs/components/prism-yaml.min.js +1 -0
package/site/app/js/backend.js
CHANGED
|
@@ -203,12 +203,28 @@ function addSessionListener(sessionId, fn) {
|
|
|
203
203
|
|
|
204
204
|
// ---------- Agents / models (WS) ----------
|
|
205
205
|
|
|
206
|
-
export async function
|
|
206
|
+
export async function listAgents(base) {
|
|
207
207
|
const { agents } = await wsCall(base, 'agents.list', {});
|
|
208
|
-
// Compatibility shape: app.js expects an array of {id, name?, ...}
|
|
209
208
|
return agents || [];
|
|
210
209
|
}
|
|
211
210
|
|
|
211
|
+
export async function listActiveChats(base) {
|
|
212
|
+
try { const { sessions } = await wsCall(base, 'chat.active', {}); return sessions || []; }
|
|
213
|
+
catch { return []; }
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
export async function cancelChat(base, sessionId) {
|
|
217
|
+
return wsCall(base, 'chat.cancel', { sessionId });
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
export async function listAgentModels(base, agentId) {
|
|
221
|
+
if (!agentId) return [];
|
|
222
|
+
try {
|
|
223
|
+
const { models } = await wsCall(base, 'agents.models', { id: agentId });
|
|
224
|
+
return models || [];
|
|
225
|
+
} catch { return []; }
|
|
226
|
+
}
|
|
227
|
+
|
|
212
228
|
// ---------- Streaming chat (WS) ----------
|
|
213
229
|
//
|
|
214
230
|
// Yields events of shape:
|
|
@@ -218,29 +234,15 @@ export async function listModels(base) {
|
|
|
218
234
|
// { type: 'error', error: '...' }
|
|
219
235
|
//
|
|
220
236
|
// Caller signature kept compatible with the previous HTTP/SSE impl.
|
|
221
|
-
export async function* streamChat(base, { model, messages, signal, agentId, resumeSid }) {
|
|
222
|
-
// The last user message is the prompt; agentgui's claude-runner
|
|
223
|
-
//
|
|
224
|
-
// For multi-turn, the agent's own session/resume handles continuity.
|
|
237
|
+
export async function* streamChat(base, { model, messages, signal, agentId, resumeSid, cwd }) {
|
|
238
|
+
// The last user message is the prompt; agentgui's claude-runner spawns the
|
|
239
|
+
// agent for a single prompt. Multi-turn continuity is the agent's own resume.
|
|
225
240
|
const last = messages[messages.length - 1];
|
|
226
241
|
const content = last?.content || '';
|
|
227
242
|
if (!content) return;
|
|
228
243
|
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
// If `model` looks like a real model id (has a slash), keep it as model
|
|
232
|
-
// and default agent to claude-code.
|
|
233
|
-
let resolvedAgentId = agentId;
|
|
234
|
-
let resolvedModel = model;
|
|
235
|
-
if (!resolvedAgentId) {
|
|
236
|
-
if (!model || /^[a-z][a-z0-9-]*$/.test(model)) {
|
|
237
|
-
// Bare slug — treat as agentId.
|
|
238
|
-
resolvedAgentId = model || 'claude-code';
|
|
239
|
-
resolvedModel = undefined;
|
|
240
|
-
} else {
|
|
241
|
-
resolvedAgentId = 'claude-code';
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
+
const resolvedAgentId = agentId || 'claude-code';
|
|
245
|
+
const resolvedModel = model || undefined;
|
|
244
246
|
|
|
245
247
|
// Queue events here; the async iterator pulls from it.
|
|
246
248
|
const queue = [];
|
|
@@ -252,7 +254,7 @@ export async function* streamChat(base, { model, messages, signal, agentId, resu
|
|
|
252
254
|
// Kick off the chat on the server.
|
|
253
255
|
let started;
|
|
254
256
|
try {
|
|
255
|
-
started = await wsCall(base, 'chat.sendMessage', { content, agentId: resolvedAgentId, model: resolvedModel, resumeSid });
|
|
257
|
+
started = await wsCall(base, 'chat.sendMessage', { content, agentId: resolvedAgentId, model: resolvedModel, resumeSid, cwd });
|
|
256
258
|
} catch (e) {
|
|
257
259
|
yield { type: 'error', error: e.message };
|
|
258
260
|
return;
|