Skip to content

@fungi.computer/forage

A bounded, machine-readable failure at a Forage public seam.

  • Error

new ForageError(code, message): ForageError

"empty_query" | "empty_catalog" | "unknown_target" | "duplicate_operation" | "invalid_input"

string

ForageError

Error.constructor

readonly code: "empty_query" | "empty_catalog" | "unknown_target" | "duplicate_operation" | "invalid_input"

readonly failure: object

code: "empty_query" | "empty_catalog" | "unknown_target" | "duplicate_operation" | "invalid_input"

message: string

ForageCatalog = Readonly<{ revision: string; search: (rawInput) => SearchOutput; describe: (rawInput) => DescribeOutput; stamp: () => string; }>

Immutable public facade for one prepared catalog revision.


ForageDefinition = Readonly<{ path: string; description: string; input: typeof forageSearchInput | typeof forageDescribeInput; output: typeof searchOutputSchema | typeof describeOutputSchema; }>

Structural operation definition consumed by a capability composer.


ForageApi = object

Public convenience namespace contract.

createCatalog: typeof createCatalog

Construct one immutable catalog revision.

forageSearchDefinition: typeof forageSearchDefinition

Structural search operation definition.

forageDescribeDefinition: typeof forageDescribeDefinition

Structural description operation definition.


ForageSearchInput = z.input<typeof forageSearchInput>>

Parsed search request type.


ForageDescribeInput = z.input<typeof forageDescribeInput>>

Parsed description request type.


SearchResult = z.infer<typeof searchResultSchema>>

One ranked search result type.


SearchOutput = z.infer<typeof searchOutputSchema>>

Search response envelope type.


DescribeOutput = z.infer<typeof describeOutputSchema>>

Description response type.


ForageFailure = z.infer<typeof forageFailureSchema>>

Typed failure value type.


Operation = z.infer<typeof operationSchema>>

Catalog operation descriptor type.


CatalogInput = z.input<typeof catalogInputSchema>>

Catalog construction input type.

const forageSearchDefinition: ForageDefinition

The search operation has schema metadata only; it has no host behavior.


const forageDescribeDefinition: ForageDefinition

The description operation has schema metadata only; it has no host behavior.


const Forage: ForageApi

Narrow convenience namespace for the package’s public seams.


const forageSearchInput: ZodObject<{ query: ZodString; maxResults: ZodDefault<ZodNumber>>; }, $strip>>

Input accepted by the pure catalog search seam.


const forageDescribeInput: ZodObject<{ path: ZodString; detail: ZodDefault<ZodEnum<{ index: "index"; full: "full"; }>>; methods: ZodOptional<ZodArray<ZodString>>>>; }, $strip>>

Input accepted by the pure catalog description seam.


const searchResultSchema: ZodObject<{ path: ZodString; description: ZodOptional<ZodString>>; score: ZodNumber; matchReason: ZodOptional<ZodString>>; sample: ZodOptional<ZodRecord<ZodString, ZodJSONSchema>>>>; capabilityNotes: ZodOptional<ZodString>>; peers: ZodOptional<ZodArray<ZodObject<{ path: ZodString; capabilityNotes: ZodOptional<ZodString>>; }, $strip>>>>>>; }, $strip>>

One ranked operation in a search response.


const searchOutputSchema: ZodObject<{ results: ZodArray<ZodObject<{ path: ZodString; description: ZodOptional<ZodString>>; score: ZodNumber; matchReason: ZodOptional<ZodString>>; sample: ZodOptional<ZodRecord<ZodString, ZodJSONSchema>>>>; capabilityNotes: ZodOptional<ZodString>>; peers: ZodOptional<ZodArray<ZodObject<{ path: ZodString; capabilityNotes: ZodOptional<ZodString>>; }, $strip>>>>>>; }, $strip>>>>; total: ZodNumber; truncated: ZodBoolean; topScore: ZodNumber; margin: ZodNumber; catalogStamp: ZodString; }, $strip>>

Bounded search response envelope.


const describeOutputSchema: ZodObject<{ path: ZodString; description: ZodOptional<ZodString>>; types: ZodString; kind: ZodEnum<{ module: "module"; operation: "operation"; }>; usage: ZodOptional<ZodString>>; }, $strip>>

Deterministic description response.


const forageFailureSchema: ZodObject<{ code: ZodEnum<{ empty_query: "empty_query"; empty_catalog: "empty_catalog"; unknown_target: "unknown_target"; duplicate_operation: "duplicate_operation"; invalid_input: "invalid_input"; }>; message: ZodString; }, $strip>>

Closed failure vocabulary for malformed or absent catalog requests.


const operationSchema: ZodObject<{ path: ZodString; description: ZodOptional<ZodString>>; input: ZodCustom<ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>>>, ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>>>>>; output: ZodOptional<ZodCustom<ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>>>, ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>>>>>>>; capabilityNotes: ZodOptional<ZodString>>; instructions: ZodOptional<ZodString>>; }, $strip>>

A secret-free, callback-free operation descriptor.


const catalogInputSchema: ZodObject<{ revision: ZodString; operations: ZodArray<ZodObject<{ path: ZodString; description: ZodOptional<ZodString>>; input: ZodCustom<ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>>>, ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>>>>>; output: ZodOptional<ZodCustom<ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>>>, ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>>>>>>>; capabilityNotes: ZodOptional<ZodString>>; instructions: ZodOptional<ZodString>>; }, $strip>>>>; }, $strip>>

Input used to construct one immutable catalog revision.

createCatalog(input): ForageCatalog

Construct one immutable catalog revision with a narrow public facade.

string = ...

object[] = ...

ForageCatalog

Renames and re-exports Forage