@kalera/munin-openclaw 0.1.0 → 1.0.0

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.
@@ -1,4 +1,4 @@
1
1
 
2
- > @kalera/munin-openclaw@0.1.0 build /home/runner/work/munin-for-agents/munin-for-agents/adapters/openclaw
2
+ > @kalera/munin-openclaw@1.0.0 build /home/runner/work/munin-for-agents/munin-for-agents/adapters/openclaw
3
3
  > tsc -p tsconfig.json
4
4
 
package/SKILL.md CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: "@kalera/munin-openclaw"
3
3
  description: "Munin - The $1.6/mo Persistent Memory for OpenClaw. Stop your agent from having Alzheimer's."
4
- version: "0.1.0"
4
+ version: "1.0.0"
5
5
  metadata:
6
6
  clawdbot:
7
7
  type: "plugin"
@@ -38,13 +38,20 @@ Data stays where you tell it to stay. If you self-host, it never leaves your ser
38
38
  **External Endpoints:**
39
39
  Data is sent ONLY to your `MUNIN_BASE_URL`. We don't phone home. We don't sell your "memories" to train models.
40
40
 
41
+ ## 💎 Quantum E2EE (Elite Tier)
42
+
43
+ If your Munin project has **Quantum E2EE** enabled, standard E2EE rules apply PLUS:
44
+ - You **MUST** generate a vector embedding of the plaintext content locally before encrypting.
45
+ - You **MUST** include the embedding array in the `store` payload: `{ "content": "encrypted...", "embedding": [0.1, -0.02, ...], "encryptionMeta": {...} }`.
46
+ - Munin will use this vector for zero-knowledge semantic search. It will reject the request if the embedding is missing.
47
+
41
48
  ---
42
49
 
43
50
  ## 🚀 Setup (Fast & Honest)
44
51
 
45
- 1. **Get your Munin instance:** Self-host it or grab a cloud key at [munin.ai](https://munin.ai).
52
+ 1. **Get your Munin instance:** Self-host it or grab a cloud key at [munin.kalera.app](https://munin.kalera.app).
46
53
  2. **Configure OpenClaw:** Add these to your `.env` or agent config:
47
- - `MUNIN_BASE_URL`: Where your Munin lives (e.g., `https://api.munin.ai`).
54
+ - `MUNIN_BASE_URL`: Where your Munin lives (e.g., `https://munin.kalera.dev`).
48
55
  - `MUNIN_PROJECT`: Your project name (e.g., `research-agent`).
49
56
  - `MUNIN_API_KEY`: Your key to the kingdom.
50
57
 
package/dist/cli.js CHANGED
@@ -13,14 +13,16 @@ async function main() {
13
13
  const adapter = createOpenClawMuninAdapter({
14
14
  baseUrl: env.baseUrl,
15
15
  apiKey: env.apiKey,
16
- project: env.project,
17
16
  timeoutMs: env.timeoutMs,
18
17
  });
19
18
  const result = await executeWithRetry(async () => {
20
19
  if (action === "capabilities") {
21
20
  return { ok: true, data: await adapter.capabilities() };
22
21
  }
23
- return adapter.execute(action, payload);
22
+ const { projectId, ...p } = payload;
23
+ if (!projectId)
24
+ throw new Error("projectId required in payload");
25
+ return adapter.execute(projectId, action, p);
24
26
  }, env.retries, env.backoffMs);
25
27
  console.log(JSON.stringify(result, null, 2));
26
28
  }
package/dist/index.d.ts CHANGED
@@ -1,9 +1,8 @@
1
1
  export declare function createOpenClawMuninAdapter(config: {
2
2
  baseUrl: string;
3
3
  apiKey?: string;
4
- project: string;
5
4
  timeoutMs?: number;
6
5
  }): {
7
- execute: (action: string, payload: Record<string, unknown>) => Promise<import("@kalera/munin-sdk").MuninResponse<unknown>>;
6
+ execute: (projectId: string, action: string, payload: Record<string, unknown>) => Promise<import("@kalera/munin-sdk").MuninResponse<unknown>>;
8
7
  capabilities: () => Promise<import("@kalera/munin-sdk").MuninCapabilities>;
9
8
  };
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@ import { MuninClient } from "@kalera/munin-sdk";
2
2
  export function createOpenClawMuninAdapter(config) {
3
3
  const client = new MuninClient(config);
4
4
  return {
5
- execute: (action, payload) => client.invoke(action, payload, { ensureCapability: true }),
5
+ execute: (projectId, action, payload) => client.invoke(projectId, action, payload, { ensureCapability: true }),
6
6
  capabilities: () => client.capabilities(),
7
7
  };
8
8
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kalera/munin-openclaw",
3
- "version": "0.1.0",
3
+ "version": "1.0.0",
4
4
  "type": "module",
5
5
  "openclaw": {
6
6
  "extensions": [
@@ -17,8 +17,8 @@
17
17
  "munin-openclaw": "dist/cli.js"
18
18
  },
19
19
  "dependencies": {
20
- "@kalera/munin-sdk": "0.1.0",
21
- "@kalera/munin-runtime": "0.1.0"
20
+ "@kalera/munin-runtime": "1.0.0",
21
+ "@kalera/munin-sdk": "1.0.0"
22
22
  },
23
23
  "devDependencies": {
24
24
  "typescript": "^5.9.2"
package/src/cli.ts CHANGED
@@ -26,7 +26,7 @@ async function main() {
26
26
  const adapter = createOpenClawMuninAdapter({
27
27
  baseUrl: env.baseUrl,
28
28
  apiKey: env.apiKey,
29
- project: env.project,
29
+
30
30
  timeoutMs: env.timeoutMs,
31
31
  });
32
32
 
@@ -34,7 +34,7 @@ async function main() {
34
34
  if (action === "capabilities") {
35
35
  return { ok: true, data: await adapter.capabilities() };
36
36
  }
37
- return adapter.execute(action, payload);
37
+ const { projectId, ...p } = payload; if (!projectId) throw new Error("projectId required in payload"); return adapter.execute(projectId as string, action, p);
38
38
  }, env.retries, env.backoffMs);
39
39
 
40
40
  console.log(JSON.stringify(result, null, 2));
package/src/index.ts CHANGED
@@ -3,14 +3,14 @@ import { MuninClient } from "@kalera/munin-sdk";
3
3
  export function createOpenClawMuninAdapter(config: {
4
4
  baseUrl: string;
5
5
  apiKey?: string;
6
- project: string;
6
+
7
7
  timeoutMs?: number;
8
8
  }) {
9
9
  const client = new MuninClient(config);
10
10
 
11
11
  return {
12
- execute: (action: string, payload: Record<string, unknown>) =>
13
- client.invoke(action as any, payload, { ensureCapability: true }),
12
+ execute: (projectId: string, action: string, payload: Record<string, unknown>) =>
13
+ client.invoke(projectId, action as any, payload, { ensureCapability: true }),
14
14
  capabilities: () => client.capabilities(),
15
15
  };
16
16
  }