chore(n8n): publish under the scoped @mem0/n8n-nodes-mem0 name
The unscoped `n8n-nodes-mem0` name is already taken on npm by an unrelated publisher, so the CD workflow could never publish it. Move to the `@mem0` scope, matching `@mem0/pi-agent-plugin` and `@mem0/openclaw-mem0`, and add `publishConfig.access: public` since scoped packages default to restricted. n8n accepts scoped community packages: it strips the scope before enforcing the `n8n-nodes-` prefix, the same shape as n8n's own `@n8n/n8n-nodes-langchain`. Verified end to end on n8n 2.22.6 by installing the packed tarball into the community-packages directory and executing a workflow against node type `@mem0/n8n-nodes-mem0.mem0`. The directory, workflow filenames, and the `n8n-nodes-mem0-v*` tag prefix are unchanged. pnpm-lock.yaml needs no update: the pnpm v9 root importer is anonymous and never recorded the package name.
This commit is contained in:
@@ -27,7 +27,7 @@ This is a **polyglot monorepo** containing Python and TypeScript packages, CLIs,
|
||||
| `integrations/openclaw/` | `@mem0/openclaw-mem0` — OpenClaw plugin for Claude Code / AI editors |
|
||||
| `integrations/pi-agent-plugin/` | `@mem0/pi-agent-plugin` — Pi Agent plugin |
|
||||
| `integrations/vercel-ai-sdk/` | `@mem0/vercel-ai-provider` — Vercel AI SDK memory provider |
|
||||
| `integrations/n8n-nodes-mem0/` | `n8n-nodes-mem0` — n8n community node; add / search / get / update / delete memories |
|
||||
| `integrations/n8n-nodes-mem0/` | `@mem0/n8n-nodes-mem0` — n8n community node; add / search / get / update / delete memories |
|
||||
| `server/` | FastAPI REST server for self-hosted Mem0 (Docker: FastAPI + PostgreSQL/pgvector + Neo4j) |
|
||||
| `openmemory/` | Self-hosted memory platform — `api/` (FastAPI + Alembic + MCP server) and `ui/` (Next.js 15 + React 19) |
|
||||
| `skills/` | Claude Code skill definitions. Reference skills (SDK knowledge, always-on): `mem0/`, `mem0-cli/`, `mem0-vercel-ai-sdk/`. Pipeline skills (run on demand): `mem0-integrate/`, `mem0-test-integration/`, `mem0-oss-to-platform/` |
|
||||
@@ -452,7 +452,7 @@ Publishing is routed through a single entry point: **`release.yml` (Release Rout
|
||||
| OpenClaw | `openclaw-cd.yml` | `openclaw-v*` | npm (`@mem0/openclaw-mem0`) |
|
||||
| OpenCode Plugin | `opencode-plugin-cd.yml` | `opencode-v*` | npm (`@mem0/opencode-plugin`) |
|
||||
| Pi Agent Plugin | `pi-agent-plugin-cd.yml` | `pi-agent-v*` | npm (`@mem0/pi-agent-plugin`) |
|
||||
| n8n Node | `n8n-nodes-mem0-cd.yml` | `n8n-nodes-mem0-v*` | npm (`n8n-nodes-mem0`) |
|
||||
| n8n Node | `n8n-nodes-mem0-cd.yml` | `n8n-nodes-mem0-v*` | npm (`@mem0/n8n-nodes-mem0`) |
|
||||
|
||||
- Package CD workflows are `workflow_dispatch`-only (inputs: `tag`, `prerelease`); they check out and build the given tag. Registry trusted-publisher settings stay pinned to each package's own workflow filename.
|
||||
- All publishing uses **OIDC trusted publishing** — no tokens or secrets required.
|
||||
|
||||
@@ -3,7 +3,7 @@ title: n8n
|
||||
description: "Add long-term memory to n8n workflows and AI Agents with the Mem0 community node, no code required."
|
||||
---
|
||||
|
||||
The [`n8n-nodes-mem0`](https://www.npmjs.com/package/n8n-nodes-mem0) community node brings [Mem0](https://mem0.ai) memory to [n8n](https://n8n.io). Add, search, and manage long-term memories inside any workflow, and use it as a tool for the n8n AI Agent.
|
||||
The [`@mem0/n8n-nodes-mem0`](https://www.npmjs.com/package/@mem0/n8n-nodes-mem0) community node brings [Mem0](https://mem0.ai) memory to [n8n](https://n8n.io). Add, search, and manage long-term memories inside any workflow, and use it as a tool for the n8n AI Agent.
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -25,7 +25,7 @@ It is marked `usableAsTool`, so the n8n AI Agent (Tools Agent) can call it direc
|
||||
Install it like any n8n community node:
|
||||
|
||||
1. In n8n, go to **Settings → Community Nodes → Install**.
|
||||
2. Enter `n8n-nodes-mem0` and confirm.
|
||||
2. Enter `@mem0/n8n-nodes-mem0` and confirm.
|
||||
|
||||
The node then appears in the nodes panel under the AI category.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# n8n-nodes-mem0
|
||||
# @mem0/n8n-nodes-mem0
|
||||
|
||||
This is an n8n community node that lets you use [Mem0](https://mem0.ai) — the memory layer for AI agents — in your n8n workflows.
|
||||
|
||||
@@ -10,7 +10,7 @@ Mem0 gives your agents long-term memory: add memories from conversations, then s
|
||||
|
||||
## Installation
|
||||
|
||||
Follow the [community nodes installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) and install `n8n-nodes-mem0`.
|
||||
Follow the [community nodes installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) and install `@mem0/n8n-nodes-mem0`.
|
||||
|
||||
## Operations
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"node": "n8n-nodes-mem0.mem0",
|
||||
"node": "@mem0/n8n-nodes-mem0.mem0",
|
||||
"nodeVersion": "1.0",
|
||||
"codexVersion": "1.0",
|
||||
"categories": ["AI"],
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "n8n-nodes-mem0",
|
||||
"name": "@mem0/n8n-nodes-mem0",
|
||||
"version": "0.1.0",
|
||||
"description": "n8n community node for Mem0 — the memory layer for AI agents. Add, search, get, update, and delete long-term memories.",
|
||||
"keywords": [
|
||||
@@ -25,6 +25,9 @@
|
||||
"node": ">=20.15"
|
||||
},
|
||||
"main": "index.js",
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "npx rimraf dist && tsc && gulp build:icons",
|
||||
"dev": "tsc --watch",
|
||||
|
||||
@@ -20,7 +20,7 @@ function makeCtx(
|
||||
opts: { continueOnFail?: boolean } = {},
|
||||
): any {
|
||||
const requests: any[] = [];
|
||||
const node = { name: 'Mem0', type: 'n8n-nodes-mem0.mem0', typeVersion: 1 };
|
||||
const node = { name: 'Mem0', type: '@mem0/n8n-nodes-mem0.mem0', typeVersion: 1 };
|
||||
const ctx: any = {
|
||||
getInputData: () => [{ json: {} }],
|
||||
getCredentials: async () => ({ apiKey: 'm0-test', baseUrl: 'https://api.mem0.ai' }),
|
||||
|
||||
Reference in New Issue
Block a user