diff --git a/AGENTS.md b/AGENTS.md index ae060fc78..1a7fdb4ef 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -27,6 +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/zapier-mem0/` | `zapier-mem0` — Zapier Platform CLI app (deploys to Zapier, not npm); add / search / get / 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/` | diff --git a/integrations/zapier-mem0/package.json b/integrations/zapier-mem0/package.json index 526eea024..a3f153d75 100644 --- a/integrations/zapier-mem0/package.json +++ b/integrations/zapier-mem0/package.json @@ -36,6 +36,7 @@ "jest": { "testEnvironment": "node", "testMatch": ["**/test/**/*.test.ts"], + "setupFiles": ["/test/setup.ts"], "transform": { "^.+\\.tsx?$": ["ts-jest", {}] } diff --git a/integrations/zapier-mem0/src/authentication.ts b/integrations/zapier-mem0/src/authentication.ts index cef918de7..19d325220 100644 --- a/integrations/zapier-mem0/src/authentication.ts +++ b/integrations/zapier-mem0/src/authentication.ts @@ -11,7 +11,8 @@ export default { { key: 'apiKey', label: 'Mem0 API Key', - type: 'string', + // `password` so Zapier masks the key in the connection UI (it is a secret). + type: 'password', required: true, helpText: 'Your Mem0 API key (starts with `m0-`). Create one at [app.mem0.ai](https://app.mem0.ai) → Settings → API Keys.', diff --git a/integrations/zapier-mem0/src/index.ts b/integrations/zapier-mem0/src/index.ts index 0a9bcdb9b..d4aee7d9d 100644 --- a/integrations/zapier-mem0/src/index.ts +++ b/integrations/zapier-mem0/src/index.ts @@ -1,16 +1,14 @@ +import { version as platformVersion } from 'zapier-platform-core'; import authentication from './authentication'; import { includeApiKey, handleBadResponses } from './middleware'; import addMemory from './creates/add_memory'; import deleteMemory from './creates/delete_memory'; import searchMemories from './searches/search_memories'; import getMemories from './searches/get_memories'; - -// Read version at runtime from the package manifest (one directory up from dist/). -const { version } = require('../package.json'); -const platformVersion = require('zapier-platform-core').version; +import pkg from '../package.json'; const app = { - version, + version: pkg.version, platformVersion, authentication, diff --git a/integrations/zapier-mem0/test/setup.ts b/integrations/zapier-mem0/test/setup.ts new file mode 100644 index 000000000..3c9be90ae --- /dev/null +++ b/integrations/zapier-mem0/test/setup.ts @@ -0,0 +1,3 @@ +// Disable telemetry during tests so runs never fire real PostHog events +// (and so the fire-and-forget fetch cannot leave an open handle after tests). +process.env.MEM0_TELEMETRY = 'false';