3.4 KiB
3.4 KiB
Internal Component Overview
Purpose
This document inventories Promptkit's implemented components for contributors. The architecture policy owns durable boundary and dependency rules. See the development guide for contributor workflow and validation.
Implemented Components
| Component | Implemented responsibility | References |
|---|---|---|
Root promptkit package |
Provides the supported engine facade, source and injection options, public request and result values, built-in profile construction, extension interfaces, value conversion, redacted formatting, and public error mapping. | Package GoDoc, engine assembly |
internal/domain |
Defines internal framework values for requests, artifacts, prompt definitions, profiles, execution targets, rendering, generation, and validation. | Domain declarations |
internal/defaults |
Defines application-neutral framework constants and constructs the default execution target. It contains no CLI, server, or inbound HTTP limits. | Framework defaults |
internal/filecatalog |
Provides deterministic YAML discovery and path helpers for operating-system filesystems and fs.FS sources. |
File catalog |
internal/promptdef |
Loads strictly decoded, validated prompt definitions from filesystem and fs.FS sources, including version selection and contained file-backed message content. |
Prompt-definition repository |
internal/profile |
Loads strictly decoded, validated execution profiles from filesystem and fs.FS sources and composes repositories with error-preserving fallback. |
Profile repositories |
internal/profile/builtin |
Embeds the built-in execution profile catalog and combines it with an optional primary repository. | Built-in profile repository |
internal/prompt |
Renders prompt messages from Go templates with artifact, variable, session, and cache-control data. | Go-template renderer |
internal/artifact |
Resolves ordinary inline and unrestricted caller-selected file references into copied artifacts with metadata and hashes. | Internal sources and validation |
internal/validate |
Validates basic, JSON, and JSON Schema output using operating-system filesystem or fs.FS schema sources. |
Internal sources and validation |
internal/llm |
Defines the internal generation boundary and implements outbound OpenAI-compatible chat requests, response decoding, authentication, and deadline handling. | Internal model client |
internal/usecase |
Coordinates preparation and execution across internal sources, rendering, artifact loading, generation, validation, and optional repair. | Internal runner |
The root package assembles these internal components without exposing their representations. Consumers depend only on the root facade.
Maintenance
Update this inventory as framework extraction introduces packages or changes component responsibilities. List only implemented components; proposed package boundaries belong in temporary planning documents until their implementation lands.