@mnemosyne_os/sdk 1.2.0 → 1.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 +45 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -23,9 +23,10 @@ and exposes a WebSocket API for Layer 2 apps to tap into its cognitive engine.
|
|
|
23
23
|
|
|
24
24
|
| Package | Version | Role |
|
|
25
25
|
|---------|---------|------|
|
|
26
|
+
| [`@mnemosyne_os/mcp`](https://www.npmjs.com/package/@mnemosyne_os/mcp) | latest | MCP server — plug Claude / Cursor / any MCP agent into your vault |
|
|
26
27
|
| [`@mnemosyne_os/forge`](https://www.npmjs.com/package/@mnemosyne_os/forge) | `1.4.7` | CLI — scaffold, chronicles, MCP server |
|
|
27
28
|
| [`@mnemosyne_os/sync`](https://www.npmjs.com/package/@mnemosyne_os/sync) | `0.0.1` | P2P — multi-agent synchronization |
|
|
28
|
-
| **`@mnemosyne_os/sdk`** | **`1.
|
|
29
|
+
| **`@mnemosyne_os/sdk`** | **`1.2.0`** | **SDK — build Layer 2 apps** |
|
|
29
30
|
|
|
30
31
|
---
|
|
31
32
|
|
|
@@ -64,7 +65,7 @@ npm install @mnemosyne_os/sdk
|
|
|
64
65
|
"id": "my-layer2-app",
|
|
65
66
|
"name": "My Layer 2 App",
|
|
66
67
|
"version": "1.0.0",
|
|
67
|
-
"mnemosyne_sdk": "^1.
|
|
68
|
+
"mnemosyne_sdk": "^1.2.0",
|
|
68
69
|
"scopes": ["vault:read:DEV", "vault:write:DEV"],
|
|
69
70
|
"vaults": ["DEV"],
|
|
70
71
|
"intents": ["INGEST", "QUERY"]
|
|
@@ -128,6 +129,38 @@ await client.disconnect();
|
|
|
128
129
|
|
|
129
130
|
---
|
|
130
131
|
|
|
132
|
+
## Semantic Ranking (v1.2+)
|
|
133
|
+
|
|
134
|
+
By default `query()` returns the **N most recent chronicles** — fast (~5 ms) and good for "what changed lately" panes.
|
|
135
|
+
For agent-style relevance, opt into the **semantic branch**:
|
|
136
|
+
|
|
137
|
+
```typescript
|
|
138
|
+
const result = await client.query('JWT auth refactor decisions', {
|
|
139
|
+
vault: 'DEV',
|
|
140
|
+
limit: 10,
|
|
141
|
+
semantic: true, // ← opt-in true semantic ranking
|
|
142
|
+
scope: 'SOURCE_CODE', // ← cognitive scope (boosts ARCHITECTURE / GIT / API)
|
|
143
|
+
spineTypeFilter: ['ARCHITECTURE', 'GIT'] // ← optional whitelist
|
|
144
|
+
});
|
|
145
|
+
|
|
146
|
+
console.log(result.chronicles);
|
|
147
|
+
// result._semantic = { used: true, vectorDim: 768, vaultSize: 5912 }
|
|
148
|
+
// ↑ confirms the semantic branch ran (vs. silent fallback to recent)
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
| `QueryOptions` field | Default | What it does |
|
|
152
|
+
|---|---|---|
|
|
153
|
+
| `semantic` | `false` | Embeds the query and ranks by cosine × spineType weight. Without it: recent N. |
|
|
154
|
+
| `scope` | `'SOURCE_CODE'` | Cognitive scope that drives the type-weight table (ARCHITECTURE ×1.40, GIT ×1.35, etc.). |
|
|
155
|
+
| `spineTypeFilter` | `undefined` | Server-side SQL `IN` clause — restricts results to listed types. |
|
|
156
|
+
| `threshold` | `0.0` | Minimum cosine score (0–1) before type-weighting. |
|
|
157
|
+
|
|
158
|
+
The runtime applies an **exact-term boost** for identifier-like tokens in your query (uppercased words ≥4 chars, hyphenated codes, version numbers). Matching chronicles get `cosine × (1 + matchCount × 0.5)`, surfacing docs that contain rare identifiers verbatim — which dense embeddings alone tend to miss.
|
|
159
|
+
|
|
160
|
+
The optional `_semantic` field on `QueryResult` is your debug breadcrumb: it tells you whether the semantic branch ran, what dimension the query vector had, how many chronicles were in the target vault, and the error message if it silently fell back to "recent" (e.g. embedding provider not registered).
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
131
164
|
## Full API — `MnemoClientBrowser`
|
|
132
165
|
|
|
133
166
|
### Connection
|
|
@@ -284,6 +317,16 @@ if (!validation.valid) process.exit(1);
|
|
|
284
317
|
|
|
285
318
|
## Changelog
|
|
286
319
|
|
|
320
|
+
### v1.2.0 — 2026-06-07 — Semantic Bridge
|
|
321
|
+
|
|
322
|
+
- **NEW** `QueryOptions.semantic?: boolean` — opt-in true semantic ranking (server embeds query, ranks by cosine × spineType weight).
|
|
323
|
+
- **NEW** `QueryOptions.scope?: string` — cognitive scope for the type-weight table (default `'SOURCE_CODE'`, boosts ARCHITECTURE / GIT / API).
|
|
324
|
+
- **NEW** `QueryOptions.spineTypeFilter?: string[]` — server-side `IN` filter to restrict results to specific spineTypes.
|
|
325
|
+
- **NEW** `QueryResult._semantic?: QuerySemanticDebug` — breadcrumb that tells you whether the semantic branch ran, the vector dim used, and the vault size (or the fallback reason).
|
|
326
|
+
- **NEW** Exported `QuerySemanticDebug` type.
|
|
327
|
+
- **FIX** Bundle no longer crashes under pure Node ESM. v1.1.0 inlined `ws` and produced a tsup `__require2('events')` shim that threw `Dynamic require of "events" is not supported` at module load — making `npm install @mnemosyne_os/sdk` followed by `import` from any plain Node script crash on startup. `ws` is now an `optionalDependency`, marked external in the build, so the SDK loads cleanly in any ESM context (MCP servers, CLIs, Node services).
|
|
328
|
+
- **COMPAT** Fully backward-compatible: existing `query(text, options)` calls without the new fields behave exactly as in 1.1.0.
|
|
329
|
+
|
|
287
330
|
### v2.0.0 — 2026-05-01 — Phase 59 Active Cognitive Filter
|
|
288
331
|
|
|
289
332
|
- **NEW** `bridge:read` scope — unlocks `computeResonance`, `getBridgeHistory`, `getBridgeSessions`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mnemosyne_os/sdk",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.1",
|
|
4
4
|
"description": "Official SDK for building Layer 2 apps on Mnemosyne OS — connects to the local AI memory runtime via WebSocket or Electron IPC.",
|
|
5
5
|
"keywords": ["mnemosyne", "ai", "memory", "vector", "sdk", "sovereign", "layer2", "local-ai", "electron"],
|
|
6
6
|
"author": {
|