A programmatic n8n community node wrapping the hosted Mem0 v3 REST API: add, search, get, get-many, update, delete, plus usableAsTool so the n8n AI Agent can call it. - Zero runtime dependencies (calls REST directly), TypeScript, ESLint clean — meets n8n verified-node requirements - Add supports custom_instructions, custom_categories, includes, excludes, a client-side entity-id guard, and async event polling (itemIndex on errors) - Anonymous opt-out telemetry (MEM0_TELEMETRY=false) - Docs page + docs.json/llms.txt entry, ci-gate + release wiring, AGENTS.md rows - Verified: tsc + ESLint + live E2E (add → search → get → delete) vs api.mem0.ai Split out of #6057 per review (separate PRs per integration).
32 lines
1.0 KiB
JavaScript
32 lines
1.0 KiB
JavaScript
module.exports = {
|
|
root: true,
|
|
env: { browser: true, es6: true, node: true },
|
|
parser: '@typescript-eslint/parser',
|
|
parserOptions: { sourceType: 'module', extraFileExtensions: ['.json'] },
|
|
ignorePatterns: ['.eslintrc.js', '**/*.js', '**/node_modules/**', '**/dist/**'],
|
|
overrides: [
|
|
{
|
|
files: ['package.json'],
|
|
plugins: ['eslint-plugin-n8n-nodes-base'],
|
|
extends: ['plugin:n8n-nodes-base/community'],
|
|
rules: { 'n8n-nodes-base/community-package-json-name-still-default': 'off' },
|
|
},
|
|
{
|
|
files: ['./credentials/**/*.ts'],
|
|
plugins: ['eslint-plugin-n8n-nodes-base'],
|
|
extends: ['plugin:n8n-nodes-base/credentials'],
|
|
rules: {
|
|
// This rule only applies to nodes in n8n's main repository (where
|
|
// documentationUrl is an internal docs slug). Community nodes use a
|
|
// full external URL, so it is disabled here.
|
|
'n8n-nodes-base/cred-class-field-documentation-url-miscased': 'off',
|
|
},
|
|
},
|
|
{
|
|
files: ['./nodes/**/*.ts'],
|
|
plugins: ['eslint-plugin-n8n-nodes-base'],
|
|
extends: ['plugin:n8n-nodes-base/nodes'],
|
|
},
|
|
],
|
|
};
|