Commit Graph
6 Commits
Author SHA1 Message Date
Himanshu-Sangshetti cf861ebf5a fix(integrations): address review feedback on Zapier and n8n
Zapier:
- Bound the poll budget under Zapier's step timeout and default Wait for
  Completion off; timeout message notes the add likely still succeeded
- Add offline unit tests (mocked z.request) and run them in CI
- Expose a Page input on Get Memories
- Encode memory_id in the delete path
- Update E2E to test the default no-wait path (add then search-retry)

n8n:
- Clarify the Infer description (controls extraction, not waiting)
- Add an App ID field and require at least one entity id before add
- Pass itemIndex into pollEvent errors
- Unwrap event results so wait-path output matches search and get many
2026-07-20 11:55:29 +05:30
Himanshu-Sangshetti 0ff023133c chore(integrations): address review — Zapier LICENSE, docs, tidy job names
- Add MIT LICENSE to zapier-mem0 (package.json declared MIT but shipped no
  file; every peer commits one) + keywords/author/homepage for parity.
- Document the n8n and Zapier checks workflows in the AGENTS.md CI table.
- Title-case the ci-gate job display names (n8n Node, Zapier App) to match
  the other integration jobs.
2026-07-20 11:55:29 +05:30
Himanshu-Sangshetti 98ae733f07 ci(integrations): add CI/CD workflows for n8n + Zapier packages
Match the repo's per-integration CI/CD convention (vercel-ai / pi-agent
pattern):

- n8n-nodes-mem0-checks.yml (lint + build + dist verify) and
  n8n-nodes-mem0-cd.yml (npm publish --provenance via OIDC, dispatched by
  the release router on tag n8n-nodes-mem0-v*).
- zapier-mem0-checks.yml (zapier validate) and zapier-mem0-cd.yml (manual
  zapier push; requires ZAPIER_DEPLOY_KEY). Zapier deploys to Zapier's
  platform, not npm, so it is not in the release router.
- Wire both packages into ci-gate.yml (path filters + call jobs + gate).
- Register the n8n tag prefix in release.yml and document it + the Zapier
  manual-deploy in AGENTS.md.
- Skip the Zapier E2E suite when MEM0_API_KEY is absent so CI is green
  offline (it still runs locally with a key).
2026-07-20 11:55:29 +05:30
Himanshu-Sangshetti 00aa647f78 chore(integrations): use pnpm, real Mem0 icon, fix Zapier field defaults
- Switch both packages from npm to pnpm (pnpm-lock.yaml) to match the
  repo convention (openclaw / pi-agent-plugin / vercel-ai-sdk); gitignore
  package-lock.json.
- Replace the placeholder n8n node icon with the real Mem0 mark (same
  asset used by integrations/mem0-plugin).
- Zapier: revert boolean/integer field defaults to strings — Zapier's
  schema requires string defaults (zapier validate now passes with 0
  errors). Runtime coercion (String(x)!=='false', Number()) is unchanged.
2026-07-20 11:55:29 +05:30
Himanshu-Sangshetti e66e97b725 fix(integrations): address code-review findings
n8n: throw on FAILED memory events (was silently returned), poll on any
non-terminal status (PENDING or RUNNING), use top_k (not limit) for
search, coerce search/getAll responses to arrays, guard invalid-JSON
metadata, reject empty updates, mark user_id required; lint clean.

Zapier: coerce boolean fields (String(x) !== 'false') + boolean defaults
so "Wait"/"Infer = No" are honored, throw on HTTP >= 400 (was silent
empty/fake-success), throw on FAILED events, use top_k, numeric coercion
with clamping, mark user_id required.
2026-07-20 11:55:29 +05:30
Himanshu-Sangshetti 9882eea7b8 feat(integrations): add Zapier integration for Mem0
Zapier Platform CLI app (zapier-mem0) with Add Memory / Delete Memory
creates and Search Memories / Get Memories searches against the Mem0 v3
API. Custom API-key auth (Authorization: Token), base-URL + auth
injected via beforeRequest middleware, non-2xx surfaced as errors.

Add Memory polls GET /v1/event/{id}/ for async extraction. Includes an
E2E test suite via createAppTester.
2026-07-20 11:55:29 +05:30