♻️ refactor: move the n8n node package to CHA0S-CORP/n8n-nodes (git submodule) - #6
Merged
Merged
Conversation
…fixes
Adds the VERIFY tool, /verify REST endpoints, per-caller credential store,
outbound "call and verify" flow, MAP tool, and the n8n Verify resource.
Fixes from the bug sweep:
- gitignore data/verify_credentials.json; store file written 0600
- VERIFY_REQUIRED_TOOLS gate now applied to POST /tools/{name}/call|execute (403)
- GET /verify/otp/{id}: validate id, no silent global fallback (reserved id "global"),
code + expires_in_s from one timestamp
- shared dtmf_collect.collect_dtmf_code for the VERIFY tool and /verify/call:
barge-in mute, inter-digit auto-submit, '*' restarts the entry timer,
configured VERIFY_CALL_PROMPT (pre-cached)
- session.dtmf_collecting suppresses barge-in and pauses the langgraph agent
wall clock during keypad entry
- /verify/call: caller_id defaults to extension; empty entry no longer burns an
attempt; hang-up before a code reports status=hangup
- constant-time compare tolerates non-ASCII (no 500); PBKDF2 off the event loop
- compose: sip-agent LLM_MODEL default matches served-model-name; open-webui on
:3000 by default; VERIFY_CREDENTIALS_FILE surfaced; stale env/docs cleaned up
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G1BJ6xTCUv33SmD1jfAszU
…hes 500 When the agent never answers within the softphone's window the captured WAV is near-silent and faster-whisper's VAD finds no clip timestamps, so Speaches returns 500 and the e2e failure read as an STT outage. _transcribe now turns that specific 500 into an AssertionError carrying the capture's duration/RMS and a pointer at LLM/TTS latency in the agent log. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Cif4UNkx3Eo2K933V5kvWr
…ubmodule) `examples/n8n-nodes-general-disarray/` now lives in the CHA0S-CORP/n8n-nodes monorepo as `packages/n8n-nodes-general-disarray` (history preserved there) and is vendored back here as the `examples/n8n-nodes` submodule, pinned to the commit under review in CHA0S-CORP/n8n-nodes#1. - both compose files bind-mount the package's dist from the new path - CLAUDE.md documents the submodule + build flow Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AKMkHdB45r4sYaJ5AADdFx
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AKMkHdB45r4sYaJ5AADdFx
…MCP tools silently no-op) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AKMkHdB45r4sYaJ5AADdFx
Merged
2 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
examples/n8n-nodes-general-disarray/is removed; the package now lives in CHA0S-CORP/n8n-nodes aspackages/n8n-nodes-general-disarray— see ✨ feat: add n8n-nodes-general-disarray package (moved from general-disarray) n8n-nodes#1 (history preserved).examples/n8n-nodesgit submodule, pinned to the commit under review in that PR. After Refactor 1 #1 merges, bump the submodule to themainmerge commit (cd examples/n8n-nodes && git checkout main && git pull, commit the pointer).docker-compose.yml/docker-compose.dgx.ymlbind-mount./examples/n8n-nodes/packages/n8n-nodes-general-disarray/dist(same container path as before); CLAUDE.md updated.feat/real-knowledge-docbecause that branch carries theverifyresource that was ported; retarget tomainonce it lands.After pulling:
git submodule update --init examples/n8n-nodes && examples/n8n-nodes/packages/n8n-nodes-general-disarray/build.sh, then recreate the n8n container.Test plan
node:22-alpine)build.shfrom the submodule,docker compose up -d n8n, SIP Agent nodes visible in n8n🤖 Generated with Claude Code
https://claude.ai/code/session_01AKMkHdB45r4sYaJ5AADdFx