Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
healthcheck
command
Package main provides a health check binary for container orchestration.
|
Package main provides a health check binary for container orchestration. |
|
server
command
Package main is the entry point for the NTPU LineBot server.
|
Package main is the entry point for the NTPU LineBot server. |
|
internal
|
|
|
app
Package app provides application initialization and lifecycle management.
|
Package app provides application initialization and lifecycle management. |
|
bot
Package bot provides the handler interface and utilities for LINE bot modules.
|
Package bot provides the handler interface and utilities for LINE bot modules. |
|
buildinfo
Package buildinfo holds build-time metadata injected via -ldflags.
|
Package buildinfo holds build-time metadata injected via -ldflags. |
|
config
Package config provides centralized configuration management for bot modules.
|
Package config provides centralized configuration management for bot modules. |
|
ctxutil
Package ctxutil provides type-safe context value management.
|
Package ctxutil provides type-safe context value management. |
|
data
Package data provides static data definitions for the application.
|
Package data provides static data definitions for the application. |
|
delta
Package delta provides R2-backed delta log recording and merging.
|
Package delta provides R2-backed delta log recording and merging. |
|
errors
Package errors provides domain-specific error types and sentinel errors for improved error handling across the application.
|
Package errors provides domain-specific error types and sentinel errors for improved error handling across the application. |
|
genai
Package genai provides integration with LLM APIs (Gemini, Groq, and Cerebras).
|
Package genai provides integration with LLM APIs (Gemini, Groq, and Cerebras). |
|
lineutil
Package lineutil provides utility functions for building LINE messages and actions.
|
Package lineutil provides utility functions for building LINE messages and actions. |
|
logger
Package logger provides structured logging utilities for the application.
|
Package logger provides structured logging utilities for the application. |
|
maintenance
Package maintenance provides shared scheduling state for background jobs.
|
Package maintenance provides shared scheduling state for background jobs. |
|
metrics
Package metrics provides Prometheus metrics for monitoring.
|
Package metrics provides Prometheus metrics for monitoring. |
|
modules/contact
Package contact implements the contact directory module for the LINE bot.
|
Package contact implements the contact directory module for the LINE bot. |
|
modules/course
Package course implements the course query module for the LINE bot.
|
Package course implements the course query module for the LINE bot. |
|
modules/id
Package id implements the student ID lookup module for the LINE bot.
|
Package id implements the student ID lookup module for the LINE bot. |
|
modules/program
Package program implements the academic program/certificate module for the LINE bot.
|
Package program implements the academic program/certificate module for the LINE bot. |
|
modules/usage
Package usage implements the usage query module for the LINE bot.
|
Package usage implements the usage query module for the LINE bot. |
|
r2client
Package r2client provides a client for Cloudflare R2 object storage.
|
Package r2client provides a client for Cloudflare R2 object storage. |
|
rag
Package rag provides Retrieval-Augmented Generation capabilities using BM25 keyword search with LLM query expansion.
|
Package rag provides Retrieval-Augmented Generation capabilities using BM25 keyword search with LLM query expansion. |
|
ratelimit
Package ratelimit provides rate limiting mechanisms using token bucket algorithm.
|
Package ratelimit provides rate limiting mechanisms using token bucket algorithm. |
|
scraper
Package scraper provides HTTP client utilities for web scraping.
|
Package scraper provides HTTP client utilities for web scraping. |
|
scraper/ntpu
Package ntpu provides scrapers for NTPU websites including student ID, course catalog, and contact directory information.
|
Package ntpu provides scrapers for NTPU websites including student ID, course catalog, and contact directory information. |
|
sentry
Package sentry provides Sentry SDK initialization for error tracking integration.
|
Package sentry provides Sentry SDK initialization for error tracking integration. |
|
session
Package session provides lightweight in-memory per-user conversation context.
|
Package session provides lightweight in-memory per-user conversation context. |
|
sliceutil
Package sliceutil provides generic slice manipulation utilities.
|
Package sliceutil provides generic slice manipulation utilities. |
|
snapshot
Package snapshot provides SQLite snapshot management with R2 storage.
|
Package snapshot provides SQLite snapshot management with R2 storage. |
|
sticker
Package sticker provides avatar sticker management for LINE bot messages.
|
Package sticker provides avatar sticker management for LINE bot messages. |
|
storage
Package storage provides SQLite database operations for caching student, course, contact, and sticker data with TTL management.
|
Package storage provides SQLite database operations for caching student, course, contact, and sticker data with TTL management. |
|
stringutil
Package stringutil provides common string manipulation utilities.
|
Package stringutil provides common string manipulation utilities. |
|
syllabus
Package syllabus provides syllabus data extraction and management
|
Package syllabus provides syllabus data extraction and management |
|
warmup
Package warmup provides background data refresh functionality.
|
Package warmup provides background data refresh functionality. |
|
webhook
Package webhook provides LINE webhook handling and message dispatching to appropriate bot modules based on message content and postback data.
|
Package webhook provides LINE webhook handling and message dispatching to appropriate bot modules based on message content and postback data. |
Click to show internal directories.
Click to hide internal directories.