chore: v2.8.13 — Artifacts reinstall/edit/installs, agent steps in chat, pick a local file to attach, Windows paths as links
- Chat: an Agent step shows its task, status and tool calls and opens its conversation in place; Windows paths (E:\…, C:/…) in replies open as files - Prompt: attach a file on this computer by path (native picker), clearer too-large messages - Artifacts: edit title/description and a skill's files (new snapshot), Reinstall, install history, Hub-only rows, skills installed into ~/.claude/skills and ~/.agents/skills - Files: batch upload of small files in one extract - AI Tools: npm install falls back to --prefix ~/.local when the global prefix is not writable
This commit is contained in:
@@ -18,7 +18,12 @@ const fs = require("node:fs");
|
||||
const TEST_DB = path.join(os.tmpdir(), `transcript-sender-${Date.now()}-${process.pid}.db`);
|
||||
process.env.DASHBOARD_DB_PATH = TEST_DB;
|
||||
|
||||
const { classifyTranscriptSender, patchCounts, askAnswers } = require("../routes/sessions");
|
||||
const {
|
||||
classifyTranscriptSender,
|
||||
patchCounts,
|
||||
askAnswers,
|
||||
agentInfo,
|
||||
} = require("../routes/sessions");
|
||||
const { db } = require("../db");
|
||||
|
||||
after(() => {
|
||||
@@ -187,3 +192,44 @@ describe("askAnswers — what the user picked or typed for an AskUserQuestion",
|
||||
assert.equal(askAnswers("text"), null);
|
||||
});
|
||||
});
|
||||
|
||||
describe("agentInfo — what an Agent call's result says about its subagent", () => {
|
||||
it("reads a foreground agent's id, model, time, tokens and tool calls", () => {
|
||||
const r = {
|
||||
status: "completed",
|
||||
agentId: "a2f215755130779a8",
|
||||
resolvedModel: "claude-opus-5-5",
|
||||
totalDurationMs: 132350,
|
||||
totalTokens: 88007,
|
||||
totalToolUseCount: 31,
|
||||
content: [{ type: "text", text: "report" }],
|
||||
};
|
||||
assert.deepEqual(agentInfo(r), {
|
||||
id: "a2f215755130779a8",
|
||||
model: "claude-opus-5-5",
|
||||
status: "completed",
|
||||
duration_ms: 132350,
|
||||
tokens: 88007,
|
||||
tool_uses: 31,
|
||||
});
|
||||
});
|
||||
|
||||
it("leaves unknown facts null for a background launch", () => {
|
||||
const r = { isAsync: true, status: "async_launched", agentId: "ab12", description: "x" };
|
||||
assert.deepEqual(agentInfo(r), {
|
||||
id: "ab12",
|
||||
model: null,
|
||||
status: "async_launched",
|
||||
duration_ms: null,
|
||||
tokens: null,
|
||||
tool_uses: null,
|
||||
});
|
||||
});
|
||||
|
||||
it("answers null for a result that is no agent, or an id that is no plain name", () => {
|
||||
assert.equal(agentInfo({ stdout: "ok" }), null);
|
||||
assert.equal(agentInfo({ agentId: "../etc" }), null);
|
||||
assert.equal(agentInfo("text"), null);
|
||||
assert.equal(agentInfo(undefined), null);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user