@mnemoverse/mcp-memory-server 0.9.1 → 0.10.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/dist/time.js ADDED
@@ -0,0 +1,48 @@
1
+ /**
2
+ * The one place that decides what an offset-less timestamp MEANS.
3
+ *
4
+ * This module exists because the answer was written down twice and implemented
5
+ * once. Both `since` parameter descriptions and core's own schema say a naive
6
+ * ISO-8601 value is UTC; `Date.parse("2026-08-08T13:00:00")` says it is local
7
+ * time. The gap was closed for the future-watermark note in 0.8.1 (src/scope.ts)
8
+ * and left open in the renderer (src/render.ts), so the same wire value decided
9
+ * one thing on the way in and another on the way out — a convention two modules
10
+ * read differently is not a convention.
11
+ *
12
+ * It lives on its own rather than in scope.ts because render.ts must not depend
13
+ * on scope.ts: the dependency deliberately runs the other way (scope.ts takes
14
+ * `safeInline` as an injected parameter precisely to avoid importing the
15
+ * renderer), and names.ts is about printing names, not about reading clocks.
16
+ */
17
+ /**
18
+ * Parse an ISO-8601 instant the way the SERVER does: an offset-less value is
19
+ * UTC, not local time. Returns epoch milliseconds, or `null` for anything that
20
+ * cannot be read as an instant.
21
+ *
22
+ * The mismatch this fixes is not cosmetic — it moved dates. West of UTC a
23
+ * perfectly sane watermark was declared to be in the future and every clause of
24
+ * the future-watermark note was false; east of UTC a genuinely future watermark
25
+ * was shifted into the past and the note stayed silent, missing the one case it
26
+ * exists for (review, 2026-08-08). On a rendered result line the same reading
27
+ * printed `2026-08-01T23:30:00` as `2026-08-02 06:30Z` in America/Los_Angeles:
28
+ * a memory dated to a day it was not written, with a `Z` asserting it was UTC.
29
+ *
30
+ * Date-only values ("2026-08-08") are already parsed as UTC by spec, so only
31
+ * date-TIME values without an offset need the Z.
32
+ *
33
+ * `value` is `unknown` because both call sites read it off the wire, where the
34
+ * response types are aspirational: `created_at` is typed as a string and can
35
+ * arrive as a number. A value that is not a string is not an ISO-8601 instant,
36
+ * so it is `null` here rather than a guess — `new Date(1754082281605)` is a
37
+ * perfectly good date for a field whose contract says it is text.
38
+ */
39
+ export function parseAsUtc(value) {
40
+ if (typeof value !== "string")
41
+ return null;
42
+ const s = value.trim();
43
+ const hasOffset = /(?:Z|[+-]\d{2}:?\d{2})$/i.test(s);
44
+ const isDateTime = /\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}/.test(s);
45
+ const t = Date.parse(isDateTime && !hasOffset ? `${s.replace(" ", "T")}Z` : s);
46
+ return Number.isNaN(t) ? null : t;
47
+ }
48
+ //# sourceMappingURL=time.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.js","sourceRoot":"","sources":["../src/time.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3C,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IACvB,MAAM,SAAS,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,kCAAkC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mnemoverse/mcp-memory-server",
3
- "version": "0.9.1",
3
+ "version": "0.10.1",
4
4
  "description": "Hosted persistent memory for AI agents that learns which facts help — feedback re-ranks recall — one key across Claude Code, Cursor, VS Code & ChatGPT, no infra to run",
5
5
  "type": "module",
6
6
  "bin": {
@@ -46,7 +46,6 @@
46
46
  "cross-tool",
47
47
  "model-context-protocol",
48
48
  "hosted-memory",
49
- "forgetting",
50
49
  "vendor-neutral"
51
50
  ],
52
51
  "author": "Mnemoverse <hello@mnemoverse.com>",