openfusion-mcp 0.2.0 → 0.2.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 +21 -24
- package/dist/config/schema.js +19 -13
- package/dist/config/schema.js.map +1 -1
- package/dist/config/store.js +28 -6
- package/dist/config/store.js.map +1 -1
- package/dist/fusion/fusion.js +17 -2
- package/dist/fusion/fusion.js.map +1 -1
- package/dist/fusion/judge.js +4 -5
- package/dist/fusion/judge.js.map +1 -1
- package/dist/fusion/personas.js +121 -0
- package/dist/fusion/personas.js.map +1 -0
- package/dist/fusion/worker.js +1 -2
- package/dist/fusion/worker.js.map +1 -1
- package/dist/server/api/personas.js +99 -0
- package/dist/server/api/personas.js.map +1 -0
- package/dist/server/mcp-server.js +6 -1
- package/dist/server/mcp-server.js.map +1 -1
- package/dist/server/ui-server.js +2 -0
- package/dist/server/ui-server.js.map +1 -1
- package/dist/store/activity.js +3 -2
- package/dist/store/activity.js.map +1 -1
- package/dist/store/db.js +6 -0
- package/dist/store/db.js.map +1 -1
- package/package.json +1 -1
- package/ui-dist/assets/{index-ChjXRZVz.js → index-DLT2Habk.js} +3 -3
- package/ui-dist/assets/index-DLT2Habk.js.map +1 -0
- package/ui-dist/assets/index-Dd4GRUW2.css +2 -0
- package/ui-dist/index.html +2 -2
- package/ui-dist/assets/index-ChjXRZVz.js.map +0 -1
- package/ui-dist/assets/index-CpvFrZ2L.css +0 -2
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
// GET/POST/PUT/DELETE /api/personas — manage the persona set (worker/analysis/synthesis prompt bundles).
|
|
2
|
+
// Personas live in config.json under `personas`; the active persona is set via PUT /api/config
|
|
3
|
+
// (settings.activePersona). Builtins (builtin: true) can be reset to the shipped defaults.
|
|
4
|
+
import { Router } from "express";
|
|
5
|
+
import { loadConfig, saveConfig } from "../../config/store.js";
|
|
6
|
+
import { BUILTIN_PERSONAS, getBuiltin, DEFAULT_PERSONA_ID } from "../../fusion/personas.js";
|
|
7
|
+
/** Ensure the stored persona list includes all builtins (merged on read). */
|
|
8
|
+
function withBuiltins(stored) {
|
|
9
|
+
const storedIds = new Set(stored.map((p) => p.id));
|
|
10
|
+
const merged = [...stored];
|
|
11
|
+
for (const b of BUILTIN_PERSONAS) {
|
|
12
|
+
if (!storedIds.has(b.id))
|
|
13
|
+
merged.push({ ...b });
|
|
14
|
+
}
|
|
15
|
+
return merged;
|
|
16
|
+
}
|
|
17
|
+
export function personasRouter() {
|
|
18
|
+
const r = Router();
|
|
19
|
+
// GET: list all personas (stored + any missing builtins), plus the active id.
|
|
20
|
+
r.get("/", (_req, res) => {
|
|
21
|
+
const config = loadConfig();
|
|
22
|
+
res.json({
|
|
23
|
+
personas: withBuiltins(config.personas ?? []),
|
|
24
|
+
activePersona: config.settings.activePersona ?? DEFAULT_PERSONA_ID,
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
// POST: create a new persona (user-defined). Body: full Persona minus builtin.
|
|
28
|
+
r.post("/", (req, res) => {
|
|
29
|
+
const body = req.body ?? {};
|
|
30
|
+
if (!body.name || !body.workerPrompt || !body.analysisPrompt || !body.synthesisPrompt) {
|
|
31
|
+
const e = new Error("name, workerPrompt, analysisPrompt, synthesisPrompt are required");
|
|
32
|
+
e.code = "VALIDATION";
|
|
33
|
+
throw e;
|
|
34
|
+
}
|
|
35
|
+
const config = loadConfig();
|
|
36
|
+
const id = slugify(body.name) + "-" + Math.random().toString(36).slice(2, 7);
|
|
37
|
+
const persona = { id, name: body.name, description: body.description, workerPrompt: body.workerPrompt, analysisPrompt: body.analysisPrompt, synthesisPrompt: body.synthesisPrompt };
|
|
38
|
+
saveConfig({ ...config, personas: [...(config.personas ?? []), persona] });
|
|
39
|
+
res.status(201).json(persona);
|
|
40
|
+
});
|
|
41
|
+
// PUT /:id: update a persona (works for builtins too — marks it user-overridden).
|
|
42
|
+
// Special: PUT /:id with {reset: true} restores a builtin to its shipped default.
|
|
43
|
+
r.put("/:id", (req, res) => {
|
|
44
|
+
const id = req.params.id;
|
|
45
|
+
const config = loadConfig();
|
|
46
|
+
const list = [...(config.personas ?? [])];
|
|
47
|
+
if (req.body?.reset === true) {
|
|
48
|
+
const builtin = getBuiltin(id);
|
|
49
|
+
if (!builtin) {
|
|
50
|
+
res.status(404).json({ error: "NOT_A_BUILTIN", detail: `No builtin persona '${id}' to reset` });
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
// Replace any stored override with a fresh copy of the builtin.
|
|
54
|
+
const without = list.filter((p) => p.id !== id);
|
|
55
|
+
saveConfig({ ...config, personas: [...without, { ...builtin }] });
|
|
56
|
+
res.json({ ...builtin });
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
const body = req.body ?? {};
|
|
60
|
+
const idx = list.findIndex((p) => p.id === id);
|
|
61
|
+
if (idx === -1) {
|
|
62
|
+
res.status(404).json({ error: "NOT_FOUND" });
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
const updated = {
|
|
66
|
+
...list[idx],
|
|
67
|
+
...(body.name ? { name: body.name } : {}),
|
|
68
|
+
...(body.description !== undefined ? { description: body.description } : {}),
|
|
69
|
+
...(body.workerPrompt ? { workerPrompt: body.workerPrompt } : {}),
|
|
70
|
+
...(body.analysisPrompt ? { analysisPrompt: body.analysisPrompt } : {}),
|
|
71
|
+
...(body.synthesisPrompt ? { synthesisPrompt: body.synthesisPrompt } : {}),
|
|
72
|
+
};
|
|
73
|
+
list[idx] = updated;
|
|
74
|
+
saveConfig({ ...config, personas: list });
|
|
75
|
+
res.json(updated);
|
|
76
|
+
});
|
|
77
|
+
// DELETE /:id: remove a persona. Builtins can't be deleted (only reset);
|
|
78
|
+
// the active persona can't be removed (reassign first).
|
|
79
|
+
r.delete("/:id", (req, res) => {
|
|
80
|
+
const id = req.params.id;
|
|
81
|
+
const config = loadConfig();
|
|
82
|
+
if (getBuiltin(id)) {
|
|
83
|
+
res.status(400).json({ error: "CANNOT_DELETE_BUILTIN", detail: "Reset a builtin with PUT /:id {reset:true} instead." });
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
if ((config.settings.activePersona ?? DEFAULT_PERSONA_ID) === id) {
|
|
87
|
+
res.status(400).json({ error: "CANNOT_DELETE_ACTIVE", detail: "Set a different active persona first." });
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
const list = (config.personas ?? []).filter((p) => p.id !== id);
|
|
91
|
+
saveConfig({ ...config, personas: list });
|
|
92
|
+
res.status(204).send();
|
|
93
|
+
});
|
|
94
|
+
return r;
|
|
95
|
+
}
|
|
96
|
+
function slugify(s) {
|
|
97
|
+
return s.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "") || "persona";
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=personas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"personas.js","sourceRoot":"","sources":["../../../src/server/api/personas.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,10 @@ export const fusionInputSchema = {
|
|
|
15
15
|
.string()
|
|
16
16
|
.optional()
|
|
17
17
|
.describe("Optional background context, prior reasoning, or tool results the client has already gathered. Included with the prompt for each candidate. OpenFusion does not gather information itself."),
|
|
18
|
+
persona: z
|
|
19
|
+
.string()
|
|
20
|
+
.optional()
|
|
21
|
+
.describe("Persona id or name to use for this fusion (e.g. 'qa', 'researcher', 'pm'). A persona bundles the worker + analysis + synthesis system prompts. Defaults to the active persona set in the dashboard ('generalist' unless changed)."),
|
|
18
22
|
};
|
|
19
23
|
/** The fusion tool handler, extracted so tests can call it with a mocked extra. */
|
|
20
24
|
export async function fusionToolHandler(args, extra, deps) {
|
|
@@ -23,6 +27,7 @@ export async function fusionToolHandler(args, extra, deps) {
|
|
|
23
27
|
const result = await runFusion({
|
|
24
28
|
prompt: args.prompt,
|
|
25
29
|
context: args.context,
|
|
30
|
+
persona: args.persona,
|
|
26
31
|
config,
|
|
27
32
|
db: deps.db,
|
|
28
33
|
onProgress: report,
|
|
@@ -48,7 +53,7 @@ export async function createMcpServer(options = {}) {
|
|
|
48
53
|
ensureHome(); // make sure ~/.openfusion exists before opening the DB
|
|
49
54
|
const db = options.db ?? openDatabase(paths.db());
|
|
50
55
|
// Tool: fusion — fan-out + two-step judge.
|
|
51
|
-
server.tool("fusion", "Fan a prompt out to 2-5 candidate models, run a two-step judge (analysis then synthesis), and return one consolidated answer. Slower and costlier than a single model call (2-3x). Use for complex reasoning, deep research, cross-model verification, or high-stakes answers where consensus adds value. Do NOT use for routine lookups, single-turn Q&A, or trivial tasks. OpenFusion does not call tools — provide the prompt and any gathered context yourself.", fusionInputSchema, async (args, extra) => fusionToolHandler(args, extra, { db, openBrowserOnNeedsConfig: options.openBrowserOnNeedsConfig }));
|
|
56
|
+
server.tool("fusion", "Fan a prompt out to 2-5 candidate models, run a two-step judge (analysis then synthesis), and return one consolidated answer. Slower and costlier than a single model call (2-3x). Use for complex reasoning, deep research, cross-model verification, or high-stakes answers where consensus adds value. Do NOT use for routine lookups, single-turn Q&A, or trivial tasks. OpenFusion does not call tools — provide the prompt and any gathered context yourself. Optional 'persona' (e.g. 'qa', 'researcher', 'pm') tailors the worker + judge prompts to the task; defaults to the active persona in the dashboard.", fusionInputSchema, async (args, extra) => fusionToolHandler(args, extra, { db, openBrowserOnNeedsConfig: options.openBrowserOnNeedsConfig }));
|
|
52
57
|
// Tool: open_dashboard — pop the config/stats UI in a browser.
|
|
53
58
|
server.tool("open_dashboard", "Open the OpenFusion configuration and usage dashboard in the user's browser (http://localhost:9077). Use when the user needs to configure candidates/judge/API keys or view usage stats.", {}, async () => openDashboardToolHandler());
|
|
54
59
|
return server;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../src/server/mcp-server.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,kFAAkF;AAClF,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAG7C,MAAM,MAAM,GAAG,uBAAuB,CAAC;AASvC,2FAA2F;AAC3F,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IACzE,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,4LAA4L,CAC7L;CACJ,CAAC;AAYF,mFAAmF;AACnF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,
|
|
1
|
+
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../src/server/mcp-server.ts"],"names":[],"mappings":"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"}
|
package/dist/server/ui-server.js
CHANGED
|
@@ -13,6 +13,7 @@ import { testRouter } from "./api/test.js";
|
|
|
13
13
|
import { statsRouter } from "./api/stats.js";
|
|
14
14
|
import { activityRouter } from "./api/activity.js";
|
|
15
15
|
import { statusRouter } from "./api/status.js";
|
|
16
|
+
import { personasRouter } from "./api/personas.js";
|
|
16
17
|
import { loadConfig } from "../config/store.js";
|
|
17
18
|
import { isConfigured } from "../config/completeness.js";
|
|
18
19
|
import { VERSION } from "../util/version.js";
|
|
@@ -38,6 +39,7 @@ export async function startUiServer(options = {}) {
|
|
|
38
39
|
app.use("/api/stats", statsRouter(db));
|
|
39
40
|
app.use("/api/activity", activityRouter(db));
|
|
40
41
|
app.use("/api/status", statusRouter());
|
|
42
|
+
app.use("/api/personas", personasRouter());
|
|
41
43
|
// /api/health is a liveness ping (kept stable for back-compat) but now carries
|
|
42
44
|
// version + configured so a single call tells you both "is it up" and "is it ready".
|
|
43
45
|
app.get("/api/health", (_req, res) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-server.js","sourceRoot":"","sources":["../../src/server/ui-server.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,2EAA2E;AAC3E,OAAO,OAAyE,MAAM,SAAS,CAAC;AAChG,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAO7C,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,UAA2B,EAAE;IAC/D,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;IACtB,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAExC,2DAA2D;IAC3D,GAAG,CAAC,GAAG,CAAC,CAAC,GAAY,EAAE,IAAa,EAAE,GAAa,EAAE,KAAmB,EAAE,EAAE;QAC1E,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;YACpD,MAAM,CAAC,GAAG,GAA4D,CAAC;YACvE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACtG,OAAO;QACT,CAAC;QACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAG,GAAa,EAAE,OAAO,IAAI,iBAAiB,EAAE,CAAC,CAAC;IACvG,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,UAAU,EAAE,CAAC;IAC9B,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAElD,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,YAAY,EAAE,CAAC,CAAC;IACvC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,aAAa,EAAE,CAAC,CAAC;IACzC,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,eAAe,EAAE,CAAC,CAAC;IAC7C,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;IACnC,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IACvC,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7C,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,YAAY,EAAE,CAAC,CAAC;IACvC,+EAA+E;IAC/E,qFAAqF;IACrF,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QACnC,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC;QAC1C,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,mFAAmF;IACnF,kEAAkE;IAClE,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,IAAI,MAAM,EAAE,CAAC;QACX,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAChC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACzE,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAClC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE;QACjC,OAAO,CAAC,KAAK,CAAC,qCAAqC,IAAI,EAAE,CAAC,CAAC;QAC3D,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CACH,CAAC;IACF,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AACvB,CAAC;AAED,+FAA+F;AAC/F,SAAS,aAAa;IACpB,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,4CAA4C;IAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAClD,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAAE,OAAO,OAAO,CAAC;IAC5D,qBAAqB;IACrB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACpD,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC;IAC1D,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
1
|
+
{"version":3,"file":"ui-server.js","sourceRoot":"","sources":["../../src/server/ui-server.ts"],"names":[],"mappings":"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"}
|
package/dist/store/activity.js
CHANGED
|
@@ -4,10 +4,10 @@ const insertActivity = (db) => db.prepare(`
|
|
|
4
4
|
INSERT INTO activities
|
|
5
5
|
(id, created_at, prompt_excerpt, has_context, candidate_count, survivor_count,
|
|
6
6
|
judge_provider, judge_model, total_input_tokens, total_output_tokens,
|
|
7
|
-
total_cost, total_latency_ms, status, error)
|
|
7
|
+
total_cost, total_latency_ms, status, error, persona)
|
|
8
8
|
VALUES (@id, @created_at, @prompt_excerpt, @has_context, @candidate_count, @survivor_count,
|
|
9
9
|
@judge_provider, @judge_model, @total_input_tokens, @total_output_tokens,
|
|
10
|
-
@total_cost, @total_latency_ms, @status, @error)
|
|
10
|
+
@total_cost, @total_latency_ms, @status, @error, @persona)
|
|
11
11
|
`);
|
|
12
12
|
export function recordActivity(db, row) {
|
|
13
13
|
const id = row.id ?? randomUUID();
|
|
@@ -26,6 +26,7 @@ export function recordActivity(db, row) {
|
|
|
26
26
|
total_latency_ms: row.total_latency_ms ?? 0,
|
|
27
27
|
status: row.status,
|
|
28
28
|
error: row.error ?? null,
|
|
29
|
+
persona: row.persona ?? null,
|
|
29
30
|
});
|
|
30
31
|
return id;
|
|
31
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activity.js","sourceRoot":"","sources":["../../src/store/activity.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"activity.js","sourceRoot":"","sources":["../../src/store/activity.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA+CzC,MAAM,cAAc,GAAG,CAAC,EAAM,EAAE,EAAE,CAChC,EAAE,CAAC,OAAO,CAAC;;;;;;;;GAQV,CAAC,CAAC;AAEL,MAAM,UAAU,cAAc,CAAC,EAAM,EAAE,GAAgB;IACrD,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,UAAU,EAAE,CAAC;IAClC,cAAc,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC;QACrB,EAAE;QACF,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACtD,cAAc,EAAE,GAAG,CAAC,cAAc,IAAI,IAAI;QAC1C,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,CAAC;QACjC,eAAe,EAAE,GAAG,CAAC,eAAe;QACpC,cAAc,EAAE,GAAG,CAAC,cAAc;QAClC,cAAc,EAAE,GAAG,CAAC,cAAc,IAAI,IAAI;QAC1C,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,IAAI;QACpC,kBAAkB,EAAE,GAAG,CAAC,kBAAkB,IAAI,CAAC;QAC/C,mBAAmB,EAAE,GAAG,CAAC,mBAAmB,IAAI,CAAC;QACjD,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,CAAC;QAC/B,gBAAgB,EAAE,GAAG,CAAC,gBAAgB,IAAI,CAAC;QAC3C,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,IAAI;QACxB,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,IAAI;KAC7B,CAAC,CAAC;IACH,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,aAAa,GAAG,CAAC,EAAM,EAAE,EAAE,CAC/B,EAAE,CAAC,OAAO,CAAC;;;;;;;;GAQV,CAAC,CAAC;AAEL,MAAM,UAAU,aAAa,CAAC,EAAM,EAAE,GAAe;IACnD,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,UAAU,EAAE,CAAC;IAClC,aAAa,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC;QACpB,EAAE;QACF,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACtD,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,IAAI;QAC5B,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,CAAC;QACnC,aAAa,EAAE,GAAG,CAAC,aAAa,IAAI,CAAC;QACrC,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC;QACnB,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,CAAC;QAC/B,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,IAAI;QACxB,cAAc,EAAE,GAAG,CAAC,cAAc,IAAI,IAAI;QAC1C,aAAa,EAAE,GAAG,CAAC,aAAa,IAAI,IAAI;KACzC,CAAC,CAAC;IACH,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,cAAc,CAAC,EAAM,EAAE,EAAU,EAAE,KAA2B;IAC5E,MAAM,OAAO,GAA0B;QACrC,gBAAgB;QAChB,oBAAoB;QACpB,qBAAqB;QACrB,YAAY;QACZ,kBAAkB;QAClB,QAAQ;QACR,OAAO;KACR,CAAC;IACF,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,MAAM,GAA4B,EAAE,EAAE,EAAE,CAAC;IAC/C,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,OAAO,GAAG,EAAE,CAAC,CAAC;YAC9B,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAY,CAAC;QACtC,CAAC;IACH,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAC9B,EAAE,CAAC,OAAO,CAAC,yBAAyB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAM,EAAE,EAAU;IAC5C,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,GAAG,CAAC,EAAE,CAE9D,CAAC;IACd,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,MAAM,SAAS,GAAG,EAAE;SACjB,OAAO,CAAC,uEAAuE,CAAC;SAChF,GAAG,CAAC,EAAE,CAAoC,CAAC;IAC9C,OAAO,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,CAAC;AACpC,CAAC"}
|
package/dist/store/db.js
CHANGED
package/dist/store/db.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/store/db.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,8DAA8D;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAK5C,gFAAgF;AAChF,uEAAuE;AACvE,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,SAAS,gBAAgB;IACvB,IAAI,CAAC;QACH,8DAA8D;QAC9D,OAAO,OAAO,CAAC,gBAAgB,CAAiB,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,KAAK,CACX,iEAAiE;YAC/D,wDAAwD;YACxD,yGAAyG;YACzG,8GAA8G,CACjH,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AACD,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;AAEpC,wFAAwF;AACxF,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9B,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAChC,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACjC,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,CAAC;IACZ,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,GAAkC;IAChD;QACE,EAAE,EAAE,aAAa;QACjB,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAqCJ;KACF;IACD;QACE,EAAE,EAAE,wBAAwB;QAC5B,GAAG,EAAE;;;KAGJ;KACF;CACF,CAAC;AAEF,SAAS,OAAO,CAAC,EAAM;IACrB,EAAE,CAAC,IAAI,CAAC;;;;;GAKP,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,GAAG,CACpB,EAAE,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC,GAAG,EAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAC5F,CAAC;IACF,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,8DAA8D,CAAC,CAAC;IAC1F,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAAE,SAAS;QAChC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACf,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/store/db.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,8DAA8D;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAK5C,gFAAgF;AAChF,uEAAuE;AACvE,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,SAAS,gBAAgB;IACvB,IAAI,CAAC;QACH,8DAA8D;QAC9D,OAAO,OAAO,CAAC,gBAAgB,CAAiB,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,KAAK,CACX,iEAAiE;YAC/D,wDAAwD;YACxD,yGAAyG;YACzG,8GAA8G,CACjH,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AACD,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;AAEpC,wFAAwF;AACxF,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9B,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAChC,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACjC,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,CAAC;IACZ,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,GAAkC;IAChD;QACE,EAAE,EAAE,aAAa;QACjB,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAqCJ;KACF;IACD;QACE,EAAE,EAAE,wBAAwB;QAC5B,GAAG,EAAE;;;KAGJ;KACF;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,GAAG,EAAE;;KAEJ;KACF;CACF,CAAC;AAEF,SAAS,OAAO,CAAC,EAAM;IACrB,EAAE,CAAC,IAAI,CAAC;;;;;GAKP,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,GAAG,CACpB,EAAE,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC,GAAG,EAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAC5F,CAAC;IACF,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,8DAA8D,CAAC,CAAC;IAC1F,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAAE,SAAS;QAChC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACf,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED