prism-mcp-server 20.2.0 → 20.2.2
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 +137 -15
- package/dist/cli.js +222 -34
- package/dist/config.js +14 -7
- package/dist/connect.js +854 -16
- package/dist/dashboard/server.js +9 -14
- package/dist/dashboard/settingsPolicy.js +41 -0
- package/dist/localFirstPolicy.js +20 -0
- package/dist/onboarding/wizard.js +3 -6
- package/dist/server.js +77 -65
- package/dist/session/sessionContext.js +5 -3
- package/dist/skillManifestSync.js +943 -0
- package/dist/storage/configStorage.js +110 -1
- package/dist/storage/index.js +15 -4
- package/dist/storage/inferMetricsLedger.js +89 -16
- package/dist/storage/panelMetricsSpool.js +324 -0
- package/dist/storage/sqlite.js +1 -1
- package/dist/storage/synalux.js +18 -1
- package/dist/tools/__tests__/ledgerHandlers.test.js +13 -0
- package/dist/tools/index.js +2 -2
- package/dist/tools/ledgerHandlers.js +468 -53
- package/dist/tools/prismInferHandler.js +171 -12
- package/dist/tools/sessionMemoryDefinitions.js +51 -10
- package/dist/tools/skillRouting.js +39 -7
- package/dist/tools/taskRouterHandler.js +184 -29
- package/dist/utils/entitlements.js +6 -2
- package/dist/utils/inferenceMetrics.js +22 -3
- package/dist/utils/modelPicker.js +3 -3
- package/dist/utils/synaluxJwt.js +8 -3
- package/package.json +6 -2
package/dist/storage/synalux.js
CHANGED
|
@@ -210,7 +210,24 @@ export class SynaluxStorage extends SupabaseStorage {
|
|
|
210
210
|
user_id: userId,
|
|
211
211
|
role,
|
|
212
212
|
});
|
|
213
|
-
return
|
|
213
|
+
// Current portals return the canonical flat `context`. Older deployed
|
|
214
|
+
// portals returned `{ handoff, recent_sessions }`; normalize that envelope
|
|
215
|
+
// here so the formatter can still see last_summary, TODOs, version, and
|
|
216
|
+
// session history during a rolling portal/client upgrade.
|
|
217
|
+
if (result.context === null)
|
|
218
|
+
return null;
|
|
219
|
+
if (result.context && typeof result.context === "object" && !Array.isArray(result.context)) {
|
|
220
|
+
return result.context;
|
|
221
|
+
}
|
|
222
|
+
if (result.handoff === null)
|
|
223
|
+
return null;
|
|
224
|
+
if (result.handoff && typeof result.handoff === "object" && !Array.isArray(result.handoff)) {
|
|
225
|
+
return {
|
|
226
|
+
...result.handoff,
|
|
227
|
+
recent_sessions: Array.isArray(result.recent_sessions) ? result.recent_sessions : [],
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
return result;
|
|
214
231
|
}
|
|
215
232
|
// ─── Forget memory (GDPR surgical deletion) ──────────────────
|
|
216
233
|
// Phase 3 Tier A: route both soft and hard delete through the
|
|
@@ -38,6 +38,7 @@ vi.mock("../../../src/storage/configStorage.js", () => ({
|
|
|
38
38
|
getAllSettings: vi.fn(() => Promise.resolve({})),
|
|
39
39
|
getSettingSync: vi.fn(() => ""),
|
|
40
40
|
initConfigStorage: vi.fn(),
|
|
41
|
+
refreshConfigStorageCache: vi.fn(() => Promise.resolve()),
|
|
41
42
|
}));
|
|
42
43
|
vi.mock("../../../src/config.js", () => ({
|
|
43
44
|
PRISM_USER_ID: "test-user-id",
|
|
@@ -394,6 +395,18 @@ describe("ledgerHandlers", () => {
|
|
|
394
395
|
await sessionLoadContextHandler(validArgs);
|
|
395
396
|
expect(storage.loadContext).toHaveBeenCalledWith("test-project", "standard", "test-user-id", undefined);
|
|
396
397
|
});
|
|
398
|
+
it.each(["quick", "standard", "deep"])("uses dashboard context depth %s when the caller omits level", async (configuredLevel) => {
|
|
399
|
+
mockGetSetting.mockImplementation(async (key, fallback = "") => key === "default_context_depth" ? configuredLevel : fallback);
|
|
400
|
+
await sessionLoadContextHandler(validArgs);
|
|
401
|
+
expect(storage.loadContext).toHaveBeenCalledWith("test-project", configuredLevel, "test-user-id", undefined);
|
|
402
|
+
});
|
|
403
|
+
it("lets an explicit level override the dashboard and safely ignores stale invalid dashboard state", async () => {
|
|
404
|
+
mockGetSetting.mockImplementation(async (key, fallback = "") => key === "default_context_depth" ? "obsolete-depth" : fallback);
|
|
405
|
+
await sessionLoadContextHandler({ ...validArgs, level: "deep" });
|
|
406
|
+
expect(storage.loadContext).toHaveBeenLastCalledWith("test-project", "deep", "test-user-id", undefined);
|
|
407
|
+
await sessionLoadContextHandler(validArgs);
|
|
408
|
+
expect(storage.loadContext).toHaveBeenLastCalledWith("test-project", "standard", "test-user-id", undefined);
|
|
409
|
+
});
|
|
397
410
|
it("loads context at 'quick' level", async () => {
|
|
398
411
|
storage.loadContext.mockResolvedValue(null);
|
|
399
412
|
await sessionLoadContextHandler({ project: "test-project", level: "quick" });
|
package/dist/tools/index.js
CHANGED
|
@@ -26,9 +26,9 @@ export { webSearchHandler, braveWebSearchCodeModeHandler, localSearchHandler, br
|
|
|
26
26
|
// This file always exports them — server.ts decides whether to include them in the tool list.
|
|
27
27
|
//
|
|
28
28
|
// v0.4.0: Added SESSION_COMPACT_LEDGER_TOOL and SESSION_SEARCH_MEMORY_TOOL
|
|
29
|
-
export { SESSION_SAVE_LEDGER_TOOL, SESSION_SAVE_HANDOFF_TOOL, SESSION_LOAD_CONTEXT_TOOL, KNOWLEDGE_SEARCH_TOOL, KNOWLEDGE_FORGET_TOOL, SESSION_COMPACT_LEDGER_TOOL, SESSION_SEARCH_MEMORY_TOOL, MEMORY_HISTORY_TOOL, MEMORY_CHECKOUT_TOOL, SESSION_SAVE_IMAGE_TOOL, SESSION_VIEW_IMAGE_TOOL, SESSION_HEALTH_CHECK_TOOL, SESSION_BACKFILL_EMBEDDINGS_TOOL, SESSION_FORGET_MEMORY_TOOL, SESSION_EXPORT_MEMORY_TOOL, KNOWLEDGE_SET_RETENTION_TOOL, SESSION_SAVE_EXPERIENCE_TOOL, KNOWLEDGE_UPVOTE_TOOL, KNOWLEDGE_DOWNVOTE_TOOL, KNOWLEDGE_SYNC_RULES_TOOL, DEEP_STORAGE_PURGE_TOOL, SESSION_INTUITIVE_RECALL_TOOL, SESSION_BACKFILL_LINKS_TOOL, MAINTENANCE_VACUUM_TOOL, isDeepStoragePurgeArgs, SESSION_SYNTHESIZE_EDGES_TOOL, isSessionSynthesizeEdgesArgs, SESSION_COGNITIVE_ROUTE_TOOL, isSessionCognitiveRouteArgs, SESSION_TASK_ROUTE_TOOL, isSessionTaskRouteArgs, ONBOARDING_WIZARD_TOOL, EXTRACT_ENTITIES_TOOL, API_ANALYTICS_TOOL, BACKUP_DATABASE_TOOL, CONFIGURE_NOTIFICATIONS_TOOL, QUERY_MEMORY_NATURAL_TOOL } from "./sessionMemoryDefinitions.js";
|
|
29
|
+
export { SESSION_SAVE_LEDGER_TOOL, SESSION_SAVE_HANDOFF_TOOL, SESSION_LOAD_CONTEXT_TOOL, SESSION_BOOTSTRAP_TOOL, KNOWLEDGE_SEARCH_TOOL, KNOWLEDGE_FORGET_TOOL, SESSION_COMPACT_LEDGER_TOOL, SESSION_SEARCH_MEMORY_TOOL, MEMORY_HISTORY_TOOL, MEMORY_CHECKOUT_TOOL, SESSION_SAVE_IMAGE_TOOL, SESSION_VIEW_IMAGE_TOOL, SESSION_HEALTH_CHECK_TOOL, SESSION_BACKFILL_EMBEDDINGS_TOOL, SESSION_FORGET_MEMORY_TOOL, SESSION_EXPORT_MEMORY_TOOL, KNOWLEDGE_SET_RETENTION_TOOL, SESSION_SAVE_EXPERIENCE_TOOL, KNOWLEDGE_UPVOTE_TOOL, KNOWLEDGE_DOWNVOTE_TOOL, KNOWLEDGE_SYNC_RULES_TOOL, DEEP_STORAGE_PURGE_TOOL, SESSION_INTUITIVE_RECALL_TOOL, SESSION_BACKFILL_LINKS_TOOL, MAINTENANCE_VACUUM_TOOL, isDeepStoragePurgeArgs, SESSION_SYNTHESIZE_EDGES_TOOL, isSessionSynthesizeEdgesArgs, SESSION_COGNITIVE_ROUTE_TOOL, isSessionCognitiveRouteArgs, SESSION_TASK_ROUTE_TOOL, isSessionTaskRouteArgs, ONBOARDING_WIZARD_TOOL, EXTRACT_ENTITIES_TOOL, API_ANALYTICS_TOOL, BACKUP_DATABASE_TOOL, CONFIGURE_NOTIFICATIONS_TOOL, QUERY_MEMORY_NATURAL_TOOL } from "./sessionMemoryDefinitions.js";
|
|
30
30
|
// 1. Ledger (Core CRUD & State)
|
|
31
|
-
export { sessionSaveLedgerHandler, sessionSaveHandoffHandler, sessionLoadContextHandler, sessionSaveExperienceHandler, sessionSaveImageHandler, sessionViewImageHandler, memoryHistoryHandler, memoryCheckoutHandler, sessionForgetMemoryHandler, sessionExportMemoryHandler } from "./ledgerHandlers.js";
|
|
31
|
+
export { sessionSaveLedgerHandler, sessionSaveHandoffHandler, sessionLoadContextHandler, sessionBootstrapHandler, sessionSaveExperienceHandler, sessionSaveImageHandler, sessionViewImageHandler, memoryHistoryHandler, memoryCheckoutHandler, sessionForgetMemoryHandler, sessionExportMemoryHandler } from "./ledgerHandlers.js";
|
|
32
32
|
// 2. Graph (Semantic Search & Weighting)
|
|
33
33
|
export { sessionSearchMemoryHandler, knowledgeSearchHandler, sessionIntuitiveRecallHandler, knowledgeUpvoteHandler, knowledgeDownvoteHandler, knowledgeForgetHandler, knowledgeSyncRulesHandler, sessionSynthesizeEdgesHandler, sessionCognitiveRouteHandler } from "./graphHandlers.js";
|
|
34
34
|
// 3. Hygiene (Maintenance & Integrity)
|