LogoRobo.js
Framework

ManifestAPI

Interface: ManifestAPI

The Manifest API singleton interface. Provides lazy-loaded, type-safe access to manifest data.

Properties

PropertyModifierTypeDescription
isInitializedreadonlybooleanWhether the manifest has been initialized
modereadonlystringCurrent runtime mode (supports custom modes like 'beta', 'staging', etc.)

Methods

clearCache()

clearCache(): void

Clear all cached data (for testing).

Returns

void


config()

config(options?): Config

Get merged config.

Parameters

ParameterType
options?ManifestOptions

Returns

Config


env()

env(options?): EnvMetadata

Get environment variable status.

Parameters

ParameterType
options?ManifestOptions

Returns

EnvMetadata


hooks()

hooks(hook, options?): HookEntry[]

Get lifecycle hook entries.

Parameters

ParameterType
hookstring
options?ManifestOptions

Returns

HookEntry[]


initialize()

initialize(mode): Promise<void>

Initialize the manifest by preloading core files. Called during Robo.start().

Parameters

ParameterTypeDescription
modestringRuntime mode (supports custom modes like 'beta', 'staging', etc.)

Returns

Promise<void>


isLoaded()

isLoaded(namespace, route): boolean

Check if a route is loaded into memory.

Parameters

ParameterType
namespacestring
routestring

Returns

boolean


load()

load(namespace, route): Promise<HandlerEntry[]>

Load a route manifest into memory.

Parameters

ParameterType
namespacestring
routestring

Returns

Promise<HandlerEntry[]>


metadata()

Call Signature

metadata<T>(namespace, options?): T

Get aggregated metadata for a namespace.

Type Parameters
Type ParameterDefault type
T extends AggregatedMetadataAggregatedMetadata
Parameters
ParameterType
namespacestring
options?ManifestOptions
Returns

T

Call Signature

metadata<T>(
   namespace, 
   source, 
options?): Partial<T>

Get metadata for a specific source within a namespace. Loads from metadata/raw/{namespace}.{source}.json

Type Parameters
Type ParameterDefault type
T extends AggregatedMetadataAggregatedMetadata
Parameters
ParameterType
namespacestring
sourcestring
options?ManifestOptions
Returns

Partial<T>


plugin()

plugin(name, options?): PluginInfo

Get info for a specific plugin.

Parameters

ParameterType
namestring
options?ManifestOptions

Returns

PluginInfo


pluginConfig()

pluginConfig(plugin, options?): Record<string, unknown>

Get config for a specific plugin.

Parameters

ParameterType
pluginstring
options?ManifestOptions

Returns

Record<string, unknown>


plugins()

plugins(options?): PluginInfo[]

Get all plugin info.

Parameters

ParameterType
options?ManifestOptions

Returns

PluginInfo[]


project()

project(options?): ProjectMetadata

Get project metadata.

Parameters

ParameterType
options?ManifestOptions

Returns

ProjectMetadata


reload()

reload(namespace, route): Promise<HandlerEntry[]>

Reload a route manifest (for HMR).

Parameters

ParameterType
namespacestring
routestring

Returns

Promise<HandlerEntry[]>


routeDefinitions()

routeDefinitions(options?): RouteDefinitions

Get all route definitions from @.json.

Parameters

ParameterType
options?ManifestOptions

Returns

RouteDefinitions


routeDefinitionsForNamespace()

routeDefinitionsForNamespace(namespace, options?): NamespaceRouteDefinitions

Get route definitions for a specific namespace.

Parameters

ParameterType
namespacestring
options?ManifestOptions

Returns

NamespaceRouteDefinitions


routes()

routes(
   namespace, 
   route, 
options?): Promise<HandlerEntry[]>

Get route handler entries.

Parameters

ParameterTypeDescription
namespacestringPlugin namespace (e.g., 'discord', 'server')
routestringRoute name (e.g., 'commands', 'api')
options?ManifestOptionsOptional mode override

Returns

Promise<HandlerEntry[]>


routesSync()

routesSync(
   namespace, 
   route, 
   options?): HandlerEntry[]

Get route handler entries synchronously (must be pre-loaded).

Parameters

ParameterType
namespacestring
routestring
options?ManifestOptions

Returns

HandlerEntry[]


seeds()

seeds(pluginName, options?): SeedConfig

Get seed configuration for a specific plugin. Loads from seeds/{pluginName}.json

Parameters

ParameterType
pluginNamestring
options?ManifestOptions

Returns

SeedConfig


seedsIndex()

seedsIndex(options?): SeedsIndex

Get seeds index (list of plugins with seeds). Loads from seeds/@.json

Parameters

ParameterType
options?ManifestOptions

Returns

SeedsIndex


unload()

unload(namespace, route): void

Unload a route manifest (free memory).

Parameters

ParameterType
namespacestring
routestring

Returns

void

On this page