sensorium-mcp 3.0.76 → 3.0.78
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/dist/daily-session.d.ts.map +1 -1
- package/dist/daily-session.js +5 -6
- package/dist/daily-session.js.map +1 -1
- package/dist/dashboard/routes/copilot.d.ts +7 -4
- package/dist/dashboard/routes/copilot.d.ts.map +1 -1
- package/dist/dashboard/routes/copilot.js +47 -13
- package/dist/dashboard/routes/copilot.js.map +1 -1
- package/dist/dashboard/routes.js +2 -2
- package/dist/dashboard/routes.js.map +1 -1
- package/dist/dashboard/spa.html +7 -7
- package/dist/data/daily-marker.d.ts +38 -0
- package/dist/data/daily-marker.d.ts.map +1 -0
- package/dist/data/daily-marker.js +82 -0
- package/dist/data/daily-marker.js.map +1 -0
- package/dist/response-builders.d.ts.map +1 -1
- package/dist/response-builders.js +12 -5
- package/dist/response-builders.js.map +1 -1
- package/dist/services/background-runner.d.ts.map +1 -1
- package/dist/services/background-runner.js +8 -0
- package/dist/services/background-runner.js.map +1 -1
- package/dist/services/worker-cleanup.service.d.ts.map +1 -1
- package/dist/services/worker-cleanup.service.js +8 -3
- package/dist/services/worker-cleanup.service.js.map +1 -1
- package/dist/tools/start-session-tool.d.ts.map +1 -1
- package/dist/tools/start-session-tool.js +6 -1
- package/dist/tools/start-session-tool.js.map +1 -1
- package/dist/tools/wait/poll-loop.d.ts.map +1 -1
- package/dist/tools/wait/poll-loop.js +5 -4
- package/dist/tools/wait/poll-loop.js.map +1 -1
- package/package.json +1 -1
- package/templates/playwright.default.md +30 -0
- package/templates/sensorium-repair.default.md +99 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daily-session.d.ts","sourceRoot":"","sources":["../src/daily-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAYH,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"daily-session.d.ts","sourceRoot":"","sources":["../src/daily-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAYH,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AASvD,UAAU,mBAAmB;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAuBD;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,YAAY,EAAE,MAAM,EACpB,EAAE,CAAC,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,GACnC,OAAO,CAAC,mBAAmB,CAAC,CAuD9B;AAMD;;;GAGG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAwE7E"}
|
package/dist/daily-session.js
CHANGED
|
@@ -17,6 +17,7 @@ import { config } from "./config.js";
|
|
|
17
17
|
import { runIntelligentConsolidation } from "./services/consolidation.service.js";
|
|
18
18
|
import { errorMessage } from "./utils.js";
|
|
19
19
|
import { sendTelegramMessage } from "./telegram.js";
|
|
20
|
+
import { hasRunToday, markRanToday } from "./data/daily-marker.js";
|
|
20
21
|
// ─── Telegram notification ───────────────────────────────────────────────────
|
|
21
22
|
async function notifyTelegram(db, text, threadId) {
|
|
22
23
|
const { TELEGRAM_TOKEN, TELEGRAM_CHAT_ID } = config;
|
|
@@ -102,15 +103,14 @@ export async function rotateDailySession(rootThreadId, db) {
|
|
|
102
103
|
}
|
|
103
104
|
// ─── Rotate all ──────────────────────────────────────────────────────────────
|
|
104
105
|
let _rotating = false;
|
|
105
|
-
let _lastRotationDate = null;
|
|
106
106
|
/**
|
|
107
107
|
* Check and rotate all threads that have daily rotation enabled.
|
|
108
108
|
* Called from the watcher service on a schedule (e.g., 4 AM daily).
|
|
109
109
|
*/
|
|
110
110
|
export async function rotateAllDailySessions() {
|
|
111
111
|
const todayDate = new Date().toISOString().slice(0, 10);
|
|
112
|
-
// Prevent running twice in the same day
|
|
113
|
-
if (
|
|
112
|
+
// Prevent running twice in the same day — persistent across restarts.
|
|
113
|
+
if (hasRunToday("daily-rotation")) {
|
|
114
114
|
log.info(`Daily rotation already completed for ${todayDate}, skipping`);
|
|
115
115
|
return [];
|
|
116
116
|
}
|
|
@@ -120,6 +120,8 @@ export async function rotateAllDailySessions() {
|
|
|
120
120
|
return [];
|
|
121
121
|
}
|
|
122
122
|
_rotating = true;
|
|
123
|
+
// Claim the day UP FRONT so a restart mid-rotation skips on next boot.
|
|
124
|
+
markRanToday("daily-rotation");
|
|
123
125
|
const db = initMemoryDb();
|
|
124
126
|
try {
|
|
125
127
|
const threads = getDailyRotationThreads(db);
|
|
@@ -165,9 +167,6 @@ export async function rotateAllDailySessions() {
|
|
|
165
167
|
lines.push(`🗑 Purged ${purged} archived thread(s) older than 180 days`);
|
|
166
168
|
await notifyTelegram(db, `🔄 <b>Daily rotation complete</b>\n${lines.join("\n")}`);
|
|
167
169
|
}
|
|
168
|
-
const allSucceeded = results.length > 0 && results.every(r => !r.error);
|
|
169
|
-
if (allSucceeded)
|
|
170
|
-
_lastRotationDate = todayDate;
|
|
171
170
|
return results;
|
|
172
171
|
}
|
|
173
172
|
finally {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daily-session.js","sourceRoot":"","sources":["../src/daily-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EACL,uBAAuB,EACvB,SAAS,EACT,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"daily-session.js","sourceRoot":"","sources":["../src/daily-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,9 +9,12 @@ import { type RouteHandler } from "./types.js";
|
|
|
9
9
|
export declare const handleGetCopilot: RouteHandler;
|
|
10
10
|
export declare const handlePostCopilot: RouteHandler;
|
|
11
11
|
/**
|
|
12
|
-
* Verify the BYOK connection by listing models from the
|
|
13
|
-
*
|
|
14
|
-
*
|
|
12
|
+
* Verify the BYOK connection by listing models from the provider, using the
|
|
13
|
+
* values POSTed from the form (baseUrl, providerType, apiKey) so the user can
|
|
14
|
+
* test BEFORE saving. Any field omitted or blank falls back to the stored
|
|
15
|
+
* config — an empty apiKey keeps the previously saved key so it isn't echoed to
|
|
16
|
+
* the browser. Request shape and headers are provider-aware (openai/azure/
|
|
17
|
+
* anthropic). Returns model ids on success, a descriptive error otherwise.
|
|
15
18
|
*/
|
|
16
|
-
export declare const
|
|
19
|
+
export declare const handlePostCopilotModels: RouteHandler;
|
|
17
20
|
//# sourceMappingURL=copilot.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copilot.d.ts","sourceRoot":"","sources":["../../../src/dashboard/routes/copilot.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"copilot.d.ts","sourceRoot":"","sources":["../../../src/dashboard/routes/copilot.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAYH,OAAO,EAA2B,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAkDxE,eAAO,MAAM,gBAAgB,EAAE,YAG9B,CAAC;AAIF,eAAO,MAAM,iBAAiB,EAAE,YAiF/B,CAAC;AAIF;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,EAAE,YA2CrC,CAAC"}
|
|
@@ -9,6 +9,28 @@ import { getCopilotModel, setCopilotModel, getCopilotByokConfig, setCopilotByokC
|
|
|
9
9
|
import { readBody, safeParseJSON } from "./types.js";
|
|
10
10
|
import { errorMessage } from "../../utils.js";
|
|
11
11
|
const MODELS_FETCH_TIMEOUT_MS = 10_000;
|
|
12
|
+
/**
|
|
13
|
+
* Build the provider-specific "list models" request. Each provider type speaks a
|
|
14
|
+
* different wire protocol, so the models endpoint path and auth header differ:
|
|
15
|
+
* - openai: GET {base}/models Authorization: Bearer <key>
|
|
16
|
+
* - anthropic: GET {base}/v1/models x-api-key + anthropic-version
|
|
17
|
+
* - azure: GET {base}/models?api-version=… api-key: <key>
|
|
18
|
+
* All three return an OpenAI-style { data: [{ id }] } body.
|
|
19
|
+
*/
|
|
20
|
+
function buildModelsRequest(providerType, baseUrl, apiKey) {
|
|
21
|
+
const base = baseUrl.replace(/\/+$/, "");
|
|
22
|
+
switch (providerType) {
|
|
23
|
+
case "anthropic": {
|
|
24
|
+
const url = /\/v1$/.test(base) ? `${base}/models` : `${base}/v1/models`;
|
|
25
|
+
return { url, headers: { "x-api-key": apiKey, "anthropic-version": "2023-06-01" } };
|
|
26
|
+
}
|
|
27
|
+
case "azure":
|
|
28
|
+
return { url: `${base}/models?api-version=2024-10-21`, headers: { "api-key": apiKey } };
|
|
29
|
+
case "openai":
|
|
30
|
+
default:
|
|
31
|
+
return { url: `${base}/models`, headers: { Authorization: `Bearer ${apiKey}` } };
|
|
32
|
+
}
|
|
33
|
+
}
|
|
12
34
|
/** Public (key-masked) view of the Copilot settings for the dashboard. */
|
|
13
35
|
function publicCopilotSettings() {
|
|
14
36
|
const byok = getCopilotByokConfig();
|
|
@@ -109,27 +131,39 @@ export const handlePostCopilot = ({ req, json }) => {
|
|
|
109
131
|
})();
|
|
110
132
|
return true;
|
|
111
133
|
};
|
|
112
|
-
// ───
|
|
134
|
+
// ─── POST /api/settings/copilot/models ──────────────────────────────────────
|
|
113
135
|
/**
|
|
114
|
-
* Verify the BYOK connection by listing models from the
|
|
115
|
-
*
|
|
116
|
-
*
|
|
136
|
+
* Verify the BYOK connection by listing models from the provider, using the
|
|
137
|
+
* values POSTed from the form (baseUrl, providerType, apiKey) so the user can
|
|
138
|
+
* test BEFORE saving. Any field omitted or blank falls back to the stored
|
|
139
|
+
* config — an empty apiKey keeps the previously saved key so it isn't echoed to
|
|
140
|
+
* the browser. Request shape and headers are provider-aware (openai/azure/
|
|
141
|
+
* anthropic). Returns model ids on success, a descriptive error otherwise.
|
|
117
142
|
*/
|
|
118
|
-
export const
|
|
143
|
+
export const handlePostCopilotModels = ({ req, json }) => {
|
|
119
144
|
void (async () => {
|
|
120
|
-
const
|
|
121
|
-
|
|
122
|
-
|
|
145
|
+
const stored = getCopilotByokConfig();
|
|
146
|
+
let body = {};
|
|
147
|
+
try {
|
|
148
|
+
const raw = await readBody(req);
|
|
149
|
+
const parsed = raw ? safeParseJSON(raw) : null;
|
|
150
|
+
if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) {
|
|
151
|
+
body = parsed;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
catch { /* no/invalid body — fall back entirely to stored config */ }
|
|
155
|
+
const baseUrl = (typeof body.baseUrl === "string" && body.baseUrl.trim() ? body.baseUrl.trim() : stored.baseUrl);
|
|
156
|
+
const apiKey = (typeof body.apiKey === "string" && body.apiKey.length > 0 ? body.apiKey : stored.apiKey);
|
|
157
|
+
const providerType = isValidCopilotProviderType(body.providerType) ? body.providerType : stored.providerType;
|
|
158
|
+
if (!baseUrl || !apiKey) {
|
|
159
|
+
json({ ok: false, error: "Enter a base URL and API key first (or save them)." }, 400);
|
|
123
160
|
return;
|
|
124
161
|
}
|
|
125
|
-
const url =
|
|
162
|
+
const { url, headers } = buildModelsRequest(providerType, baseUrl, apiKey);
|
|
126
163
|
const controller = new AbortController();
|
|
127
164
|
const timer = setTimeout(() => controller.abort(), MODELS_FETCH_TIMEOUT_MS);
|
|
128
165
|
try {
|
|
129
|
-
const resp = await fetch(url, {
|
|
130
|
-
headers: { Authorization: `Bearer ${byok.apiKey}` },
|
|
131
|
-
signal: controller.signal,
|
|
132
|
-
});
|
|
166
|
+
const resp = await fetch(url, { headers, signal: controller.signal });
|
|
133
167
|
if (!resp.ok) {
|
|
134
168
|
json({ ok: false, error: `Provider returned HTTP ${resp.status} ${resp.statusText}` }, 502);
|
|
135
169
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copilot.js","sourceRoot":"","sources":["../../../src/dashboard/routes/copilot.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACH,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,
|
|
1
|
+
{"version":3,"file":"copilot.js","sourceRoot":"","sources":["../../../src/dashboard/routes/copilot.ts"],"names":[],"mappings":"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"}
|
package/dist/dashboard/routes.js
CHANGED
|
@@ -20,7 +20,7 @@ import { fileURLToPath } from "node:url";
|
|
|
20
20
|
// Domain handlers — settings
|
|
21
21
|
import { handleGetAgentType, handleGetBootstrapMessageCount, handleGetDefaultThreadModel, handleGetDefaultWorkerModel, handleGetDmnActivationHours, handleGetGuardrailsEnabled, handleGetKeepAlive, handleGetThreadAgentTypes, handleGetThreadKeepAlive, handleGetWaitTimeout, handlePostAgentType, handlePostBootstrapMessageCount, handlePostDefaultThreadModel, handlePostDefaultWorkerModel, handlePostGuardrailsEnabled, handlePostKeepAlive, handlePostThreadAgentType, handlePostThreadKeepAlive, handlePostWaitTimeout, } from "./routes/settings.js";
|
|
22
22
|
// Domain handlers — Copilot / BYOK provider settings
|
|
23
|
-
import { handleGetCopilot, handlePostCopilot,
|
|
23
|
+
import { handleGetCopilot, handlePostCopilot, handlePostCopilotModels, } from "./routes/copilot.js";
|
|
24
24
|
// Domain handlers — Claude spawn settings
|
|
25
25
|
import { handleGetClaude, handlePostClaude, } from "./routes/claude.js";
|
|
26
26
|
// Domain handlers — templates
|
|
@@ -71,7 +71,7 @@ const routeTable = {
|
|
|
71
71
|
"POST /api/settings/default-worker-model": handlePostDefaultWorkerModel,
|
|
72
72
|
"GET /api/settings/copilot": handleGetCopilot,
|
|
73
73
|
"POST /api/settings/copilot": handlePostCopilot,
|
|
74
|
-
"
|
|
74
|
+
"POST /api/settings/copilot/models": handlePostCopilotModels,
|
|
75
75
|
"GET /api/settings/claude": handleGetClaude,
|
|
76
76
|
"POST /api/settings/claude": handlePostClaude,
|
|
77
77
|
// Topic registry
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/dashboard/routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAOzC,6BAA6B;AAC7B,OAAO,EACH,kBAAkB,EAClB,8BAA8B,EAC9B,2BAA2B,EAC3B,2BAA2B,EAC3B,2BAA2B,EAC3B,0BAA0B,EAC1B,kBAAkB,EAClB,yBAAyB,EACzB,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACnB,+BAA+B,EAC/B,4BAA4B,EAC5B,4BAA4B,EAC5B,2BAA2B,EAC3B,mBAAmB,EACnB,yBAAyB,EACzB,yBAAyB,EACzB,qBAAqB,GACxB,MAAM,sBAAsB,CAAC;AAE9B,qDAAqD;AACrD,OAAO,EACH,gBAAgB,EAChB,iBAAiB,EACjB,
|
|
1
|
+
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/dashboard/routes.ts"],"names":[],"mappings":"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"}
|