kit

module
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Jun 1, 2026 License: MIT

README

go-kit

Shared library for go-kit

Installation

go get github.com/fromforgesoftware/forge/go/kit

Usage

import "github.com/fromforgesoftware/forge/go/kit"

Directories

Path Synopsis
Package actor provides the owner-goroutine + inbox actor pattern: a single-writer aggregate that receives typed messages from any sender, drains them at known points, and never shares state across goroutines.
Package actor provides the owner-goroutine + inbox actor pattern: a single-writer aggregate that receives typed messages from any sender, drains them at known points, and never shares state across goroutines.
Package anticheat is the per-class check harness for server-authoritative games: pure-function checks register under a Class enum, are dispatched with InputMode-aware thresholds, and route results (info / flag / hard) to audit + metrics sinks.
Package anticheat is the per-class check harness for server-authoritative games: pure-function checks register under a Class enum, are dispatched with InputMode-aware thresholds, and route results (info / flag / hard) to audit + metrics sinks.
Package app is forge's framework-style service bootstrap.
Package app is forge's framework-style service bootstrap.
Package application contains the Clean Architecture application layer components.
Package application contains the Clean Architecture application layer components.
repository
Package repository wraps shared components to work with repositories
Package repository wraps shared components to work with repositories
repository/repositorytest
Package repositorytest provides test helpers for the generic repository package
Package repositorytest provides test helpers for the generic repository package
usecase
Package usecase wraps shared components to work with usecases.
Package usecase wraps shared components to work with usecases.
usecase/usecasetest
Package usecasetest provides test helpers for the generic usecase package
Package usecasetest provides test helpers for the generic usecase package
Package auth provides authentication primitives and middleware components.
Package auth provides authentication primitives and middleware components.
authtest
Package authtest provides test fixtures (stub authenticators, signed JWTs, etc.) that downstream services use to exercise auth-protected HTTP / gRPC handlers without spinning up a real identity provider.
Package authtest provides test fixtures (stub authenticators, signed JWTs, etc.) that downstream services use to exercise auth-protected HTTP / gRPC handlers without spinning up a real identity provider.
jwt
Package jwt provides JWT-based authentication primitives — signing helpers, HMAC + RSA verifiers, claims parsing — used by the kit/auth HTTP + gRPC interceptors.
Package jwt provides JWT-based authentication primitives — signing helpers, HMAC + RSA verifiers, claims parsing — used by the kit/auth HTTP + gRPC interceptors.
oidc
Package oidc is a minimal OIDC *client*: discovery, an authorization-code + PKCE redirect, code→token exchange, and ID-token verification.
Package oidc is a minimal OIDC *client*: discovery, an authorization-code + PKCE redirect, code→token exchange, and ID-token verification.
password
Package password hashes and verifies passwords with argon2id (PHC-encoded).
Package password hashes and verifies passwords with argon2id (PHC-encoded).
provider
Package provider defines the IdentityProvider interface that the HTTP + gRPC authenticators delegate to.
Package provider defines the IdentityProvider interface that the HTTP + gRPC authenticators delegate to.
Package cache is the kit's transport-agnostic key/value cache abstraction.
Package cache is the kit's transport-agnostic key/value cache abstraction.
Package calendar provides event scheduling with recurrence rules and per-attendee RSVP state — distinct from kit/scheduler (in-process fire-once / cron) by modelling human time semantics: invitations, RSVP states, attendee caps, organiser permissions, named recurrence rules.
Package calendar provides event scheduling with recurrence rules and per-attendee RSVP state — distinct from kit/scheduler (in-process fire-once / cron) by modelling human time semantics: invitations, RSVP states, attendee caps, organiser permissions, named recurrence rules.
config
inheritance
Package inheritance is a hierarchical config resolver: combine multiple partial-config layers (defaults → env → scope → instance) into a fully-realised config by taking the highest-priority definition per field.
Package inheritance is a hierarchical config resolver: combine multiple partial-config layers (defaults → env → scope → instance) into a fully-realised config by taking the highest-priority definition per field.
Package content provides a versioned content-pack loader: a manifest- indexed bundle of typed entries that loads at boot, validates checksums, supports diffing across versions, and offers hot-reload for dev loops.
Package content provides a versioned content-pack loader: a manifest- indexed bundle of typed entries that loads at boot, validates checksums, supports diffing across versions, and offers hot-reload for dev loops.
lint
Package lint is the extensible content-pack lint surface.
Package lint is the extensible content-pack lint surface.
Package control is a generic adaptive-control primitive: it reads signals from named sources, aggregates them into a vector, and drives a mode FSM whose transitions are gated by threshold expressions.
Package control is a generic adaptive-control primitive: it reads signals from named sources, aggregates them into a vector, and drives a mode FSM whose transitions are gated by threshold expressions.
Package cron is a tiny in-process recurring-job scheduler.
Package cron is a tiny in-process recurring-job scheduler.
Package decimal is forge's fixed-point decimal type for money and crypto.
Package decimal is forge's fixed-point decimal type for money and crypto.
distributed
idgen
Package idgen provides distributed ID generation without requiring central coordination.
Package idgen provides distributed ID generation without requiring central coordination.
Package economy is multi-currency, double-entry monetary bookkeeping: fixed-point Money values, named accounts, idempotent transfers, and pluggable FX rate providers.
Package economy is multi-currency, double-entry monetary bookkeeping: fixed-point Money values, named accounts, idempotent transfers, and pluggable FX rate providers.
Package effects models transient compositional lifecycle state: an entity carries a set of timed effects, each with apply/tick/expire/ refresh hooks, that can stack with rules (refresh, add, ignore, replace).
Package effects models transient compositional lifecycle state: an entity carries a set of timed effects, each with apply/tick/expire/ refresh hooks, that can stack with rules (refresh, add, ignore, replace).
Package errors provides a structured error handling system with rich context.
Package errors provides a structured error handling system with rich context.
Package extractor is a parallel tile-based ETL framework: split a large input into units, dispatch across a worker pool, track progress, and skip already-completed units on resume.
Package extractor is a parallel tile-based ETL framework: split a large input into units, dispatch across a worker pool, track progress, and skip already-completed units on resume.
Package factory is a generic self-registering registry: register values (or constructors that produce values) under string keys; look them up by key.
Package factory is a generic self-registering registry: register values (or constructors that produce values) under string keys; look them up by key.
Package filter provides a generic specification pattern implementation for filtering resources.
Package filter provides a generic specification pattern implementation for filtering resources.
Package firebase provides a client wrapper for Firebase Authentication and User Management operations.
Package firebase provides a client wrapper for Firebase Authentication and User Management operations.
Package fixtures provides simple SQL fixture loading from embedded filesystems.
Package fixtures provides simple SQL fixture loading from embedded filesystems.
Package fsm provides a generic finite state machine over typed State and Event values.
Package fsm provides a generic finite state machine over typed State and Event values.
game
aoi
Package aoi implements area-of-interest replication culling: per client, decide which entities should be replicated at what update rate, based on distance bands and an optional visibility predicate.
Package aoi implements area-of-interest replication culling: per client, decide which entities should be replicated at what update rate, based on distance bands and an optional visibility predicate.
bidauction
Package bidauction implements the sealed contribution-weighted loot-auction mechanic: each participant submits a private bid plus a contribution weight; on close, a weighted random pick decides the winner, who pays their bid; the bid is redistributed pro-rata to non-winners by contribution.
Package bidauction implements the sealed contribution-weighted loot-auction mechanic: each participant submits a private bid plus a contribution weight; on close, a weighted random pick decides the winner, who pays their bid; the bid is redistributed pro-rata to non-winners by contribution.
grid
Package grid is the runtime entity manager layered on top of kit/spatial: cell-bucketed objects, on-demand loading driven by observer positions, idle-cell unloading, phase-mask filtering, and a visitor/Notifier pattern for region operations (visibility, area-of-effect, broadcast).
Package grid is the runtime entity manager layered on top of kit/spatial: cell-bucketed objects, on-demand loading driven by observer positions, idle-cell unloading, phase-mask filtering, and a visitor/Notifier pattern for region operations (visibility, area-of-effect, broadcast).
instancing
Package instancing implements ephemeral isolated session worlds — the "dungeon / raid / sandbox" model: spin up a world for a group, track objectives within it, fire bindings (open doors, gate triggers) as state advances, persist enough to resume after restart, and tear it all down when the session ends.
Package instancing implements ephemeral isolated session worlds — the "dungeon / raid / sandbox" model: spin up a world for a group, track objectives within it, fire bindings (open doors, gate triggers) as state advances, persist enough to resume after restart, and tear it all down when the session ends.
lagcomp
Package lagcomp implements server-side time rewind for client hit adjudication in authoritative-action multiplayer games.
Package lagcomp implements server-side time rewind for client hit adjudication in authoritative-action multiplayer games.
perception
Package perception provides server-side AI perception primitives: sight cones with line-of-sight predicates, hearing radii driven by caller-emitted stimuli, and a threat ring with TTL-based decay.
Package perception provides server-side AI perception primitives: sight cones with line-of-sight predicates, hearing radii driven by caller-emitted stimuli, and a threat ring with TTL-based decay.
softtarget
Package softtarget is the controller-aim tie-breaker for action games: given a set of swept-volume hit candidates, pick one as the canonical target using a caller-composed scoring function.
Package softtarget is the controller-aim tie-breaker for action games: given a set of swept-volume hit candidates, pick one as the canonical target using a caller-composed scoring function.
Package geometry provides allocation-free 3D collision primitives: vectors, quaternions, capsules, spheres, AABBs, OBBs, rays, triangles, and pairwise + swept intersection tests.
Package geometry provides allocation-free 3D collision primitives: vectors, quaternions, capsules, spheres, AABBs, OBBs, rays, triangles, and pairwise + swept intersection tests.
Package golden provides golden-file test helpers — read/write expected payloads from disk so consumer tests can diff output against checked-in fixtures rather than maintaining inline expected strings.
Package golden provides golden-file test helpers — read/write expected payloads from disk so consumer tests can diff output against checked-in fixtures rather than maintaining inline expected strings.
Package handoff is a six-phase state machine for migrating owned state from one owner to another with consistency guarantees.
Package handoff is a six-phase state machine for migrating owned state from one owner to another with consistency guarantees.
Package httpclient wraps net/http with retry, circuit breaker, and tracing so consumers stop reimplementing the same outbound-call boilerplate.
Package httpclient wraps net/http with retry, circuit breaker, and tracing so consumers stop reimplementing the same outbound-call boilerplate.
Package i18n provides a framework-agnostic translation engine.
Package i18n provides a framework-agnostic translation engine.
Package idempotency makes value-bearing RPCs safe to retry: on first request the handler runs and the response is stored under the client-supplied key; on replay with the same key + same request hash the cached response is returned without re-invoking the handler.
Package idempotency makes value-bearing RPCs safe to retry: on first request the handler runs and the response is stored under the client-supplied key; on replay with the same key + same request hash the cached response is returned without re-invoking the handler.
Package instance provides utilities for creating instances of generic types.
Package instance provides utilities for creating instances of generic types.
Package inventory is a generic owned-item ledger: "subject owns N of item type X" with atomic transfers, idempotent mutations, and reservation holds.
Package inventory is a generic owned-item ledger: "subject owns N of item type X" with atomic transfers, idempotent mutations, and reservation holds.
Package iputils is small, allocation-aware helpers on top of net/netip for the patterns every service eventually re-implements: CIDR allowlists / denylists, classification (loopback, private, link-local), efficient many-prefix containment via a compiled Set.
Package iputils is small, allocation-aware helpers on top of net/netip for the patterns every service eventually re-implements: CIDR allowlists / denylists, classification (loopback, private, link-local), efficient many-prefix containment via a compiled Set.
Package jsonapi implements the JSON:API 1.1 spec on the server side — document marshal/unmarshal, relationship + included handling, error envelope shaping.
Package jsonapi implements the JSON:API 1.1 spec on the server side — document marshal/unmarshal, relationship + included handling, error envelope shaping.
helpers
Package helpers bundles JSON:API test utilities — diff assertions against a wire payload, matchers against decoded resources, golden-file comparison — for use from service-level integration tests.
Package helpers bundles JSON:API test utilities — diff assertions against a wire payload, matchers against decoded resources, golden-file comparison — for use from service-level integration tests.
Package matchmaking provides group formation: members enter a queue tagged with attributes; a Matcher periodically searches for satisfying subsets of a configured group size; matches are emitted to subscribers.
Package matchmaking provides group formation: members enter a queue tagged with attributes; a Matcher periodically searches for satisfying subsets of a configured group size; matches are emitted to subscribers.
Package mcp is a thin idiomatic Go wrapper around the mark3labs MCP SDK with forge-style typed tool registration: an MCP tool is defined by a Go struct (input) + Go struct (output) and a typed handler; the JSON Schema exposed to clients is generated from the input struct via reflection.
Package mcp is a thin idiomatic Go wrapper around the mark3labs MCP SDK with forge-style typed tool registration: an MCP tool is defined by a Go struct (input) + Go struct (output) and a typed handler; the JSON Schema exposed to clients is generated from the input struct via reflection.
Package migrator provides database migration utilities.
Package migrator provides database migration utilities.
Package milestones tracks subject progress toward typed criteria: events flow in, the registry routes them by Type, evaluators decide which criteria apply per subject, counters increment, and threshold crossings emit Reached records.
Package milestones tracks subject progress toward typed criteria: events flow in, the registry routes them by Type, evaluators decide which criteria apply per subject, counters increment, and threshold crossings emit Reached records.
Package monitoring wraps components used for monitoring (logging, tracing, ...)
Package monitoring wraps components used for monitoring (logging, tracing, ...)
logger
Package logger describes interfaces for a logger.Logger and other support elements
Package logger describes interfaces for a logger.Logger and other support elements
logger/internal
Package internal holds the logger backend adapters (zap / slog) and the shared OutputFormat / level vocabulary the public logger package translates user input into.
Package internal holds the logger backend adapters (zap / slog) and the shared OutputFormat / level vocabulary the public logger package translates user input into.
logger/loggertest
Package loggertest ...
Package loggertest ...
monitoringtest
Package monitoringtest wraps test components for the monitoring package
Package monitoringtest wraps test components for the monitoring package
tracer
Package tracer describes interfaces for a tracer.Tracer used to start spans, propagate trace context across process boundaries, and record events on the active span.
Package tracer describes interfaces for a tracer.Tracer used to start spans, propagate trace context across process boundaries, and record events on the active span.
tracer/internal
Package internal hides OTel SDK types behind a thin interface so the public tracer package can stay free of vendor-specific imports.
Package internal hides OTel SDK types behind a thin interface so the public tracer package can stay free of vendor-specific imports.
tracer/tracertest
Package tracertest provides test doubles for tracer.Tracer.
Package tracertest provides test doubles for tracer.Tracer.
Package motion executes paths over time: spline interpolation, speed/easing curves, per-entity motion stacks (current + queued + idle fallback), pause/resume/abort.
Package motion executes paths over time: spline interpolation, speed/easing curves, per-entity motion stacks (current + queued + idle fallback), pause/resume/abort.
Package openapi is forge's owned wrapper around the underlying OpenAPI 3.1 reflection engine.
Package openapi is forge's owned wrapper around the underlying OpenAPI 3.1 reflection engine.
internal/swaggestimpl
Package swaggestimpl is the sole importer of github.com/swaggest/openapi-go in the forge repo.
Package swaggestimpl is the sole importer of github.com/swaggest/openapi-go in the forge repo.
Package orchestration provides the orchestrator-side primitives for the session-pool pattern: a pool of pods, each hosting N sessions, where a caller asks for a session slot and gets back an address + token to reach it.
Package orchestration provides the orchestrator-side primitives for the session-pool pattern: a pool of pods, each hosting N sessions, where a caller asks for a session slot and gets back an address + token to reach it.
sdk
Package sdk is the pod-side companion to kit/orchestration.
Package sdk is the pod-side companion to kit/orchestration.
Package outbox is the transactional-outbox primitive that lets a service emit at-least-once messages atomically with its local database writes.
Package outbox is the transactional-outbox primitive that lets a service emit at-least-once messages atomically with its local database writes.
postgres
Package postgres is the Postgres/GORM implementation of outbox.Repository.
Package postgres is the Postgres/GORM implementation of outbox.Repository.
Package pathfinding provides graph search primitives: A*, Dijkstra, BFS over a Graph interface; built-in GridGraph for grid-based worlds.
Package pathfinding provides graph search primitives: A*, Dijkstra, BFS over a Graph interface; built-in GridGraph for grid-based worlds.
pb
anypb
Package anypb provides helpers for working with protobuf Any messages.
Package anypb provides helpers for working with protobuf Any messages.
timepb
Package timepb provides conversions between Go time.Time and the protobuf Timestamp type.
Package timepb provides conversions between Go time.Time and the protobuf Timestamp type.
Package persistence holds the database-agnostic primitives — Transactioner for atomic write paths, repository interfaces, and shared error mapping — that the concrete adapters (gormdb, sqldb, redisdb) implement.
Package persistence holds the database-agnostic primitives — Transactioner for atomic write paths, repository interfaces, and shared error mapping — that the concrete adapters (gormdb, sqldb, redisdb) implement.
gormdb
Package gormdb provides the database-agnostic core for GORM integration.
Package gormdb provides the database-agnostic core for GORM integration.
gormdb/gormpg
Package gormpg provides the PostgreSQL-specific implementation for the gormdb client.
Package gormpg provides the PostgreSQL-specific implementation for the gormdb client.
postgres
Package postgres holds Postgres-specific error translation + small connection helpers (SQLSTATE → apierrors, advisory-lock primitives) shared by the gormdb and sqldb adapters.
Package postgres holds Postgres-specific error translation + small connection helpers (SQLSTATE → apierrors, advisory-lock primitives) shared by the gormdb and sqldb adapters.
redisdb
Package redisdb provides a Redis client wrapper with connection pooling, configuration management, and FX integration.
Package redisdb provides a Redis client wrapper with connection pooling, configuration management, and FX integration.
redisdb/redistest
Package redistest contains helpers for the tests
Package redistest contains helpers for the tests
sqldb
Package sqldb provides the core foundation for SQL database interactions within the mmo-game architecture.
Package sqldb provides the core foundation for SQL database interactions within the mmo-game architecture.
Package predicates provides a pluggable condition registry: typed predicates that evaluate a Source (caller-supplied context) and compose with And/Or/Not.
Package predicates provides a pluggable condition registry: typed predicates that evaluate a Source (caller-supplied context) and compose with And/Or/Not.
Package progression tracks an accumulating scalar (XP, points, score) against a tiered Curve and emits threshold-crossing events when the subject moves into a new tier.
Package progression tracks an accumulating scalar (XP, points, score) against a tiered Curve and emits threshold-crossing events when the subject moves into a new tier.
proto
Package protocol provides a wire-protocol foundation for custom binary protocols: framed messages with versioned magic + sequence + opcode, encoding helpers (varint, quantised float), and a typed opcode registry where projects bind their per-opcode payload codecs.
Package protocol provides a wire-protocol foundation for custom binary protocols: framed messages with versioned magic + sequence + opcode, encoding helpers (varint, quantised float), and a typed opcode registry where projects bind their per-opcode payload codecs.
Package ptr provides generic utility functions for working with pointers.
Package ptr provides generic utility functions for working with pointers.
Package ratelimit is a token-bucket rate limiter for forge services.
Package ratelimit is a token-bucket rate limiter for forge services.
Package replay is a typed event-sourced replay framework: append every state-changing event to a log; reconstruct state at any point by replaying from an optional checkpoint.
Package replay is a typed event-sourced replay framework: append every state-changing event to a log; reconstruct state at any point by replaying from an optional checkpoint.
Package resource provides base abstractions for domain entities.
Package resource provides base abstractions for domain entities.
resourcetest
Package resourcetest provides test helpers for resource package
Package resourcetest provides test helpers for resource package
Package retry provides a functional mechanism to retry operations with configurable backoff policies.
Package retry provides a functional mechanism to retry operations with configurable backoff policies.
Package rng provides deterministic seeded random streams keyed by a composite SeedKey (tick, actor, event-seq, purpose).
Package rng provides deterministic seeded random streams keyed by a composite SeedKey (tick, actor, event-seq, purpose).
Package saga implements the Saga pattern for distributed transactions.
Package saga implements the Saga pattern for distributed transactions.
Package sampling implements weighted probability tables with optional predicate gating, mutually-exclusive groups, and recursive table references.
Package sampling implements weighted probability tables with optional predicate gating, mutually-exclusive groups, and recursive table references.
Package scheduler provides three orthogonal in-process scheduling primitives: EventMap (lightweight time + group + phase event queue), TaskScheduler (callback-based delayed/repeating tasks), and Buckets (frequency-bucketed scheduling by relevance).
Package scheduler provides three orthogonal in-process scheduling primitives: EventMap (lightweight time + group + phase event queue), TaskScheduler (callback-based delayed/repeating tasks), and Buckets (frequency-bucketed scheduling by relevance).
Package search composes the Query DSL (filter / sort / fieldsets / includes / pagination) into the search.Option callbacks every kit repository / list endpoint consumes.
Package search composes the Query DSL (filter / sort / fieldsets / includes / pagination) into the search.Option callbacks every kit repository / list endpoint consumes.
query
Package query is the search Query DSL — filter operators, sort expressions, sparse fieldsets, includes, and pagination styles — shared by every REST + gRPC list endpoint in go/kit.
Package query is the search Query DSL — filter operators, sort expressions, sparse fieldsets, includes, and pagination styles — shared by every REST + gRPC list endpoint in go/kit.
query/querytest
Package querytest provides test helpers for query options
Package querytest provides test helpers for query options
searchtest
Package searchtest provides tools to test search options, queries, etc
Package searchtest provides tools to test search options, queries, etc
Package shutdown coordinates a process's graceful shutdown — registered hooks run in LIFO order on signal (SIGINT/SIGTERM) or explicit Stop(), each with its own timeout, errors are aggregated rather than swallowed.
Package shutdown coordinates a process's graceful shutdown — registered hooks run in LIFO order on signal (SIGINT/SIGTERM) or explicit Stop(), each with its own timeout, errors are aggregated rather than swallowed.
Package slicesx provides generic utility functions for working with slices.
Package slicesx provides generic utility functions for working with slices.
Package snapshot provides typed state snapshots + dirty-field tracking for delta-encoded replication.
Package snapshot provides typed state snapshots + dirty-field tracking for delta-encoded replication.
Package sops provides test helpers for loading SOPS-encrypted configuration files, typically used for integration tests requiring secret credentials.
Package sops provides test helpers for loading SOPS-encrypted configuration files, typically used for integration tests requiring secret credentials.
Package spatial provides spatial indexing primitives for 3D positions: a uniform hash grid (cheap, allocation-free queries), an octree (vertical relevance), and a static BVH (many-static + ray queries).
Package spatial provides spatial indexing primitives for 3D positions: a uniform hash grid (cheap, allocation-free queries), an octree (vertical relevance), and a static BVH (many-static + ray queries).
Package testutil collects the small, layer-agnostic helpers every forge test eventually wants — table-driven runners, HTTP response assertions, and a handful of golden-path predicates.
Package testutil collects the small, layer-agnostic helpers every forge test eventually wants — table-driven runners, HTTP response assertions, and a handful of golden-path predicates.
Package tickloop provides a fixed-timestep simulation scheduler with optional 2× sub-tick lanes.
Package tickloop provides a fixed-timestep simulation scheduler with optional 2× sub-tick lanes.
Package timeline provides typed-event timeline replay: a sorted sequence of events at known offsets, advanced forward over an interval via a Cursor.
Package timeline provides typed-event timeline replay: a sorted sequence of events at known offsets, advanced forward over an interval via a Cursor.
Package transport defines the cross-cutting Endpoint + Error abstractions every concrete transport (grpc, rest, amqp, nats, tcp, udp, websocket) implements.
Package transport defines the cross-cutting Endpoint + Error abstractions every concrete transport (grpc, rest, amqp, nats, tcp, udp, websocket) implements.
amqp
Package amqp provides a comprehensive RabbitMQ/AMQP consumer and producer framework.
Package amqp provides a comprehensive RabbitMQ/AMQP consumer and producer framework.
amqp/amqptest
Package amqptest provides mocks and helpers for testing AMQP connections
Package amqptest provides mocks and helpers for testing AMQP connections
grpc
Package grpc provides a comprehensive gRPC server and client framework.
Package grpc provides a comprehensive gRPC server and client framework.
grpc/middleware
Package middleware provides common gRPC server middlewares
Package middleware provides common gRPC server middlewares
nats
Package nats provides NATS / JetStream consumer + publisher helpers built on the broker-agnostic kit/transport interface.
Package nats provides NATS / JetStream consumer + publisher helpers built on the broker-agnostic kit/transport interface.
rest
Package rest provides the kit's HTTP/REST server, client, and route-registration primitives.
Package rest provides the kit's HTTP/REST server, client, and route-registration primitives.
tcp
Package tcp provides a comprehensive TCP server and client framework.
Package tcp provides a comprehensive TCP server and client framework.
udp
Package udp provides a UDP transport implementation with optional reliability.
Package udp provides a UDP transport implementation with optional reliability.
websocket
Package websocket provides a comprehensive WebSocket client framework.
Package websocket provides a comprehensive WebSocket client framework.
unreal
build
Package build drives UE5's UnrealBuildTool (UBT), Unreal Automation Tool (UAT), and UE5Editor-Cmd from Go, returning typed results.
Package build drives UE5's UnrealBuildTool (UBT), Unreal Automation Tool (UAT), and UE5Editor-Cmd from Go, returning typed results.
collision
Package collision reads UE5 static-collision geometry exported by §69 UnrealForgeExport and produces a spatial.Index[Triangle] the Go server uses for line-of-sight tests, lag-comp validation, and movement constraint.
Package collision reads UE5 static-collision geometry exported by §69 UnrealForgeExport and produces a spatial.Index[Triangle] the Go server uses for line-of-sight tests, lag-comp validation, and movement constraint.
contentpack
Package contentpack assembles a kit/content Pack from a directory of UE5-exported files: NPC-template DataTables, animation montage timelines, baked navmeshes, and static-collision meshes.
Package contentpack assembles a kit/content Pack from a directory of UE5-exported files: NPC-template DataTables, animation montage timelines, baked navmeshes, and static-collision meshes.
datatable
Package datatable reads UE5 DataTable exports — the canonical designer-authored tabular format.
Package datatable reads UE5 DataTable exports — the canonical designer-authored tabular format.
montage
Package montage reads UE5 AnimMontage notify-state metadata exported via §69 UnrealForgeExport and converts it to kit/timeline.Timeline[Notify] for deterministic server-side replay.
Package montage reads UE5 AnimMontage notify-state metadata exported via §69 UnrealForgeExport and converts it to kit/timeline.Timeline[Notify] for deterministic server-side replay.
navmesh
Package navmesh reads UE5-baked navmesh data exported by §69 UnrealForgeExport and produces a kit/pathfinding.Graph the Go server can consume.
Package navmesh reads UE5-baked navmesh data exported by §69 UnrealForgeExport and produces a kit/pathfinding.Graph the Go server can consume.
remotecontrol
Package remotecontrol is a typed Go HTTP client for UE5's built-in Remote Control API — the editor's HTTP server that exposes actor properties, UFunction calls, and asset listings without writing a plugin.
Package remotecontrol is a typed Go HTTP client for UE5's built-in Remote Control API — the editor's HTTP server that exposes actor properties, UFunction calls, and asset listings without writing a plugin.
Package validation provides struct-tag-driven input validation used by the REST + gRPC handler factories.
Package validation provides struct-tag-driven input validation used by the REST + gRPC handler factories.
Package worker is forge's background-job runtime.
Package worker is forge's background-job runtime.
Package workflow is a state-machine engine with persistent checkpoints: a running instance can crash, restart, and resume from its last recorded state without losing position in the flow.
Package workflow is a state-machine engine with persistent checkpoints: a running instance can crash, restart, and resume from its last recorded state without losing position in the flow.
Package writebehind is a typed non-blocking persistence queue: the producer (simulation loop, tick goroutine, request handler) Pushes operations into a bounded channel and never blocks on the slow downstream; a dedicated draining goroutine batches them and calls the consumer-supplied Flusher.
Package writebehind is a typed non-blocking persistence queue: the producer (simulation loop, tick goroutine, request handler) Pushes operations into a bounded channel and never blocks on the slow downstream; a dedicated draining goroutine batches them and calls the consumer-supplied Flusher.

Jump to

Keyboard shortcuts

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