114 lines
4.6 KiB
Text
114 lines
4.6 KiB
Text
# Module: Help System Dispatcher
|
|
# Purpose: Routes help requests to appropriate category handlers and resolves documentation URLs.
|
|
# Dependencies: help_system_categories
|
|
|
|
# Help System Core - Dispatcher and URL Resolution
|
|
# Routes help requests to category-specific help handlers
|
|
|
|
use platform/config/accessor.nu *
|
|
|
|
# Import all help category functions
|
|
# BROKEN: file not found — use ./help_system_categories.nu *
|
|
|
|
# Resolve documentation URL with local fallback
|
|
export def resolve-doc-url [doc_path: string] {
|
|
let config = (load-config)
|
|
let mdbook_enabled = ($config.documentation?.mdbook_enabled? | default false)
|
|
let mdbook_base = ($config.documentation?.mdbook_base_url? | default "")
|
|
let docs_root = ($config.documentation?.docs_root? | default "docs/src")
|
|
|
|
if $mdbook_enabled and ($mdbook_base | str length) > 0 {
|
|
# Return both URL and local path
|
|
{
|
|
url: $"($mdbook_base)/($doc_path).html"
|
|
local: $"provisioning/($docs_root)/($doc_path).md"
|
|
mode: "url"
|
|
}
|
|
} else {
|
|
# Use local files only
|
|
{
|
|
url: null
|
|
local: $"provisioning/($docs_root)/($doc_path).md"
|
|
mode: "local"
|
|
}
|
|
}
|
|
}
|
|
|
|
# Main help dispatcher
|
|
export def provisioning-help [
|
|
category?: string # Optional category: infrastructure, orchestration, development, workspace, platform, auth, plugins, utilities, concepts, guides, integrations, build
|
|
] {
|
|
# If no category provided, show main help
|
|
if ($category == null) or ($category == "") {
|
|
return (help-main)
|
|
}
|
|
|
|
# Try to match the category
|
|
let result = (match $category {
|
|
"infrastructure" | "infra" => "infrastructure"
|
|
"orchestration" | "orch" => "orchestration"
|
|
"development" | "dev" => "development"
|
|
"workspace" | "ws" => "workspace"
|
|
"platform" | "plat" => "platform"
|
|
"setup" | "st" => "setup"
|
|
"authentication" | "auth" => "authentication"
|
|
"mfa" => "mfa"
|
|
"plugins" | "plugin" => "plugins"
|
|
"utilities" | "utils" | "cache" => "utilities"
|
|
"tools" => "tools"
|
|
"vm" => "vm"
|
|
"diagnostics" | "diag" | "status" | "health" => "diagnostics"
|
|
"concepts" | "concept" => "concepts"
|
|
"guides" | "guide" | "howto" => "guides"
|
|
"integrations" | "integration" | "int" => "integrations"
|
|
"build" | "bi" | "build-image" => "build"
|
|
_ => "unknown"
|
|
})
|
|
|
|
# If unknown category, show error
|
|
if $result == "unknown" {
|
|
print $"❌ Unknown help category: \"($category)\"\n"
|
|
print "Available help categories:"
|
|
print " infrastructure [infra] - Server, taskserv, cluster, VM management"
|
|
print " orchestration [orch] - Workflow, batch operations"
|
|
print " development [dev] - Module system, layers, versioning"
|
|
print " workspace [ws] - Workspace and template management"
|
|
print " setup [st] - System setup, configuration, initialization"
|
|
print " platform [plat] - Orchestrator, Control Center, MCP"
|
|
print " authentication [auth] - JWT authentication, MFA, sessions"
|
|
print " mfa - Multi-Factor Authentication details"
|
|
print " plugins [plugin] - Plugin management"
|
|
print " utilities [utils] - Cache, SOPS, providers, SSH"
|
|
print " tools - Tool and dependency management"
|
|
print " vm - Virtual machine operations"
|
|
print " diagnostics [diag] - System status, health checks"
|
|
print " concepts [concept] - Architecture and key concepts"
|
|
print " guides [guide] - Quick guides and cheatsheets"
|
|
print " integrations [int] - Prov-ecosystem and provctl bridge"
|
|
print " build [bi] - Role image build, state, and watch\n"
|
|
print "Use 'provisioning help' for main help"
|
|
exit 1
|
|
}
|
|
|
|
# Match valid category
|
|
match $result {
|
|
"infrastructure" => (help-infrastructure)
|
|
"orchestration" => (help-orchestration)
|
|
"development" => (help-development)
|
|
"workspace" => (help-workspace)
|
|
"platform" => (help-platform)
|
|
"setup" => (help-setup)
|
|
"authentication" => (help-authentication)
|
|
"mfa" => (help-mfa)
|
|
"plugins" => (help-plugins)
|
|
"utilities" => (help-utilities)
|
|
"tools" => (help-tools)
|
|
"vm" => (help-vm)
|
|
"diagnostics" => (help-diagnostics)
|
|
"concepts" => (help-concepts)
|
|
"guides" => (help-guides)
|
|
"integrations" => (help-integrations)
|
|
"build" => (help-build)
|
|
_ => (help-main)
|
|
}
|
|
}
|