Directories
¶
| Path | Synopsis |
|---|---|
|
Package cache provides caching utilities for the foundation layer.
|
Package cache provides caching utilities for the foundation layer. |
|
decorators
Package decorators provides cache decorators for cross-cutting concerns.
|
Package decorators provides cache decorators for cross-cutting concerns. |
|
Package config provides a factory for ConfigLoader implementations with multiple backends.
|
Package config provides a factory for ConfigLoader implementations with multiple backends. |
|
schema/infra
Package infra provides typed configuration structures for Tech AI Knowledge Engine services.
|
Package infra provides typed configuration structures for Tech AI Knowledge Engine services. |
|
schema/listquery
Package listquery is the config surface for the list-query value-suggestion facet: the row threshold above which a facet-eligible field is served from the maintained distinct_values table instead of a live DISTINCT, and the interval at which the reconcile job recomputes refcounts.
|
Package listquery is the config surface for the list-query value-suggestion facet: the row threshold above which a facet-eligible field is served from the maintained distinct_values table instead of a live DISTINCT, and the interval at which the reconcile job recomputes refcounts. |
|
schema/pipelines
Package pipelines is the config surface for the pipeline (orchestration) layer: the per-pipeline operation timeout and the multipart-upload sizing.
|
Package pipelines is the config surface for the pipeline (orchestration) layer: the per-pipeline operation timeout and the multipart-upload sizing. |
|
schema/repos
Package repos is the config surface for the repository (data-access) layer: the cache TTL/version/key-prefix and the per-operation timeout of the repository decorators.
|
Package repos is the config surface for the repository (data-access) layer: the cache TTL/version/key-prefix and the per-operation timeout of the repository decorators. |
|
schema/resilience
Package resilience is the tunable config surface for the foundation resilience decorators (retry, breaker, rate-limit, bulkhead, timeout, budget) — the per-environment knobs threaded through the repo/client/interceptor providers Each struct mirrors its primitive's tunable fields with defaults identical to the primitive's DefaultConfig(), so adopting the config surface is behavior-preserving; the providers convert these into the primitive's options.
|
Package resilience is the tunable config surface for the foundation resilience decorators (retry, breaker, rate-limit, bulkhead, timeout, budget) — the per-environment knobs threaded through the repo/client/interceptor providers Each struct mirrors its primitive's tunable fields with defaults identical to the primitive's DefaultConfig(), so adopting the config surface is behavior-preserving; the providers convert these into the primitive's options. |
|
schema/stores
Package stores is the config surface for the data (stores) layer: the page-size cap, the per-resource default page sizes and the list-query caches, so a deployer can tune pagination without a rebuild.
|
Package stores is the config surface for the data (stores) layer: the page-size cap, the per-resource default page sizes and the list-query caches, so a deployer can tune pagination without a rebuild. |
|
schema/transport
Package transport is the config surface for the edge (transport) layer: WebSocket, gRPC, CORS and HTTP tuning plus the rate-limiter toggle.
|
Package transport is the config surface for the edge (transport) layer: WebSocket, gRPC, CORS and HTTP tuning plus the rate-limiter toggle. |
|
schema/workers
Package workers is the shared config surface for background workers: the common tunables (name, telemetry, relay and sweep cadences, batching) plus the sweep-timing cross-field invariant, so every worker inherits the typed-field + Validate shape.
|
Package workers is the shared config surface for background workers: the common tunables (name, telemetry, relay and sweep cadences, batching) plus the sweep-timing cross-field invariant, so every worker inherits the typed-field + Validate shape. |
|
schema/workflows
Package workflows is the config surface for the workflow (orchestration) layer: the per-workflow operation timeout applied through workflow.Builder.WithTimeout.
|
Package workflows is the config surface for the workflow (orchestration) layer: the per-workflow operation timeout applied through workflow.Builder.WithTimeout. |
|
viper
Package viper provides a Viper-backed ConfigLoader implementation.
|
Package viper provides a Viper-backed ConfigLoader implementation. |
|
Package crypto provides authenticated symmetric encryption for data at rest — e.g.
|
Package crypto provides authenticated symmetric encryption for data at rest — e.g. |
|
Package decorate is the type-agnostic operation-decoration mechanism: a common OpMiddleware interface, a Chain composer, and a generic Exec[R] runner that wraps ANY named operation with the cross-cutting decorator stack, regardless of the operation's return type.
|
Package decorate is the type-agnostic operation-decoration mechanism: a common OpMiddleware interface, a Chain composer, and a generic Exec[R] runner that wraps ANY named operation with the cross-cutting decorator stack, regardless of the operation's return type. |
|
Package decorator provides one generic implementation of the cross-cutting decorator stack (timeout, metrics, tracing, logging, recovery) shared by every tier whose unit of work has the shape Execute(ctx, In) (Out, error) — pipelines and workflows today.
|
Package decorator provides one generic implementation of the cross-cutting decorator stack (timeout, metrics, tracing, logging, recovery) shared by every tier whose unit of work has the shape Execute(ctx, In) (Out, error) — pipelines and workflows today. |
|
Package dtovalidate is the leaf rule library the generated DTO Validate() methods compose Each rule is a small, hand-written check that REUSES the standard library (google/uuid, net/url, path/filepath, net/mail) rather than a hand-rolled regex, and returns a core/errors CodeInvalidInput AppError on violation so the failure classifies to 400 / InvalidArgument at the boundary.
|
Package dtovalidate is the leaf rule library the generated DTO Validate() methods compose Each rule is a small, hand-written check that REUSES the standard library (google/uuid, net/url, path/filepath, net/mail) rather than a hand-rolled regex, and returns a core/errors CodeInvalidInput AppError on violation so the failure classifies to 400 / InvalidArgument at the boundary. |
|
Package fsys provides a real-OS filesystem implementation of the FS interface defined in core/interfaces.
|
Package fsys provides a real-OS filesystem implementation of the FS interface defined in core/interfaces. |
|
Package git provides reusable git operations for the CLI and tooling layers.
|
Package git provides reusable git operations for the CLI and tooling layers. |
|
Package lifecycle provides a Manager that starts a set of lifecycle-managed clients in registration order and stops them in reverse for graceful shutdown, so a composition root wires its clients once and coordinates their startup and teardown centrally instead of by hand.
|
Package lifecycle provides a Manager that starts a set of lifecycle-managed clients in registration order and stops them in reverse for graceful shutdown, so a composition root wires its clients once and coordinates their startup and teardown centrally instead of by hand. |
|
Package listquery is the pure, ORM-free half of the list-query SDK a per-resource filter allow-list (Map) + sort allow-list (Set), a JSON filter-DSL parser that compiles a client filter string into the core/types Filter contract (gated by the allow-list so only allow-listed fields with type-checked values reach a query), and the shared Compile/CompileOrder fold that walks that IR through a core/interfaces.QueryBackend algebra.
|
Package listquery is the pure, ORM-free half of the list-query SDK a per-resource filter allow-list (Map) + sort allow-list (Set), a JSON filter-DSL parser that compiles a client filter string into the core/types Filter contract (gated by the allow-list so only allow-listed fields with type-checked values reach a query), and the shared Compile/CompileOrder fold that walks that IR through a core/interfaces.QueryBackend algebra. |
|
Package logger provides structured logging with multiple backend implementations.
|
Package logger provides structured logging with multiple backend implementations. |
|
logctx
Package logctx provides shared context utilities for logger sub-packages.
|
Package logctx provides shared context utilities for logger sub-packages. |
|
stdlib
Package stdlib provides a pure stdlib slog logger implementation.
|
Package stdlib provides a pure stdlib slog logger implementation. |
|
zap
Package zap provides a zap-backed logger implementation with PII redaction.
|
Package zap provides a zap-backed logger implementation with PII redaction. |
|
Package metrics provides a builder for the Prometheus metrics implementation.
|
Package metrics provides a builder for the Prometheus metrics implementation. |
|
noop
Package noop provides a no-op metrics implementation that silently discards all metric operations.
|
Package noop provides a no-op metrics implementation that silently discards all metric operations. |
|
prom
Package prom provides a Prometheus-backed metrics implementation.
|
Package prom provides a Prometheus-backed metrics implementation. |
|
Package middleware provides stdlib net/http middleware for composing request processing pipelines without external web frameworks.
|
Package middleware provides stdlib net/http middleware for composing request processing pipelines without external web frameworks. |
|
Package options provides a generic functional options pattern for configuring types.
|
Package options provides a generic functional options pattern for configuring types. |
|
Package resilience provides fault-tolerance primitives as standalone subpackages.
|
Package resilience provides fault-tolerance primitives as standalone subpackages. |
|
adaptivethrottle
Package adaptivethrottle provides a client-side adaptive throttler (Google SRE "Handling Overload"): it sheds a growing fraction of outbound requests locally when a backend's accept-rate drops, protecting the backend from a client-side retry storm.
|
Package adaptivethrottle provides a client-side adaptive throttler (Google SRE "Handling Overload"): it sheds a growing fraction of outbound requests locally when a backend's accept-rate drops, protecting the backend from a client-side retry storm. |
|
budget
Package budget tracks retry consumption across a call chain via context propagation.
|
Package budget tracks retry consumption across a call chain via context propagation. |
|
bulkhead
Package bulkhead provides a builder for Bulkhead implementations with multiple backends.
|
Package bulkhead provides a builder for Bulkhead implementations with multiple backends. |
|
bulkhead/adaptive
Package adaptive provides a self-tuning (AIMD) concurrency-limiting Bulkhead.
|
Package adaptive provides a self-tuning (AIMD) concurrency-limiting Bulkhead. |
|
bulkhead/channel
Package channel provides a channel-based semaphore bulkhead implementation.
|
Package channel provides a channel-based semaphore bulkhead implementation. |
|
circuitbreaker
Package circuitbreaker provides a builder for CircuitBreaker implementations with multiple backends.
|
Package circuitbreaker provides a builder for CircuitBreaker implementations with multiple backends. |
|
circuitbreaker/gobreaker
Package gobreaker provides a circuit breaker backed by sony/gobreaker/v2.
|
Package gobreaker provides a circuit breaker backed by sony/gobreaker/v2. |
|
deadletter
Package deadletter provides the dead-letter-queue facade — the Go mirror of techai_webutils.foundation.resilience.dlq.
|
Package deadletter provides the dead-letter-queue facade — the Go mirror of techai_webutils.foundation.resilience.dlq. |
|
dedup
Package dedup provides message deduplication for exactly-once processing under at-least-once delivery.
|
Package dedup provides message deduplication for exactly-once processing under at-least-once delivery. |
|
hedge
Package hedge provides a builder for Hedger implementations that reduce tail latency by racing a backup attempt.
|
Package hedge provides a builder for Hedger implementations that reduce tail latency by racing a backup attempt. |
|
leader
Package leader provides leader election for single-instance job execution.
|
Package leader provides leader election for single-instance job execution. |
|
ratelimiter
Package ratelimiter provides a builder for RateLimiter implementations with multiple backends.
|
Package ratelimiter provides a builder for RateLimiter implementations with multiple backends. |
|
ratelimiter/token
Package token provides a token-bucket rate limiter backed by golang.org/x/time/rate.
|
Package token provides a token-bucket rate limiter backed by golang.org/x/time/rate. |
|
reswire
Package reswire builds resilience primitives (retrier, circuit breaker) from a ConfigLoader + the schema/resilience config surface.
|
Package reswire builds resilience primitives (retrier, circuit breaker) from a ConfigLoader + the schema/resilience config surface. |
|
retry
Package retry provides a builder for Retrier implementations with multiple backends.
|
Package retry provides a builder for Retrier implementations with multiple backends. |
|
retry/exponential
Package exponential provides an exponential backoff retrier using cenkalti/backoff/v5.
|
Package exponential provides an exponential backoff retrier using cenkalti/backoff/v5. |
|
Package system provides CommandRunner implementations for executing external commands.
|
Package system provides CommandRunner implementations for executing external commands. |
|
Package tracer provides distributed tracing with swappable backends.
|
Package tracer provides distributed tracing with swappable backends. |
|
nooptracer
Package nooptracer provides a no-op tracer that satisfies interfaces.Tracer.
|
Package nooptracer provides a no-op tracer that satisfies interfaces.Tracer. |
|
oteltracer
Package oteltracer provides an OpenTelemetry-backed tracer implementation.
|
Package oteltracer provides an OpenTelemetry-backed tracer implementation. |
|
Package validator provides a small, generic business-rule validator for the service layer — the below-transport-boundary complement to the proto/request validation performed at the transport edge (connect ValidateInterceptor).
|
Package validator provides a small, generic business-rule validator for the service layer — the below-transport-boundary complement to the proto/request validation performed at the transport edge (connect ValidateInterceptor). |
Click to show internal directories.
Click to hide internal directories.