help

package
v1.801.477 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 5, 2026 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Overview

Package help is a support desk: customers file tickets, your team answers them.

The Hanzo Support product: the Frappe-Helpdesk model rebuilt as DocType fixtures on the native framework engine (clients/framework), plus a thin /v1/help subsystem (subsystem.go) for the one plane the generic, secure-by-default framework surface deliberately cannot serve — the PUBLIC help center.

Two planes, one engine

A ticket IS a framework document in module "help"; its lifecycle IS a status field; an agent / team / SLA / canned response / KB article / conversation message are framework documents. So the AGENT plane — triage a ticket, author an article, read or post a conversation thread — is the framework's generic, already-live, role-gated surface (/v1/framework/hd-*) and the SAME generic @hanzo/ui DocType renderer that draws CMS and ERP. That plane needs ZERO code here beyond the fixtures.

What the generic surface CANNOT do is serve help.hanzo.ai's PUBLIC face: framework is secure-by-default (every read/write needs a validated principal AND a role), so there is no anonymous "read the public knowledge base" or "a customer files a ticket" path. subsystem.go adds exactly that — the public plane — the same way the knowledge lane adds /v1/kb for retrieval the generic surface lacks. It owns NO store: every read/write delegates to the framework in-process API (Ingest/Get/ Search), so there is ONE storage engine and no duplicated CRUD.

Migration

This is the native-Go endgame for the Frappe Helpdesk (Vue frontend + Python Frappe backend on a Werkzeug dev server): the model moves onto the native DocType engine (no Frappe, no Python, no Werkzeug), the product surface is native Go, and the whole desk ships in the ONE cloud binary on Base.

Names are slug-style with an "hd-" prefix, so they never collide with the CMS (Author/Media/Page/…), ERP (erp-*), or KB (kb-*) lanes and never carry a space the console's `/cloud` path filter would reject. Tickets use a monotonic series name ("hd-tkt-.#####"); the masters use a field autoname the console slugifies on write.

Index

Constants

View Source
const (
	DTTicket        = "hd-ticket"
	DTCommunication = "hd-communication"
	DTArticle       = "hd-article"
	DTCategory      = "hd-category"
)

DocType names (slug, hd- prefixed). Exported names are referenced by subsystem.go (the public plane) so the fixtures and the surface share ONE identifier set.

View Source
const Module = "help"

Module is the framework module tag every Help DocType carries. The console's Help surface is the generic DocType renderer scoped to this module.

View Source
const RoleHelpAgent = "Help Agent"

RoleHelpAgent is the support role the Help DocTypes grant read/write/create/ delete. The org owner (System Manager, seeded trust-on-first-use) assigns it via /v1/framework/roles; a role-less member stays denied (secure by default).

Variables

This section is empty.

Functions

func DocTypes

func DocTypes() []framework.DocType

DocTypes returns the canonical Hanzo Support model. Every Link target is defined before the DocType that references it (the engine resolves Links at document write, so this ordering is for readability, not correctness) and every target is in-lane, so Help installs and runs WITHOUT any other app lane.

func Mount

func Mount(app cloud.Router, deps cloud.Deps) error

Mount wires the /v1/help public plane. The agent plane (triage, authoring, the conversation thread) is the framework's generic role-gated surface (/v1/framework/hd-*); this adds ONLY the public help center. It owns no store — every read/write delegates to the framework in-process API.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL