naco.li api server https://api.naco.li
  • Go 97.6%
  • Python 2.4%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Nacorid 3fcdb9b88c
Some checks failed
Test Every Endpoint on Base Sepolia / test_endpoints (push) Failing after 5m11s
CI Go Verification / build_and_test (push) Successful in 1m56s
fix(CI): No CD, yet
2026-09-13 22:58:13 +00:00
.forgejo/workflows fix(CI): No CD, yet 2026-09-13 22:58:13 +00:00
cdpScripts chore: remove dead post-pruner goroutine and rescueFunds.py script 2026-09-08 01:35:55 +00:00
cmd fix: harden Ollama client embeddings, truncation, and retries 2026-09-09 23:18:01 +00:00
config config: single source of truth for model names via config/models.env 2026-09-02 01:41:00 +02:00
internal docs: tidy stale comments in analytics, cache version, and style profile test 2026-09-13 22:24:45 +00:00
scripts Switch CI and defaults back to CDP facilitator (auth fixed) 2026-09-04 23:42:22 +00:00
sql chore: idempotent migrations (IF NOT EXISTS) + systemd binary name fix 2026-09-08 01:31:50 +00:00
testClient chore: quiet errcheck/staticcheck across server, platform, and test clients 2026-09-08 01:29:28 +00:00
.gitignore Split test clients into REST and MCP, add MCP endpoint tests 2026-09-06 18:27:09 +00:00
.golangci.yml chore: switch golangci-lint config to v2 format 2026-09-08 00:32:29 +00:00
AGENTS.md fix(activitypub): harden client, add outbox fallback and throttled GTS warming 2026-09-10 09:59:44 +00:00
docker-compose.test.yml ci: add docker-compose.test.yml for test infrastructure 2026-09-01 23:47:55 +02:00
go.mod chore: bump nacorid/logger and promote x/sync to direct dep 2026-09-08 00:31:59 +00:00
go.sum chore: bump nacorid/logger and promote x/sync to direct dep 2026-09-08 00:31:59 +00:00
mcpServer.service chore: idempotent migrations (IF NOT EXISTS) + systemd binary name fix 2026-09-08 01:31:50 +00:00
README.md fix: bump MaxTimeoutSeconds for upto scheme 2026-09-06 22:44:59 +00:00
sqlc.yaml initial commit 2025-10-25 01:06:02 +00:00

naco-api

Go MCP server (13 tools) for Bluesky / Nostr / ActivityPub / Twitter, gated by x402 crypto payments.

See AGENTS.md for architecture, commands, and development conventions.

Payment deadline note (TO REMEMBER)

MaxTimeoutSeconds in internal/server/settlement.go (buildRequirements) is set to 600s — not 60s.

Why: for the upto scheme the client signs the Permit2 permit with deadline = now + MaxTimeoutSeconds, and the MCP wrapper settles only after the tool handler has executed. A slow handler (e.g. getStyleProfile which fetches posts and runs style analysis) plus round-trip latency therefore sits inside the permit's validity window. With 60s the permit expired before settlement and the facilitator rejected with 400 invalid_exact_evm_permit2_payload_deadline.

If a new payable tool is added with a handler slower than the current deadline window, bump this value along with the HTTP/test timeouts rather than shrinking it back down.