@modusensus/dsh-mneme 0.2.5 → 0.2.6

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/lib/client.js CHANGED
@@ -178,7 +178,7 @@ window.__ModuleLoader__.load({
178
178
 
179
179
  const tabs = ["all", "preference", "project", "decision", "history"];
180
180
 
181
- const body = react.createElement("div", { style: embedded ? { ...styles.panel, width: "100%", maxWidth: "100%", maxHeight: "none" } : styles.panel },
181
+ const body = react.createElement("div", { style: embedded ? { width: "100%", display: "flex", flexDirection: "column" } : styles.panel },
182
182
  !embedded && react.createElement("div", { style: styles.header },
183
183
  react.createElement("span", { style: styles.title }, t("memory.panel.title")),
184
184
  react.createElement("button", { style: styles.close, onClick: onClose }, "×")
@@ -365,7 +365,7 @@ window.__ModuleLoader__.load({
365
365
  const hintStyle = { fontSize: 11, color: "var(--dsw-alias-label-tertiary, #999)", marginBottom: 8 };
366
366
  const rowStyle = { display: "flex", justifyContent: "space-between", alignItems: "center", gap: 8, padding: "6px 0", borderBottom: "1px solid var(--dsw-alias-border-l1, #eee)" };
367
367
 
368
- const body = h("div", { style: embedded ? { ...styles.panel, width: "100%", maxWidth: "100%", maxHeight: "none" } : styles.panel },
368
+ const body = h("div", { style: embedded ? { width: "100%", display: "flex", flexDirection: "column" } : styles.panel },
369
369
  !embedded && h("div", { style: styles.header },
370
370
  h("span", { style: styles.title }, t("memory.settings.title")),
371
371
  h("button", { style: styles.close, onClick: onClose }, "×")
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@modusensus/dsh-mneme",
3
3
  "description": "Cross-session memory plugin for DeepSeek Harness with autoDream consolidation: SQLite store, Markdown mirrors, 6 model tools, automatic injection, session summarization, user profile/rules, custom slash commands, vector (semantic) search, and a Web GUI panel",
4
- "version": "0.2.5",
4
+ "version": "0.2.6",
5
5
  "license": "MIT",
6
6
  "type": "module",
7
7
  "main": "lib/index.js",
@@ -24,3 +24,21 @@ test("client bundle is lib-only with no src counterpart", () => {
24
24
  assert.equal(existsSync(join(root, "src/client.js")), false, "src/ must not contain client.js");
25
25
  assert.equal(existsSync(join(root, "lib/client.js")), true, "lib/client.js must exist");
26
26
  });
27
+
28
+ // Both panels render in two modes: a portal modal (styles.panel, full chrome)
29
+ // and an embedded settings-section variant. The embedded variant must drop the
30
+ // modal-only chrome (background, radius, padding, shadow) — the settings host
31
+ // already provides its own surface, so reusing the modal panel style makes the
32
+ // section render as a floating card with an inset box and shadow inside the
33
+ // settings page.
34
+ test("embedded variant drops the modal panel chrome", () => {
35
+ const branches = clientSource.match(/embedded \? \{[^}]+\}/g);
36
+ assert.ok(branches, "panels must branch on the embedded flag");
37
+ assert.equal(branches.length, 2, "both MemoryPanel and SettingsPanel must branch");
38
+ for (const branch of branches) {
39
+ assert.equal(branch.includes("styles.panel"), false, "embedded branch must not reuse the modal panel style");
40
+ for (const chrome of ["boxShadow", "background", "borderRadius", "padding"]) {
41
+ assert.equal(branch.includes(chrome), false, `embedded branch must not carry ${chrome}`);
42
+ }
43
+ }
44
+ });