KamoFamily (dev.kamofamily.com): cert, PDB, GitHub sync; auto-cert retries unissued static domains
KamoFamily is a new Next.js site (Forgejo kamo/kamofamily, edited on GitHub pantherkamo/KamoFamily), set up the same way as the KamoUniverse marketing site: - ...
Transcription and speech façades metered in audio seconds and characters
E4 POST /api/ai/v1/audio/transcriptions and E5 POST /api/ai/v1/audio/speech, each with its internal twin, on SP01's family adapters. The WAV-header duration wal...
The document list searches file names when searchQuery is given
DocumentListRequest.searchQuery was accepted and never read, so a search returned the newest documents whatever was asked. A non-blank searchQuery now keeps the...
Documents, translation and OCR packs
docs_search, docs_read, translate_text and ocr_document (spec 4.20). A document is routed by DocsService's description before any byte is fetched: text is decod...
Meeting page — dial-in, invite or remove AI members, transcripts and summaries
Embeddings on the pinned model and rerank façades
Inputs and documents reach the model in batches it accepts (TEI refuses more than its client batch of 32 with 422; a reranker's maxDocuments); malformed fields ...
The AI's workstation — computer_* tools with auto-wake and lease, workstation pack
Approvals pack — decision-only approvals and approval status
approvals_request asks the AI's approver through kamoai-service K3 with toolName null (nothing is re-executed on APPROVE); a class the charter forbids is refuse...
POST /api/ai/agent/step with tool use, thinking replay, cache breakpoints and SSE
Phone and SMS packs — consent-checked calls, call history, texting
phone_call posts K6 with the caller's run and key; a reason-less 404 is not deployed, a reasoned one (NOT_ENROLLED) is the endpoint's answer. sms_send opens the...
OpenAI-compatible chat completions with tools, images, structured output and SSE
Knowledge base, sales scripts, RAG, directory and notifications packs
Internal router resolve endpoint
E1 POST **************** the ordered candidates and exclusions for a capability, 424 no_capability when none, 404 org_not_found for an org that is not live (rea...
Legacy routing, /internal/text and /internal/vision on the router, with provenance
Contacts, leads and accounts packs — search, read, create, update, notes, status, claim, history
The 12 CRM tools of spec §4.20 against EmailService and SecurityService as they are on main (SP05-T27): a status without a sub-status clears the old one; a cont...
The gate's AI-member path; retire the persona outreach engine
Quiet hours convert the service clock into the contact's zone instead of relabelling it (ruling SP03-T32).
Session/internal caller context, app gate, provenance and the gateway call runtime
Calendar and meetings packs — events, availability, scheduled work, dial-in, invites
Beyond the brief (spec SP05-T26-build): no guessed zone (EmailService applies the member's effective zone); reminders only when asked on a create and never re-s...
PBX policy feed and AI voice admin endpoints
V7 GET /internal/voip/pbx-config (cluster secret) answers kamo-asterisk-support's policy pull through APIService and records the helper's heartbeat; a Redis fai...
AI calls console — listen, whisper, barge, take over, hang up
/ai-calls polls S1 every five seconds (D27) and opens the call SP10's deep link names (D36). The supervised call is pinned above the list, so a tab switch or a ...
Encrypted meeting transcripts and summaries, companion upload, downloads, retention
M6-M9 answer JSON whatever the client accepts and ignore unknown body fields (MediaService's bare ObjectMapper fails on them); M6 is NOT_READY while a transcrip...
Tasks pack — lists, create, update, status, assignment, comments, links
Beyond the brief (SP05-T25): an assignee is read as the member id KBService reads (beyond a long is INVALID_ARGUMENTS), an update that changes nothing or both s...
Internal resolve for KamoAI and the charter source behind SP02's routes
I2 POST **************** answers S3's resolution for the org it is given, behind the KamoAI secret, with S3's draft reader and S3's org-checked department walk ...
Candidate walk with failover, one-shot parameter fallback and metered streaming
Provider credentials never reach the log, the usage row or the rethrown error; a failed provider-health write never costs an answer; an interrupt stops the walk...
Provision, retire and resolve AI voice lines
Retire deletes the PBX extension only when it is still there, and a phone server in use that refuses the delete keeps the line and answers 502, so the minute SI...
Notes pack — search, read, create, update, journal, links, master note
What KBService really answers shapes three choices (SP05-T24). notes_search matches the query over the title, body, category and tags as the Notes wall does, be...
Charter items on role, department and job-title CRUD; charter-only PUTs
AI voice card, outside-calls column and AI member note in phone settings
Map a Studio config onto job-title charter items
SalesAgentCharterMapper maps a Sales Agent's AgentConfig onto job-title charter items (spec 4.7.8) for the fold-in, and the six Studio templates onto the A9 per...
AI voice lines on FreePBX, KamoPBX and Telnyx
A refused FreePBX addExtension (status false, no GraphQL error) now fails the AI line instead of recording one that rings nothing. Telnyx number lookups send th...
Usage and ROI dashboards (SP10)
D1 cost by member, capability and day (every day of the period plotted, zero where nothing was spent; capabilities named from the registry dictionary) and D2 wo...
Member charter read and edit; nobody edits their own
S4 reads a member's effective charter, S5 its own items with whether the caller may change them, and S6 replaces them (diffed by id). A write runs in MemberChar...
Chat pack — conversations, unread, read, send, direct chats, mentions
Beyond the brief (SP05-T23): a mention into a support conversation is a web chat message like chat_send; only a team chat or a support conversation takes a post...
AI extensions route to LiveKit; one recording path on every call; outside-calls list comes from Kamo
The host patch refuses until kamo-asterisk-support's recording subroutine and managed allow-list are on the node (and the list covers the hand-edited one), veri...
KamoAI internal surface guarded by its own secret
/api/voip/internal/** (SP13: AI lines, SIP credentials for LiveKit) takes KAMOAI_INTERNAL_SECRET, not the cluster secret; the cluster prefixes keep theirs. The ...
AI-call consent chips and dialog on lead and contact phone numbers
One load per record (useAiVoiceConsent) feeds a chip beside every phone number on the lead page and the contact panel; the chip opens a dialog that shows the co...
Like what you see shipping?
All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.
